neo.mjs 5.3.9 → 5.3.11
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/apps/ServiceWorker.mjs +2 -2
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +1 -1
- package/resources/scss/src/component/DateSelector.scss +1 -2
- package/resources/scss/src/form/field/TextArea.scss +6 -0
- package/src/DefaultConfig.mjs +2 -2
- package/src/Neo.mjs +5 -1
- package/src/component/DateSelector.mjs +14 -7
- package/src/form/field/Text.mjs +4 -2
- package/src/selection/DateSelectorModel.mjs +14 -14
package/apps/ServiceWorker.mjs
CHANGED
package/package.json
CHANGED
package/src/DefaultConfig.mjs
CHANGED
@@ -237,12 +237,12 @@ const DefaultConfig = {
|
|
237
237
|
useVdomWorker: true,
|
238
238
|
/**
|
239
239
|
* buildScripts/injectPackageVersion.mjs will update this value
|
240
|
-
* @default '5.3.
|
240
|
+
* @default '5.3.11'
|
241
241
|
* @memberOf! module:Neo
|
242
242
|
* @name config.version
|
243
243
|
* @type String
|
244
244
|
*/
|
245
|
-
version: '5.3.
|
245
|
+
version: '5.3.11'
|
246
246
|
};
|
247
247
|
|
248
248
|
Object.assign(DefaultConfig, {
|
package/src/Neo.mjs
CHANGED
@@ -660,7 +660,7 @@ function autoGenerateGetSet(proto, key) {
|
|
660
660
|
* @param {Boolean} create
|
661
661
|
* @param {Object} current
|
662
662
|
* @param {Object} prev
|
663
|
-
* @returns {Object}
|
663
|
+
* @returns {Object|undefined}
|
664
664
|
*/
|
665
665
|
function createArrayNs(create, current, prev) {
|
666
666
|
let arrDetails = parseArrayFromString(current),
|
@@ -674,6 +674,10 @@ function createArrayNs(create, current, prev) {
|
|
674
674
|
arrRoot = prev[arrDetails[0]];
|
675
675
|
}
|
676
676
|
|
677
|
+
if (!arrRoot) {
|
678
|
+
return;
|
679
|
+
}
|
680
|
+
|
677
681
|
for (; i < len; i++) {
|
678
682
|
arrItem = parseInt(arrDetails[i]);
|
679
683
|
|
@@ -694,7 +694,12 @@ class DateSelector extends Component {
|
|
694
694
|
date = me.currentDate; // cloned
|
695
695
|
|
696
696
|
date.setDate(parseInt(cellEl.vdom.cn[0].html));
|
697
|
-
|
697
|
+
date = DateUtil.convertToyyyymmdd(date);
|
698
|
+
|
699
|
+
// We want to always trigger a change event.
|
700
|
+
// Reason: A form.field.Date can have a null value and we want to select the current date.
|
701
|
+
me._value = date;
|
702
|
+
me.afterSetValue(date, null);
|
698
703
|
}
|
699
704
|
|
700
705
|
/**
|
@@ -751,6 +756,13 @@ class DateSelector extends Component {
|
|
751
756
|
this.selectionModel?.register(this);
|
752
757
|
}
|
753
758
|
|
759
|
+
/**
|
760
|
+
* @param {String[]} items
|
761
|
+
*/
|
762
|
+
onSelect(items) {
|
763
|
+
this.value = items[0].split('__')[1]
|
764
|
+
}
|
765
|
+
|
754
766
|
/**
|
755
767
|
* Recreates the current centerEl, month & year el
|
756
768
|
* @param {Number} monthIncrement
|
@@ -916,8 +928,6 @@ class DateSelector extends Component {
|
|
916
928
|
*/
|
917
929
|
updateHeaderMonthTransitionCallback(opts) {
|
918
930
|
let {data, headerCenterEl, increment, yearIncrement} = opts,
|
919
|
-
me = this,
|
920
|
-
vdom = me.vdom,
|
921
931
|
slideDirection = yearIncrement > 0 ? 'bottom' : yearIncrement < 0 ? 'top' : increment < 0 ? 'top' : 'bottom',
|
922
932
|
y;
|
923
933
|
|
@@ -935,8 +945,6 @@ class DateSelector extends Component {
|
|
935
945
|
*/
|
936
946
|
updateHeaderMonthWrapperCallback(opts) {
|
937
947
|
let {headerCenterEl, increment, yearIncrement} = opts,
|
938
|
-
me = this,
|
939
|
-
vdom = me.vdom,
|
940
948
|
slideDirection = yearIncrement > 0 ? 'bottom' : yearIncrement < 0 ? 'top' : increment < 0 ? 'top' : 'bottom';
|
941
949
|
|
942
950
|
headerCenterEl.cn[0] = headerCenterEl.cn[0].cn[0].cn[slideDirection === 'top' ? 1 : 0];
|
@@ -948,12 +956,11 @@ class DateSelector extends Component {
|
|
948
956
|
*/
|
949
957
|
updateHeaderYear(increment, silent=false) {
|
950
958
|
let me = this,
|
951
|
-
vdom = me.vdom,
|
952
959
|
yearEl = me.getHeaderYearEl();
|
953
960
|
|
954
961
|
yearEl.html = me.currentDate.getFullYear();
|
955
962
|
|
956
|
-
|
963
|
+
!silent && me.update()
|
957
964
|
}
|
958
965
|
}
|
959
966
|
|
package/src/form/field/Text.mjs
CHANGED
@@ -1042,6 +1042,8 @@ class Text extends Base {
|
|
1042
1042
|
* @returns {Boolean}
|
1043
1043
|
*/
|
1044
1044
|
isValid() {
|
1045
|
+
this.validate(true); // silent
|
1046
|
+
|
1045
1047
|
return this.error?.length > 0 ? false : super.isValid();
|
1046
1048
|
}
|
1047
1049
|
|
@@ -1249,9 +1251,9 @@ class Text extends Base {
|
|
1249
1251
|
isValid = !value || value === '';
|
1250
1252
|
|
1251
1253
|
NeoArray[!isValid ? 'add' : 'remove'](cls, 'neo-invalid');
|
1252
|
-
me
|
1254
|
+
me[silent ? '_cls' : 'cls'] = cls;
|
1253
1255
|
|
1254
|
-
errorNode = VDomUtil.findVdomChild(
|
1256
|
+
errorNode = VDomUtil.findVdomChild(me.vdom, {cls: 'neo-textfield-error'}).vdom;
|
1255
1257
|
|
1256
1258
|
if (!isValid) {
|
1257
1259
|
errorNode.html = me.error;
|
@@ -137,16 +137,16 @@ class DateSelectorModel extends Model {
|
|
137
137
|
register(component) {
|
138
138
|
super.register(component);
|
139
139
|
|
140
|
-
let me
|
141
|
-
|
142
|
-
view
|
140
|
+
let me = this,
|
141
|
+
scope = {scope: me.id},
|
142
|
+
view = me.view;
|
143
143
|
|
144
144
|
if (view.keys) {
|
145
145
|
view.keys._keys.push(
|
146
|
-
{fn: 'onKeyDownDown' ,key: 'Down'
|
147
|
-
{fn: 'onKeyDownLeft' ,key: 'Left'
|
148
|
-
{fn: 'onKeyDownRight' ,key: 'Right'
|
149
|
-
{fn: 'onKeyDownUp' ,key: 'Up'
|
146
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,...scope},
|
147
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,...scope},
|
148
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,...scope},
|
149
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,...scope}
|
150
150
|
);
|
151
151
|
}
|
152
152
|
}
|
@@ -155,16 +155,16 @@ class DateSelectorModel extends Model {
|
|
155
155
|
*
|
156
156
|
*/
|
157
157
|
unregister() {
|
158
|
-
let me
|
159
|
-
|
160
|
-
view
|
158
|
+
let me = this,
|
159
|
+
scope = {scope: me.id},
|
160
|
+
view = me.view;
|
161
161
|
|
162
162
|
if (view.keys) {
|
163
163
|
view.keys.removeKeys([
|
164
|
-
{fn: 'onKeyDownDown' ,key: 'Down'
|
165
|
-
{fn: 'onKeyDownLeft' ,key: 'Left'
|
166
|
-
{fn: 'onKeyDownRight' ,key: 'Right'
|
167
|
-
{fn: 'onKeyDownUp' ,key: 'Up'
|
164
|
+
{fn: 'onKeyDownDown' ,key: 'Down' ,...scope},
|
165
|
+
{fn: 'onKeyDownLeft' ,key: 'Left' ,...scope},
|
166
|
+
{fn: 'onKeyDownRight' ,key: 'Right' ,...scope},
|
167
|
+
{fn: 'onKeyDownUp' ,key: 'Up' ,...scope}
|
168
168
|
]);
|
169
169
|
}
|
170
170
|
|