neo.mjs 6.29.0 → 6.31.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 (30) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/portal/neo-config.json +13 -2
  3. package/apps/portal/view/home/parts/Colors.mjs +2 -2
  4. package/apps/portal/view/home/parts/Helix.mjs +2 -2
  5. package/apps/portal/view/home/parts/How.mjs +10 -5
  6. package/apps/portal/view/learn/ContentTreeList.mjs +10 -11
  7. package/apps/portal/view/learn/MainContainerModel.mjs +4 -0
  8. package/apps/portal/view/learn/PageSectionsContainer.mjs +6 -2
  9. package/apps/portal/view/learn/PageSectionsList.mjs +9 -0
  10. package/docs/app/store/Api.mjs +5 -1
  11. package/docs/app/store/Examples.mjs +5 -1
  12. package/docs/app/view/ApiTreeList.mjs +1 -10
  13. package/docs/app/view/ExamplesTreeList.mjs +1 -10
  14. package/examples/ServiceWorker.mjs +2 -2
  15. package/examples/button/base/MainContainer.mjs +7 -0
  16. package/package.json +3 -3
  17. package/resources/images/worker-setup.svg +3 -0
  18. package/resources/images/workers-focus.svg +3 -0
  19. package/resources/scss/src/apps/portal/home/parts/BaseContainer.scss +9 -0
  20. package/resources/scss/src/apps/portal/home/parts/How.scss +29 -0
  21. package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +14 -1
  22. package/resources/scss/src/apps/portal/learn/PageContainer.scss +2 -0
  23. package/resources/scss/src/apps/portal/learn/PageSectionsContainer.scss +6 -0
  24. package/resources/scss/src/component/wrapper/MonacoEditor.scss +2 -1
  25. package/resources/scss/theme-dark/tooltip/Base.scss +2 -2
  26. package/resources/scss/theme-light/tooltip/Base.scss +2 -2
  27. package/src/DefaultConfig.mjs +2 -2
  28. package/src/component/Base.mjs +5 -5
  29. package/src/tree/List.mjs +19 -6
  30. package/FlowOfExecution.eps +0 -1603
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.29.0'
23
+ * @member {String} version='6.31.0'
24
24
  */
25
- version: '6.29.0'
25
+ version: '6.31.0'
26
26
  }
27
27
 
28
28
  /**
@@ -3,8 +3,19 @@
3
3
  "basePath" : "../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
6
- "mainThreadAddons": ["AmCharts", "DragDrop", "HighlightJS", "IntersectionObserver", "MonacoEditor", "Navigator", "ResizeObserver", "Stylesheet"],
7
6
  "remotesApiUrl" : "remotes-api.json",
8
7
  "themes" : ["neo-theme-neo-light", "neo-theme-light", "neo-theme-dark"],
9
- "useSharedWorkers": true
8
+ "useSharedWorkers": true,
9
+
10
+ "mainThreadAddons": [
11
+ "AmCharts",
12
+ "DragDrop",
13
+ "HighlightJS",
14
+ "IntersectionObserver",
15
+ "MonacoEditor",
16
+ "Navigator",
17
+ "ResizeObserver",
18
+ "Stylesheet",
19
+ "WebComponent"
20
+ ]
10
21
  }
@@ -63,9 +63,9 @@ class Colors extends BaseContainer {
63
63
  }]
64
64
  }, {
65
65
  ntype : 'container',
66
+ cls : 'portal-content-wrapper',
66
67
  flex : '2',
67
- style : {background: 'lightgray', padding: '20px'},
68
- layout: {ntype: 'vbox', align: 'stretch', pack: 'center'},
68
+ layout: 'fit',
69
69
  items : [{
70
70
  module : LivePreview,
71
71
  cls : ['page-live-preview'],
@@ -73,9 +73,9 @@ class Helix extends BaseContainer {
73
73
  }]
74
74
  }, {
75
75
  ntype : 'container',
76
+ cls : 'portal-content-wrapper',
76
77
  flex : '2',
77
- style : {background: 'lightgray', padding: '20px'},
78
- layout: {ntype: 'vbox', align: 'stretch', pack: 'center'},
78
+ layout: 'fit',
79
79
  items : [{
80
80
  module : LivePreview,
81
81
  cls : ['page-live-preview'],
@@ -52,13 +52,18 @@ class How extends BaseContainer {
52
52
  }]
53
53
  }, {
54
54
  ntype : 'container',
55
+ cls : 'portal-content-wrapper',
55
56
  flex : '2',
56
- style : {background: 'lightgray', padding: '20px'},
57
- layout: {ntype: 'vbox', align: 'stretch', pack: 'center'},
57
+ layout: 'fit',
58
58
  items : [{
59
- flex : 'none',
60
- style: {width: '100%'},
61
- vdom : {tag: 'img', src: 'https://s3.amazonaws.com/mjs.neo.learning.images/why/IndexHtmlFlow.png'}
59
+ ntype : 'container',
60
+ cls : 'portal-content-container',
61
+ layout: 'fit',
62
+ items : [{
63
+ cls : 'neo-worker-setup',
64
+ tag : 'element-loader',
65
+ vdom: {src: '../../resources/images/workers-focus.svg'}
66
+ }]
62
67
  }]
63
68
  }]
64
69
  }
@@ -62,17 +62,7 @@ class ContentTreeList extends TreeList {
62
62
  *
63
63
  */
64
64
  doLoadStore() {
65
- let me = this;
66
-
67
- Neo.Xhr.promiseJson({
68
- url: `${me.contentPath}/tree.json`
69
- }).then(data => {
70
- // TODO: Tree lists should do this themselves when their store is loaded.
71
- me.store.data = data.json.data;
72
- me.getModel().data.countPages = me.store.getCount();
73
- me.createItems(null, me.getListItemsRoot(), 0);
74
- me.update()
75
- })
65
+ this.store.load({url: `${this.contentPath}/tree.json`})
76
66
  }
77
67
 
78
68
  /**
@@ -86,6 +76,15 @@ class ContentTreeList extends TreeList {
86
76
  windowId: this.windowId
87
77
  })
88
78
  }
79
+
80
+ /**
81
+ *
82
+ */
83
+ onStoreLoad() {
84
+ super.onStoreLoad();
85
+
86
+ this.getModel().data.countPages = this.store.getCount()
87
+ }
89
88
  }
90
89
 
91
90
  Neo.setupClass(ContentTreeList);
@@ -29,6 +29,10 @@ class MainContainerModel extends Component {
29
29
  * @member {Number|null} data.countPages=null
30
30
  */
31
31
  countPages: null,
32
+ /**
33
+ * @member {Number|null} data.countPages=null
34
+ */
35
+ countSections: null,
32
36
  /**
33
37
  * The record which gets shown as the content page
34
38
  * @member {Object} data.currentRecord=null
@@ -21,11 +21,15 @@ class PageSectionsContainer extends Container {
21
21
  */
22
22
  items: [{
23
23
  ntype : 'button',
24
- bind : {hidden: data => data.size === 'large'},
25
24
  cls : ['sections-container-button'],
26
25
  handler: 'onPageSectionsToggleButtonClick',
27
26
  iconCls: 'fas fa-bars',
28
- ui : 'secondary'
27
+ ui : 'secondary',
28
+
29
+ bind: {
30
+ disabled: data => data.countSections < 1,
31
+ hidden : data => data.size === 'large'
32
+ }
29
33
  }, {
30
34
  vdom:
31
35
  {cn: [
@@ -75,6 +75,15 @@ class PageSectionsList extends List {
75
75
  me.isAnimating = false
76
76
  }
77
77
  }
78
+
79
+ /**
80
+ *
81
+ */
82
+ onStoreLoad() {
83
+ super.onStoreLoad();
84
+
85
+ this.getModel().data.countSections = this.store.getCount()
86
+ }
78
87
  }
79
88
 
80
89
  Neo.setupClass(PageSectionsList);
@@ -19,7 +19,11 @@ class Api extends Store {
19
19
  /**
20
20
  * @member {Neo.data.Model} model=ApiModel
21
21
  */
22
- model: ApiModel
22
+ model: ApiModel,
23
+ /**
24
+ * @member {String} url='../../docs/output/structure.json'
25
+ */
26
+ url: '../../docs/output/structure.json'
23
27
  }
24
28
  }
25
29
 
@@ -19,7 +19,11 @@ class Examples extends Store {
19
19
  /**
20
20
  * @member {Neo.data.Model} model=Example
21
21
  */
22
- model: Example
22
+ model: Example,
23
+ /**
24
+ * @member {String} url='../../docs/examples.json'
25
+ */
26
+ url: '../../docs/examples.json'
23
27
  }
24
28
  }
25
29
 
@@ -29,16 +29,7 @@ class ApiTreeList extends TreeList {
29
29
  */
30
30
  onConstructed() {
31
31
  super.onConstructed();
32
-
33
- let me = this;
34
-
35
- Neo.Xhr.promiseJson({
36
- url: '../../docs/output/structure.json'
37
- }).then(data => {
38
- me.store.data = data.json;
39
- me.createItems(null, me.getListItemsRoot(), 0);
40
- me.update();
41
- });
32
+ this.store.load()
42
33
  }
43
34
  }
44
35
 
@@ -33,16 +33,7 @@ class ExamplesTreeList extends TreeList {
33
33
  */
34
34
  onConstructed() {
35
35
  super.onConstructed();
36
-
37
- let me = this;
38
-
39
- Neo.Xhr.promiseJson({
40
- url: '../../docs/examples.json'
41
- }).then(data => {
42
- me.store.data = data.json;
43
- me.createItems(null, me.getListItemsRoot(), 0);
44
- me.update();
45
- });
36
+ this.store.load()
46
37
  }
47
38
  }
48
39
 
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.29.0'
23
+ * @member {String} version='6.31.0'
24
24
  */
25
- version: '6.29.0'
25
+ version: '6.31.0'
26
26
  }
27
27
 
28
28
  /**
@@ -136,6 +136,13 @@ class MainContainer extends ConfigurationViewport {
136
136
  listeners : {change: me.onConfigChange.bind(me, 'text')},
137
137
  style : {marginTop: '10px'},
138
138
  value : me.exampleComponent.text
139
+ }, {
140
+ module : TextField,
141
+ clearable : true,
142
+ labelText : 'tooltip',
143
+ listeners : {change: me.onConfigChange.bind(me, 'tooltip')},
144
+ style : {marginTop: '10px'},
145
+ value : me.exampleComponent.tooltip
139
146
  }, {
140
147
  module : ComboBox,
141
148
  forceSelection: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "6.29.0",
3
+ "version": "6.31.0",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -44,7 +44,7 @@
44
44
  "homepage": "https://neomjs.com/",
45
45
  "devDependencies": {
46
46
  "@fortawesome/fontawesome-free": "^6.6.0",
47
- "autoprefixer": "^10.4.19",
47
+ "autoprefixer": "^10.4.20",
48
48
  "chalk": "^5.3.0",
49
49
  "clean-webpack-plugin": "^4.0.0",
50
50
  "commander": "^12.1.0",
@@ -52,7 +52,7 @@
52
52
  "envinfo": "^7.13.0",
53
53
  "fs-extra": "^11.2.0",
54
54
  "highlightjs-line-numbers.js": "^2.8.0",
55
- "inquirer": "^10.1.6",
55
+ "inquirer": "^10.1.7",
56
56
  "marked": "^13.0.3",
57
57
  "monaco-editor": "^0.50.0",
58
58
  "neo-jsdoc": "1.0.1",