]>
git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/form/DisplayEdit.js
1 Ext
.define('Proxmox.form.field.DisplayEdit', {
2 extend
: 'Ext.form.FieldContainer',
3 alias
: 'widget.pmxDisplayEditField',
13 displayType
: 'displayfield',
17 setEditable: function(editable
) {
19 let vm
= me
.getViewModel();
21 me
.editable
= editable
;
22 vm
.set('editable', editable
);
24 getEditable: function() {
26 let vm
= me
.getViewModel();
27 return vm
.get('editable');
30 setValue: function(value
) {
32 let vm
= me
.getViewModel();
35 vm
.set('value', value
);
37 getValue: function() {
39 let vm
= me
.getViewModel();
40 // FIXME: add return, but check all use-sites for regressions then
49 initComponent: function() {
53 xtype
: me
.displayType
,
56 Ext
.applyIf(displayConfig
, me
.initialConfig
);
57 delete displayConfig
.editConfig
;
58 delete displayConfig
.editable
;
60 let editConfig
= Ext
.apply({}, me
.editConfig
);
61 Ext
.applyIf(editConfig
, {
65 Ext
.applyIf(editConfig
, displayConfig
);
67 if (me
.initialConfig
&& me
.initialConfig
.displayConfig
) {
68 Ext
.applyIf(displayConfig
, me
.initialConfig
.displayConfig
);
69 delete displayConfig
.displayConfig
;
72 Ext
.applyIf(displayConfig
, {
73 renderer
: v
=> Ext
.htmlEncode(v
),
76 Ext
.applyIf(displayConfig
.bind
, {
78 disabled
: '{editable}',
81 Ext
.applyIf(editConfig
.bind
, {
82 hidden
: '{!editable}',
83 disabled
: '{!editable}',
87 // avoid glitch, start off correct even before viewmodel fixes it
88 editConfig
.disabled
= editConfig
.hidden
= !me
.editable
;
89 displayConfig
.disabled
= displayConfig
.hidden
= !!me
.editable
;
91 editConfig
.name
= displayConfig
.name
= me
.name
;
102 me
.getViewModel().set('editable', me
.editable
);