i forgot the nit inline, now really ^^
[snip]
Makefile | 1 +
form/DisplayEdit.js | 71 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+)
create mode 100644 form/DisplayEdit.js
diff --git a/Makefile b/Makefile
index 703b570..a729b95 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,7 @@ JSSRC= \
data/ObjectStore.js \
data/RRDStore.js \
data/TimezoneStore.js \
+ form/DisplayEdit.js \
form/ExpireDate.js \
form/IntegerField.js \
form/TextField.js \
diff --git a/form/DisplayEdit.js b/form/DisplayEdit.js
new file mode 100644
index 0000000..9b3f1c0
--- /dev/null
+++ b/form/DisplayEdit.js
@@ -0,0 +1,71 @@
+Ext.define('Proxmox.form.field.DisplayEdit', {
+ extend: 'Ext.form.FieldContainer',
+ alias: ['widget.pmxDisplayEditField'],
i would like to use
xtype: 'pmxDisplayEditField',
here
+ mixins: ['Proxmox.Mixin.CBind' ],
+
+ viewModel: {
+ data: {
+ editable: false,
+ },
+ },
+
+ displayType: 'displayfield',
+
+ editConfig: {},
+ editable: false,
+ setEditable: function(editable) {
+ let me = this;
+ let vm = me.getViewModel();
+
+ me.editable = editable;
+ vm.set('editable', editable);
+ },
+
+ layout: 'hbox',
+ defaults: {
+ hideLabel: true
+ },
+
+ initComponent: function() {
+ let me = this;
+
+ let displayConfig = {
+ xtype: me.displayType,
+ bind: {
+ hidden: '{editable}',
+ disabled: '{editable}',
+ },
+ };
+ Ext.applyIf(displayConfig, me.initialConfig);
+ delete displayConfig.editConfig;
+ delete displayConfig.editable;
+
+ let editConfig = me.editConfig;
+ Ext.applyIf(editConfig, {
+ xtype: 'textfield',
+ bind: {
+ hidden: '{!editable}',
+ disabled: '{!editable}',
+ },
+ });
+ Ext.applyIf(editConfig, displayConfig);
+
+ // avoid glitch, start off correct even before viewmodel fixes it
+ editConfig.disabled = editConfig.hidden = !me.editable;
+ displayConfig.disabled = displayConfig.hidden = !!me.editable;
+
+ editConfig.name = displayConfig.name = me.name;
+
+ Ext.apply(me, {
+ items: [
+ displayConfig,
+ editConfig,
+ ],
+ });
+
+ me.callParent();
+
+ me.getViewModel().set('editable', me.editable);
+ },
+
+});
_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel