neo.mjs 7.0.6 → 7.2.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/README.md +2 -2
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/portal/index.html +1 -1
- package/apps/portal/model/Content.mjs +3 -2
- package/apps/portal/model/Example.mjs +46 -0
- package/apps/portal/resources/data/examples_devmode.json +173 -0
- package/apps/portal/resources/data/examples_dist_dev.json +164 -0
- package/apps/portal/resources/data/examples_dist_prod.json +164 -0
- package/apps/portal/store/Examples.mjs +33 -0
- package/apps/portal/view/HeaderToolbar.mjs +3 -0
- package/apps/portal/view/Viewport.mjs +3 -2
- package/apps/portal/view/ViewportController.mjs +32 -14
- package/apps/portal/view/about/Container.mjs +2 -2
- package/apps/portal/view/blog/List.mjs +3 -3
- package/apps/portal/view/examples/List.mjs +122 -0
- package/apps/portal/view/examples/TabContainer.mjs +79 -0
- package/apps/portal/view/examples/TabContainerController.mjs +41 -0
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/apps/portal/view/home/parts/Features.mjs +5 -5
- package/apps/shareddialog/view/MainContainerController.mjs +37 -30
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/todoList/version2/MainContainer.mjs +38 -48
- package/examples/todoList/version2/TodoList.mjs +6 -39
- package/examples/todoList/version2/TodoListModel.mjs +2 -2
- package/package.json +7 -7
- package/resources/data/deck/learnneo/pages/Welcome.md +0 -4
- package/resources/data/deck/learnneo/pages/guides/Forms.md +1 -0
- package/resources/data/deck/learnneo/pages/guides/InstanceLifecycle.md +1 -0
- package/resources/data/deck/learnneo/pages/guides/Layouts.md +1 -0
- package/resources/data/deck/learnneo/pages/guides/Mixins.md +1 -0
- package/resources/data/deck/learnneo/pages/guides/MultiWindow.md +1 -0
- package/resources/data/deck/learnneo/pages/guides/Tables.md +1 -0
- package/resources/data/deck/learnneo/pages/guides/events/DomEvents.md +263 -0
- package/resources/data/deck/learnneo/pages/{TodoList.md → tutorials/TodoList.md} +23 -33
- package/resources/data/deck/learnneo/tree.json +45 -48
- package/resources/scss/src/apps/portal/about/MemberContainer.scss +5 -4
- package/resources/scss/src/apps/portal/blog/Container.scss +2 -0
- package/resources/scss/src/apps/portal/examples/List.scss +157 -0
- package/resources/scss/src/apps/portal/examples/TabContainer.scss +36 -0
- package/resources/scss/src/button/Base.scss +4 -0
- package/resources/scss/src/calendar/view/calendars/ColorsList.scss +4 -0
- package/resources/scss/src/calendar/view/calendars/List.scss +2 -1
- package/resources/scss/src/dialog/Base.scss +2 -2
- package/resources/scss/src/list/Base.scss +3 -3
- package/resources/scss/theme-neo-light/button/Base.scss +3 -3
- package/src/DefaultConfig.mjs +2 -2
- package/src/calendar/view/MainContainer.mjs +7 -5
- package/src/calendar/view/calendars/EditContainer.mjs +3 -2
- package/src/calendar/view/calendars/List.mjs +1 -0
- package/src/calendar/view/week/Component.mjs +5 -3
- package/src/calendar/view/week/plugin/DragDrop.mjs +4 -3
- package/src/code/LivePreview.mjs +28 -1
- package/src/collection/Base.mjs +1 -0
- package/src/controller/Component.mjs +10 -10
- package/src/core/Observable.mjs +4 -27
- package/src/grid/View.mjs +82 -0
- package/src/layout/Cube.mjs +44 -38
- package/src/list/Base.mjs +16 -0
- package/src/main/addon/DragDrop.mjs +3 -2
- package/src/manager/DomEvent.mjs +30 -18
- package/src/table/View.mjs +82 -0
- package/src/util/Function.mjs +24 -0
- package/resources/data/deck/learnneo/pages/2023-10-08T20-37-30-658Z.md +0 -0
- package/resources/data/deck/learnneo/pages/2023-10-08T22-22-11-013Z.md +0 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-01-goals.md +0 -32
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-01-generate-a-workspace.md +0 -47
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-02-generate-the-starter-app.md +0 -150
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-03-debugging.md +0 -136
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-04-fetch-data.md +0 -146
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-05-refactor-the-table.md +0 -146
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-06-use-a-view-model.md +0 -301
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-07-use-the-google-maps-addon.md +0 -175
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-08-events.md +0 -38
- package/resources/data/deck/learnneo/pages/TestLivePreview.md +0 -32
- package/resources/data/deck/learnneo/pages/WhatAboutHTML.md +0 -1
- package/resources/data/deck/learnneo/pages/stylesheet.md +0 -57
- /package/resources/data/deck/learnneo/pages/{WhyNeo-Effort.md → benefits/Effort.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{WhyNeo-Features.md → benefits/Features.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{WhyNeo-Intro.md → benefits/Introduction.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{WhyNeo-Multi-Window.md → benefits/Multi-Window.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{WhyNeo-Quick.md → benefits/Quick.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{WhyNeo-Speed.md → benefits/Speed.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{ComponentModels.md → gettingstarted/ComponentModels.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{Config.md → gettingstarted/Config.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{DescribingTheUI.md → gettingstarted/DescribingTheUI.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{Events.md → gettingstarted/Events.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{Extending.md → gettingstarted/Extending.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{References.md → gettingstarted/References.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{Setup.md → gettingstarted/Setup.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{2023-10-14T19-25-08-153Z.md → gettingstarted/Workspaces.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{ComponentsAndContainers.md → guides/ComponentsAndContainers.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{CustomComponents.md → guides/CustomComponents.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{MainThreadAddonExample.md → guides/MainThreadAddonExample.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{MainThreadAddonIntro.md → guides/MainThreadAddonIntro.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{GuideViewModels.md → guides/ViewModels.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{GuideEvents.md → guides/events/CustomEvents.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{2023-10-08T20-20-37-336Z.md → javascript/ClassFeatures.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{2023-10-07T19-18-28-517Z.md → javascript/Classes.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{2023-10-31T13-59-37-550Z.md → javascript/NewNode.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{2023-10-08T20-20-07-934Z.md → javascript/Overrides.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{2023-10-08T21-58-25-809Z.md → javascript/Super.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{Earthquakes.md → tutorials/Earthquakes.md} +0 -0
- /package/resources/data/deck/learnneo/pages/{RSP.md → tutorials/RSP.md} +0 -0
@@ -1,50 +1,47 @@
|
|
1
1
|
{"data": [
|
2
|
-
{"name":
|
3
|
-
{"name": "Benefits", "parentId": null, "isLeaf": false, "id": "
|
4
|
-
{"name": "Introduction ", "parentId": "
|
5
|
-
{"name": "Off the Main Thread", "parentId": "
|
6
|
-
{"name": "Extreme Speed", "parentId": "
|
7
|
-
{"name": "Multi-Window Applications", "parentId": "
|
8
|
-
{"name": "Quick Application Development", "parentId": "
|
9
|
-
{"name": "Complexity and Effort", "parentId": "
|
10
|
-
{"name": "Forms Engine", "parentId": "
|
11
|
-
{"name": "Features and Benefits Summary", "parentId": "
|
12
|
-
{"name": "Getting Started", "parentId": null, "isLeaf": false, "id": "GettingStarted", "collapsed":
|
13
|
-
{"name": "Setup", "parentId": "GettingStarted",
|
14
|
-
{"name": "Workspaces and Applications", "parentId": "GettingStarted",
|
15
|
-
{"name": "Describing a View", "parentId": "GettingStarted",
|
16
|
-
{"name": "Events", "parentId": "GettingStarted",
|
17
|
-
{"name": "Component References", "parentId": "GettingStarted",
|
18
|
-
{"name": "Extending Classes", "parentId": "GettingStarted",
|
19
|
-
{"name": "Config", "parentId": "GettingStarted",
|
20
|
-
{"name": "Shared Bindable Data", "parentId": "GettingStarted",
|
21
|
-
{"name": "Tutorials", "parentId": null, "isLeaf": false, "
|
22
|
-
{"name": "Rock Scissors Paper", "parentId": "Tutorials",
|
23
|
-
{"name": "Earthquakes", "parentId": "Tutorials",
|
24
|
-
{"name": "Todo List", "parentId": "Tutorials",
|
25
|
-
{"name": "Guides", "parentId": null, "isLeaf": false, "
|
26
|
-
{"name": "
|
27
|
-
{"name": "
|
28
|
-
{"name": "
|
29
|
-
{"name": "
|
30
|
-
{"name": "
|
31
|
-
{"name": "
|
32
|
-
{"name": "
|
33
|
-
|
34
|
-
|
35
|
-
{"name": "
|
36
|
-
{"name": "Multi-Window Applications", "parentId": "InDepth",
|
37
|
-
{"name": "Main Thread Addons", "parentId": "InDepth", "isLeaf": false, "id": "MainThreadAddons", "hidden":
|
38
|
-
{"name": "Introduction", "parentId": "MainThreadAddons",
|
39
|
-
{"name": "Example", "parentId": "MainThreadAddons",
|
40
|
-
{"name": "Mixins", "parentId": "InDepth",
|
41
|
-
{"name": "JavaScript Classes", "parentId": null, "isLeaf": false, "id": "
|
42
|
-
{"name": "Classes, Properties, and Methods", "parentId": "
|
43
|
-
{"name": "Overriding Methods", "parentId": "
|
44
|
-
{"name": "Other JavaScript Class Features", "parentId": "
|
45
|
-
{"name": "Super", "parentId": "
|
46
|
-
{"name": "New Node", "parentId": "
|
47
|
-
{"name": "Appendix", "parentId": null, "id": "appendix", "hidden": true, "collapsed": true},
|
48
|
-
{"name": "Stylesheet", "parentId": "appendix", "isLeaf": true, "id": "stylesheet"},
|
49
|
-
{"name": "Test", "parentId": "appendix", "isLeaf": true, "id": "TestLivePreview"}
|
2
|
+
{"name": "Welcome!", "parentId": null, "id": "Welcome" },
|
3
|
+
{"name": "Benefits", "parentId": null, "isLeaf": false, "id": "Benefits"},
|
4
|
+
{"name": "Introduction ", "parentId": "Benefits", "id": "benefits.Introduction"},
|
5
|
+
{"name": "Off the Main Thread", "parentId": "Benefits", "id": "benefits.Multi-Threading"},
|
6
|
+
{"name": "Extreme Speed", "parentId": "Benefits", "id": "benefits.Speed"},
|
7
|
+
{"name": "Multi-Window Applications", "parentId": "Benefits", "id": "benefits.Multi-Window"},
|
8
|
+
{"name": "Quick Application Development", "parentId": "Benefits", "id": "benefits.Quick"},
|
9
|
+
{"name": "Complexity and Effort", "parentId": "Benefits", "id": "benefits.Effort"},
|
10
|
+
{"name": "Forms Engine", "parentId": "Benefits", "id": "benefits.FormsEngine"},
|
11
|
+
{"name": "Features and Benefits Summary", "parentId": "Benefits", "id": "benefits.Features"},
|
12
|
+
{"name": "Getting Started", "parentId": null, "isLeaf": false, "id": "GettingStarted", "collapsed": true},
|
13
|
+
{"name": "Setup", "parentId": "GettingStarted", "id": "gettingstarted.Setup"},
|
14
|
+
{"name": "Workspaces and Applications", "parentId": "GettingStarted", "id": "gettingstarted.Workspaces"},
|
15
|
+
{"name": "Describing a View", "parentId": "GettingStarted", "id": "gettingstarted.DescribingTheUI"},
|
16
|
+
{"name": "Events", "parentId": "GettingStarted", "id": "gettingstarted.Events"},
|
17
|
+
{"name": "Component References", "parentId": "GettingStarted", "id": "gettingstarted.References"},
|
18
|
+
{"name": "Extending Classes", "parentId": "GettingStarted", "id": "gettingstarted.Extending"},
|
19
|
+
{"name": "Config", "parentId": "GettingStarted", "id": "gettingstarted.Config"},
|
20
|
+
{"name": "Shared Bindable Data", "parentId": "GettingStarted", "id": "gettingstarted.ComponentModels"},
|
21
|
+
{"name": "Tutorials", "parentId": null, "isLeaf": false, "id": "Tutorials", "collapsed": true},
|
22
|
+
{"name": "Rock Scissors Paper", "parentId": "Tutorials", "id": "tutorials.RSP", "hidden": true},
|
23
|
+
{"name": "Earthquakes", "parentId": "Tutorials", "id": "tutorials.Earthquakes"},
|
24
|
+
{"name": "Todo List", "parentId": "Tutorials", "id": "tutorials.TodoList"},
|
25
|
+
{"name": "Guides", "parentId": null, "isLeaf": false, "id": "InDepth", "collapsed": true},
|
26
|
+
{"name": "Instance Lifecycle", "parentId": "InDepth", "id": "guides.InstanceLifecycle", "hidden": true},
|
27
|
+
{"name": "User Input (Forms)", "parentId": "InDepth", "id": "guides.Forms", "hidden": true},
|
28
|
+
{"name": "Component and Container Basics", "parentId": "InDepth", "id": "guides.ComponentsAndContainers"},
|
29
|
+
{"name": "Layouts", "parentId": "InDepth", "isLeaf": false, "id": "guides.Layouts", "hidden": true},
|
30
|
+
{"name": "Shared Bindable Data (Component Models)", "parentId": "InDepth", "id": "guides.ViewModels"},
|
31
|
+
{"name": "Custom Components", "parentId": "InDepth", "id": "guides.CustomComponents", "hidden": true},
|
32
|
+
{"name": "Events", "parentId": "InDepth", "isLeaf": false, "id": "GuideEvents"},
|
33
|
+
{"name": "Custom Events", "parentId": "GuideEvents", "id": "guides.events.CustomEvents"},
|
34
|
+
{"name": "DOM Events", "parentId": "GuideEvents", "id": "guides.events.DomEvents"},
|
35
|
+
{"name": "Tables (Stores)", "parentId": "InDepth", "id": "guides.Tables", "hidden": true},
|
36
|
+
{"name": "Multi-Window Applications", "parentId": "InDepth", "id": "guides.MultiWindow", "hidden": true},
|
37
|
+
{"name": "Main Thread Addons", "parentId": "InDepth", "isLeaf": false, "id": "MainThreadAddons", "hidden": true},
|
38
|
+
{"name": "Introduction", "parentId": "MainThreadAddons", "id": "guides.MainThreadAddonIntro"},
|
39
|
+
{"name": "Example", "parentId": "MainThreadAddons", "id": "guides.MainThreadAddonExample"},
|
40
|
+
{"name": "Mixins", "parentId": "InDepth", "id": "guides.Mixins", "hidden": true},
|
41
|
+
{"name": "JavaScript Classes", "parentId": null, "isLeaf": false, "id": "JavaScript", "hidden": true},
|
42
|
+
{"name": "Classes, Properties, and Methods", "parentId": "JavaScript", "id": "javascript.Classes"},
|
43
|
+
{"name": "Overriding Methods", "parentId": "JavaScript", "id": "javascript.Overrides"},
|
44
|
+
{"name": "Other JavaScript Class Features", "parentId": "JavaScript", "id": "javascript.ClassFeatures"},
|
45
|
+
{"name": "Super", "parentId": "JavaScript", "id": "javascript.Super"},
|
46
|
+
{"name": "New Node", "parentId": "JavaScript", "id": "javascript.NewNode"}
|
50
47
|
]}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
.portal-about-member-container {
|
2
|
-
border
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
border : 1px solid var(--sem-color-border-default);
|
3
|
+
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
|
4
|
+
min-width : 600px;
|
5
|
+
padding : 1em 1em 4em;
|
6
|
+
position : relative;
|
6
7
|
|
7
8
|
&:not(:nth-child(2)) {
|
8
9
|
margin-top: 1em;
|
@@ -0,0 +1,157 @@
|
|
1
|
+
.portal-examples-list.neo-list {
|
2
|
+
transition: padding var(--portal-transition-duration) ease-out;
|
3
|
+
|
4
|
+
.neo-list-item {
|
5
|
+
cursor : default;
|
6
|
+
display : flex;
|
7
|
+
max-width : 800px;
|
8
|
+
overflow : hidden;
|
9
|
+
padding : 0;
|
10
|
+
transition : height var(--portal-transition-duration) ease-out, margin-bottom var(--portal-transition-duration) ease-out;
|
11
|
+
white-space : normal;
|
12
|
+
width : 100%;
|
13
|
+
|
14
|
+
.content {
|
15
|
+
flex: 1;
|
16
|
+
}
|
17
|
+
|
18
|
+
.neo-absolute {
|
19
|
+
position: absolute;
|
20
|
+
}
|
21
|
+
|
22
|
+
.neo-full-size {
|
23
|
+
height: 100%;
|
24
|
+
width : 100%;
|
25
|
+
}
|
26
|
+
|
27
|
+
.neo-github-image {
|
28
|
+
color : #ddd;
|
29
|
+
text-decoration : none;
|
30
|
+
transition-duration : var(--portal-transition-duration);
|
31
|
+
transition-property : font-size, height, width;
|
32
|
+
transition-timing-function: ease-out;
|
33
|
+
}
|
34
|
+
|
35
|
+
.neo-inner-content {
|
36
|
+
color : #fff;
|
37
|
+
display : inline-block;
|
38
|
+
margin-left: 10px;
|
39
|
+
text-shadow: 1px 1px 1px #000, 1px 1px 1px #fff;
|
40
|
+
transition : font-size var(--portal-transition-duration) ease-out;
|
41
|
+
}
|
42
|
+
|
43
|
+
.neo-inner-details {
|
44
|
+
transition: line-height var(--portal-transition-duration) ease-out;
|
45
|
+
}
|
46
|
+
|
47
|
+
.neo-item-bottom-position {
|
48
|
+
bottom : 0;
|
49
|
+
left : 0;
|
50
|
+
transition: margin var(--portal-transition-duration) ease-out;
|
51
|
+
}
|
52
|
+
|
53
|
+
.neo-relative {
|
54
|
+
position: relative;
|
55
|
+
}
|
56
|
+
|
57
|
+
.neo-title {
|
58
|
+
color : #fff;
|
59
|
+
font-weight : 600;
|
60
|
+
line-height : 1;
|
61
|
+
text-decoration: none;
|
62
|
+
text-shadow : 1px 1px 1px #000, 1px 1px 1px #fff;
|
63
|
+
transition : color 250ms ease-out;
|
64
|
+
|
65
|
+
&:hover {
|
66
|
+
color: #5d83a7
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
.neo-top-20 {
|
71
|
+
align-items: center;
|
72
|
+
display : flex;
|
73
|
+
transition : margin var(--portal-transition-duration) ease-out;
|
74
|
+
}
|
75
|
+
|
76
|
+
.preview-image {
|
77
|
+
background-blend-mode: overlay;
|
78
|
+
background-size : cover;
|
79
|
+
height : 100%;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
@media (max-height: 400px), (max-width: 600px) {
|
84
|
+
padding: 5px 5px 0 5px;
|
85
|
+
|
86
|
+
.neo-github-image {
|
87
|
+
font-size: 30px;
|
88
|
+
height : 30px;
|
89
|
+
width : 30px;
|
90
|
+
}
|
91
|
+
|
92
|
+
.neo-inner-content {
|
93
|
+
font-size: 12px;
|
94
|
+
}
|
95
|
+
|
96
|
+
.neo-inner-details {
|
97
|
+
line-height: 16px;
|
98
|
+
}
|
99
|
+
|
100
|
+
.neo-item-bottom-position {
|
101
|
+
margin: 9px 12px;
|
102
|
+
right : 15%;
|
103
|
+
}
|
104
|
+
|
105
|
+
.neo-list-item {
|
106
|
+
border-radius: 10px;
|
107
|
+
height : 200px;
|
108
|
+
margin-bottom: 5px;
|
109
|
+
}
|
110
|
+
|
111
|
+
.neo-title {
|
112
|
+
font-size: 20px;
|
113
|
+
}
|
114
|
+
|
115
|
+
.neo-top-20 {
|
116
|
+
margin-top: 10px;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
@media (min-height: 401px) and (min-width: 601px) {
|
121
|
+
padding: 10px 10px 0 10px;
|
122
|
+
|
123
|
+
.neo-github-image {
|
124
|
+
font-size: 44px;
|
125
|
+
height : 44px;
|
126
|
+
width : 44px;
|
127
|
+
}
|
128
|
+
|
129
|
+
.neo-inner-content {
|
130
|
+
font-size: 16px;
|
131
|
+
}
|
132
|
+
|
133
|
+
.neo-inner-details {
|
134
|
+
font-size : 16px;
|
135
|
+
line-height: 22px;
|
136
|
+
}
|
137
|
+
|
138
|
+
.neo-item-bottom-position {
|
139
|
+
margin: 30px 40px;
|
140
|
+
right : 30%;
|
141
|
+
}
|
142
|
+
|
143
|
+
.neo-list-item {
|
144
|
+
border-radius: 20px;
|
145
|
+
height : 400px;
|
146
|
+
margin-bottom: 10px;
|
147
|
+
}
|
148
|
+
|
149
|
+
.neo-title {
|
150
|
+
font-size: 34px;
|
151
|
+
}
|
152
|
+
|
153
|
+
.neo-top-20 {
|
154
|
+
margin-top: 20px;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
.portal-examples-tab-container.neo-tab-container {
|
2
|
+
margin : 0 auto;
|
3
|
+
max-width: 830px;
|
4
|
+
}
|
5
|
+
|
6
|
+
.portal-examples-tab-header-toolbar.neo-tab-header-toolbar {
|
7
|
+
background-color: #8BA6FF;
|
8
|
+
|
9
|
+
.neo-tab-header-button.neo-button {
|
10
|
+
.neo-button-glyph {
|
11
|
+
color: #fff;
|
12
|
+
}
|
13
|
+
|
14
|
+
.neo-button-ripple {
|
15
|
+
background-color: #3E63DD;
|
16
|
+
}
|
17
|
+
|
18
|
+
&.neo-button.pressed .neo-tab-button-indicator {
|
19
|
+
background-color: #3E63DD;
|
20
|
+
}
|
21
|
+
|
22
|
+
.neo-button-text {
|
23
|
+
color: #fff;
|
24
|
+
}
|
25
|
+
|
26
|
+
&.pressed {
|
27
|
+
.neo-button-glyph {
|
28
|
+
color: #3E63DD;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
.neo-tab-strip .neo-active-tab-indicator {
|
34
|
+
background-color: #3E63DD;
|
35
|
+
}
|
36
|
+
}
|
@@ -73,16 +73,20 @@
|
|
73
73
|
.neo-button-ripple {
|
74
74
|
background-color: var(--button-ripple-background-color);
|
75
75
|
border-radius : 50%;
|
76
|
+
padding : var(--button-padding);
|
76
77
|
opacity : 0;
|
77
78
|
position : absolute;
|
78
79
|
transform : scale(4);
|
79
80
|
}
|
80
81
|
|
81
82
|
.neo-button-ripple-wrapper {
|
83
|
+
border-radius : var(--button-border-radius);
|
82
84
|
height : 100%;
|
85
|
+
left : 0;
|
83
86
|
overflow : hidden;
|
84
87
|
pointer-events: none;
|
85
88
|
position : absolute;
|
89
|
+
top : 0;
|
86
90
|
width : 100%;
|
87
91
|
}
|
88
92
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
.neo-calendars-list
|
1
|
+
.neo-calendars-list {
|
2
2
|
.neo-checkboxfield {
|
3
3
|
align-items: center;
|
4
4
|
display : flex;
|
@@ -64,6 +64,7 @@
|
|
64
64
|
|
65
65
|
.neo-edit-icon {
|
66
66
|
color : var(--calendars-list-edit-icon-color);
|
67
|
+
cursor : pointer;
|
67
68
|
font-size : 16px;
|
68
69
|
font-weight : 600;
|
69
70
|
height : 1em;
|
@@ -69,9 +69,9 @@
|
|
69
69
|
}
|
70
70
|
|
71
71
|
&[aria-selected="true"] {
|
72
|
-
background-color: var(--list-item-background-color-selected)
|
73
|
-
color : var(--list-item-color-selected)
|
74
|
-
cursor : default
|
72
|
+
background-color: var(--list-item-background-color-selected);
|
73
|
+
color : var(--list-item-color-selected);
|
74
|
+
cursor : default;
|
75
75
|
}
|
76
76
|
|
77
77
|
.neo-highlight-search {
|
@@ -45,7 +45,7 @@
|
|
45
45
|
--button-background-gradient-start : #434749;
|
46
46
|
--button-opacity-disabled : inherit;
|
47
47
|
--button-outline-active : none;
|
48
|
-
--button-ripple-background-color :
|
48
|
+
--button-ripple-background-color : #8BA6FF;
|
49
49
|
--button-use-gradients : false;
|
50
50
|
|
51
51
|
// {module: Button; ui: --secondary} ––––––––––––––––––––––––––––––––––––––––––––––––––
|
@@ -78,7 +78,7 @@
|
|
78
78
|
--button-secondary-badge-background-color : transparent;
|
79
79
|
--button-secondary-badge-color : transparent;
|
80
80
|
--button-secondary-opacity-disabled : none;
|
81
|
-
--button-secondary-ripple-background-color :
|
81
|
+
--button-secondary-ripple-background-color : #8BA6FF;
|
82
82
|
|
83
83
|
|
84
84
|
// {module: Button; ui: --ghost} –––––––––––––––––––––––––––––––––––––––––––––––––––––--
|
@@ -111,7 +111,7 @@
|
|
111
111
|
--button-ghost-badge-background-color : transparent;
|
112
112
|
--button-ghost-badge-color : transparent;
|
113
113
|
--button-ghost-opacity-disabled : inherit;
|
114
|
-
--button-ghost-ripple-background-color :
|
114
|
+
--button-ghost-ripple-background-color : #8BA6FF;
|
115
115
|
|
116
116
|
|
117
117
|
// {module: Button; ui: --tertiary} –––––––––––––––––––––––––––––––––––––––––––––––––––
|
package/src/DefaultConfig.mjs
CHANGED
@@ -262,12 +262,12 @@ const DefaultConfig = {
|
|
262
262
|
useVdomWorker: true,
|
263
263
|
/**
|
264
264
|
* buildScripts/injectPackageVersion.mjs will update this value
|
265
|
-
* @default '7.0
|
265
|
+
* @default '7.2.0'
|
266
266
|
* @memberOf! module:Neo
|
267
267
|
* @name config.version
|
268
268
|
* @type String
|
269
269
|
*/
|
270
|
-
version: '7.0
|
270
|
+
version: '7.2.0'
|
271
271
|
};
|
272
272
|
|
273
273
|
Object.assign(DefaultConfig, {
|
@@ -323,11 +323,12 @@ class MainContainer extends Container {
|
|
323
323
|
let me = this;
|
324
324
|
|
325
325
|
me._editCalendarContainer = value = Neo.create({
|
326
|
-
module
|
327
|
-
appName: me.appName,
|
328
|
-
model
|
329
|
-
owner
|
330
|
-
width
|
326
|
+
module : EditCalendarContainer,
|
327
|
+
appName : me.appName,
|
328
|
+
model : {parent: me.getModel()},
|
329
|
+
owner : me,
|
330
|
+
width : 250,
|
331
|
+
windowId: me.windowId,
|
331
332
|
...me.editCalendarContainerConfig
|
332
333
|
})
|
333
334
|
}
|
@@ -499,6 +500,7 @@ class MainContainer extends Container {
|
|
499
500
|
me.items[1].add({
|
500
501
|
module : module.default,
|
501
502
|
collapsed,
|
503
|
+
minWidth : me.settingsContainerWidth,
|
502
504
|
removeInactiveCards: me.removeInactiveCards,
|
503
505
|
style : {marginRight: !collapsed ? '0' : `-${me.settingsContainerWidth}px`},
|
504
506
|
width : me.settingsContainerWidth,
|
@@ -64,7 +64,9 @@ class EditContainer extends FormContainer {
|
|
64
64
|
afterSetMounted(value, oldValue) {
|
65
65
|
super.afterSetMounted(value, oldValue);
|
66
66
|
|
67
|
-
value && this.getField('name').
|
67
|
+
value && this.getField('name').then(field => {
|
68
|
+
field.focus()
|
69
|
+
})
|
68
70
|
}
|
69
71
|
|
70
72
|
/**
|
@@ -116,7 +118,6 @@ class EditContainer extends FormContainer {
|
|
116
118
|
if (record) {
|
117
119
|
me.colorsList = Neo.create({
|
118
120
|
module : ColorsList,
|
119
|
-
appName : me.appName,
|
120
121
|
listeners : {change: me.onColorChange, scope: me},
|
121
122
|
parentId : me.parentId,
|
122
123
|
value : record.color,
|
@@ -359,19 +359,21 @@ class Component extends BaseComponent {
|
|
359
359
|
import('./plugin/DragDrop.mjs'),
|
360
360
|
import('./plugin/EventResizable.mjs')
|
361
361
|
]).then(modules => {
|
362
|
-
let me
|
363
|
-
{appName} = me,
|
364
|
-
plugins
|
362
|
+
let me = this,
|
363
|
+
{appName, windowId} = me,
|
364
|
+
plugins = me.plugins || [];
|
365
365
|
|
366
366
|
plugins.push({
|
367
367
|
module : modules[0].default,
|
368
368
|
appName,
|
369
|
+
windowId,
|
369
370
|
...me.pluginDragDropConfig
|
370
371
|
}, {
|
371
372
|
module : modules[1].default,
|
372
373
|
appName,
|
373
374
|
delegationCls: 'neo-event',
|
374
375
|
directions : ['b', 't'],
|
376
|
+
windowId,
|
375
377
|
...me.pluginEventResizableConfig
|
376
378
|
});
|
377
379
|
|
@@ -74,9 +74,9 @@ class DragDrop extends Base {
|
|
74
74
|
* @returns {Neo.calendar.view.week.EventDragZone}
|
75
75
|
*/
|
76
76
|
getEventDragZone(opts) {
|
77
|
-
let me
|
78
|
-
{appName, owner}
|
79
|
-
{eventDragZone, timeAxis}
|
77
|
+
let me = this,
|
78
|
+
{appName, owner, windowId} = me,
|
79
|
+
{eventDragZone, timeAxis} = owner,
|
80
80
|
|
81
81
|
config = {
|
82
82
|
axisEndTime : timeAxis.getTime(owner.endTime),
|
@@ -93,6 +93,7 @@ class DragDrop extends Base {
|
|
93
93
|
appName,
|
94
94
|
owner,
|
95
95
|
scrollContainerId: owner.getScrollContainer().id,
|
96
|
+
windowId,
|
96
97
|
...config,
|
97
98
|
|
98
99
|
dragProxyConfig: {
|
package/src/code/LivePreview.mjs
CHANGED
@@ -4,6 +4,7 @@ import TabContainer from '../tab/Container.mjs';
|
|
4
4
|
|
5
5
|
const
|
6
6
|
classDeclarationRegex = /class\s+([a-zA-Z$_][a-zA-Z0-9$_]*)\s*(?:extends\s+[a-zA-Z$_][a-zA-Z0-9$_]*)?\s*{[\s\S]*?}/g,
|
7
|
+
classNameRegex = /className\s*:\s*['"]([^'"]+)['"]/g,
|
7
8
|
exportRegex = /export\s+(?:default\s+)?(?:const|let|var|class|function|async\s+function|generator\s+function|async\s+generator\s+function|(\{[\s\S]*?\}))/g,
|
8
9
|
importRegex = /import\s+([\w-]+)\s+from\s+['"]([^'"]+)['"]/;
|
9
10
|
|
@@ -294,6 +295,18 @@ class LivePreview extends Container {
|
|
294
295
|
|
295
296
|
container.removeAll();
|
296
297
|
|
298
|
+
// We must ensure that classes inside the editor won't get cached, since this disables run-time changes
|
299
|
+
// See: https://github.com/neomjs/neo/issues/5863
|
300
|
+
me.findClassNames(codeString).forEach(item => {
|
301
|
+
let nsArray = item.split('.'),
|
302
|
+
className = nsArray.pop(),
|
303
|
+
ns = Neo.ns(nsArray);
|
304
|
+
|
305
|
+
if (ns) {
|
306
|
+
delete ns[className]
|
307
|
+
}
|
308
|
+
});
|
309
|
+
|
297
310
|
try {
|
298
311
|
new Function('container', codeString)(container);
|
299
312
|
} catch (error) {
|
@@ -304,6 +317,21 @@ class LivePreview extends Container {
|
|
304
317
|
}
|
305
318
|
}
|
306
319
|
|
320
|
+
/**
|
321
|
+
* @param {String} sourceCode
|
322
|
+
* @returns {String[]}
|
323
|
+
*/
|
324
|
+
findClassNames(sourceCode) {
|
325
|
+
let classNames = [],
|
326
|
+
match;
|
327
|
+
|
328
|
+
while ((match = classNameRegex.exec(sourceCode)) !== null) {
|
329
|
+
classNames.push(match[1])
|
330
|
+
}
|
331
|
+
|
332
|
+
return classNames
|
333
|
+
}
|
334
|
+
|
307
335
|
/**
|
308
336
|
* @param {String} sourceCode
|
309
337
|
* @returns {String|null}
|
@@ -312,7 +340,6 @@ class LivePreview extends Container {
|
|
312
340
|
let lastClassName = null,
|
313
341
|
match;
|
314
342
|
|
315
|
-
// Iterate through all matches of the regular expression
|
316
343
|
while ((match = classDeclarationRegex.exec(sourceCode)) !== null) {
|
317
344
|
// Update the last class name found
|
318
345
|
lastClassName = match[1]
|