DATETIMEFIELDUPDATE +1 (remove TRISTAN, console.log, ERP5TypeTestCase)
version | generique | render | onchange | onmodification | ideale have A and B with empty reference, keep typed field reset to empty keep typed ? field reset empty goto A, click next to acces B, type in reference while B form is loading, B is loaded same with B reference = 1 field set to 1 field set to 1 field set to 1 ? field set to 1 have A with empty reference, keep typed field reset to empty field reset to empty ? field reset to empty type in reference (hello), (hello) () () (?) () click View on confirm popup, A is reloaded have A with empty reference, keep typed field reset to empty field reset to empty ? field reset to empty click View to reload the form, (hello2) () () (?) () type in reference (hello2), A is reloaded have A with empty reference, keep typed field reset field reset ? keep typed (the form decides to update the field but should not ? no) type in reference (hello), save, (hello2) (hello) (hello) (why??) (?) (hello2) type in reference (hello2), focus something else, A form is reloaded have A with empty reference, field reset field reset field reset ? field reset (user should see the modification done server side) type in reference (hello), click save, (world) (world) (world) (?) (world) type in reference (hello2), focus something else, interaction add modifications to the reference (world), A form is reloaded ------------------------------------ So ! input.value MUST be updated on onStateChange if modification_dict.hasOwnProperty("value") this.state.value MUST be updated on getContent this.state.value MUST be updated on onEvent change ------------------------------------ UNRELATED NOTES input.value reflects the typed value of the element gadget_input.getContent reflects the typed value of the element too input.value = "hello" replaces the current value to "hello", no matter the state of the input gadget_input.render({value: "hello"}) does not... because gadget.state.value does not really reflects the dom value. if gadget.state.value was reflecting the value, then gadget_input.render({value: "hello"}) reflects the current value to "hello", no matter the state of the input so the form could act : while saving, listen for changes/inputs, (now saved) get the new form but ignore it, put save to orange if changes/inputs were done
Showing