File size: 794 Bytes
176823e
db32e48
 
 
 
 
 
 
 
 
 
176823e
 
 
 
 
 
 
 
 
 
 
 
db32e48
 
176823e
 
 
db32e48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(props, cc, { el, onUpdate }) => {
  const options = JSON.parse(props.options);
  el.innerHTML = `
  ${options
    .map((option) => {
      return `<div>
        <label>${option} <input type="radio"/></label>
    <div>`;
    })
    .join('')}
  `;
  onUpdate(
    () => {
      const inputs = Array.from(el.getElementsByTagName('input'));
      Array.from(el.getElementsByTagName('label')).forEach((label, i) => {
        label.addEventListener('click', () => {
          inputs.forEach((input) => {
            input.checked = false;
          });
          const input = label.getElementsByTagName('input')[0];
          input.checked = true;
          // Use cc.dispatch to trigger events.
          cc.dispatch(options[i]);
        });
      });
    },
    { callAfterMount: true }
  );
};