neo.mjs 6.10.16 → 6.10.17

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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.10.16'
23
+ * @member {String} version='6.10.17'
24
24
  */
25
- version: '6.10.16'
25
+ version: '6.10.17'
26
26
  }
27
27
 
28
28
  /**
@@ -3,5 +3,5 @@
3
3
  "basePath" : "../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
6
- "mainThreadAddons": ["DragDrop", "LocalStorage", "Stylesheet"]
6
+ "mainThreadAddons": ["DragDrop", "LocalStorage", "Navigator", "Stylesheet"]
7
7
  }
@@ -16,6 +16,10 @@ class SideNavList extends List {
16
16
  * @protected
17
17
  */
18
18
  baseCls: ['form-side-nav-list', 'neo-list'],
19
+ /**
20
+ * @member {Boolean} itemsFocusable=true
21
+ */
22
+ itemsFocusable: true,
19
23
  /**
20
24
  * @member {Boolean} useHeaders=true
21
25
  */
@@ -20,24 +20,26 @@ class Page6 extends FormPageContainer {
20
20
  * @member {Object} itemDefaults
21
21
  */
22
22
  itemDefaults: {
23
- module: TextArea
23
+ module : TextArea,
24
+ autoGrow: true
24
25
  },
25
26
  /**
26
27
  * @member {Object[]} items
27
28
  */
28
29
  items: [{
29
- height : 200,
30
30
  labelText: 'Page 6 Field 1',
31
+ minHeight: 150,
31
32
  name : 'field1',
32
33
  required : true,
33
34
  value : 'Lorem ipsum'
34
35
  }, {
35
- height : 300,
36
36
  labelText: 'Page 6 Field 2',
37
+ minHeight: 150,
37
38
  name : 'field2'
38
39
  }, {
39
40
  labelText: 'Page 6 Field 3',
40
- name : 'field3'
41
+ name : 'field3',
42
+ readOnly : true
41
43
  }]
42
44
  }
43
45
  }
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.10.16'
23
+ * @member {String} version='6.10.17'
24
24
  */
25
- version: '6.10.16'
25
+ version: '6.10.17'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "6.10.16",
3
+ "version": "6.10.17",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -236,12 +236,12 @@ const DefaultConfig = {
236
236
  useVdomWorker: true,
237
237
  /**
238
238
  * buildScripts/injectPackageVersion.mjs will update this value
239
- * @default '6.10.16'
239
+ * @default '6.10.17'
240
240
  * @memberOf! module:Neo
241
241
  * @name config.version
242
242
  * @type String
243
243
  */
244
- version: '6.10.16'
244
+ version: '6.10.17'
245
245
  };
246
246
 
247
247
  Object.assign(DefaultConfig, {
@@ -79,12 +79,20 @@ class TextArea extends Text {
79
79
  wrap_: null
80
80
  }
81
81
 
82
- afterSetAutoGrow(autoGrow) {
83
- autoGrow && this.syncAutoGrowMonitor();
82
+ /**
83
+ * Triggered after the autoGrow config got changed
84
+ * @param {Boolean} value
85
+ * @param {Boolean} oldValue
86
+ * @protected
87
+ */
88
+ afterSetAutoGrow(value, oldValue) {
89
+ let me = this;
90
+
91
+ value && me.syncAutoGrowMonitor();
84
92
 
85
93
  // Restore any configured height if autoGrow turned off
86
- if (!autoGrow) {
87
- this.afterSetHeight(this._height);
94
+ if (!value) {
95
+ me.afterSetHeight(me._height);
88
96
  }
89
97
  }
90
98
 
@@ -150,13 +158,24 @@ class TextArea extends Text {
150
158
  * @protected
151
159
  */
152
160
  afterSetValue(value, oldValue) {
153
- let inputEl = this.getInputEl();
161
+ let me = this,
162
+ inputEl = me.getInputEl();
154
163
 
155
164
  if (inputEl) {
156
165
  inputEl.html = StringUtil.escapeHtml(value);
157
166
  }
158
167
 
159
168
  super.afterSetValue(value, oldValue);
169
+
170
+ if (me.autoGrow && me.mounted && me.readOnly) {
171
+ setTimeout(() => {
172
+ Neo.main.DomAccess.monitorAutoGrowHandler({
173
+ appName : me.appName,
174
+ id : inputEl.id,
175
+ windowId: me.windowId
176
+ })
177
+ }, 50)
178
+ }
160
179
  }
161
180
 
162
181
  /**
@@ -180,14 +199,19 @@ class TextArea extends Text {
180
199
  return this.beforeSetEnumValue(value, oldValue, 'wrap', 'wrapValues');
181
200
  }
182
201
 
202
+ /**
203
+ *
204
+ */
183
205
  async syncAutoGrowMonitor() {
184
- if (this.mounted && this.autoGrow) {
185
- // Delegate monitoring of sizes to the VDOM thread.
206
+ let me = this;
207
+
208
+ if (me.mounted && me.autoGrow) {
209
+ // Delegate monitoring of sizes to the main thread.
186
210
  Neo.main.DomAccess.monitorAutoGrow({
187
- appName : this.appName,
188
- id : this.getInputElId(),
189
- autoGrow : this.autoGrow
190
- });
211
+ appName : me.appName,
212
+ id : me.getInputElId(),
213
+ autoGrow : me.autoGrow
214
+ })
191
215
  }
192
216
  }
193
217
  }
@@ -88,6 +88,7 @@ class DomAccess extends Base {
88
88
  'getScrollingDimensions',
89
89
  'measure',
90
90
  'monitorAutoGrow',
91
+ 'monitorAutoGrowHandler',
91
92
  'navigate',
92
93
  'navigateTo',
93
94
  'scrollBy',
@@ -637,8 +638,15 @@ class DomAccess extends Base {
637
638
  })
638
639
  }
639
640
 
640
- monitorAutoGrowHandler({ target }) {
641
+ /**
642
+ *
643
+ * @param {Event|Object} data
644
+ * @param {String} [data.id]
645
+ * @param {HTMLElement} [data.target]
646
+ */
647
+ monitorAutoGrowHandler(data) {
641
648
  const
649
+ target = data.target || this.getElement(data.id),
642
650
  { style } = target,
643
651
  { style : inputStyle } = target.closest('.neo-textarea');
644
652
 
package/src/tree/List.mjs CHANGED
@@ -60,11 +60,9 @@ class Tree extends Base {
60
60
  * @member {Object} _vdom
61
61
  */
62
62
  _vdom:
63
- {
64
- cn: [
65
- {tag: 'ul', cls: ['neo-list-container', 'neo-list'], tabIndex: -1, cn: []}
66
- ]
67
- }
63
+ {cn: [
64
+ {tag: 'ul', cls: ['neo-list-container', 'neo-list'], tabIndex: -1, cn: []}
65
+ ]}
68
66
  }
69
67
 
70
68
  /**