neo.mjs 8.40.0 → 8.41.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.
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/covid/view/country/Table.mjs +1 -0
- package/apps/portal/index.html +1 -1
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/apps/sharedcovid/view/country/Table.mjs +1 -0
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/calendar/basic/MainContainerController.mjs +2 -12
- package/examples/table/covid/TableContainer.mjs +1 -0
- package/package.json +3 -3
- package/src/DefaultConfig.mjs +2 -2
- package/src/calendar/view/MainContainer.mjs +25 -3
- package/src/calendar/view/week/EventDragZone.mjs +1 -1
- package/src/calendar/view/week/plugin/DragDrop.mjs +1 -1
- package/src/component/Base.mjs +4 -4
- package/src/component/DateSelector.mjs +13 -5
- package/src/container/Base.mjs +1 -1
- package/src/date/DayViewComponent.mjs +3 -3
- package/src/date/SelectorContainer.mjs +1 -1
- package/src/draggable/toolbar/SortZone.mjs +1 -1
- package/src/form/Container.mjs +1 -1
- package/src/form/field/Base.mjs +1 -1
- package/src/form/field/Date.mjs +1 -1
- package/src/grid/column/Component.mjs +1 -0
- package/src/grid/header/Toolbar.mjs +6 -1
- package/src/table/header/Toolbar.mjs +6 -1
- package/src/calendar/README.md +0 -2
package/apps/ServiceWorker.mjs
CHANGED
package/apps/portal/index.html
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import ComponentController from '../../../src/controller/Component.mjs';
|
2
|
-
import NeoArray from '../../../src/util/Array.mjs';
|
3
2
|
|
4
3
|
/**
|
5
4
|
* @class Neo.examples.calendar.basic.MainContainerController
|
@@ -22,7 +21,7 @@ class MainContainerController extends ComponentController {
|
|
22
21
|
button = data.component,
|
23
22
|
component = me.component,
|
24
23
|
headerToolbar = me.getReference('headerToolbar'),
|
25
|
-
buttonText,
|
24
|
+
buttonText, headerColor, iconCls, style, theme;
|
26
25
|
|
27
26
|
if (button.text === 'Theme Light') {
|
28
27
|
buttonText = 'Theme Dark';
|
@@ -36,16 +35,7 @@ class MainContainerController extends ComponentController {
|
|
36
35
|
theme = 'neo-theme-dark'
|
37
36
|
}
|
38
37
|
|
39
|
-
|
40
|
-
|
41
|
-
component.cls.forEach(item => {
|
42
|
-
if (item.includes('neo-theme')) {
|
43
|
-
NeoArray.remove(cls, item)
|
44
|
-
}
|
45
|
-
});
|
46
|
-
|
47
|
-
NeoArray.add(cls, theme);
|
48
|
-
component.cls = cls;
|
38
|
+
component.theme = theme;
|
49
39
|
|
50
40
|
button.set({
|
51
41
|
iconCls,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "8.
|
3
|
+
"version": "8.41.1",
|
4
4
|
"description": "The webworkers driven UI framework",
|
5
5
|
"type": "module",
|
6
6
|
"repository": {
|
@@ -57,7 +57,7 @@
|
|
57
57
|
"fs-extra": "^11.3.0",
|
58
58
|
"highlightjs-line-numbers.js": "^2.9.0",
|
59
59
|
"inquirer": "^12.5.2",
|
60
|
-
"marked": "^15.0.
|
60
|
+
"marked": "^15.0.8",
|
61
61
|
"monaco-editor": "0.50.0",
|
62
62
|
"neo-jsdoc": "1.0.1",
|
63
63
|
"neo-jsdoc-x": "1.0.5",
|
@@ -65,7 +65,7 @@
|
|
65
65
|
"sass": "^1.86.3",
|
66
66
|
"siesta-lite": "5.5.2",
|
67
67
|
"url": "^0.11.4",
|
68
|
-
"webpack": "^5.
|
68
|
+
"webpack": "^5.99.3",
|
69
69
|
"webpack-cli": "^6.0.1",
|
70
70
|
"webpack-dev-server": "^5.2.1",
|
71
71
|
"webpack-hook-plugin": "^1.0.7",
|
package/src/DefaultConfig.mjs
CHANGED
@@ -263,12 +263,12 @@ const DefaultConfig = {
|
|
263
263
|
useVdomWorker: true,
|
264
264
|
/**
|
265
265
|
* buildScripts/injectPackageVersion.mjs will update this value
|
266
|
-
* @default '8.
|
266
|
+
* @default '8.41.1'
|
267
267
|
* @memberOf! module:Neo
|
268
268
|
* @name config.version
|
269
269
|
* @type String
|
270
270
|
*/
|
271
|
-
version: '8.
|
271
|
+
version: '8.41.1'
|
272
272
|
};
|
273
273
|
|
274
274
|
Object.assign(DefaultConfig, {
|
@@ -289,6 +289,26 @@ class MainContainer extends Container {
|
|
289
289
|
}
|
290
290
|
}
|
291
291
|
|
292
|
+
/**
|
293
|
+
* Triggered after the theme config got changed
|
294
|
+
* @param {String} value
|
295
|
+
* @param {String} oldValue
|
296
|
+
* @protected
|
297
|
+
*/
|
298
|
+
afterSetTheme(value, oldValue) {
|
299
|
+
super.afterSetTheme(value, oldValue);
|
300
|
+
|
301
|
+
let me = this;
|
302
|
+
|
303
|
+
if (me._editCalendarContainer) {
|
304
|
+
me._editCalendarContainer.theme = value
|
305
|
+
}
|
306
|
+
|
307
|
+
if (me._editEventContainer) {
|
308
|
+
me._editEventContainer.theme = value
|
309
|
+
}
|
310
|
+
}
|
311
|
+
|
292
312
|
/**
|
293
313
|
* Triggered after the useSettingsContainer config got changed
|
294
314
|
* @param {Boolean} value
|
@@ -330,6 +350,7 @@ class MainContainer extends Container {
|
|
330
350
|
appName : me.appName,
|
331
351
|
owner : me,
|
332
352
|
stateProvider: {parent: me.getStateProvider()},
|
353
|
+
theme : me.theme,
|
333
354
|
width : 250,
|
334
355
|
windowId : me.windowId,
|
335
356
|
...me.editCalendarContainerConfig
|
@@ -353,6 +374,7 @@ class MainContainer extends Container {
|
|
353
374
|
appName : me.appName,
|
354
375
|
owner : me,
|
355
376
|
stateProvider: {parent: me.getStateProvider()},
|
377
|
+
theme : me.theme,
|
356
378
|
width : 250,
|
357
379
|
windowId : me.windowId,
|
358
380
|
...me.editEventContainerConfig
|
@@ -448,7 +470,7 @@ class MainContainer extends Container {
|
|
448
470
|
appName : me.appName,
|
449
471
|
flex : 'none',
|
450
472
|
height : me.sideBarWidth,
|
451
|
-
listeners: {
|
473
|
+
listeners: {dateChange: me.onDateSelectorChange, scope: me},
|
452
474
|
parentId : me.id, // we need the parentId to access the model inside the ctor
|
453
475
|
value : null,
|
454
476
|
|
@@ -599,8 +621,8 @@ class MainContainer extends Container {
|
|
599
621
|
* @param {String} data.oldValue
|
600
622
|
* @param {String} data.value
|
601
623
|
*/
|
602
|
-
onDateSelectorChange(
|
603
|
-
|
624
|
+
onDateSelectorChange({value}) {
|
625
|
+
this.setState('currentDate', value)
|
604
626
|
}
|
605
627
|
|
606
628
|
/**
|
@@ -225,7 +225,7 @@ class EventDragZone extends DragZone {
|
|
225
225
|
endDate = me.newEndDate;
|
226
226
|
startDate = me.newStartDate || record.startDate
|
227
227
|
} else {
|
228
|
-
startDate = new Date(VDomUtil.find(owner.vdom, me.proxyParentId).vdom.flag + '
|
228
|
+
startDate = new Date(VDomUtil.find(owner.vdom, me.proxyParentId).vdom.flag + 'T12:00:00.000Z');
|
229
229
|
startDate.setHours(me.axisStartTime);
|
230
230
|
startDate.setMinutes(me.currentInterval * me.intervalSize);
|
231
231
|
|
@@ -188,7 +188,7 @@ class DragDrop extends Base {
|
|
188
188
|
intervalHeight = columnRect.height / intervals,
|
189
189
|
position = Math.min(columnRect.height, data.clientY - columnRect.top),
|
190
190
|
currentInterval = Math.floor(position / intervalHeight),
|
191
|
-
startDate = new Date(VDomUtil.find(owner.vdom, data.path[0].id).vdom.flag + '
|
191
|
+
startDate = new Date(VDomUtil.find(owner.vdom, data.path[0].id).vdom.flag + 'T12:00:00.000Z'),
|
192
192
|
dragElement, endDate, eventDragZone, eventId, record;
|
193
193
|
|
194
194
|
me.isDragging = true;
|
package/src/component/Base.mjs
CHANGED
@@ -1582,11 +1582,11 @@ class Component extends Base {
|
|
1582
1582
|
me.isVdomUpdating = false;
|
1583
1583
|
reject?.()
|
1584
1584
|
}).then(data => {
|
1585
|
-
|
1586
|
-
|
1587
|
-
// checking if the component got destroyed before the update cycle is done
|
1585
|
+
// Checking if the component got destroyed before the update cycle is done
|
1588
1586
|
if (me.id) {
|
1589
|
-
|
1587
|
+
// It is crucial to delegate the vnode tree before resolving the cycle
|
1588
|
+
me.vnode = data.vnode;
|
1589
|
+
me.isVdomUpdating = false;
|
1590
1590
|
|
1591
1591
|
deltas = data.deltas;
|
1592
1592
|
|
@@ -199,6 +199,14 @@ class DateSelector extends Component {
|
|
199
199
|
me.updateHeaderYear(0, true);
|
200
200
|
me.recreateDayViewContent(false, false)
|
201
201
|
}
|
202
|
+
|
203
|
+
if (oldValue !== undefined) {
|
204
|
+
me.fire('dateChange', {
|
205
|
+
component: me,
|
206
|
+
oldValue,
|
207
|
+
value
|
208
|
+
})
|
209
|
+
}
|
202
210
|
}
|
203
211
|
|
204
212
|
/**
|
@@ -221,7 +229,7 @@ class DateSelector extends Component {
|
|
221
229
|
if (value === false) {
|
222
230
|
let me = this;
|
223
231
|
|
224
|
-
if (me.cachedUpdate && me.cachedUpdate !== new Date(`${me.value}
|
232
|
+
if (me.cachedUpdate && me.cachedUpdate !== new Date(`${me.value}T12:00:00.000Z`)) {
|
225
233
|
me.afterSetValue(me.value, DateUtil.convertToyyyymmdd(me.cachedUpdate))
|
226
234
|
}
|
227
235
|
|
@@ -347,7 +355,7 @@ class DateSelector extends Component {
|
|
347
355
|
|
348
356
|
if (value) {
|
349
357
|
if (!me.isUpdating) {
|
350
|
-
me.currentDate = new Date(`${value}
|
358
|
+
me.currentDate = new Date(`${value}T12:00:00.000Z`);
|
351
359
|
|
352
360
|
me.fire('change', {
|
353
361
|
component: me,
|
@@ -608,9 +616,9 @@ class DateSelector extends Component {
|
|
608
616
|
currentMonth = currentDate.getMonth(),
|
609
617
|
currentYear = currentDate.getFullYear(),
|
610
618
|
date = me.currentDate, // cloned
|
611
|
-
maxDate = me.maxValue && new Date(`${me.maxValue}
|
612
|
-
minDate = me.minValue && new Date(`${me.minValue}
|
613
|
-
valueDate = new Date(`${me.value}
|
619
|
+
maxDate = me.maxValue && new Date(`${me.maxValue}T12:00:00.000Z`),
|
620
|
+
minDate = me.minValue && new Date(`${me.minValue}T12:00:00.000Z`),
|
621
|
+
valueDate = new Date(`${me.value}T12:00:00.000Z`),
|
614
622
|
valueMonth = valueDate.getMonth(),
|
615
623
|
valueYear = valueDate.getFullYear(),
|
616
624
|
daysInMonth = DateUtil.getDaysInMonth(currentDate),
|
package/src/container/Base.mjs
CHANGED
@@ -303,7 +303,7 @@ class Container extends Component {
|
|
303
303
|
createItem(item, index) {
|
304
304
|
let me = this,
|
305
305
|
config = {appName: me.appName, parentId: me.id, parentIndex: index, windowId: me.windowId},
|
306
|
-
defaults = {...me.itemDefaults},
|
306
|
+
defaults = {theme: me.theme, ...me.itemDefaults},
|
307
307
|
lazyLoadItem, module;
|
308
308
|
|
309
309
|
if (defaults) {
|
@@ -132,9 +132,9 @@ class DayViewComponent extends Base {
|
|
132
132
|
currentMonth = currentDate.getMonth(),
|
133
133
|
currentYear = currentDate.getFullYear(),
|
134
134
|
date = me.currentDate, // cloned
|
135
|
-
maxDate = me.maxValue && new Date(`${me.maxValue}
|
136
|
-
minDate = me.minValue && new Date(`${me.minValue}
|
137
|
-
valueDate = new Date(`${me.value}
|
135
|
+
maxDate = me.maxValue && new Date(`${me.maxValue}T12:00:00.000Z`),
|
136
|
+
minDate = me.minValue && new Date(`${me.minValue}T12:00:00.000Z`),
|
137
|
+
valueDate = new Date(`${me.value}T12:00:00.000Z`),
|
138
138
|
valueMonth = valueDate.getMonth(),
|
139
139
|
valueYear = valueDate.getFullYear(),
|
140
140
|
daysInMonth = DateUtil.getDaysInMonth(currentDate),
|
@@ -256,7 +256,7 @@ class SortZone extends DragZone {
|
|
256
256
|
indexMap : indexMap,
|
257
257
|
ownerStyle : {height: ownerStyle.height, width: ownerStyle.width},
|
258
258
|
reversedLayoutDirection: layout.direction === 'column-reverse' || layout.direction === 'row-reverse',
|
259
|
-
sortDirection : layout.direction
|
259
|
+
sortDirection : layout.direction?.includes('column') ? 'vertical' : 'horizontal',
|
260
260
|
startIndex : index
|
261
261
|
});
|
262
262
|
|
package/src/form/Container.mjs
CHANGED
package/src/form/field/Base.mjs
CHANGED
package/src/form/field/Date.mjs
CHANGED
@@ -194,7 +194,7 @@ class DateField extends Picker {
|
|
194
194
|
let value = this.value;
|
195
195
|
|
196
196
|
if(this.submitDateObject && value) {
|
197
|
-
return new Date(`${value}
|
197
|
+
return new Date(`${value}T12:00:00.000Z`);
|
198
198
|
} else if(this.isoDate && value) {
|
199
199
|
return new Date(value).toISOString();
|
200
200
|
}
|
@@ -155,6 +155,12 @@ class Toolbar extends BaseToolbar {
|
|
155
155
|
|
156
156
|
me.itemDefaults.showHeaderFilter = me.showHeaderFilters;
|
157
157
|
|
158
|
+
me.items.forEach(item => {
|
159
|
+
if (!Object.hasOwn(item, 'sortable')) {
|
160
|
+
item.sortable = me.sortable
|
161
|
+
}
|
162
|
+
});
|
163
|
+
|
158
164
|
super.createItems();
|
159
165
|
|
160
166
|
let {items} = me,
|
@@ -170,7 +176,6 @@ class Toolbar extends BaseToolbar {
|
|
170
176
|
if (item.minWidth) {style.minWidth = item.minWidth + 'px'}
|
171
177
|
if (item.width) {style.width = item.width + 'px'}
|
172
178
|
|
173
|
-
item.sortable = me.sortable;
|
174
179
|
item.wrapperStyle = style
|
175
180
|
});
|
176
181
|
|
@@ -128,6 +128,12 @@ class Toolbar extends BaseToolbar {
|
|
128
128
|
|
129
129
|
me.itemDefaults.showHeaderFilter = me.showHeaderFilters;
|
130
130
|
|
131
|
+
me.items.forEach(item => {
|
132
|
+
if (!Object.hasOwn(item, 'sortable')) {
|
133
|
+
item.sortable = me.sortable
|
134
|
+
}
|
135
|
+
});
|
136
|
+
|
131
137
|
super.createItems();
|
132
138
|
|
133
139
|
let dockLeftWidth = 0,
|
@@ -156,7 +162,6 @@ class Toolbar extends BaseToolbar {
|
|
156
162
|
item.vdom.cls = [] // remove the button cls from the th tag
|
157
163
|
}
|
158
164
|
|
159
|
-
item.sortable = me.sortable;
|
160
165
|
item.wrapperStyle = style;
|
161
166
|
|
162
167
|
// inverse loop direction
|
package/src/calendar/README.md
DELETED