On 4/16/20 2:31 PM, Thomas Lamprecht wrote: > This allows to write our often used: > >> { >> xtype: me.isCreate ? 'someEditableField' : 'displayfield', >> ... >> } > > In a more schematic way, as it can now be controlled by either our > CBind mixin or ExtJS native data binding. > > Use a Field container to add both, they editable and they display, > variants of a form field. As default use "textfield" for the editable > and "displayfield" xtype for the read only one. > > Pass all but the editConfig and editable members of our initial > config to the display field, allow further to configure the editable > field with an editConfig object, which overwrites the config > properties inherited from the displayConfig/parent config. > > This gives full control while not enforcing to specify anything extra > for most default cases. > > Enforce initial state of the fields even if the databinding would > handle it to avoid glitches after first render for simple boolean expression > cases. > >> { >> xtype: 'pmxDisplayEditField', >> cbind: { >> editable: '{isCreate}', >> }, >> name: 'tokenid', >> fieldLabel: gettext('Token ID'), >> value: me.tokenid, >> allowBlank: false, >> } > > Here, cbind could also be a bind or a native boolean expression. > > For something else than a texfield one would use the editConfig, e.g.: >> { >> .... >> editConfig: { >> xtype: 'pveUserSelector', >> allowBlank: false, >> }, >> }, > > Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com> > --- > > changes v1 -> v2: > * fix applying data binding when the instances has it's own bind config > already > * bind value to ensure it's synced between both fields > * drop array use from "alias" definition, but keep it as ExtJS uses it > primarily and we too for >3/4 of our definitions > > Makefile | 1 + > form/DisplayEdit.js | 77 +++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 78 insertions(+) > create mode 100644 form/DisplayEdit.js >
Applied, with Dominiks suggested change (thanks!). _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel