neo.mjs 6.17.2 → 6.18.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 +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 +34 -6
- package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
- package/apps/portal/view/home/parts/Colors.mjs +98 -0
- package/apps/portal/view/home/parts/Helix.mjs +114 -0
- package/apps/portal/view/home/parts/HelloWorld.mjs +6 -3
- package/apps/portal/view/home/parts/How.mjs +66 -0
- package/apps/portal/view/home/parts/MainNeo.mjs +4 -3
- 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/Events.md +15 -9
- package/resources/data/deck/learnneo/pages/GuideEvents.md +254 -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 +142 -124
- package/resources/scss/src/apps/portal/home/MainContainer.scss +9 -22
- package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +22 -0
- 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 +73 -41
- 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 +40 -24
- 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/IntersectionObserver.mjs +20 -1
- 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 +16 -14
- 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/apps/portal/view/home/parts/CoolStuff.mjs +0 -82
- 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/apps/ServiceWorker.mjs
CHANGED
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
|
|
20
20
|
*/
|
21
21
|
singleton: true,
|
22
22
|
/**
|
23
|
-
* @member {String} version='6.
|
23
|
+
* @member {String} version='6.18.1'
|
24
24
|
*/
|
25
|
-
version: '6.
|
25
|
+
version: '6.18.1'
|
26
26
|
}
|
27
27
|
|
28
28
|
/**
|
@@ -32,6 +32,4 @@ class ServiceWorker extends ServiceBase {
|
|
32
32
|
workerId = 'service'
|
33
33
|
}
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
export default instance;
|
35
|
+
export default Neo.setupClass(ServiceWorker);
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Colors Dashboard
|
2
|
+
|
3
|
+
We are using a version where Max Rahder deployed the backend to:
|
4
|
+
https://still-castle-38841.herokuapp.com/
|
5
|
+
|
6
|
+
To see the full app including the backend code (using the Neo.mjs core),
|
7
|
+
please take a look at:
|
8
|
+
https://github.com/neomjs/multiwindowcolors
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<title>Dashboard Widget</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<script src="../../../../src/MicroLoader.mjs" type="module"></script>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"appPath" : "apps/colors/childapps/widget/app.mjs",
|
3
|
+
"basePath" : "../../../../",
|
4
|
+
"environment" : "development",
|
5
|
+
"loadApplicationDelay": 100,
|
6
|
+
"mainPath" : "./Main.mjs",
|
7
|
+
"mainThreadAddons" : ["AmCharts", "DragDrop", "Navigator", "Stylesheet"],
|
8
|
+
"themes" : ["neo-theme-dark"],
|
9
|
+
"useSharedWorkers" : true
|
10
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import BaseViewport from '../../../../../src/container/Viewport.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class ColorsWidget.view.Viewport
|
5
|
+
* @extends Neo.container.Viewport
|
6
|
+
*/
|
7
|
+
class Viewport extends BaseViewport {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='ColorsWidget.view.Viewport'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Widget.view.Viewport'
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
Neo.setupClass(Viewport);
|
18
|
+
|
19
|
+
export default Viewport;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
<title>Colors Dashboard</title>
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<script src="../../src/MicroLoader.mjs" type="module"></script>
|
10
|
+
</body>
|
11
|
+
</html>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import Model from '../../../src/data/Model.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Colors.model.Color
|
5
|
+
* @extends Neo.data.Model
|
6
|
+
*/
|
7
|
+
class Color extends Model {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Colors.model.Color'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Colors.model.Color'
|
14
|
+
}
|
15
|
+
|
16
|
+
/**
|
17
|
+
* @param {Object} config
|
18
|
+
*/
|
19
|
+
construct(config) {
|
20
|
+
super.construct(config);
|
21
|
+
|
22
|
+
let startCharCode = 'A'.charCodeAt(0),
|
23
|
+
i = 0,
|
24
|
+
len = 26, // amount of chars inside the ISO basic latin alphabet
|
25
|
+
fields = [{
|
26
|
+
name: 'id',
|
27
|
+
type: 'String'
|
28
|
+
}];
|
29
|
+
|
30
|
+
for (; i < len; i++) {
|
31
|
+
fields.push({
|
32
|
+
name: 'column' + String.fromCharCode(startCharCode + i),
|
33
|
+
type: 'String'
|
34
|
+
})
|
35
|
+
}
|
36
|
+
|
37
|
+
this.fields = fields
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
Neo.setupClass(Color);
|
42
|
+
|
43
|
+
export default Color;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"appPath" : "apps/colors/app.mjs",
|
3
|
+
"basePath" : "../../",
|
4
|
+
"environment" : "development",
|
5
|
+
"mainPath" : "./Main.mjs",
|
6
|
+
"mainThreadAddons": ["AmCharts", "DragDrop", "Navigator", "Stylesheet"],
|
7
|
+
"remotesApiUrl" : "remotes-api.json",
|
8
|
+
"themes" : ["neo-theme-dark"],
|
9
|
+
"useSharedWorkers": true
|
10
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import ColorModel from '../model/Color.mjs';
|
2
|
+
import Store from '../../../src/data/Store.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Colors.store.Colors
|
6
|
+
* @extends Neo.data.Store
|
7
|
+
*/
|
8
|
+
class Colors extends Store {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Colors.store.Colors'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Colors.store.Colors',
|
15
|
+
/**
|
16
|
+
* @member {Neo.data.Model} model=ColorModel
|
17
|
+
*/
|
18
|
+
model: ColorModel
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
Neo.setupClass(Colors);
|
23
|
+
|
24
|
+
export default Colors;
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import AmChartComponent from '../../../src/component/wrapper/AmChart.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Colors.view.BarChartComponent
|
5
|
+
* @extends Neo.component.wrapper.AmChart
|
6
|
+
*/
|
7
|
+
class BarChartComponent extends AmChartComponent {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Colors.view.BarChartComponent'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Colors.view.BarChartComponent',
|
14
|
+
/**
|
15
|
+
* @member {String[]} baseCls=['colors-bar-chart']
|
16
|
+
*/
|
17
|
+
baseCls: ['colors-bar-chart'],
|
18
|
+
/**
|
19
|
+
* @member {String} chartType='PieChart'
|
20
|
+
*/
|
21
|
+
chartType: 'XYChart',
|
22
|
+
/**
|
23
|
+
* @member {Object} chartConfig
|
24
|
+
*/
|
25
|
+
chartConfig: {
|
26
|
+
series: [{
|
27
|
+
type: 'ColumnSeries',
|
28
|
+
|
29
|
+
columns: {
|
30
|
+
propertyFields: {
|
31
|
+
fill : 'color',
|
32
|
+
stroke: 'color'
|
33
|
+
}
|
34
|
+
},
|
35
|
+
|
36
|
+
dataFields: {
|
37
|
+
categoryX: 'color',
|
38
|
+
valueY : 'count'
|
39
|
+
}
|
40
|
+
}],
|
41
|
+
xAxes: [{
|
42
|
+
type: 'CategoryAxis',
|
43
|
+
|
44
|
+
dataFields: {
|
45
|
+
category: 'color',
|
46
|
+
title: {
|
47
|
+
text: 'Colors'
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}],
|
51
|
+
yAxes: [{
|
52
|
+
type: 'ValueAxis',
|
53
|
+
|
54
|
+
title: {
|
55
|
+
text: 'Occurrences in table cells'
|
56
|
+
}
|
57
|
+
}]
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
Neo.setupClass(BarChartComponent);
|
63
|
+
|
64
|
+
export default BarChartComponent;
|
@@ -0,0 +1,95 @@
|
|
1
|
+
import CheckBox from '../../../src/form/field/CheckBox.mjs';
|
2
|
+
import ComboBox from '../../../src/form/field/ComboBox.mjs';
|
3
|
+
import NumberField from '../../../src/form/field/Number.mjs';
|
4
|
+
import Toolbar from '../../../src/toolbar/Base.mjs';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @class Colors.view.HeaderToolbar
|
8
|
+
* @extends Neo.toolbar.Base
|
9
|
+
*/
|
10
|
+
class HeaderToolbar extends Toolbar {
|
11
|
+
static config = {
|
12
|
+
/**
|
13
|
+
* @member {String} className='Colors.view.HeaderToolbar'
|
14
|
+
* @protected
|
15
|
+
*/
|
16
|
+
className: 'Colors.view.HeaderToolbar',
|
17
|
+
/**
|
18
|
+
* @member {String[]} cls=['portal-header-toolbar']
|
19
|
+
*/
|
20
|
+
cls: ['portal-header-toolbar'],
|
21
|
+
/**
|
22
|
+
* @member {Object} layout={ntype:'hbox',align:'stretch',wrap:'wrap'}
|
23
|
+
*/
|
24
|
+
layout: {ntype: 'hbox', align: 'center', pack: 'start', wrap: 'wrap'},
|
25
|
+
/**
|
26
|
+
* @member {Object[]} items
|
27
|
+
*/
|
28
|
+
items: [{
|
29
|
+
bind : {disabled: data => data.isUpdating},
|
30
|
+
handler: 'onStartButtonClick',
|
31
|
+
text : 'Start'
|
32
|
+
}, {
|
33
|
+
bind : {disabled: data => !data.isUpdating},
|
34
|
+
handler: 'onStopButtonClick',
|
35
|
+
text : 'Stop'
|
36
|
+
}, {
|
37
|
+
module : NumberField,
|
38
|
+
bind : {value: data => data.amountColors},
|
39
|
+
clearable : false,
|
40
|
+
editable : false,
|
41
|
+
labelPosition: 'inline',
|
42
|
+
labelText : 'Amount Colors',
|
43
|
+
listeners : {change: 'onChangeAmountColors'},
|
44
|
+
maxValue : 10,
|
45
|
+
minValue : 3,
|
46
|
+
width : 120
|
47
|
+
}, {
|
48
|
+
module : ComboBox,
|
49
|
+
bind : {value: data => String(data.amountColumns)},
|
50
|
+
clearable : false,
|
51
|
+
editable : false,
|
52
|
+
labelPosition: 'inline',
|
53
|
+
labelText : 'Amount Columns',
|
54
|
+
listeners : {change: 'onChangeAmountColumns'},
|
55
|
+
store : ['5', '10', '15', '20', '26'],
|
56
|
+
width : 120
|
57
|
+
}, {
|
58
|
+
module : ComboBox,
|
59
|
+
bind : {value: data => String(data.amountRows)},
|
60
|
+
clearable : false,
|
61
|
+
editable : false,
|
62
|
+
labelPosition: 'inline',
|
63
|
+
labelText : 'Amount Rows',
|
64
|
+
listeners : {change: 'onChangeAmountRows'},
|
65
|
+
store : ['5', '10', '15', '20'],
|
66
|
+
width : 120
|
67
|
+
}, '->', {
|
68
|
+
handler : 'onDetachTableButtonClick',
|
69
|
+
iconCls : 'fas fa-table',
|
70
|
+
reference: 'detach-table-button',
|
71
|
+
text : 'Table'
|
72
|
+
}, {
|
73
|
+
handler : 'onDetachPieChartButtonClick',
|
74
|
+
iconCls : 'fas fa-chart-pie',
|
75
|
+
reference: 'detach-pie-chart-button',
|
76
|
+
text : 'Pie Chart'
|
77
|
+
}, {
|
78
|
+
handler : 'onDetachBarChartButtonClick',
|
79
|
+
iconCls : 'fas fa-chart-column',
|
80
|
+
reference: 'detach-bar-chart-button',
|
81
|
+
text : 'Bar Chart'
|
82
|
+
}, {
|
83
|
+
module : CheckBox,
|
84
|
+
bind : {checked: data => data.openWidgetsAsPopups},
|
85
|
+
hideLabel : true,
|
86
|
+
listeners : {change: 'onChangeOpenWidgetsAsPopups'},
|
87
|
+
showValueLabel: true,
|
88
|
+
valueLabelText: 'Popups'
|
89
|
+
}]
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
Neo.setupClass(HeaderToolbar);
|
94
|
+
|
95
|
+
export default HeaderToolbar;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import AmChartComponent from '../../../src/component/wrapper/AmChart.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Colors.view.PieChartComponent
|
5
|
+
* @extends Neo.component.wrapper.AmChart
|
6
|
+
*/
|
7
|
+
class PieChartComponent extends AmChartComponent {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Colors.view.PieChartComponent'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Colors.view.PieChartComponent',
|
14
|
+
/**
|
15
|
+
* @member {String[]} baseCls=['colors-pie-chart']
|
16
|
+
*/
|
17
|
+
baseCls: ['colors-pie-chart'],
|
18
|
+
/**
|
19
|
+
* @member {String} chartType='PieChart'
|
20
|
+
*/
|
21
|
+
chartType: 'PieChart',
|
22
|
+
/**
|
23
|
+
* @member {Object} _vdom
|
24
|
+
*/
|
25
|
+
/**
|
26
|
+
* @member {Object} chartConfig
|
27
|
+
*/
|
28
|
+
chartConfig: {
|
29
|
+
series: [{
|
30
|
+
type: 'PieSeries',
|
31
|
+
|
32
|
+
colors: {
|
33
|
+
list: [
|
34
|
+
'#1c60a0',
|
35
|
+
'#206db6',
|
36
|
+
'#247acb',
|
37
|
+
'#2e87da',
|
38
|
+
'#4493de',
|
39
|
+
'#59a0e2',
|
40
|
+
'#6face6',
|
41
|
+
'#85b9ea',
|
42
|
+
'#9bc5ed',
|
43
|
+
'#b0d2f1'
|
44
|
+
]
|
45
|
+
},
|
46
|
+
|
47
|
+
dataFields: {
|
48
|
+
category: 'color',
|
49
|
+
value : 'count'
|
50
|
+
}
|
51
|
+
}]
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
Neo.setupClass(PieChartComponent);
|
57
|
+
|
58
|
+
export default PieChartComponent;
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import Container from '../../../src/table/Container.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Colors.view.TableContainer
|
5
|
+
* @extends Neo.table.Container
|
6
|
+
*/
|
7
|
+
class TableContainer extends Container {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Colors.view.TableContainer'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Colors.view.TableContainer',
|
14
|
+
/**
|
15
|
+
* @member {Number|null} amountColumns_=null
|
16
|
+
*/
|
17
|
+
amountColumns_: null,
|
18
|
+
/**
|
19
|
+
* @member {Number|null} amountRows_=null
|
20
|
+
*/
|
21
|
+
amountRows_: null,
|
22
|
+
/**
|
23
|
+
* @member {Object} bind
|
24
|
+
*/
|
25
|
+
bind: {
|
26
|
+
amountColumns: data => data.amountColumns,
|
27
|
+
amountRows : data => data.amountRows,
|
28
|
+
store : 'stores.colors'
|
29
|
+
},
|
30
|
+
/**
|
31
|
+
* @member {String[]} cls=['colors-table-container']
|
32
|
+
*/
|
33
|
+
cls: ['colors-table-container'],
|
34
|
+
/**
|
35
|
+
* @member {Object} columnDefaults
|
36
|
+
*/
|
37
|
+
columnDefaults: {
|
38
|
+
renderer(data) {
|
39
|
+
return {cls: ['color-' + data.value], html: ' '}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Triggered after the amountColumns config got changed
|
46
|
+
* @param {Number|null} value
|
47
|
+
* @param {Number|null} oldValue
|
48
|
+
* @protected
|
49
|
+
*/
|
50
|
+
afterSetAmountColumns(value, oldValue) {
|
51
|
+
if (Neo.isNumber(value)) {
|
52
|
+
let startCharCode = 'A'.charCodeAt(0),
|
53
|
+
i = 0,
|
54
|
+
columns = [{
|
55
|
+
cls : ['neo-index-column', 'neo-table-header-button'],
|
56
|
+
dataField: 'index',
|
57
|
+
dock : 'left',
|
58
|
+
minWidth : 40,
|
59
|
+
text : '#',
|
60
|
+
renderer : data => ({cls: ['neo-index-column', 'neo-table-cell'], html: data.index + 1}),
|
61
|
+
width : 40
|
62
|
+
}],
|
63
|
+
currentChar;
|
64
|
+
|
65
|
+
for (; i < value; i++) {
|
66
|
+
currentChar = String.fromCharCode(startCharCode + i);
|
67
|
+
|
68
|
+
columns.push({
|
69
|
+
dataField: 'column' + currentChar,
|
70
|
+
text : currentChar
|
71
|
+
})
|
72
|
+
}
|
73
|
+
|
74
|
+
this.columns = columns
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
/**
|
79
|
+
* Triggered after the amountRows config got changed
|
80
|
+
* @param {Number|null} value
|
81
|
+
* @param {Number|null} oldValue
|
82
|
+
* @protected
|
83
|
+
*/
|
84
|
+
afterSetAmountRows(value, oldValue) {
|
85
|
+
this.store?.clear()
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
Neo.setupClass(TableContainer);
|
90
|
+
|
91
|
+
export default TableContainer;
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import BaseViewport from '../../../src/container/Viewport.mjs';
|
2
|
+
import BarChartComponent from './BarChartComponent.mjs';
|
3
|
+
import HeaderToolbar from './HeaderToolbar.mjs';
|
4
|
+
import PieChartComponent from './PieChartComponent.mjs';
|
5
|
+
import TableContainer from './TableContainer.mjs';
|
6
|
+
import ViewportController from './ViewportController.mjs';
|
7
|
+
import ViewportModel from './ViewportModel.mjs';
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @class Colors.view.Viewport
|
11
|
+
* @extends Neo.container.Viewport
|
12
|
+
*/
|
13
|
+
class Viewport extends BaseViewport {
|
14
|
+
static config = {
|
15
|
+
/**
|
16
|
+
* @member {String} className='Colors.view.Viewport'
|
17
|
+
* @protected
|
18
|
+
*/
|
19
|
+
className: 'Colors.view.Viewport',
|
20
|
+
/**
|
21
|
+
* @member {String[]} cls=['colors-viewport']
|
22
|
+
*/
|
23
|
+
cls: ['colors-viewport'],
|
24
|
+
/**
|
25
|
+
* @member {Neo.controller.Component} controller=ViewportController
|
26
|
+
*/
|
27
|
+
controller: ViewportController,
|
28
|
+
/**
|
29
|
+
* @member {Object} layout
|
30
|
+
*/
|
31
|
+
layout: {ntype: 'vbox', align: 'stretch'},
|
32
|
+
/**
|
33
|
+
* @member {Object[]} items
|
34
|
+
*/
|
35
|
+
items: [{
|
36
|
+
module: HeaderToolbar,
|
37
|
+
flex : 'none'
|
38
|
+
}, {
|
39
|
+
module : TableContainer,
|
40
|
+
reference: 'table'
|
41
|
+
}, {
|
42
|
+
module : PieChartComponent,
|
43
|
+
reference: 'pie-chart'
|
44
|
+
}, {
|
45
|
+
module : BarChartComponent,
|
46
|
+
reference: 'bar-chart'
|
47
|
+
}],
|
48
|
+
/**
|
49
|
+
* @member {Neo.model.Component} model=ViewportModel
|
50
|
+
*/
|
51
|
+
model: ViewportModel
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
Neo.setupClass(Viewport);
|
56
|
+
|
57
|
+
export default Viewport;
|