neo.mjs 4.0.57 → 4.0.60

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "4.0.57",
3
+ "version": "4.0.60",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1,9 +1,12 @@
1
1
  @import "global/all";
2
2
 
3
3
  html, .neo-body-viewport {
4
- height : 100%;
5
- overflow: hidden; // chrome can overscroll the full page (bug)
6
- width : 100%;
4
+ align-items : center;
5
+ display : flex;
6
+ height : 100%;
7
+ justify-content: center;
8
+ overflow : hidden; // chrome can overscroll the full page (bug)
9
+ width : 100%;
7
10
  }
8
11
 
9
12
  .neo-body {
@@ -18,12 +18,9 @@
18
18
  }
19
19
 
20
20
  .neo-dialog-wrapper {
21
- display : flex;
22
- left : 50%;
23
- position : absolute;
24
- top : 50%;
25
- transform: translate(-50%, -50%);
26
- z-index : 20; // ensure to be on top of table headers
21
+ display : flex;
22
+ position: absolute;
23
+ z-index : 20; // ensure to be on top of table headers
27
24
 
28
25
  transition-duration : 200ms;
29
26
  transition-property : height, left, top, transform, width;
@@ -238,7 +238,7 @@ class EditEventContainer extends FormContainer {
238
238
  */
239
239
  onCalendarFieldChange(data) {
240
240
  if (!Neo.isEmpty(data.value)) {
241
- this.record.calendarId = data.value[data.component.store.keyProperty];
241
+ this.record.calendarId = data.record[data.component.store.keyProperty];
242
242
  }
243
243
  }
244
244
 
@@ -391,9 +391,7 @@ class Base extends Panel {
391
391
  cls = ['neo-header-toolbar', 'neo-toolbar'],
392
392
  headers = me.headers || [];
393
393
 
394
- if (me.draggable) {
395
- cls.push('neo-draggable');
396
- }
394
+ me.draggable && cls.push('neo-draggable');
397
395
 
398
396
  headers.unshift({
399
397
  cls : cls,
@@ -64,7 +64,21 @@ class Container extends BaseContainer {
64
64
  }
65
65
 
66
66
  /**
67
- * @returns {Object} values
67
+ * @returns {Object}
68
+ */
69
+ getSubmitValues() {
70
+ let fields = this.getFields(),
71
+ values = {};
72
+
73
+ fields.forEach(item => {
74
+ values[item.name || item.id] = item.getSubmitValue();
75
+ });
76
+
77
+ return values;
78
+ }
79
+
80
+ /**
81
+ * @returns {Object}
68
82
  */
69
83
  getValues() {
70
84
  let fields = this.getFields(),
@@ -143,15 +157,11 @@ class Container extends BaseContainer {
143
157
  * This can be useful for create entity forms which show up "clean", when pressing a submit button.
144
158
  */
145
159
  updateValidationIndicators() {
146
- let fields = this.getFields(),
147
- form = this.component,
148
- vdom = form.vdom;
160
+ let fields = this.getFields();
149
161
 
150
162
  fields.forEach(item => {
151
- item.updateValidationIndicators?.(); // silent update
163
+ item.updateValidationIndicators?.(false);
152
164
  });
153
-
154
- form.vdom = vdom;
155
165
  }
156
166
  }
157
167
 
@@ -109,7 +109,13 @@ class Select extends Picker {
109
109
  * Display the first matching result while typing
110
110
  * @member {Boolean} typeAhead_=true
111
111
  */
112
- typeAhead_: true
112
+ typeAhead_: true,
113
+ /**
114
+ * This config should point to the store keyProperty or a different model field,
115
+ * which you want to submit instead
116
+ * @member {Number|String} valueField='id'
117
+ */
118
+ valueField: 'id'
113
119
  }}
114
120
 
115
121
  /**
@@ -338,6 +344,15 @@ class Select extends Picker {
338
344
  return recordKey && this.store.get(list.getItemRecordId(recordKey)) || null;
339
345
  }
340
346
 
347
+ /**
348
+ * @returns {Number|String}
349
+ */
350
+ getSubmitValue() {
351
+ let me = this;
352
+
353
+ return me.record?.[me.valueField] || me.value;
354
+ }
355
+
341
356
  /**
342
357
  * @param {Object} data
343
358
  * @protected
@@ -463,7 +478,7 @@ class Select extends Picker {
463
478
 
464
479
  me.fire('select', {
465
480
  record,
466
- value : record[displayField]
481
+ value: record[displayField]
467
482
  });
468
483
  }
469
484
  }