neo.mjs 6.18.3 → 6.19.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 +28 -214
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/colors/view/ViewportController.mjs +7 -3
- package/apps/portal/data/blog.json +13 -0
- package/apps/portal/view/HeaderToolbar.mjs +2 -2
- package/apps/portal/view/Viewport.mjs +4 -2
- package/apps/portal/view/ViewportController.mjs +89 -8
- package/apps/portal/view/blog/Container.mjs +8 -8
- package/apps/portal/view/blog/List.mjs +6 -6
- package/apps/portal/view/home/MainContainer.mjs +3 -2
- package/apps/portal/view/home/parts/Colors.mjs +2 -2
- package/apps/portal/view/home/parts/How.mjs +3 -3
- package/apps/portal/view/home/parts/MainNeo.mjs +6 -7
- package/apps/portal/view/home/parts/References.mjs +88 -0
- package/apps/portal/view/learn/MainContainer.mjs +3 -2
- package/apps/portal/view/learn/MainContainerController.mjs +11 -0
- package/apps/portal/view/learn/PageContainer.mjs +5 -3
- package/apps/portal/view/services/Component.mjs +73 -0
- package/apps/website/data/blog.json +13 -0
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/component/carousel/MainContainer.mjs +42 -33
- package/examples/layout/cube/MainContainer.mjs +217 -0
- package/examples/layout/cube/app.mjs +6 -0
- package/examples/layout/cube/index.html +11 -0
- package/examples/layout/cube/neo-config.json +6 -0
- package/package.json +6 -6
- package/resources/data/deck/learnneo/pages/Earthquakes-01-goals.md +32 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-01-generate-a-workspace.md +47 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-02-generate-the-starter-app.md +150 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-03-debugging.md +136 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-04-fetch-data.md +146 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-05-refactor-the-table.md +146 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-06-use-a-view-model.md +301 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-07-use-the-google-maps-addon.md +175 -0
- package/resources/data/deck/learnneo/pages/Earthquakes-Lab-08-events.md +38 -0
- package/resources/data/deck/learnneo/pages/Earthquakes.md +8 -8
- package/resources/data/deck/learnneo/pages/Glossary.md +0 -0
- package/resources/data/deck/learnneo/pages/GuideEvents.md +80 -1
- package/resources/data/deck/learnneo/tree.json +2 -1
- package/resources/images/apps/portal/neo-references.png +0 -0
- package/resources/scss/src/apps/portal/Viewport.scss +18 -0
- package/resources/scss/src/apps/portal/blog/Container.scss +7 -7
- package/resources/scss/src/apps/portal/blog/List.scss +20 -16
- package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +4 -5
- package/resources/scss/src/apps/portal/home/parts/References.scss +46 -0
- package/resources/scss/src/apps/portal/learn/ContentTreeList.scss +20 -0
- package/resources/scss/src/apps/portal/learn/ContentView.scss +4 -0
- package/resources/scss/src/apps/portal/learn/MainContainer.scss +1 -1
- package/resources/scss/src/apps/portal/learn/PageContainer.scss +22 -16
- package/resources/scss/src/apps/portal/services/Component.scss +20 -0
- package/resources/scss/src/component/Carousel.scss +21 -0
- package/resources/scss/src/examples/layout/cube/MainContainer.scss +7 -0
- package/resources/scss/src/layout/Cube.scss +80 -0
- package/resources/scss/src/tab/Container.scss +10 -10
- package/resources/scss/theme-neo-light/apps/portal/blog/Container.scss +3 -0
- package/resources/scss/theme-neo-light/form/field/Search.scss +1 -1
- package/resources/scss/theme-neo-light/tooltip/Base.scss +1 -1
- package/src/DefaultConfig.mjs +2 -2
- package/src/Main.mjs +15 -1
- package/src/Neo.mjs +14 -3
- package/src/component/Base.mjs +18 -1
- package/src/container/Base.mjs +3 -1
- package/src/dialog/Base.mjs +1 -2
- package/src/layout/Base.mjs +43 -6
- package/src/layout/Card.mjs +21 -59
- package/src/layout/Cube.mjs +428 -0
- package/src/layout/Fit.mjs +9 -38
- package/src/layout/Flexbox.mjs +16 -17
- package/src/layout/Form.mjs +13 -70
- package/src/layout/Grid.mjs +6 -18
- package/src/main/mixin/DeltaUpdates.mjs +16 -3
- package/src/util/Array.mjs +36 -0
- package/src/vdom/Helper.mjs +328 -445
- package/src/vdom/VNode.mjs +12 -1
- package/test/siesta/siesta.js +16 -1
- package/test/siesta/tests/VdomCalendar.mjs +2111 -37
- package/test/siesta/tests/VdomHelper.mjs +283 -47
- package/test/siesta/tests/vdom/Advanced.mjs +367 -0
- package/test/siesta/tests/vdom/layout/Cube.mjs +189 -0
- package/test/siesta/tests/vdom/table/Container.mjs +133 -0
- package/resources/scss/theme-neo-light/apps/portal/learn/ContentTreeList.scss +0 -23
@@ -0,0 +1,133 @@
|
|
1
|
+
import Neo from '../../../../../src/Neo.mjs';
|
2
|
+
import * as core from '../../../../../src/core/_export.mjs';
|
3
|
+
import VdomHelper from '../../../../../src/vdom/Helper.mjs';
|
4
|
+
|
5
|
+
let deltas, output, vdom, vnode;
|
6
|
+
|
7
|
+
StartTest(t => {
|
8
|
+
t.it('Remove all Table Rows', t => {
|
9
|
+
vdom =
|
10
|
+
{id: 'neo-table-container-1', cn: [
|
11
|
+
{tag: 'tbody', id: 'neo-table-view-1', cn: [
|
12
|
+
{tag: 'tr', id: 'neo-table-row-1'},
|
13
|
+
{tag: 'tr', id: 'neo-table-row-2'},
|
14
|
+
{tag: 'tr', id: 'neo-table-row-3'},
|
15
|
+
{tag: 'tr', id: 'neo-table-row-4'},
|
16
|
+
{tag: 'tr', id: 'neo-table-row-5'}
|
17
|
+
]}
|
18
|
+
]};
|
19
|
+
|
20
|
+
vnode = VdomHelper.create(vdom);
|
21
|
+
|
22
|
+
vdom =
|
23
|
+
{id: 'neo-table-container-1', cn: [
|
24
|
+
{tag: 'tbody', id: 'neo-table-view-1', cn: []}
|
25
|
+
]};
|
26
|
+
|
27
|
+
output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
|
28
|
+
|
29
|
+
t.is(deltas.length, 1, 'Count deltas equals 1');
|
30
|
+
|
31
|
+
t.isDeeplyStrict(deltas, [
|
32
|
+
{action: 'removeAll', parentId: 'neo-table-view-1'}
|
33
|
+
], 'Deltas got created successfully');
|
34
|
+
|
35
|
+
t.diag('Revert operation');
|
36
|
+
|
37
|
+
vdom =
|
38
|
+
{id: 'neo-table-container-1', cn: [
|
39
|
+
{tag: 'tbody', id: 'neo-table-view-1', cn: [
|
40
|
+
{tag: 'tr', id: 'neo-table-row-1'},
|
41
|
+
{tag: 'tr', id: 'neo-table-row-2'},
|
42
|
+
{tag: 'tr', id: 'neo-table-row-3'},
|
43
|
+
{tag: 'tr', id: 'neo-table-row-4'},
|
44
|
+
{tag: 'tr', id: 'neo-table-row-5'}
|
45
|
+
]}
|
46
|
+
]};
|
47
|
+
|
48
|
+
output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
|
49
|
+
|
50
|
+
t.is(deltas.length, 5, 'Count deltas equals 5');
|
51
|
+
|
52
|
+
t.isDeeplyStrict(deltas, [
|
53
|
+
{action: 'insertNode', index: 0, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-1"></tr>'},
|
54
|
+
{action: 'insertNode', index: 1, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-2"></tr>'},
|
55
|
+
{action: 'insertNode', index: 2, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-3"></tr>'},
|
56
|
+
{action: 'insertNode', index: 3, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-4"></tr>'},
|
57
|
+
{action: 'insertNode', index: 4, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-5"></tr>'}
|
58
|
+
], 'Deltas got created successfully');
|
59
|
+
});
|
60
|
+
|
61
|
+
t.it('Remove all Table Rows & move 2 into a different Table', t => {
|
62
|
+
vdom =
|
63
|
+
{id: 'neo-wrapper-1', cn: [
|
64
|
+
{id: 'neo-table-container-1', cn: [
|
65
|
+
{tag: 'tbody', id: 'neo-table-view-1', cn: [
|
66
|
+
{tag: 'tr', id: 'neo-table-row-1'},
|
67
|
+
{tag: 'tr', id: 'neo-table-row-2'},
|
68
|
+
{tag: 'tr', id: 'neo-table-row-3'},
|
69
|
+
{tag: 'tr', id: 'neo-table-row-4'},
|
70
|
+
{tag: 'tr', id: 'neo-table-row-5'}
|
71
|
+
]}
|
72
|
+
]},
|
73
|
+
{id: 'neo-table-container-2', cn: [
|
74
|
+
{tag: 'tbody', id: 'neo-table-view-2', cn: []}
|
75
|
+
]}
|
76
|
+
]};
|
77
|
+
|
78
|
+
vnode = VdomHelper.create(vdom);
|
79
|
+
|
80
|
+
vdom =
|
81
|
+
{id: 'neo-wrapper-1', cn: [
|
82
|
+
{id: 'neo-table-container-1', cn: [
|
83
|
+
{tag: 'tbody', id: 'neo-table-view-1', cn: []}
|
84
|
+
]},
|
85
|
+
{id: 'neo-table-container-2', cn: [
|
86
|
+
{tag: 'tbody', id: 'neo-table-view-2', cn: [
|
87
|
+
{tag: 'tr', id: 'neo-table-row-2'},
|
88
|
+
{tag: 'tr', id: 'neo-table-row-4'}
|
89
|
+
]}
|
90
|
+
]}
|
91
|
+
]};
|
92
|
+
|
93
|
+
output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
|
94
|
+
|
95
|
+
t.is(deltas.length, 3, 'Count deltas equals 3');
|
96
|
+
|
97
|
+
t.isDeeplyStrict(deltas, [
|
98
|
+
{action: 'moveNode', id: 'neo-table-row-2', index: 0, parentId: 'neo-table-view-2'},
|
99
|
+
{action: 'moveNode', id: 'neo-table-row-4', index: 1, parentId: 'neo-table-view-2'},
|
100
|
+
{action: 'removeAll', parentId: 'neo-table-view-1'}
|
101
|
+
], 'Deltas got created successfully');
|
102
|
+
|
103
|
+
t.diag('Revert operation');
|
104
|
+
|
105
|
+
vdom =
|
106
|
+
{id: 'neo-wrapper-1', cn: [
|
107
|
+
{id: 'neo-table-container-1', cn: [
|
108
|
+
{tag: 'tbody', id: 'neo-table-view-1', cn: [
|
109
|
+
{tag: 'tr', id: 'neo-table-row-1'},
|
110
|
+
{tag: 'tr', id: 'neo-table-row-2'},
|
111
|
+
{tag: 'tr', id: 'neo-table-row-3'},
|
112
|
+
{tag: 'tr', id: 'neo-table-row-4'},
|
113
|
+
{tag: 'tr', id: 'neo-table-row-5'}
|
114
|
+
]}
|
115
|
+
]},
|
116
|
+
{id: 'neo-table-container-2', cn: [
|
117
|
+
{tag: 'tbody', id: 'neo-table-view-2', cn: []}
|
118
|
+
]}
|
119
|
+
]};
|
120
|
+
|
121
|
+
output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
|
122
|
+
|
123
|
+
t.is(deltas.length, 5, 'Count deltas equals 5');
|
124
|
+
|
125
|
+
t.isDeeplyStrict(deltas, [
|
126
|
+
{action: 'insertNode', index: 0, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-1"></tr>'},
|
127
|
+
{action: 'moveNode', id: 'neo-table-row-2', index: 1, parentId: 'neo-table-view-1'},
|
128
|
+
{action: 'insertNode', index: 2, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-3"></tr>'},
|
129
|
+
{action: 'moveNode', id: 'neo-table-row-4', index: 3, parentId: 'neo-table-view-1'},
|
130
|
+
{action: 'insertNode', index: 4, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-5"></tr>'}
|
131
|
+
], 'Deltas got created successfully');
|
132
|
+
});
|
133
|
+
});
|
@@ -1,23 +0,0 @@
|
|
1
|
-
:root .neo-theme-neo-light { // .covid-header-container
|
2
|
-
.topics-tree {
|
3
|
-
&.neo-tree-list {
|
4
|
-
.neo-list-container {
|
5
|
-
.neo-list-item {
|
6
|
-
.neo-list-item-content:before {
|
7
|
-
content: unset !important;
|
8
|
-
}
|
9
|
-
|
10
|
-
&.neo-list-folder {
|
11
|
-
.neo-list-item-content:before {
|
12
|
-
content: unset !important;
|
13
|
-
}
|
14
|
-
|
15
|
-
&.neo-folder-open .neo-list-item-content:before {
|
16
|
-
content: unset !important;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|