neo.mjs 5.9.3 → 5.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/buildScripts/createClass.mjs +1 -3
  3. package/examples/ServiceWorker.mjs +2 -2
  4. package/examples/container/base/MainContainer.mjs +78 -0
  5. package/examples/container/{app.mjs → base/app.mjs} +1 -1
  6. package/examples/container/{index.html → base/index.html} +1 -1
  7. package/examples/container/{neo-config.json → base/neo-config.json} +2 -2
  8. package/examples/container/dialog/MainContainer.mjs +68 -0
  9. package/examples/container/dialog/MainContainerController.mjs +80 -0
  10. package/examples/container/dialog/app.mjs +6 -0
  11. package/examples/container/dialog/index.html +11 -0
  12. package/examples/container/dialog/neo-config.json +7 -0
  13. package/package.json +3 -3
  14. package/resources/scss/src/component/Process.scss +190 -0
  15. package/resources/scss/src/container/Dialog.scss +12 -0
  16. package/resources/scss/src/form/field/Switch.scss +135 -0
  17. package/resources/scss/theme-dark/component/Process.scss +21 -0
  18. package/resources/scss/theme-dark/form/field/Picker.scss +1 -1
  19. package/resources/scss/theme-dark/form/field/Switch.scss +17 -0
  20. package/resources/scss/theme-light/component/Process.scss +21 -0
  21. package/resources/scss/theme-light/form/field/Switch.scss +17 -0
  22. package/src/DefaultConfig.mjs +2 -2
  23. package/src/component/Process.mjs +180 -0
  24. package/src/container/Dialog.mjs +221 -0
  25. package/src/dialog/header/Toolbar.mjs +7 -7
  26. package/src/form/field/Select.mjs +15 -9
  27. package/src/form/field/Switch.mjs +43 -0
  28. package/src/main/addon/Dialog.mjs +68 -0
  29. package/examples/container/MainContainer.mjs +0 -93
@@ -0,0 +1,21 @@
1
+ $neoMap: map-merge($neoMap, (
2
+ 'process-arrow-color' : #ffdb4a,
3
+ 'process-background-color': #fff,
4
+ 'process-icon-color' : steelblue,
5
+ 'process-icon-size' : 2rem,
6
+ 'process-shadow-color' : rgba(0, 0, 0, .5),
7
+ 'process-title-color' : #363636,
8
+ 'process-text-color' : #444444
9
+ ));
10
+
11
+ @if $useCssVars == true {
12
+ :root .neo-theme-dark {
13
+ --process-arrow-color : #{neo(process-arrow-color)};
14
+ --process-background-color: #{neo(process-background-color)};
15
+ --process-icon-color : #{neo(process-icon-color)};
16
+ --process-icon-size : #{neo(process-icon-size)};
17
+ --process-shadow-color : #{neo(process-shadow-color)};
18
+ --process-title-color : #{neo(process-title-color)};
19
+ --process-text-color : #{neo(process-text-color)};
20
+ }
21
+ }
@@ -5,7 +5,7 @@ $neoMap: map-merge($neoMap, (
5
5
  ));
6
6
 
7
7
  @if $useCssVars == true {
8
- :root .neo-theme-light { // .neo-pickerfield
8
+ :root .neo-theme-dark { // .neo-pickerfield
9
9
  --pickerfield-container-background-color: #{neo(pickerfield-container-background-)};
10
10
  --pickerfield-container-border : #{neo(pickerfield-container-border)};
11
11
  --pickerfield-container-box-shadow : #{neo(pickerfield-container-box-shadow)};
@@ -0,0 +1,17 @@
1
+ $neoMap: map-merge($neoMap, (
2
+ 'switchfield-checked': green,
3
+ 'switchfield-background-color': darkgrey,
4
+ 'switchfield-inactive-color': grey,
5
+ 'switchfield-active-color': white,
6
+ 'switchfield-thumb-color': white
7
+ ));
8
+
9
+ @if $useCssVars == true {
10
+ :root .neo-theme-dark { // .neo-switchfield
11
+ --neo-switchfield-checked : #{neo(switchfield-checked)};
12
+ --neo-switchfield-background-color : #{neo(switchfield-background-color)};
13
+ --neo-switchfield-inactive-color : #{neo(switchfield-inactive-color)};
14
+ --neo-switchfield-active-color : #{neo(switchfield-active-color)};
15
+ --neo-switchfield-thumb-color-active-color : #{neo(switchfield-thumb-color-active-color)};
16
+ }
17
+ }
@@ -0,0 +1,21 @@
1
+ $neoMap: map-merge($neoMap, (
2
+ 'process-arrow-color' : #ffdb4a,
3
+ 'process-background-color': #fff,
4
+ 'process-icon-color' : steelblue,
5
+ 'process-icon-size' : 2rem,
6
+ 'process-shadow-color' : rgba(0, 0, 0, .5),
7
+ 'process-title-color' : #363636,
8
+ 'process-text-color' : #444444
9
+ ));
10
+
11
+ @if $useCssVars == true {
12
+ :root .neo-theme-light {
13
+ --process-arrow-color : #{neo(process-arrow-color)};
14
+ --process-background-color: #{neo(process-background-color)};
15
+ --process-icon-color : #{neo(process-icon-color)};
16
+ --process-icon-size : #{neo(process-icon-size)};
17
+ --process-shadow-color : #{neo(process-shadow-color)};
18
+ --process-title-color : #{neo(process-title-color)};
19
+ --process-text-color : #{neo(process-text-color)};
20
+ }
21
+ }
@@ -0,0 +1,17 @@
1
+ $neoMap: map-merge($neoMap, (
2
+ 'switchfield-checked': green,
3
+ 'switchfield-background-color': darkgrey,
4
+ 'switchfield-inactive-color': grey,
5
+ 'switchfield-active-color': white,
6
+ 'switchfield-thumb-color': white
7
+ ));
8
+
9
+ @if $useCssVars == true {
10
+ :root .neo-theme-light { // .neo-switchfield
11
+ --neo-switchfield-checked : #{neo(switchfield-checked)};
12
+ --neo-switchfield-background-color : #{neo(switchfield-background-color)};
13
+ --neo-switchfield-inactive-color : #{neo(switchfield-inactive-color)};
14
+ --neo-switchfield-active-color : #{neo(switchfield-active-color)};
15
+ --neo-switchfield-thumb-color-active-color : #{neo(switchfield-thumb-color-active-color)};
16
+ }
17
+ }
@@ -236,12 +236,12 @@ const DefaultConfig = {
236
236
  useVdomWorker: true,
237
237
  /**
238
238
  * buildScripts/injectPackageVersion.mjs will update this value
239
- * @default '5.9.3'
239
+ * @default '5.10.1'
240
240
  * @memberOf! module:Neo
241
241
  * @name config.version
242
242
  * @type String
243
243
  */
244
- version: '5.9.3'
244
+ version: '5.10.1'
245
245
  };
246
246
 
247
247
  Object.assign(DefaultConfig, {
@@ -0,0 +1,180 @@
1
+ import Base from './Base.mjs';
2
+ import NeoArray from '../util/Array.mjs';
3
+
4
+ /**
5
+ * @class Neo.component.Process
6
+ * @extends Neo.component.Base
7
+ *
8
+ * @example
9
+ * {
10
+ * module: Process,
11
+ * arrowColor: 'darkred',
12
+ * items: [{
13
+ * iconCls: 'fa fa-car',
14
+ * header: '1. Wunschkennzeichen',
15
+ * text: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit...'
16
+ * }, {
17
+ * iconCls: 'fa fa-house',
18
+ * header: '2. Termine',
19
+ * text: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit...'
20
+ * }]
21
+ * }
22
+ */
23
+ class Process extends Base {
24
+ /**
25
+ * Each item gets an arrow and the content, which gets filled with an item.
26
+ * The slit allows to fade out the sidebar.
27
+ *
28
+ * @member {Object} itemLayout={cls: 'process-step', cn: [{cls: ['arrow', 'white']},{cls: ['slit']},{cls: ['arrow', 'yellow']},{cls: 'process-content', cn: [{cls: ['process-step-icon']},{tag: 'h2', cls: ['process-step-header']},{cls: ['process-step-text']}]}]}
29
+ */
30
+ itemLayout = {
31
+ cls: 'process-step', cn: [
32
+ {cls: ['arrow', 'white']},
33
+ {cls: ['slit']},
34
+ {cls: ['arrow', 'yellow']},
35
+ {
36
+ cls: 'process-content', cn: [
37
+ {cls: ['process-step-icon']},
38
+ {tag: 'h2', cls: ['process-step-header']},
39
+ {cls: ['process-step-text']}
40
+ ]
41
+ }
42
+ ]
43
+ }
44
+
45
+ static config = {
46
+ /**
47
+ * @member {String} className='Neo.component.Process'
48
+ * @protected
49
+ */
50
+ className: 'Neo.component.Process',
51
+ /**
52
+ * @member {String} ntype='process'
53
+ * @protected
54
+ */
55
+ ntype: 'process',
56
+ /**
57
+ * @member {String[]} baseCls=['neo-process']
58
+ */
59
+ baseCls: ['neo-process'],
60
+
61
+ /**
62
+ * Set the color of the process arrow.
63
+ * Out of the box this is #ffdb4a
64
+ *
65
+ * @member {String|null} arrowColor=null
66
+ */
67
+ arrowColor_: null,
68
+ /**
69
+ * 'true' shows the items from left to right
70
+ * 'false' shows the items from top to bottom
71
+ * There is a minimum width of 700px to show items 'true'
72
+ *
73
+ * @member {Boolean} horizontal=true
74
+ */
75
+ horizontal_: true,
76
+ /**
77
+ * Set the color of the icons.
78
+ * Out of the box this is #ffdb4a
79
+ *
80
+ * @member {String|null} iconColor=null
81
+ */
82
+ iconColor_: null,
83
+
84
+ /**
85
+ * Each item will be transferred into the itemLayout
86
+ *
87
+ * @member {Object[]|Object} items=null
88
+ *
89
+ * @example
90
+ * items: [{
91
+ * iconCls: 'fa fa-car',
92
+ * header: '1. First Step',
93
+ * text: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.'
94
+ * }, {
95
+ * iconCls: 'fa fa-house',
96
+ * header: '2. Second Step',
97
+ * text: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.'
98
+ * }]
99
+ */
100
+ items_: null,
101
+
102
+ /**
103
+ * vdom definition is used during item creation
104
+ * Do not remove
105
+ *
106
+ * @member {Object} vdom={cn:[]}
107
+ */
108
+ vdom: {cn: []}
109
+ }
110
+
111
+ /**
112
+ * Triggered after arrowColor config got changed
113
+ * @param {String} newValue
114
+ * @protected
115
+ */
116
+ afterSetArrowColor(newValue) {
117
+ let style = this.style;
118
+
119
+ style['--process-arrow-color'] = newValue;
120
+
121
+ this.style = style;
122
+ }
123
+
124
+ /**
125
+ * Triggered after horizontal config got changed
126
+ * @param {Boolean} isHorizontal
127
+ * @protected
128
+ */
129
+ afterSetHorizontal(isHorizontal) {
130
+ let cls = this.cls,
131
+ positionCls = isHorizontal ? 'neo-process-horizontal' : 'neo-process-vertical';
132
+
133
+ NeoArray.add(cls, positionCls);
134
+
135
+ this.cls = cls;
136
+ }
137
+
138
+ /**
139
+ * Triggered after iconColor config got changed
140
+ * @param {String} newValue
141
+ * @protected
142
+ */
143
+ afterSetIconColor(newValue) {
144
+ let style = this.style;
145
+
146
+ style['--process-icon-color'] = newValue;
147
+
148
+ this.style = style;
149
+ }
150
+
151
+ /**
152
+ * Triggered after items config got changed
153
+ * @param {Object[]} items
154
+ * @protected
155
+ */
156
+ afterSetItems(items) {
157
+ if (!(Neo.isArray(items) || Neo.isObject(items))) return;
158
+ if (!Neo.isArray(items)) {
159
+ items = [items];
160
+ }
161
+
162
+ let vdomRoot = this.vdom,
163
+ itemLayout = this.itemLayout;
164
+
165
+ items.forEach((newItem) => {
166
+ let curItem = Neo.clone(itemLayout, true),
167
+ content = curItem.cn[3];
168
+
169
+ content.cn[0].cls.push(newItem.iconCls);
170
+ content.cn[1].innerHTML = newItem.header;
171
+ content.cn[2].innerHTML = newItem.text;
172
+
173
+ NeoArray.add(vdomRoot.cn, curItem);
174
+ });
175
+ }
176
+ }
177
+
178
+ Neo.applyClassConfig(Process);
179
+
180
+ export default Process;
@@ -0,0 +1,221 @@
1
+ import Base from '../container/Panel.mjs';
2
+ import NeoArray from '../util/Array.mjs';
3
+ import HeaderToolbar from '../dialog/header/Toolbar.mjs';
4
+
5
+ /**
6
+ * Lightweight implementation using the dialog tag.
7
+ * See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog
8
+ * @class Neo.container.Dialog
9
+ * @extends Neo.container.Panel
10
+ */
11
+ class Dialog extends Base {
12
+ static config = {
13
+ /**
14
+ * @member {String} className='Neo.container.Dialog'
15
+ * @protected
16
+ */
17
+ className: 'Neo.container.Dialog',
18
+ /**
19
+ * @member {String} ntype='container-dialog'
20
+ * @protected
21
+ */
22
+ ntype: 'container-dialog',
23
+ /**
24
+ * @member {String[]} baseCls=['container-dialog']
25
+ * @protected
26
+ */
27
+ baseCls: ['neo-container-dialog', 'neo-panel', 'neo-container'],
28
+ /**
29
+ * @member {Object} headerConfig=null
30
+ */
31
+ headerConfig: null,
32
+ /**
33
+ * @member {Neo.toolbar.Base|null} headerToolbar=null
34
+ */
35
+ headerToolbar: null,
36
+ /**
37
+ * The CSS class to use for an icon, e.g. 'fa fa-home'
38
+ * @member {String|null} [iconCls_=null]
39
+ */
40
+ iconCls_: null,
41
+ /**
42
+ * @member {Object[]} items
43
+ */
44
+ items: [],
45
+ /**
46
+ * @member {String} title=null
47
+ */
48
+ title_: null,
49
+ /**
50
+ * @member {Object} _vdom={tag: 'dialog', cn: []}
51
+ */
52
+ _vdom:
53
+ {tag: 'dialog', cn: []}
54
+ }
55
+
56
+ /**
57
+ * @param {Object} config
58
+ */
59
+ construct(config) {
60
+ super.construct(config);
61
+ this.createHeader();
62
+ }
63
+
64
+ /**
65
+ * Triggered after the iconCls config got changed
66
+ * @param {String} value
67
+ * @param {String} oldValue
68
+ * @protected
69
+ */
70
+ afterSetIconCls(value, oldValue) {
71
+ console.log(value, oldValue)
72
+
73
+ if (!this.headers) { return }
74
+ let iconNode = this.headers.down({flag: 'dialog-header-icon'});
75
+ let iconNodeCls = [...iconNode.cls];
76
+
77
+ NeoArray.remove(iconNodeCls, oldValue);
78
+ NeoArray.add( iconNodeCls, value);
79
+
80
+ iconNode.cls = iconNodeCls;
81
+
82
+ iconNode.removeDom = !value || value === '';
83
+ this.update();
84
+ }
85
+
86
+ /**
87
+ * Triggered after the title config got changed
88
+ * @param {String} value
89
+ * @param {String} oldValue
90
+ * @protected
91
+ */
92
+ afterSetTitle(value, oldValue) {
93
+ this.headerToolbar?.set({
94
+ title: value
95
+ });
96
+ }
97
+
98
+ /**
99
+ * Converts the iconCls array into a string on beforeGet
100
+ * @returns {String}
101
+ * @protected
102
+ */
103
+ beforeGetIconCls() {
104
+ let iconCls = this._iconCls;
105
+
106
+ if (Array.isArray(iconCls)) {
107
+ return iconCls.join(' ');
108
+ }
109
+
110
+ return iconCls;
111
+ }
112
+
113
+ /**
114
+ * Triggered before the iconCls config gets changed. Converts the string into an array if needed.
115
+ * @param {Array|String|null} value
116
+ * @param {Array|String|null} oldValue
117
+ * @returns {Array}
118
+ * @protected
119
+ */
120
+ beforeSetIconCls(value, oldValue) {
121
+ if (value && !Array.isArray(value)) {
122
+ value = value.split(' ').filter(Boolean);
123
+ }
124
+
125
+ return value;
126
+ }
127
+
128
+ /**
129
+ * close the dialog in main thread
130
+ */
131
+ close() {
132
+ let me = this;
133
+
134
+ Neo.main.addon.Dialog.close({
135
+ id: me.id,
136
+ appName: me.appName
137
+ });
138
+ }
139
+
140
+ /**
141
+ * @protected
142
+ */
143
+ createHeader() {
144
+ let me = this,
145
+ cls = ['neo-header-toolbar', 'neo-toolbar'],
146
+ headers = me.headers || [],
147
+ headerConfigCopy = {...me.headerConfig};
148
+ delete headerConfigCopy.items;
149
+
150
+ me.headerToolbar = Neo.create({
151
+ module : HeaderToolbar,
152
+ actions: [{action: 'close', iconCls: 'fa-solid fa-xmark'}],
153
+ appName : me.appName,
154
+ cls,
155
+ dock : 'top',
156
+ flex : 'none',
157
+ id : me.getHeaderToolbarId(),
158
+ listeners: {headerAction: me.executeHeaderAction, scope: me},
159
+ items : [{
160
+ cls: me.iconCls,
161
+ flag : 'dialog-header-icon',
162
+ }, {
163
+ ntype : 'label',
164
+ cls : ['neo-panel-header-text', 'neo-label'],
165
+ flag : 'title-label',
166
+ removeDom: !me.title,
167
+ text : me.title
168
+ }, ...me.headerConfig.items],
169
+
170
+ ...headerConfigCopy
171
+ });
172
+
173
+ headers.unshift(me.headerToolbar);
174
+
175
+ me.headers = headers;
176
+ }
177
+
178
+ /**
179
+ * {Object} data
180
+ */
181
+ executeHeaderAction(data) {
182
+ let me = this,
183
+
184
+ map = {
185
+ close : me.close
186
+ };
187
+
188
+ map[data.action]?.call(me, data);
189
+
190
+ me.fire('headerAction', {
191
+ dialog: me,
192
+ ...data
193
+ })
194
+ }
195
+
196
+ /**
197
+ * Returns the id of the header toolbar
198
+ * @returns {String}
199
+ */
200
+ getHeaderToolbarId() {
201
+ return this.id + '-header-toolbar';
202
+ }
203
+
204
+ /**
205
+ * Shows the dialog (with / without Modal) in main thread
206
+ * @param {Boolean} modal
207
+ */
208
+ async show(modal = true) {
209
+ let me = this;
210
+ await Neo.timeout(20);
211
+
212
+ Neo.main.addon.Dialog[modal ? 'showModal': 'show']({
213
+ id: me.id,
214
+ appName: me.appName
215
+ });
216
+ }
217
+ }
218
+
219
+ Neo.applyClassConfig(Dialog);
220
+
221
+ export default Dialog;
@@ -48,8 +48,8 @@ class Toolbar extends Base {
48
48
  */
49
49
  afterSetTitle(value, oldValue) {
50
50
  this.down({flag: 'title-label'})?.set({
51
- removeDom: !value,
52
- text : value
51
+ hidden: !value,
52
+ text : value
53
53
  })
54
54
  }
55
55
 
@@ -62,11 +62,11 @@ class Toolbar extends Base {
62
62
  items = me.items || [];
63
63
 
64
64
  items.push({
65
- ntype : 'label',
66
- cls : ['neo-panel-header-text', 'neo-label'],
67
- flag : 'title-label',
68
- removeDom: !me.title,
69
- text : me.title
65
+ ntype : 'label',
66
+ cls : ['neo-panel-header-text', 'neo-label'],
67
+ flag : 'title-label',
68
+ hidden: !me.title,
69
+ text : me.title
70
70
  });
71
71
 
72
72
  if (me.actions) {
@@ -193,17 +193,23 @@ class Select extends Picker {
193
193
  let me = this,
194
194
  filters;
195
195
 
196
- if (value && me.useFilter) {
197
- filters = value.filters || [];
196
+ if (value) {
197
+ if (me.useFilter) {
198
+ filters = value.filters || [];
199
+
200
+ filters.push({
201
+ includeEmptyValues: true,
202
+ operator : me.filterOperator,
203
+ property : me.displayField,
204
+ value : value.get(me.value)?.[me.displayField] || me.value
205
+ });
198
206
 
199
- filters.push({
200
- includeEmptyValues: true,
201
- operator : me.filterOperator,
202
- property : me.displayField,
203
- value : value.get(me.value)?.[me.displayField] || me.value
204
- });
207
+ value.filters = filters
208
+ }
205
209
 
206
- value.filters = filters
210
+ if (me.list) {
211
+ me.list.store = value
212
+ }
207
213
  }
208
214
  }
209
215
 
@@ -0,0 +1,43 @@
1
+ import CheckBox from './CheckBox.mjs';
2
+
3
+ /**
4
+ * @class Neo.form.field.Switch
5
+ * @extends Neo.form.field.CheckBox
6
+ */
7
+ class Switch extends CheckBox {
8
+ static config = {
9
+ /**
10
+ * @member {String} className='Neo.form.field.Switch'
11
+ * @protected
12
+ */
13
+ className: 'Neo.form.field.Switch',
14
+ /**
15
+ * @member {String} ntype='switchfield'
16
+ * @protected
17
+ */
18
+ ntype: 'switchfield',
19
+ /**
20
+ * @member {String[]} baseCls=['neo-checkboxfield']
21
+ */
22
+ baseCls: ['neo-switchfield'],
23
+ /**
24
+ * @member {Object} _vdom
25
+ */
26
+ _vdom:
27
+ {cn: [
28
+ {tag: 'label', cls: ['neo-checkbox-label'], cn: [
29
+ {tag: 'span', cls: []},
30
+ {tag: 'input', cls: ['neo-checkbox-input']},
31
+ {tag: 'i', cls: ['neo-checkbox-icon'], removeDom: true},
32
+ {tag: 'span', cls: ['neo-checkbox-value-label']}
33
+ ]},
34
+ {cls: ['neo-error-wrapper'], removeDom: true, cn: [
35
+ {cls: ['neo-error']}
36
+ ]}
37
+ ]}
38
+ }
39
+ }
40
+
41
+ Neo.applyClassConfig(Switch);
42
+
43
+ export default Switch;
@@ -0,0 +1,68 @@
1
+ import Base from '../../core/Base.mjs';
2
+ import DomAccess from '../DomAccess.mjs'
3
+ /**
4
+ * Addon for component.Dialog
5
+ * @class Neo.main.addon.Dialog
6
+ * @extends Neo.core.Base
7
+ * @singleton
8
+ */
9
+ class Dialog extends Base {
10
+ static config = {
11
+ /**
12
+ * @member {String} className='Neo.main.addon.Dialog'
13
+ * @protected
14
+ */
15
+ className: 'Neo.main.addon.Dialog',
16
+ /**
17
+ * Remote method access for other workers
18
+ * @member {Object} remote={app: [//...]}
19
+ * @protected
20
+ */
21
+ remote: {
22
+ app: [
23
+ 'close',
24
+ 'show',
25
+ 'showModal'
26
+ ]
27
+ },
28
+ /**
29
+ * @member {Boolean} singleton=true
30
+ * @protected
31
+ */
32
+ singleton: true
33
+ }
34
+
35
+ /**
36
+ * @param {Object} data
37
+ * @param {String} data.id
38
+ * @returns {Boolean}
39
+ */
40
+ close(data) {
41
+ DomAccess.getElement(data.id).close()
42
+ return true;
43
+ }
44
+
45
+ /**
46
+ * @param {Object} data
47
+ * @param {String} data.id
48
+ * @returns {Boolean}
49
+ */
50
+ show(data) {
51
+ DomAccess.getElement(data.id).show()
52
+ return true;
53
+ }
54
+
55
+ /**
56
+ * @param {Object} data
57
+ * @param {String} data.id
58
+ * @returns {Boolean}
59
+ */
60
+ showModal(data) {
61
+ DomAccess.getElement(data.id).showModal()
62
+ return true;
63
+ }
64
+ }
65
+
66
+ let instance = Neo.applyClassConfig(Dialog);
67
+
68
+ export default instance;