neo.mjs 6.17.2 → 6.18.0
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 +3 -5
- package/apps/colors/README.md +8 -0
- package/apps/colors/app.mjs +6 -0
- package/apps/colors/childapps/widget/app.mjs +7 -0
- package/apps/colors/childapps/widget/index.html +11 -0
- package/apps/colors/childapps/widget/neo-config.json +10 -0
- package/apps/colors/childapps/widget/view/Viewport.mjs +19 -0
- package/apps/colors/index.html +11 -0
- package/apps/colors/model/Color.mjs +43 -0
- package/apps/colors/neo-config.json +10 -0
- package/apps/colors/remotes-api.json +13 -0
- package/apps/colors/store/Colors.mjs +24 -0
- package/apps/colors/view/BarChartComponent.mjs +64 -0
- package/apps/colors/view/HeaderToolbar.mjs +95 -0
- package/apps/colors/view/PieChartComponent.mjs +58 -0
- package/apps/colors/view/TableContainer.mjs +91 -0
- package/apps/colors/view/Viewport.mjs +57 -0
- package/apps/colors/view/ViewportController.mjs +277 -0
- package/apps/colors/view/ViewportModel.mjs +53 -0
- package/apps/portal/Util.mjs +11 -0
- package/apps/portal/childapps/preview/neo-config.json +2 -2
- package/apps/portal/neo-config.json +2 -1
- package/apps/portal/remotes-api.json +13 -0
- package/apps/portal/view/HeaderToolbar.mjs +1 -1
- package/apps/portal/view/ViewportController.mjs +89 -1
- package/apps/portal/view/home/MainContainer.mjs +5 -6
- package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
- package/apps/portal/view/home/parts/{CoolStuff.mjs → Colors.mjs} +20 -28
- package/apps/portal/view/home/parts/Helix.mjs +75 -0
- package/apps/portal/view/learn/LivePreview.mjs +56 -15
- package/apps/portal/view/learn/MainContainerController.mjs +10 -90
- package/apps/realworld/api/Article.mjs +1 -3
- package/apps/realworld/api/Favorite.mjs +1 -3
- package/apps/realworld/api/Profile.mjs +1 -3
- package/apps/realworld/api/Tag.mjs +1 -3
- package/apps/realworld/api/User.mjs +1 -3
- package/apps/realworld2/api/Article.mjs +1 -3
- package/apps/realworld2/api/Favorite.mjs +1 -3
- package/apps/realworld2/api/Profile.mjs +1 -3
- package/apps/realworld2/api/Tag.mjs +1 -3
- package/apps/realworld2/api/User.mjs +1 -3
- package/apps/realworld2/view/article/HelixContainer.mjs +5 -5
- package/buildScripts/webpack/json/myApps.template.json +1 -0
- package/docs/app/view/MainContainer.mjs +5 -0
- package/docs/app/view/classdetails/MembersList.mjs +1 -1
- package/examples/ServiceWorker.mjs +3 -5
- package/examples/component/helix/Viewport.mjs +309 -0
- package/examples/component/helix/ViewportController.mjs +122 -0
- package/examples/component/helix/app.mjs +2 -2
- package/examples/component/helix/neo-config.json +0 -1
- package/examples/component/multiWindowHelix/Viewport.mjs +11 -3
- package/examples/component/multiWindowHelix/ViewportController.mjs +21 -9
- package/examples/component/multiWindowHelix/neo-config.json +0 -1
- package/examples/fieldWithPrefix/MainContainer.mjs +1 -6
- package/examples/list/animate/MainContainerController.mjs +1 -1
- package/examples/worker/task/MyTasks.mjs +1 -3
- package/package.json +2 -2
- package/resources/data/deck/learnneo/pages/GuideEvents.md +131 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +1 -1
- package/resources/images/logo/neo_logo_primary.svg +6 -0
- package/resources/images/logo/neo_logo_text_primary.svg +5 -0
- package/resources/scss/src/apps/colors/BarChartComponent.scss +3 -0
- package/resources/scss/src/apps/colors/HeaderToolbar.scss +11 -0
- package/resources/scss/src/apps/colors/PieChartComponent.scss +3 -0
- package/resources/scss/src/apps/colors/TableContainer.scss +64 -0
- package/resources/scss/src/apps/colors/Viewport.scss +9 -0
- package/resources/scss/src/apps/portal/HeaderToolbar.scss +1 -1
- package/resources/scss/src/apps/portal/home/MainContainer.scss +1 -1
- package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +1 -1
- package/resources/scss/src/examples/component/multiWindowHelix/Viewport.scss +3 -0
- package/resources/scss/src/form/field/CheckBox.scss +1 -0
- package/resources/scss/src/tab/header/Button.scss +2 -1
- package/resources/scss/theme-dark/Global.scss +8 -0
- package/resources/scss/theme-dark/button/Base.scss +1 -1
- package/resources/scss/theme-dark/tab/header/Button.scss +1 -0
- package/resources/scss/theme-light/Global.scss +8 -0
- package/resources/scss/theme-light/button/Base.scss +1 -1
- package/resources/scss/theme-light/tab/header/Button.scss +1 -0
- package/resources/scss/theme-neo-light/Global.scss +53 -53
- package/resources/scss/theme-neo-light/button/Base.scss +3 -4
- package/resources/scss/theme-neo-light/tab/header/Button.scss +6 -8
- package/src/DefaultConfig.mjs +2 -2
- package/src/Fetch.mjs +1 -3
- package/src/Main.mjs +13 -11
- package/src/MicroLoader.mjs +2 -2
- package/src/Neo.mjs +27 -26
- package/src/Xhr.mjs +1 -3
- package/src/button/Base.mjs +6 -4
- package/src/button/Split.mjs +10 -9
- package/src/calendar/view/EditEventContainer.mjs +13 -12
- package/src/calendar/view/MainContainer.mjs +40 -40
- package/src/calendar/view/MainContainerModel.mjs +5 -5
- package/src/calendar/view/SettingsContainer.mjs +11 -11
- package/src/calendar/view/YearComponent.mjs +73 -75
- package/src/calendar/view/calendars/ColorsList.mjs +2 -2
- package/src/calendar/view/calendars/EditContainer.mjs +2 -2
- package/src/calendar/view/calendars/List.mjs +12 -13
- package/src/calendar/view/month/Component.mjs +72 -73
- package/src/calendar/view/settings/GeneralContainer.mjs +5 -5
- package/src/calendar/view/settings/MonthContainer.mjs +5 -5
- package/src/calendar/view/settings/WeekContainer.mjs +6 -6
- package/src/calendar/view/settings/YearContainer.mjs +4 -4
- package/src/calendar/view/week/Component.mjs +47 -57
- package/src/calendar/view/week/EventDragZone.mjs +43 -50
- package/src/calendar/view/week/TimeAxisComponent.mjs +21 -21
- package/src/calendar/view/week/plugin/DragDrop.mjs +53 -45
- package/src/calendar/view/week/plugin/EventResizable.mjs +8 -3
- package/src/collection/Base.mjs +15 -22
- package/src/collection/Filter.mjs +4 -9
- package/src/collection/Sorter.mjs +6 -7
- package/src/component/Base.mjs +25 -31
- package/src/component/Canvas.mjs +9 -9
- package/src/component/Carousel.mjs +31 -33
- package/src/component/Chip.mjs +9 -9
- package/src/component/Circle.mjs +84 -91
- package/src/component/Clock.mjs +8 -8
- package/src/component/DateSelector.mjs +14 -15
- package/src/component/Gallery.mjs +82 -80
- package/src/component/Helix.mjs +131 -126
- package/src/component/Iframe.mjs +1 -1
- package/src/component/Label.mjs +1 -1
- package/src/component/Legend.mjs +3 -3
- package/src/component/Process.mjs +39 -37
- package/src/component/Splitter.mjs +9 -11
- package/src/component/StatusBadge.mjs +2 -3
- package/src/component/Timer.mjs +62 -68
- package/src/component/Toast.mjs +11 -11
- package/src/component/Video.mjs +7 -8
- package/src/component/mwc/Button.mjs +10 -10
- package/src/component/mwc/TextField.mjs +17 -17
- package/src/component/wrapper/AmChart.mjs +5 -5
- package/src/component/wrapper/CesiumJS.mjs +11 -17
- package/src/component/wrapper/GoogleMaps.mjs +58 -35
- package/src/component/wrapper/MapboxGL.mjs +112 -79
- package/src/container/Accordion.mjs +18 -20
- package/src/container/AccordionItem.mjs +12 -11
- package/src/container/Base.mjs +24 -23
- package/src/container/Panel.mjs +9 -9
- package/src/controller/Base.mjs +12 -14
- package/src/controller/Component.mjs +60 -66
- package/src/core/Base.mjs +5 -8
- package/src/core/IdGenerator.mjs +1 -3
- package/src/core/Observable.mjs +17 -17
- package/src/core/Util.mjs +5 -5
- package/src/data/Model.mjs +3 -3
- package/src/data/RecordFactory.mjs +3 -6
- package/src/data/Store.mjs +34 -34
- package/src/data/connection/Fetch.mjs +3 -3
- package/src/data/connection/WebSocket.mjs +21 -25
- package/src/data/connection/Xhr.mjs +31 -28
- package/src/date/DayViewComponent.mjs +1 -1
- package/src/date/SelectorContainer.mjs +2 -2
- package/src/dialog/Base.mjs +27 -25
- package/src/dialog/header/Toolbar.mjs +5 -4
- package/src/draggable/DragProxyComponent.mjs +7 -4
- package/src/draggable/DragZone.mjs +30 -30
- package/src/draggable/DropZone.mjs +7 -7
- package/src/draggable/list/DragZone.mjs +18 -18
- package/src/draggable/tab/header/toolbar/SortZone.mjs +7 -7
- package/src/draggable/toolbar/DragZone.mjs +15 -15
- package/src/draggable/toolbar/SortZone.mjs +30 -31
- package/src/draggable/tree/DragZone.mjs +9 -9
- package/src/filter/BooleanContainer.mjs +3 -3
- package/src/filter/NumberContainer.mjs +5 -5
- package/src/filter/ToggleOperatorsButton.mjs +5 -5
- package/src/form/Fieldset.mjs +26 -26
- package/src/form/field/Base.mjs +1 -1
- package/src/form/field/CheckBox.mjs +15 -16
- package/src/form/field/Color.mjs +13 -15
- package/src/form/field/ComboBox.mjs +16 -24
- package/src/form/field/Country.mjs +1 -1
- package/src/form/field/Date.mjs +3 -4
- package/src/form/field/Display.mjs +1 -1
- package/src/form/field/Email.mjs +2 -2
- package/src/form/field/Number.mjs +51 -56
- package/src/form/field/Picker.mjs +2 -2
- package/src/form/field/Radio.mjs +1 -1
- package/src/form/field/Range.mjs +7 -6
- package/src/form/field/Text.mjs +29 -36
- package/src/form/field/TextArea.mjs +9 -9
- package/src/form/field/Time.mjs +30 -30
- package/src/form/field/trigger/Base.mjs +19 -13
- package/src/form/field/trigger/Clear.mjs +13 -13
- package/src/form/field/trigger/CopyToClipboard.mjs +7 -7
- package/src/form/field/trigger/Picker.mjs +2 -2
- package/src/form/field/trigger/SpinDown.mjs +1 -1
- package/src/form/field/trigger/SpinUp.mjs +1 -1
- package/src/form/field/trigger/SpinUpDown.mjs +3 -3
- package/src/form/field/trigger/Time.mjs +3 -3
- package/src/grid/Container.mjs +33 -33
- package/src/grid/View.mjs +20 -22
- package/src/grid/header/Button.mjs +12 -12
- package/src/grid/header/Toolbar.mjs +4 -4
- package/src/layout/Base.mjs +5 -4
- package/src/layout/Card.mjs +15 -16
- package/src/layout/Fit.mjs +22 -8
- package/src/layout/Flexbox.mjs +30 -29
- package/src/layout/Form.mjs +15 -15
- package/src/layout/Grid.mjs +2 -2
- package/src/layout/HBox.mjs +3 -2
- package/src/layout/VBox.mjs +3 -2
- package/src/list/Base.mjs +45 -47
- package/src/list/Chip.mjs +4 -4
- package/src/list/Circle.mjs +3 -3
- package/src/list/Color.mjs +4 -4
- package/src/list/Component.mjs +10 -10
- package/src/list/plugin/Animate.mjs +18 -13
- package/src/main/DomAccess.mjs +92 -56
- package/src/main/DomEvents.mjs +38 -39
- package/src/main/addon/AmCharts.mjs +37 -37
- package/src/main/addon/AnalyticsByGoogle.mjs +4 -4
- package/src/main/addon/CesiumJS.mjs +8 -8
- package/src/main/addon/CloneNode.mjs +5 -5
- package/src/main/addon/Cookie.mjs +4 -4
- package/src/main/addon/DragDrop.mjs +35 -34
- package/src/main/addon/GoogleMaps.mjs +19 -19
- package/src/main/addon/LocalStorage.mjs +3 -3
- package/src/main/addon/MapboxGL.mjs +40 -41
- package/src/main/addon/MonacoEditor.mjs +5 -5
- package/src/main/addon/Mwc.mjs +6 -6
- package/src/main/addon/Navigator.mjs +35 -39
- package/src/main/addon/Popover.mjs +5 -6
- package/src/main/addon/PrefixField.mjs +1 -2
- package/src/main/addon/ServiceWorker.mjs +9 -9
- package/src/main/addon/Siesta.mjs +3 -2
- package/src/main/addon/Stylesheet.mjs +37 -37
- package/src/main/addon/WebComponent.mjs +2 -3
- package/src/main/addon/WindowPosition.mjs +18 -18
- package/src/main/draggable/sensor/Base.mjs +2 -2
- package/src/main/draggable/sensor/Mouse.mjs +15 -15
- package/src/main/draggable/sensor/Touch.mjs +24 -23
- package/src/main/mixin/DeltaUpdates.mjs +10 -12
- package/src/main/mixin/TouchDomEvents.mjs +6 -6
- package/src/manager/Base.mjs +4 -4
- package/src/manager/Component.mjs +41 -41
- package/src/manager/DomEvent.mjs +41 -44
- package/src/manager/Focus.mjs +14 -16
- package/src/manager/Instance.mjs +2 -4
- package/src/manager/Store.mjs +4 -8
- package/src/manager/Task.mjs +20 -22
- package/src/manager/Toast.mjs +14 -16
- package/src/manager/rpc/Api.mjs +1 -3
- package/src/manager/rpc/Message.mjs +16 -18
- package/src/menu/List.mjs +16 -16
- package/src/menu/Panel.mjs +4 -4
- package/src/model/Component.mjs +5 -5
- package/src/plugin/Base.mjs +2 -0
- package/src/plugin/Popover.mjs +1 -1
- package/src/plugin/PrefixField.mjs +35 -45
- package/src/plugin/Resizable.mjs +86 -101
- package/src/plugin/Responsive.mjs +1 -1
- package/src/remotes/Api.mjs +4 -6
- package/src/selection/CircleModel.mjs +12 -16
- package/src/selection/DateSelectorModel.mjs +21 -23
- package/src/selection/GalleryModel.mjs +49 -63
- package/src/selection/HelixModel.mjs +35 -41
- package/src/selection/ListModel.mjs +9 -14
- package/src/selection/Model.mjs +31 -31
- package/src/selection/TreeAccordionModel.mjs +74 -80
- package/src/selection/grid/CellColumnModel.mjs +10 -10
- package/src/selection/grid/CellColumnRowModel.mjs +10 -10
- package/src/selection/grid/CellModel.mjs +26 -28
- package/src/selection/grid/CellRowModel.mjs +24 -24
- package/src/selection/grid/ColumnModel.mjs +16 -20
- package/src/selection/grid/RowModel.mjs +27 -29
- package/src/selection/menu/ListModel.mjs +2 -2
- package/src/selection/table/CellColumnModel.mjs +12 -12
- package/src/selection/table/CellColumnRowModel.mjs +12 -12
- package/src/selection/table/CellModel.mjs +26 -29
- package/src/selection/table/CellRowModel.mjs +19 -19
- package/src/selection/table/ColumnModel.mjs +18 -22
- package/src/selection/table/RowModel.mjs +27 -29
- package/src/sitemap/Component.mjs +20 -20
- package/src/sitemap/Store.mjs +1 -1
- package/src/tab/Container.mjs +15 -15
- package/src/tab/Strip.mjs +1 -1
- package/src/tab/header/Toolbar.mjs +4 -4
- package/src/table/Container.mjs +8 -10
- package/src/table/View.mjs +29 -34
- package/src/table/header/Button.mjs +18 -18
- package/src/table/header/Toolbar.mjs +2 -2
- package/src/toolbar/Base.mjs +14 -14
- package/src/toolbar/Breadcrumb.mjs +11 -11
- package/src/toolbar/Paging.mjs +18 -18
- package/src/tooltip/Base.mjs +20 -22
- package/src/tree/Accordion.mjs +69 -75
- package/src/tree/List.mjs +22 -25
- package/src/util/Array.mjs +19 -18
- package/src/util/ClassSystem.mjs +9 -9
- package/src/util/Css.mjs +2 -2
- package/src/util/Date.mjs +9 -9
- package/src/util/Function.mjs +2 -2
- package/src/util/HashHistory.mjs +3 -5
- package/src/util/KeyNavigation.mjs +17 -17
- package/src/util/Logger.mjs +9 -9
- package/src/util/Matrix.mjs +19 -19
- package/src/util/String.mjs +9 -9
- package/src/util/Style.mjs +11 -11
- package/src/util/VDom.mjs +12 -14
- package/src/util/VNode.mjs +29 -29
- package/src/vdom/Helper.mjs +84 -93
- package/src/vdom/VNode.mjs +1 -1
- package/src/worker/App.mjs +19 -16
- package/src/worker/Base.mjs +14 -15
- package/src/worker/Canvas.mjs +1 -3
- package/src/worker/Data.mjs +4 -8
- package/src/worker/Manager.mjs +27 -32
- package/src/worker/Message.mjs +1 -1
- package/src/worker/ServiceBase.mjs +38 -42
- package/src/worker/Task.mjs +1 -3
- package/src/worker/VDom.mjs +2 -4
- package/src/worker/mixin/RemoteMethodAccess.mjs +5 -6
- package/examples/component/helix/MainContainer.mjs +0 -340
- /package/resources/images/{Neo_Logo_Blue.svg → logo/neo_logo_secondary.svg} +0 -0
- /package/resources/images/{Neo_Logo_Text.svg → logo/neo_logo_text_secondary.svg} +0 -0
- /package/resources/images/{Neo_Logo_White.svg → logo/neo_logo_white.svg} +0 -0
package/src/Neo.mjs
CHANGED
@@ -85,7 +85,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
85
85
|
if (target && Neo.typeOf(config) === 'Object') {
|
86
86
|
Object.entries(config).forEach(([key, value]) => {
|
87
87
|
fnName = namespace[value];
|
88
|
-
target[key] = bind ? fnName.bind(namespace) : fnName
|
88
|
+
target[key] = bind ? fnName.bind(namespace) : fnName
|
89
89
|
})
|
90
90
|
}
|
91
91
|
|
@@ -284,12 +284,13 @@ Neo = globalThis.Neo = Object.assign({
|
|
284
284
|
descriptor = Object.getOwnPropertyDescriptor(proto, key);
|
285
285
|
|
286
286
|
if (typeof descriptor === 'object' && typeof descriptor.set === 'function') {
|
287
|
-
return true
|
287
|
+
return true
|
288
288
|
}
|
289
|
-
|
289
|
+
|
290
|
+
proto = proto.__proto__
|
290
291
|
}
|
291
292
|
|
292
|
-
return false
|
293
|
+
return false
|
293
294
|
},
|
294
295
|
|
295
296
|
/**
|
@@ -339,13 +340,13 @@ Neo = globalThis.Neo = Object.assign({
|
|
339
340
|
|
340
341
|
return names.reduce((prev, current) => {
|
341
342
|
if (create && !prev[current]) {
|
342
|
-
prev[current] = {}
|
343
|
+
prev[current] = {}
|
343
344
|
}
|
344
345
|
|
345
346
|
if (prev) {
|
346
|
-
return prev[current]
|
347
|
+
return prev[current]
|
347
348
|
}
|
348
|
-
}, scope || globalThis)
|
349
|
+
}, scope || globalThis)
|
349
350
|
},
|
350
351
|
|
351
352
|
/**
|
@@ -362,7 +363,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
362
363
|
return names.reduce((prev, current) => {
|
363
364
|
if (create && !prev[current]) {
|
364
365
|
if (current.endsWith(']')) {
|
365
|
-
return createArrayNs(true, current, prev)
|
366
|
+
return createArrayNs(true, current, prev)
|
366
367
|
}
|
367
368
|
|
368
369
|
prev[current] = {}
|
@@ -370,7 +371,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
370
371
|
|
371
372
|
if (prev) {
|
372
373
|
if (current.endsWith(']')) {
|
373
|
-
return createArrayNs(false, current, prev)
|
374
|
+
return createArrayNs(false, current, prev)
|
374
375
|
}
|
375
376
|
|
376
377
|
return prev[current]
|
@@ -402,7 +403,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
402
403
|
config = ntype;
|
403
404
|
|
404
405
|
if (!config.ntype) {
|
405
|
-
throw new Error('Class defined with object configuration missing ntype property. ' + config.ntype)
|
406
|
+
throw new Error('Class defined with object configuration missing ntype property. ' + config.ntype)
|
406
407
|
}
|
407
408
|
|
408
409
|
ntype = config.ntype
|
@@ -426,7 +427,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
426
427
|
setupClass(cls) {
|
427
428
|
let baseCfg = null,
|
428
429
|
ntypeChain = [],
|
429
|
-
ntypeMap
|
430
|
+
{ntypeMap} = Neo,
|
430
431
|
proto = cls.prototype || cls,
|
431
432
|
protos = [],
|
432
433
|
cfg, config, ctor, ntype;
|
@@ -454,7 +455,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
454
455
|
cfg = ctor.config || {};
|
455
456
|
|
456
457
|
if (Neo.overwrites) {
|
457
|
-
ctor.applyOverwrites(cfg)
|
458
|
+
ctor.applyOverwrites?.(cfg)
|
458
459
|
}
|
459
460
|
|
460
461
|
Object.entries(cfg).forEach(([key, value]) => {
|
@@ -487,7 +488,7 @@ Neo = globalThis.Neo = Object.assign({
|
|
487
488
|
throw new Error(`ntype conflict for '${ntype}' inside the classes:\n${ntypeMap[ntype]}\n${cfg.className}`)
|
488
489
|
}
|
489
490
|
|
490
|
-
ntypeMap[ntype] = cfg.className
|
491
|
+
ntypeMap[ntype] = cfg.className
|
491
492
|
}
|
492
493
|
|
493
494
|
mixins = Object.hasOwn(config, 'mixins') && config.mixins || [];
|
@@ -590,10 +591,10 @@ function applyMixins(cls, mixins) {
|
|
590
591
|
|
591
592
|
if (mixin.isClass) {
|
592
593
|
mixinProto = mixin.prototype;
|
593
|
-
mixinCls = Neo.ns(mixinProto.className)
|
594
|
+
mixinCls = Neo.ns(mixinProto.className)
|
594
595
|
} else {
|
595
596
|
if (!exists(mixin)) {
|
596
|
-
throw new Error('Attempting to mixin an undefined class: ' + mixin + ', ' + cls.prototype.className)
|
597
|
+
throw new Error('Attempting to mixin an undefined class: ' + mixin + ', ' + cls.prototype.className)
|
597
598
|
}
|
598
599
|
|
599
600
|
mixinCls = Neo.ns(mixin);
|
@@ -602,10 +603,10 @@ function applyMixins(cls, mixins) {
|
|
602
603
|
|
603
604
|
mixinProto.className.split('.').reduce(mixReduce(mixinCls), mixinClasses);
|
604
605
|
|
605
|
-
Object.getOwnPropertyNames(mixinProto).forEach(mixinProperty(cls.prototype, mixinProto))
|
606
|
+
Object.getOwnPropertyNames(mixinProto).forEach(mixinProperty(cls.prototype, mixinProto))
|
606
607
|
}
|
607
608
|
|
608
|
-
cls.prototype.mixins = mixinClasses
|
609
|
+
cls.prototype.mixins = mixinClasses // todo: we should do a deep merge
|
609
610
|
}
|
610
611
|
|
611
612
|
/**
|
@@ -617,7 +618,7 @@ function applyMixins(cls, mixins) {
|
|
617
618
|
*/
|
618
619
|
function autoGenerateGetSet(proto, key) {
|
619
620
|
if (Neo.hasPropertySetter(proto, key)) {
|
620
|
-
throw('Config ' + key + '_ (' + proto.className + ') already has a set method, use beforeGet, beforeSet & afterSet instead')
|
621
|
+
throw('Config ' + key + '_ (' + proto.className + ') already has a set method, use beforeGet, beforeSet & afterSet instead')
|
621
622
|
}
|
622
623
|
|
623
624
|
if (!Neo[getSetCache]) {
|
@@ -693,10 +694,10 @@ function autoGenerateGetSet(proto, key) {
|
|
693
694
|
me.afterSetConfig?.(key, value, oldValue)
|
694
695
|
}
|
695
696
|
}
|
696
|
-
}
|
697
|
+
}
|
697
698
|
}
|
698
699
|
|
699
|
-
Object.defineProperty(proto, key, Neo[getSetCache][key])
|
700
|
+
Object.defineProperty(proto, key, Neo[getSetCache][key])
|
700
701
|
}
|
701
702
|
|
702
703
|
/**
|
@@ -718,14 +719,14 @@ function createArrayNs(create, current, prev) {
|
|
718
719
|
}
|
719
720
|
|
720
721
|
if (!arrRoot) {
|
721
|
-
return
|
722
|
+
return
|
722
723
|
}
|
723
724
|
|
724
725
|
for (; i < len; i++) {
|
725
726
|
arrItem = parseInt(arrDetails[i]);
|
726
727
|
|
727
728
|
if (create) {
|
728
|
-
arrRoot[arrItem] = arrRoot[arrItem] || {}
|
729
|
+
arrRoot[arrItem] = arrRoot[arrItem] || {}
|
729
730
|
}
|
730
731
|
|
731
732
|
arrRoot = arrRoot[arrItem]
|
@@ -743,7 +744,7 @@ function createArrayNs(create, current, prev) {
|
|
743
744
|
function exists(className) {
|
744
745
|
try {
|
745
746
|
return !!className.split('.').reduce((prev, current) => {
|
746
|
-
return prev[current]
|
747
|
+
return prev[current]
|
747
748
|
}, globalThis)
|
748
749
|
} catch(e) {
|
749
750
|
return false
|
@@ -759,7 +760,7 @@ function exists(className) {
|
|
759
760
|
function mixinProperty(proto, mixinProto) {
|
760
761
|
return function(key) {
|
761
762
|
if (~ignoreMixin.indexOf(key)) {
|
762
|
-
return
|
763
|
+
return
|
763
764
|
}
|
764
765
|
|
765
766
|
if (proto[key]?._from) {
|
@@ -770,7 +771,7 @@ function mixinProperty(proto, mixinProto) {
|
|
770
771
|
|
771
772
|
throw new Error(
|
772
773
|
`${proto.className}: Multiple mixins defining same property (${mixinProto.className}, ${proto[key]._from}) => ${key}`
|
773
|
-
)
|
774
|
+
)
|
774
775
|
}
|
775
776
|
|
776
777
|
proto[key] = mixinProto[key];
|
@@ -780,7 +781,7 @@ function mixinProperty(proto, mixinProto) {
|
|
780
781
|
if (typeof proto[key] === 'function') {
|
781
782
|
proto[key]._name = key
|
782
783
|
}
|
783
|
-
}
|
784
|
+
}
|
784
785
|
}
|
785
786
|
|
786
787
|
/**
|
package/src/Xhr.mjs
CHANGED
package/src/button/Base.mjs
CHANGED
@@ -304,8 +304,10 @@ class Base extends Component {
|
|
304
304
|
afterSetTheme(value, oldValue) {
|
305
305
|
super.afterSetTheme(value, oldValue);
|
306
306
|
|
307
|
-
|
308
|
-
|
307
|
+
let {menuList} = this;
|
308
|
+
|
309
|
+
if (menuList) {
|
310
|
+
menuList.theme = value
|
309
311
|
}
|
310
312
|
}
|
311
313
|
|
@@ -537,8 +539,8 @@ class Base extends Component {
|
|
537
539
|
*
|
538
540
|
*/
|
539
541
|
async toggleMenu() {
|
540
|
-
let menuList = this
|
541
|
-
hidden
|
542
|
+
let {menuList} = this,
|
543
|
+
hidden = !menuList.hidden;
|
542
544
|
|
543
545
|
menuList.hidden = hidden;
|
544
546
|
|
package/src/button/Split.mjs
CHANGED
@@ -89,8 +89,10 @@ class Split extends Button {
|
|
89
89
|
* @protected
|
90
90
|
*/
|
91
91
|
afterSetAppName(value, oldValue) {
|
92
|
-
|
93
|
-
|
92
|
+
let {triggerButton} = this;
|
93
|
+
|
94
|
+
if (triggerButton) {
|
95
|
+
triggerButton.appName = value;
|
94
96
|
}
|
95
97
|
|
96
98
|
super.afterSetAppName(value, oldValue);
|
@@ -103,7 +105,7 @@ class Split extends Button {
|
|
103
105
|
* @protected
|
104
106
|
*/
|
105
107
|
afterSetDisabled(value, oldValue) {
|
106
|
-
let triggerButton = this
|
108
|
+
let {triggerButton} = this;
|
107
109
|
|
108
110
|
if (triggerButton) {
|
109
111
|
triggerButton.disabled = value;
|
@@ -132,7 +134,7 @@ class Split extends Button {
|
|
132
134
|
* @protected
|
133
135
|
*/
|
134
136
|
afterSetHideTriggerButton(value, oldValue) {
|
135
|
-
let triggerButton = this
|
137
|
+
let {triggerButton} = this;
|
136
138
|
|
137
139
|
if (triggerButton) {
|
138
140
|
triggerButton.hidden = value;
|
@@ -146,7 +148,7 @@ class Split extends Button {
|
|
146
148
|
* @protected
|
147
149
|
*/
|
148
150
|
afterSetPressed(value, oldValue) {
|
149
|
-
let triggerButton = this
|
151
|
+
let {triggerButton} = this;
|
150
152
|
|
151
153
|
if (triggerButton) {
|
152
154
|
triggerButton.pressed = value;
|
@@ -162,7 +164,7 @@ class Split extends Button {
|
|
162
164
|
* @protected
|
163
165
|
*/
|
164
166
|
afterSetTriggerButtonIconCls(value, oldValue) {
|
165
|
-
let triggerButton = this
|
167
|
+
let {triggerButton} = this;
|
166
168
|
|
167
169
|
if (triggerButton) {
|
168
170
|
triggerButton.iconCls = value;
|
@@ -174,9 +176,8 @@ class Split extends Button {
|
|
174
176
|
* @param {String|null} oldValue
|
175
177
|
*/
|
176
178
|
afterSetUi(value, oldValue) {
|
177
|
-
let me
|
178
|
-
ntype
|
179
|
-
triggerButton = me.triggerButton;
|
179
|
+
let me = this,
|
180
|
+
{ntype, triggerButton} = me;
|
180
181
|
|
181
182
|
if (triggerButton) {
|
182
183
|
triggerButton.ui = value;
|
@@ -103,17 +103,18 @@ class EditEventContainer extends FormContainer {
|
|
103
103
|
*/
|
104
104
|
afterSetRecord(value, oldValue) {
|
105
105
|
if (value && oldValue) {
|
106
|
-
let me
|
107
|
-
timeFormat
|
106
|
+
let me = this,
|
107
|
+
timeFormat = me.intlFormat_time,
|
108
|
+
{calendarId, title} = value;
|
108
109
|
|
109
110
|
me.getField('endTime') .then(field => field.minValue = me.getEndTimeMinValue(value));
|
110
111
|
me.getField('startTime').then(field => field.maxValue = me.getStartTimeMaxValue(value));
|
111
112
|
|
112
113
|
me.reset({
|
113
|
-
calendarId
|
114
|
-
endTime
|
115
|
-
startTime
|
116
|
-
title
|
114
|
+
calendarId,
|
115
|
+
endTime : timeFormat.format(value.endDate),
|
116
|
+
startTime: timeFormat.format(value.startDate),
|
117
|
+
title
|
117
118
|
})
|
118
119
|
} else if (value) {
|
119
120
|
this.createItems()
|
@@ -125,7 +126,7 @@ class EditEventContainer extends FormContainer {
|
|
125
126
|
*/
|
126
127
|
createItems() {
|
127
128
|
let me = this,
|
128
|
-
record
|
129
|
+
{record} = me,
|
129
130
|
timeFormat = me.intlFormat_time,
|
130
131
|
timeFieldDefaults = {
|
131
132
|
module : TimeField,
|
@@ -171,7 +172,7 @@ class EditEventContainer extends FormContainer {
|
|
171
172
|
return 'var(--event-yellow-border-color)';
|
172
173
|
}
|
173
174
|
|
174
|
-
return `var(--event-${value}-color)
|
175
|
+
return `var(--event-${value}-color)`
|
175
176
|
},
|
176
177
|
|
177
178
|
store: {
|
@@ -230,7 +231,7 @@ class EditEventContainer extends FormContainer {
|
|
230
231
|
|
231
232
|
date.setMinutes(date.getMinutes() - this.minimumEventDuration);
|
232
233
|
|
233
|
-
return this.intlFormat_time.format(date)
|
234
|
+
return this.intlFormat_time.format(date)
|
234
235
|
}
|
235
236
|
|
236
237
|
/**
|
@@ -238,7 +239,7 @@ class EditEventContainer extends FormContainer {
|
|
238
239
|
*/
|
239
240
|
onCalendarFieldChange(data) {
|
240
241
|
if (!Neo.isEmpty(data.value)) {
|
241
|
-
this.record.calendarId = data.record[data.component.store.keyProperty]
|
242
|
+
this.record.calendarId = data.record[data.component.store.keyProperty]
|
242
243
|
}
|
243
244
|
}
|
244
245
|
|
@@ -250,7 +251,7 @@ class EditEventContainer extends FormContainer {
|
|
250
251
|
let me = this;
|
251
252
|
|
252
253
|
me.getModel().getStore('events').remove(me.record);
|
253
|
-
me.unmount()
|
254
|
+
me.unmount()
|
254
255
|
}
|
255
256
|
|
256
257
|
/**
|
@@ -293,7 +294,7 @@ class EditEventContainer extends FormContainer {
|
|
293
294
|
*/
|
294
295
|
onTitleFieldChange(data) {
|
295
296
|
if (!Neo.isEmpty(data.value)) {
|
296
|
-
this.record.title = data.value
|
297
|
+
this.record.title = data.value
|
297
298
|
}
|
298
299
|
}
|
299
300
|
}
|
@@ -175,7 +175,7 @@ class MainContainer extends Container {
|
|
175
175
|
let me = this;
|
176
176
|
|
177
177
|
me.createItemsContent();
|
178
|
-
!me.sideBarExpanded && me.afterSetSideBarExpanded(false, true)
|
178
|
+
!me.sideBarExpanded && me.afterSetSideBarExpanded(false, true)
|
179
179
|
}
|
180
180
|
|
181
181
|
/**
|
@@ -192,7 +192,7 @@ class MainContainer extends Container {
|
|
192
192
|
|
193
193
|
me.items[0].items[1].items.forEach(item => {
|
194
194
|
if (item.toggleGroup === 'mainViews') {
|
195
|
-
item.pressed = item.value === value
|
195
|
+
item.pressed = item.value === value
|
196
196
|
}
|
197
197
|
});
|
198
198
|
}
|
@@ -209,12 +209,12 @@ class MainContainer extends Container {
|
|
209
209
|
let style = this.style || {};
|
210
210
|
|
211
211
|
if (!value) {
|
212
|
-
delete style.fontSize
|
212
|
+
delete style.fontSize
|
213
213
|
} else {
|
214
|
-
style.fontSize = `${value}px
|
214
|
+
style.fontSize = `${value}px`
|
215
215
|
}
|
216
216
|
|
217
|
-
this.style = style
|
217
|
+
this.style = style
|
218
218
|
}
|
219
219
|
}
|
220
220
|
|
@@ -231,17 +231,17 @@ class MainContainer extends Container {
|
|
231
231
|
|
232
232
|
if (value) {
|
233
233
|
if (settingsContainer) {
|
234
|
-
settingsContainer.expand()
|
234
|
+
settingsContainer.expand()
|
235
235
|
} else {
|
236
236
|
me.createSettingsContainer(true).then(() => {
|
237
237
|
// short delay to ensure the vnode already exists
|
238
238
|
setTimeout(() => {
|
239
|
-
me.items[1].items[2].expand()
|
240
|
-
}, 50)
|
241
|
-
})
|
239
|
+
me.items[1].items[2].expand()
|
240
|
+
}, 50)
|
241
|
+
})
|
242
242
|
}
|
243
243
|
} else {
|
244
|
-
settingsContainer.collapse(me.settingsContainerWidth)
|
244
|
+
settingsContainer.collapse(me.settingsContainerWidth)
|
245
245
|
}
|
246
246
|
}
|
247
247
|
}
|
@@ -267,8 +267,8 @@ class MainContainer extends Container {
|
|
267
267
|
setTimeout(() => {
|
268
268
|
style.marginLeft = '0px';
|
269
269
|
sideBar.style = style;
|
270
|
-
}, 50)
|
271
|
-
})
|
270
|
+
}, 50)
|
271
|
+
})
|
272
272
|
} else {
|
273
273
|
style.marginLeft = `-${me.sideBarWidth}px`;
|
274
274
|
sideBar._style = style; // silent update
|
@@ -279,8 +279,8 @@ class MainContainer extends Container {
|
|
279
279
|
sideBar.vdom.removeDom = true;
|
280
280
|
sideBar.update();
|
281
281
|
|
282
|
-
sideBar.mounted = false
|
283
|
-
}, 400)
|
282
|
+
sideBar.mounted = false
|
283
|
+
}, 400)
|
284
284
|
});
|
285
285
|
}
|
286
286
|
}
|
@@ -304,12 +304,12 @@ class MainContainer extends Container {
|
|
304
304
|
handler: me.toggleSettings.bind(me),
|
305
305
|
iconCls: 'fa fa-cog',
|
306
306
|
style : {marginLeft: '10px'}
|
307
|
-
})
|
308
|
-
}, 10)
|
307
|
+
})
|
308
|
+
}, 10)
|
309
309
|
} else if (!value && oldValue) {
|
310
310
|
// we only need this logic in case we dynamically change the config from true to false
|
311
311
|
me.items[1] .removeLast();
|
312
|
-
me.items[0].items[1].removeLast()
|
312
|
+
me.items[0].items[1].removeLast()
|
313
313
|
}
|
314
314
|
}
|
315
315
|
|
@@ -329,10 +329,10 @@ class MainContainer extends Container {
|
|
329
329
|
owner : me,
|
330
330
|
width : 250,
|
331
331
|
...me.editCalendarContainerConfig
|
332
|
-
})
|
332
|
+
})
|
333
333
|
}
|
334
334
|
|
335
|
-
return value
|
335
|
+
return value
|
336
336
|
}
|
337
337
|
|
338
338
|
/**
|
@@ -351,10 +351,10 @@ class MainContainer extends Container {
|
|
351
351
|
owner : me,
|
352
352
|
width : 250,
|
353
353
|
...me.editEventContainerConfig
|
354
|
-
})
|
354
|
+
})
|
355
355
|
}
|
356
356
|
|
357
|
-
return value
|
357
|
+
return value
|
358
358
|
}
|
359
359
|
|
360
360
|
/**
|
@@ -364,7 +364,7 @@ class MainContainer extends Container {
|
|
364
364
|
* @protected
|
365
365
|
*/
|
366
366
|
beforeSetActiveView(value, oldValue) {
|
367
|
-
return this.beforeSetEnumValue(value, oldValue, 'activeView', 'validViews')
|
367
|
+
return this.beforeSetEnumValue(value, oldValue, 'activeView', 'validViews')
|
368
368
|
}
|
369
369
|
|
370
370
|
/**
|
@@ -379,11 +379,11 @@ class MainContainer extends Container {
|
|
379
379
|
value.forEach(view => {
|
380
380
|
if (!validViews.includes(view)) {
|
381
381
|
console.error(view, 'is not a valid entry for views. Stick to:', validViews);
|
382
|
-
return oldValue
|
382
|
+
return oldValue
|
383
383
|
}
|
384
384
|
});
|
385
385
|
|
386
|
-
return value
|
386
|
+
return value
|
387
387
|
}
|
388
388
|
|
389
389
|
/**
|
@@ -391,7 +391,7 @@ class MainContainer extends Container {
|
|
391
391
|
* @protected
|
392
392
|
*/
|
393
393
|
changeActiveView(view) {
|
394
|
-
this.activeView = view
|
394
|
+
this.activeView = view
|
395
395
|
}
|
396
396
|
|
397
397
|
/**
|
@@ -422,7 +422,7 @@ class MainContainer extends Container {
|
|
422
422
|
module: Toolbar,
|
423
423
|
cls : ['neo-calendar-header-toolbar', 'neo-toolbar'],
|
424
424
|
items : ['->', ...me.createViewHeaderButtons()]
|
425
|
-
}]
|
425
|
+
}]
|
426
426
|
}
|
427
427
|
|
428
428
|
/**
|
@@ -484,7 +484,7 @@ class MainContainer extends Container {
|
|
484
484
|
removeInactiveCards: me.removeInactiveCards
|
485
485
|
}
|
486
486
|
}]
|
487
|
-
}]
|
487
|
+
}]
|
488
488
|
}
|
489
489
|
|
490
490
|
/**
|
@@ -502,8 +502,8 @@ class MainContainer extends Container {
|
|
502
502
|
style : {marginRight: !collapsed ? '0' : `-${me.settingsContainerWidth}px`},
|
503
503
|
width : me.settingsContainerWidth,
|
504
504
|
...me.settingsContainerConfig
|
505
|
-
})
|
506
|
-
})
|
505
|
+
})
|
506
|
+
})
|
507
507
|
}
|
508
508
|
|
509
509
|
/**
|
@@ -522,10 +522,10 @@ class MainContainer extends Container {
|
|
522
522
|
text : Neo.capitalize(view),
|
523
523
|
toggleGroup: 'mainViews',
|
524
524
|
value : view
|
525
|
-
})
|
525
|
+
})
|
526
526
|
});
|
527
527
|
|
528
|
-
return buttons
|
528
|
+
return buttons
|
529
529
|
}
|
530
530
|
|
531
531
|
/**
|
@@ -574,7 +574,7 @@ class MainContainer extends Container {
|
|
574
574
|
cards.push(cmp);
|
575
575
|
});
|
576
576
|
|
577
|
-
return cards
|
577
|
+
return cards
|
578
578
|
}
|
579
579
|
|
580
580
|
/**
|
@@ -584,7 +584,7 @@ class MainContainer extends Container {
|
|
584
584
|
this[`${data.item.flag}Component`] = data.item;
|
585
585
|
|
586
586
|
// fire the event on this instance as well => setting views can subscribe to it more easily
|
587
|
-
this.fire('cardLoaded', {item: data.item})
|
587
|
+
this.fire('cardLoaded', {item: data.item})
|
588
588
|
}
|
589
589
|
|
590
590
|
/**
|
@@ -593,21 +593,21 @@ class MainContainer extends Container {
|
|
593
593
|
* @param {String} data.value
|
594
594
|
*/
|
595
595
|
onDateSelectorChange(data) {
|
596
|
-
data.oldValue !== undefined && this.getModel().setData('currentDate', new Date(`${data.value}T00:00:00.000Z`))
|
596
|
+
data.oldValue !== undefined && this.getModel().setData('currentDate', new Date(`${data.value}T00:00:00.000Z`))
|
597
597
|
}
|
598
598
|
|
599
599
|
/**
|
600
600
|
* @param data
|
601
601
|
*/
|
602
602
|
onNextIntervalButtonClick(data) {
|
603
|
-
this.switchInterval(1)
|
603
|
+
this.switchInterval(1)
|
604
604
|
}
|
605
605
|
|
606
606
|
/**
|
607
607
|
* @param data
|
608
608
|
*/
|
609
609
|
onPreviousIntervalButtonClick(data) {
|
610
|
-
this.switchInterval(-1)
|
610
|
+
this.switchInterval(-1)
|
611
611
|
}
|
612
612
|
|
613
613
|
/**
|
@@ -616,21 +616,21 @@ class MainContainer extends Container {
|
|
616
616
|
onTodayButtonClick(data) {
|
617
617
|
this.model.setData({
|
618
618
|
currentDate: todayDate
|
619
|
-
})
|
619
|
+
})
|
620
620
|
}
|
621
621
|
|
622
622
|
/**
|
623
623
|
* @protected
|
624
624
|
*/
|
625
625
|
toggleSettings() {
|
626
|
-
this.settingsExpanded = !this.settingsExpanded
|
626
|
+
this.settingsExpanded = !this.settingsExpanded
|
627
627
|
}
|
628
628
|
|
629
629
|
/**
|
630
630
|
* @protected
|
631
631
|
*/
|
632
632
|
toggleSidebar() {
|
633
|
-
this.sideBarExpanded = !this.sideBarExpanded
|
633
|
+
this.sideBarExpanded = !this.sideBarExpanded
|
634
634
|
}
|
635
635
|
|
636
636
|
/**
|
@@ -649,7 +649,7 @@ class MainContainer extends Container {
|
|
649
649
|
|
650
650
|
map[me.activeView]();
|
651
651
|
|
652
|
-
me.model.setData({currentDate})
|
652
|
+
me.model.setData({currentDate})
|
653
653
|
}
|
654
654
|
}
|
655
655
|
|
@@ -110,8 +110,8 @@ class MainContainerModel extends Component {
|
|
110
110
|
construct(config) {
|
111
111
|
super.construct(config);
|
112
112
|
|
113
|
-
let me
|
114
|
-
component = me
|
113
|
+
let me = this,
|
114
|
+
{component} = me;
|
115
115
|
|
116
116
|
/**
|
117
117
|
* @member {Object} stores
|
@@ -152,17 +152,17 @@ class MainContainerModel extends Component {
|
|
152
152
|
onDataPropertyChange(key, value, oldValue) {
|
153
153
|
super.onDataPropertyChange(key, value, oldValue);
|
154
154
|
|
155
|
-
let data = this
|
155
|
+
let {data} = this;
|
156
156
|
|
157
157
|
switch(key) {
|
158
158
|
case 'locale': {
|
159
159
|
data.intlFormat_time = new Intl.DateTimeFormat(value, data.timeFormat);
|
160
|
-
break
|
160
|
+
break
|
161
161
|
}
|
162
162
|
|
163
163
|
case 'timeFormat': {
|
164
164
|
data.intlFormat_time = new Intl.DateTimeFormat(data.locale, value);
|
165
|
-
break
|
165
|
+
break
|
166
166
|
}
|
167
167
|
}
|
168
168
|
}
|