neo.mjs 7.1.0 → 7.3.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.
Files changed (47) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/portal/index.html +1 -1
  3. package/apps/portal/model/Example.mjs +56 -0
  4. package/apps/portal/resources/data/examples_devmode.json +114 -0
  5. package/apps/portal/resources/data/examples_dist_dev.json +108 -0
  6. package/apps/portal/resources/data/examples_dist_prod.json +108 -0
  7. package/apps/portal/store/Examples.mjs +26 -0
  8. package/apps/portal/view/HeaderToolbar.mjs +3 -0
  9. package/apps/portal/view/Viewport.mjs +3 -2
  10. package/apps/portal/view/ViewportController.mjs +32 -14
  11. package/apps/portal/view/about/Container.mjs +2 -2
  12. package/apps/portal/view/blog/List.mjs +3 -3
  13. package/apps/portal/view/examples/List.mjs +156 -0
  14. package/apps/portal/view/examples/TabContainer.mjs +81 -0
  15. package/apps/portal/view/examples/TabContainerController.mjs +41 -0
  16. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  17. package/apps/realworld/api/Article.mjs +7 -1
  18. package/apps/realworld/api/Favorite.mjs +7 -1
  19. package/apps/realworld/api/Profile.mjs +7 -1
  20. package/apps/realworld/api/Tag.mjs +7 -1
  21. package/apps/realworld/api/User.mjs +7 -1
  22. package/apps/realworld2/api/Article.mjs +7 -1
  23. package/apps/realworld2/api/Favorite.mjs +7 -1
  24. package/apps/realworld2/api/Profile.mjs +7 -1
  25. package/apps/realworld2/api/Tag.mjs +7 -1
  26. package/apps/realworld2/api/User.mjs +7 -1
  27. package/apps/shareddialog/view/MainContainerController.mjs +37 -30
  28. package/examples/ServiceWorker.mjs +2 -2
  29. package/examples/todoList/version2/TodoListModel.mjs +1 -1
  30. package/package.json +2 -2
  31. package/resources/scss/src/apps/portal/about/MemberContainer.scss +5 -4
  32. package/resources/scss/src/apps/portal/blog/Container.scss +2 -0
  33. package/resources/scss/src/apps/portal/examples/List.scss +158 -0
  34. package/resources/scss/src/apps/portal/examples/TabContainer.scss +36 -0
  35. package/resources/scss/src/button/Base.scss +4 -0
  36. package/resources/scss/src/calendar/view/calendars/ColorsList.scss +4 -0
  37. package/resources/scss/src/calendar/view/calendars/List.scss +2 -1
  38. package/resources/scss/src/dialog/Base.scss +2 -2
  39. package/resources/scss/src/list/Base.scss +3 -3
  40. package/resources/scss/theme-neo-light/button/Base.scss +3 -3
  41. package/src/DefaultConfig.mjs +2 -2
  42. package/src/calendar/view/MainContainer.mjs +13 -10
  43. package/src/calendar/view/calendars/EditContainer.mjs +3 -2
  44. package/src/calendar/view/calendars/List.mjs +1 -0
  45. package/src/calendar/view/week/Component.mjs +5 -3
  46. package/src/calendar/view/week/plugin/DragDrop.mjs +4 -3
  47. package/src/layout/Cube.mjs +44 -38
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='7.1.0'
23
+ * @member {String} version='7.3.0'
24
24
  */
25
- version: '7.1.0'
25
+ version: '7.3.0'
26
26
  }
27
27
 
28
28
  /**
@@ -16,7 +16,7 @@
16
16
  "@type": "Organization",
17
17
  "name": "Neo.mjs"
18
18
  },
19
- "datePublished": "2024-09-10",
19
+ "datePublished": "2024-09-13",
20
20
  "publisher": {
21
21
  "@type": "Organization",
22
22
  "name": "Neo.mjs"
@@ -0,0 +1,56 @@
1
+ import Model from '../../../src/data/Model.mjs';
2
+
3
+ /**
4
+ * @class Portal.model.Example
5
+ * @extends Neo.data.Model
6
+ */
7
+ class Example extends Model {
8
+ static config = {
9
+ /**
10
+ * @member {String} className='Portal.model.Example'
11
+ * @protected
12
+ */
13
+ className: 'Portal.model.Example',
14
+ /**
15
+ * @member {Object[]} fields
16
+ * @protected
17
+ */
18
+ fields: [{
19
+ name: 'backgroundColor',
20
+ type: 'String'
21
+ }, {
22
+ name : 'browsers',
23
+ type : 'Array',
24
+ defaultValue: ['Chrome', 'Edge', 'Firefox', 'Safari']
25
+ }, {
26
+ name : 'environments',
27
+ type : 'Array',
28
+ defaultValue: ['Desktop']
29
+ }, {
30
+ name : 'hidden',
31
+ type : 'Boolean',
32
+ defaultValue: false
33
+ }, {
34
+ name: 'id',
35
+ type: 'Integer'
36
+ }, {
37
+ name: 'image',
38
+ type: 'String'
39
+ }, {
40
+ name: 'name',
41
+ type: 'String'
42
+ }, {
43
+ name : 'sharedWorkers',
44
+ type : 'Boolean',
45
+ defaultValue: false
46
+ }, {
47
+ name: 'sourceUrl',
48
+ type: 'String'
49
+ }, {
50
+ name: 'url',
51
+ type: 'String'
52
+ }]
53
+ }
54
+ }
55
+
56
+ export default Neo.setupClass(Example);
@@ -0,0 +1,114 @@
1
+ [{
2
+ "id" : 18,
3
+ "image" : "devmode/sharedcovid.png",
4
+ "name" : "Multi Window Covid App",
5
+ "sharedWorkers": true,
6
+ "sourceUrl" : "apps/sharedcovid",
7
+ "url" : "apps/sharedcovid/index.html#mainview=table"
8
+ }, {
9
+ "id" : 17,
10
+ "image" : "devmode/calendar-preview.png",
11
+ "name" : "Calendar",
12
+ "sourceUrl": "src/calendar",
13
+ "url" : "examples/calendar/basic/index.html"
14
+ }, {
15
+ "id" : 16,
16
+ "image" : "devmode/helix.png",
17
+ "name" : "component.Helix",
18
+ "sourceUrl": "examples/component/helix",
19
+ "url" : "examples/component/helix/index.html"
20
+ }, {
21
+ "id" : 15,
22
+ "image" : "devmode/coronaGallery.png",
23
+ "name" : "COVID-19 Gallery",
24
+ "sourceUrl": "examples/component/coronaGallery",
25
+ "url" : "examples/component/coronaGallery/index.html"
26
+ }, {
27
+ "id" : 14,
28
+ "image" : "devmode/tabContainer.png",
29
+ "name" : "tab.Container",
30
+ "sourceUrl": "examples/tab/container",
31
+ "url" : "examples/tab/container/index.html"
32
+ }, {
33
+ "id" : 13,
34
+ "image" : "devmode/model-component-example.png",
35
+ "name" : "View Models Example",
36
+ "sourceUrl": "examples/model/advanced",
37
+ "url" : "examples/model/advanced/index.html"
38
+ }, {
39
+ "id" : 12,
40
+ "image" : "devmode/dragdrop.png",
41
+ "name" : "Dialog drag&drop",
42
+ "sourceUrl": "examples/dialog",
43
+ "url" : "examples/dialog/"
44
+ }, {
45
+ "id" : 11,
46
+ "image" : "devmode/covidDashboard.png",
47
+ "name" : "Covid Dashboard",
48
+ "sourceUrl": "apps/covid",
49
+ "url" : "apps/covid/index.html"
50
+ }, {
51
+ "id" : 10,
52
+ "image" : "devmode/coronaHelix.png",
53
+ "name" : "COVID-19 Helix",
54
+ "sourceUrl": "examples/component/coronaHelix",
55
+ "url" : "examples/component/coronaHelix/index.html"
56
+ }, {
57
+ "id" : 9,
58
+ "image" : "devmode/gallery.png",
59
+ "name" : "component.Gallery",
60
+ "sourceUrl": "examples/component/gallery",
61
+ "url" : "examples/component/gallery/index.html"
62
+ }, {
63
+ "id" : 8,
64
+ "image" : "devmode/tableFiltering.png",
65
+ "name" : "Table Filtering",
66
+ "sourceUrl": "examples/tableFiltering",
67
+ "url" : "examples/tableFiltering/"
68
+ }, {
69
+ "id" : 7,
70
+ "image" : "devmode/dateSelector.png",
71
+ "name" : "component.DateSelector",
72
+ "sourceUrl": "examples/component/dateSelector",
73
+ "url" : "examples/component/dateSelector/index.html"
74
+ }, {
75
+ "id" : 6,
76
+ "image" : "devmode/dateField.png",
77
+ "name" : "form.field.Date",
78
+ "sourceUrl": "examples/form/field/date",
79
+ "url" : "examples/form/field/date/index.html"
80
+ }, {
81
+ "id" : 5,
82
+ "image" : "devmode/selectField.png",
83
+ "name" : "form.field.ComboBox",
84
+ "sourceUrl": "examples/form/field/combobox",
85
+ "url" : "examples/form/field/combobox/index.html"
86
+ }, {
87
+ "id" : 4,
88
+ "image" : "devmode/siesta.png",
89
+ "name" : "Siesta Unit Tests",
90
+ "sourceUrl": "test/siesta",
91
+ "url" : "test/siesta/index.html"
92
+ }, {
93
+ "hidden" : true,
94
+ "id" : 3,
95
+ "image" : "devmode/multi_window_dd.png",
96
+ "name" : "Multi Window Drag&Drop",
97
+ "sharedWorkers": true,
98
+ "sourceUrl" : "apps/shareddialog",
99
+ "url" : "apps/shareddialog/index.html"
100
+ }, {
101
+ "hidden" : true,
102
+ "id" : 2,
103
+ "image" : "devmode/realworldApp.png",
104
+ "name" : "RealWorld App",
105
+ "sourceUrl": "apps/realworld",
106
+ "url" : "apps/realworld/index.html"
107
+ }, {
108
+ "hidden" : true,
109
+ "id" : 1,
110
+ "image" : "devmode/realworldApp2.png",
111
+ "name" : "RealWorld App v2</br>(in progress)",
112
+ "sourceUrl": "apps/realworld2",
113
+ "url" : "apps/realworld2/index.html#/gallery"
114
+ }]
@@ -0,0 +1,108 @@
1
+ [{
2
+ "id" : 17,
3
+ "image" : "devmode/sharedcovid.png",
4
+ "name" : "Multi Window Covid App",
5
+ "sharedWorkers": true,
6
+ "sourceUrl" : "apps/sharedcovid",
7
+ "url" : "dist/development/apps/sharedcovid/index.html#mainview=table"
8
+ }, {
9
+ "id" : 16,
10
+ "image" : "devmode/calendar-preview.png",
11
+ "name" : "Calendar",
12
+ "sourceUrl": "src/calendar",
13
+ "url" : "dist/development/examples/calendar/basic/index.html"
14
+ }, {
15
+ "id" : 15,
16
+ "image" : "devmode/helix.png",
17
+ "name" : "component.Helix",
18
+ "sourceUrl": "examples/component/helix",
19
+ "url" : "dist/development/examples/component/helix/index.html"
20
+ }, {
21
+ "id" : 14,
22
+ "image" : "devmode/coronaGallery.png",
23
+ "name" : "COVID-19 Gallery",
24
+ "sourceUrl": "examples/component/coronaGallery",
25
+ "url" : "dist/development/examples/component/coronaGallery/index.html"
26
+ }, {
27
+ "id" : 13,
28
+ "image" : "devmode/tabContainer.png",
29
+ "name" : "tab.Container",
30
+ "sourceUrl": "examples/tab/container",
31
+ "url" : "dist/development/examples/tab/container/index.html"
32
+ }, {
33
+ "id" : 12,
34
+ "image" : "devmode/model-component-example.png",
35
+ "name" : "View Models Example",
36
+ "sourceUrl": "examples/model/advanced",
37
+ "url" : "dist/development/examples/model/advanced/index.html"
38
+ }, {
39
+ "id" : 11,
40
+ "image" : "devmode/dragdrop.png",
41
+ "name" : "Dialog drag&drop",
42
+ "sourceUrl": "examples/dialog",
43
+ "url" : "dist/development/examples/dialog/"
44
+ }, {
45
+ "id" : 10,
46
+ "image" : "devmode/covidDashboard.png",
47
+ "name" : "Covid Dashboard",
48
+ "sourceUrl": "apps/covid",
49
+ "url" : "dist/development/apps/covid/index.html#mainview=table"
50
+ }, {
51
+ "id" : 9,
52
+ "image" : "devmode/coronaHelix.png",
53
+ "name" : "COVID-19 Helix",
54
+ "sourceUrl": "examples/component/coronaHelix",
55
+ "url" : "dist/development/examples/component/coronaHelix/index.html"
56
+ }, {
57
+ "id" : 8,
58
+ "image" : "devmode/gallery.png",
59
+ "name" : "component.Gallery",
60
+ "sourceUrl": "examples/component/gallery",
61
+ "url" : "dist/development/examples/component/gallery/index.html"
62
+ }, {
63
+ "id" : 7,
64
+ "image" : "devmode/tableFiltering.png",
65
+ "name" : "Table Filtering",
66
+ "sourceUrl": "examples/tableFiltering",
67
+ "url" : "dist/development/examples/tableFiltering/"
68
+ }, {
69
+ "id" : 6,
70
+ "image" : "devmode/dateSelector.png",
71
+ "name" : "component.DateSelector",
72
+ "sourceUrl": "examples/component/dateSelector",
73
+ "url" : "dist/development/examples/component/dateSelector/index.html"
74
+ }, {
75
+ "id" : 5,
76
+ "image" : "devmode/dateField.png",
77
+ "name" : "form.field.Date",
78
+ "sourceUrl": "examples/form/field/date",
79
+ "url" : "dist/development/examples/form/field/date/index.html"
80
+ }, {
81
+ "id" : 4,
82
+ "image" : "devmode/selectField.png",
83
+ "name" : "form.field.ComboBox",
84
+ "sourceUrl": "examples/form/field/combobox",
85
+ "url" : "dist/development/examples/form/field/combobox/index.html"
86
+ }, {
87
+ "hidden" : true,
88
+ "id" : 3,
89
+ "image" : "devmode/multi_window_dd.png",
90
+ "name" : "Multi Window Drag&Drop",
91
+ "sharedWorkers": true,
92
+ "sourceUrl" : "apps/shareddialog",
93
+ "url" : "dist/development/apps/shareddialog/index.html"
94
+ }, {
95
+ "hidden" : true,
96
+ "id" : 2,
97
+ "image" : "devmode/realworldApp.png",
98
+ "name" : "RealWorld App",
99
+ "sourceUrl": "apps/realworld",
100
+ "url" : "dist/development/apps/realworld/index.html"
101
+ }, {
102
+ "hidden" : true,
103
+ "id" : 1,
104
+ "image" : "devmode/realworldApp2.png",
105
+ "name" : "RealWorld App v2</br>(in progress)",
106
+ "sourceUrl": "apps/realworld2",
107
+ "url" : "dist/development/apps/realworld2/index.html#/gallery"
108
+ }]
@@ -0,0 +1,108 @@
1
+ [{
2
+ "id" : 17,
3
+ "image" : "devmode/sharedcovid.png",
4
+ "name" : "Multi Window Covid App",
5
+ "sharedWorkers": true,
6
+ "sourceUrl" : "apps/sharedcovid",
7
+ "url" : "dist/production/apps/sharedcovid/index.html#mainview=table"
8
+ }, {
9
+ "id" : 16,
10
+ "image" : "devmode/calendar-preview.png",
11
+ "name" : "Calendar",
12
+ "sourceUrl": "src/calendar",
13
+ "url" : "dist/production/examples/calendar/basic/index.html"
14
+ }, {
15
+ "id" : 15,
16
+ "image" : "devmode/helix.png",
17
+ "name" : "component.Helix",
18
+ "sourceUrl": "examples/component/helix",
19
+ "url" : "dist/production/examples/component/helix/index.html"
20
+ }, {
21
+ "id" : 14,
22
+ "image" : "devmode/coronaGallery.png",
23
+ "name" : "COVID-19 Gallery",
24
+ "sourceUrl": "examples/component/coronaGallery",
25
+ "url" : "dist/production/examples/component/coronaGallery/index.html"
26
+ }, {
27
+ "id" : 13,
28
+ "image" : "devmode/tabContainer.png",
29
+ "name" : "tab.Container",
30
+ "sourceUrl": "examples/tab/container",
31
+ "url" : "dist/production/examples/tab/container/index.html"
32
+ }, {
33
+ "id" : 12,
34
+ "image" : "devmode/model-component-example.png",
35
+ "name" : "View Models Example",
36
+ "sourceUrl": "examples/model/advanced",
37
+ "url" : "dist/production/examples/model/advanced/index.html"
38
+ }, {
39
+ "id" : 11,
40
+ "image" : "devmode/dragdrop.png",
41
+ "name" : "Dialog drag&drop",
42
+ "sourceUrl": "examples/dialog",
43
+ "url" : "dist/production/examples/dialog/"
44
+ }, {
45
+ "id" : 10,
46
+ "image" : "devmode/covidDashboard.png",
47
+ "name" : "Covid Dashboard",
48
+ "sourceUrl": "apps/covid",
49
+ "url" : "dist/production/apps/covid/index.html#mainview=table"
50
+ }, {
51
+ "id" : 9,
52
+ "image" : "devmode/coronaHelix.png",
53
+ "name" : "COVID-19 Helix",
54
+ "sourceUrl": "examples/component/coronaHelix",
55
+ "url" : "dist/production/examples/component/coronaHelix/index.html"
56
+ }, {
57
+ "id" : 8,
58
+ "image" : "devmode/gallery.png",
59
+ "name" : "component.Gallery",
60
+ "sourceUrl": "examples/component/gallery",
61
+ "url" : "dist/production/examples/component/gallery/index.html"
62
+ }, {
63
+ "id" : 7,
64
+ "image" : "devmode/tableFiltering.png",
65
+ "name" : "Table Filtering",
66
+ "sourceUrl": "examples/tableFiltering",
67
+ "url" : "dist/production/examples/tableFiltering/"
68
+ }, {
69
+ "id" : 6,
70
+ "image" : "devmode/dateSelector.png",
71
+ "name" : "component.DateSelector",
72
+ "sourceUrl": "examples/component/dateSelector",
73
+ "url" : "dist/production/examples/component/dateSelector/index.html"
74
+ }, {
75
+ "id" : 5,
76
+ "image" : "devmode/dateField.png",
77
+ "name" : "form.field.Date",
78
+ "sourceUrl": "examples/form/field/date",
79
+ "url" : "dist/production/examples/form/field/date/index.html"
80
+ }, {
81
+ "id" : 4,
82
+ "image" : "devmode/selectField.png",
83
+ "name" : "form.field.ComboBox",
84
+ "sourceUrl": "examples/form/field/combobox",
85
+ "url" : "dist/production/examples/form/field/combobox/index.html"
86
+ }, {
87
+ "hidden" : true,
88
+ "id" : 3,
89
+ "image" : "devmode/multi_window_dd.png",
90
+ "name" : "Multi Window Drag&Drop",
91
+ "sharedWorkers": true,
92
+ "sourceUrl" : "apps/shareddialog",
93
+ "url" : "dist/production/apps/shareddialog/index.html"
94
+ }, {
95
+ "hidden" : true,
96
+ "id" : 2,
97
+ "image" : "devmode/realworldApp.png",
98
+ "name" : "RealWorld App",
99
+ "sourceUrl": "apps/realworld",
100
+ "url" : "dist/production/apps/realworld/index.html"
101
+ }, {
102
+ "hidden" : true,
103
+ "id" : 1,
104
+ "image" : "devmode/realworldApp2.png",
105
+ "name" : "RealWorld App v2</br>(in progress)",
106
+ "sourceUrl": "apps/realworld2",
107
+ "url" : "dist/production/apps/realworld2/index.html#/gallery"
108
+ }]
@@ -0,0 +1,26 @@
1
+ import Example from '../model/Example.mjs';
2
+ import Store from '../../../src/data/Store.mjs';
3
+
4
+ /**
5
+ * @class Portal.store.Examples
6
+ * @extends Neo.data.Store
7
+ */
8
+ class Examples extends Store {
9
+ static config = {
10
+ /**
11
+ * @member {String} className='Portal.store.Examples'
12
+ * @protected
13
+ */
14
+ className: 'Portal.store.Examples',
15
+ /**
16
+ * @member {String} keyProperty='id'
17
+ */
18
+ keyProperty: 'id',
19
+ /**
20
+ * @member {Neo.data.Model} model=Example
21
+ */
22
+ model: Example
23
+ }
24
+ }
25
+
26
+ export default Neo.setupClass(Examples);
@@ -38,6 +38,9 @@ class HeaderToolbar extends Base {
38
38
  text : 'Blog',
39
39
  reference: 'blog-header-button',
40
40
  route : '/blog'
41
+ }, {
42
+ text : 'Examples',
43
+ route: '/examples'
41
44
  }, {
42
45
  text : 'Services',
43
46
  route: '/services'
@@ -49,9 +49,10 @@ class Viewport extends BaseViewport {
49
49
  {module: () => import('./home/MainContainer.mjs')},
50
50
  {module: () => import('./learn/MainContainer.mjs')},
51
51
  {module: () => import('./blog/Container.mjs')},
52
- {module: () => import('../../../docs/app/view/MainContainer.mjs')},
53
52
  {module: () => import('./services/Component.mjs')},
54
- {module: () => import('./about/Container.mjs')}
53
+ {module: () => import('./examples/TabContainer.mjs')},
54
+ {module: () => import('./about/Container.mjs')},
55
+ {module: () => import('../../../docs/app/view/MainContainer.mjs')}
55
56
  ]
56
57
  }],
57
58
  /**
@@ -43,13 +43,15 @@ class ViewportController extends Controller {
43
43
  * @member {Object} routes
44
44
  */
45
45
  routes: {
46
- '/about-us' : 'onAboutUsRoute',
47
- '/blog' : 'onBlogRoute',
48
- '/docs' : 'onDocsRoute',
49
- '/home' : 'onHomeRoute',
50
- '/learn' : 'onLearnRoute',
51
- '/learn/{itemId}': 'onLearnRoute',
52
- '/services' : 'onServicesRoute',
46
+ '/about-us' : 'onAboutUsRoute',
47
+ '/blog' : 'onBlogRoute',
48
+ '/docs' : 'onDocsRoute',
49
+ '/examples' : 'onExamplesRoute',
50
+ '/examples/{itemId}': 'onExamplesRoute',
51
+ '/home' : 'onHomeRoute',
52
+ '/learn' : 'onLearnRoute',
53
+ '/learn/{itemId}' : 'onLearnRoute',
54
+ '/services' : 'onServicesRoute'
53
55
  },
54
56
  /**
55
57
  * Values are: large, medium, small, xSmall
@@ -230,7 +232,16 @@ class ViewportController extends Controller {
230
232
  * @param {Object} oldValue
231
233
  */
232
234
  onDocsRoute(params, value, oldValue) {
233
- this.setMainContentIndex(3)
235
+ this.setMainContentIndex(6)
236
+ }
237
+
238
+ /**
239
+ * @param {Object} params
240
+ * @param {Object} value
241
+ * @param {Object} oldValue
242
+ */
243
+ onExamplesRoute(params, value, oldValue) {
244
+ this.setMainContentIndex(4)
234
245
  }
235
246
 
236
247
  /**
@@ -257,7 +268,7 @@ class ViewportController extends Controller {
257
268
  * @param {Object} oldValue
258
269
  */
259
270
  onServicesRoute(params, value, oldValue) {
260
- this.setMainContentIndex(4)
271
+ this.setMainContentIndex(3)
261
272
  }
262
273
 
263
274
  /**
@@ -272,12 +283,19 @@ class ViewportController extends Controller {
272
283
 
273
284
  if (index !== activeIndex) {
274
285
  me.activeIndex = index;
275
- me.#transitionId++;
276
-
277
- transitionId = me.#transitionId;
278
286
 
279
- // skip the initial layout-switch, since we do not need a transition
280
- if (mainContentLayout === 'mixed' && Neo.isNumber(activeIndex)) {
287
+ if (
288
+ mainContentLayout === 'mixed' &&
289
+ // skip the initial layout-switch, since we do not need a transition
290
+ Neo.isNumber(activeIndex) &&
291
+ // also skip the layout switch in case the index >= 6, since a cube only has 6 faces
292
+ index < 6 &&
293
+ // also skip the layout switch in case we navigate back from a non-cube item
294
+ activeIndex < 6
295
+ ) {
296
+ me.#transitionId++;
297
+
298
+ transitionId = me.#transitionId;
281
299
  updateLayout = false;
282
300
 
283
301
  // enable "fast clicking" on main nav items => do not replace a cube layout with a new instance of cube
@@ -58,9 +58,9 @@ class Container extends Base {
58
58
  teamRole : 'Training'
59
59
  }],
60
60
  /**
61
- * @member {Object} layout={ntype:'vbox',align:'start'}
61
+ * @member {Object} layout={ntype:'vbox',align:'center'}
62
62
  */
63
- layout: {ntype: 'vbox', align: 'start'}
63
+ layout: {ntype: 'vbox', align: 'center'}
64
64
  }
65
65
  }
66
66
 
@@ -28,9 +28,9 @@ class List extends BaseList {
28
28
  /**
29
29
  * Specify the amount of delayed observe() calls, in case the IntersectionObserver does not find targets.
30
30
  * This can happen when moving the component inside the DOM (e.g. cube layout)
31
- * @member {Number} intersectionObserverReconnects=5
31
+ * @member {Number} intersectionObserverReconnects=10
32
32
  */
33
- intersectionObserverReconnects: 5,
33
+ intersectionObserverReconnects: 10,
34
34
  /**
35
35
  * Specify how many blog item images to preload when intersecting
36
36
  * @member {Number} preloadImages=5
@@ -249,7 +249,7 @@ class List extends BaseList {
249
249
  len = me.intersectionObserverReconnects,
250
250
  data;
251
251
 
252
- await me.timeout(50);
252
+ await me.timeout(150);
253
253
 
254
254
  data = await Neo.main.addon.IntersectionObserver.register({
255
255
  ...opts,