diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/example.ts | 16 | ||||
| -rw-r--r-- | src/rx.ts | 10 | 
2 files changed, 23 insertions, 3 deletions
diff --git a/src/example.ts b/src/example.ts index 229d3a0..0870f4e 100644 --- a/src/example.ts +++ b/src/example.ts @@ -185,9 +185,23 @@ const seq =      )    ) +const indirectCheckbox = +  withState(false, checked => [ +    checkboxComponent({ +      label: 'C1', +      isChecked: checked, +      onCheck: (b: boolean) => checked.update(_ => b) +    }), +    checkboxComponent({ +      label: 'C2', +      isChecked: checked, +      onCheck: (b: boolean) => checked.update(_ => b) +    }) +  ]) +  const view = h('main',    h('h1', 'Rx'), -  chrono +  indirectCheckbox  )  mount(view) @@ -463,11 +463,17 @@ function appendNode(base: Element, node: Node, lastAdded?: Node) {  }  function setAttribute(state: State, element: Element, key: string, attribute: AttributeValue) { -  if (attribute === undefined || attribute === false) { +  if (attribute === undefined) {      // Do nothing    } else if (attribute === true) {      // @ts-ignore -    element[key] = "true" +    element[key] = 'true' +  } else if (attribute === false) { +    // @ts-ignore +    if (key in element) { +      // @ts-ignore +      element[key] = false +    }    } else if (typeof attribute === "number") {      // @ts-ignore      element[key] = attribute.toString()  | 
