neo.mjs 7.2.0 → 7.4.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 (52) hide show
  1. package/README.md +12 -6
  2. package/apps/ServiceWorker.mjs +2 -2
  3. package/apps/portal/index.html +1 -1
  4. package/apps/portal/model/Example.mjs +14 -4
  5. package/apps/portal/resources/data/examples_devmode.json +141 -173
  6. package/apps/portal/resources/data/examples_dist_dev.json +135 -164
  7. package/apps/portal/resources/data/examples_dist_prod.json +135 -164
  8. package/apps/portal/store/Examples.mjs +1 -8
  9. package/apps/portal/view/blog/List.mjs +12 -14
  10. package/apps/portal/view/examples/List.mjs +181 -37
  11. package/apps/portal/view/examples/TabContainer.mjs +6 -3
  12. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  13. package/apps/realworld/api/Article.mjs +7 -1
  14. package/apps/realworld/api/Favorite.mjs +7 -1
  15. package/apps/realworld/api/Profile.mjs +7 -1
  16. package/apps/realworld/api/Tag.mjs +7 -1
  17. package/apps/realworld/api/User.mjs +7 -1
  18. package/apps/realworld2/api/Article.mjs +7 -1
  19. package/apps/realworld2/api/Favorite.mjs +7 -1
  20. package/apps/realworld2/api/Profile.mjs +7 -1
  21. package/apps/realworld2/api/Tag.mjs +7 -1
  22. package/apps/realworld2/api/User.mjs +7 -1
  23. package/examples/ServiceWorker.mjs +2 -2
  24. package/examples/table/container/MainStore.mjs +0 -6
  25. package/package.json +5 -3
  26. package/resources/scss/src/apps/portal/examples/List.scss +16 -0
  27. package/resources/scss/src/apps/portal/examples/TabContainer.scss +2 -2
  28. package/src/DefaultConfig.mjs +2 -2
  29. package/src/Main.mjs +8 -0
  30. package/src/calendar/view/MainContainer.mjs +6 -5
  31. package/src/component/Base.mjs +4 -3
  32. package/src/component/DateSelector.mjs +4 -5
  33. package/src/dialog/Base.mjs +3 -1
  34. package/src/form/field/Time.mjs +3 -2
  35. package/src/list/Base.mjs +15 -2
  36. package/src/main/DomAccess.mjs +7 -5
  37. package/src/main/DomEvents.mjs +2 -1
  38. package/src/selection/grid/CellColumnModel.mjs +1 -1
  39. package/src/selection/grid/CellColumnRowModel.mjs +2 -2
  40. package/src/selection/grid/CellModel.mjs +16 -23
  41. package/src/selection/grid/CellRowModel.mjs +1 -1
  42. package/src/selection/grid/ColumnModel.mjs +14 -8
  43. package/src/selection/grid/RowModel.mjs +15 -10
  44. package/src/selection/table/CellColumnModel.mjs +1 -1
  45. package/src/selection/table/CellColumnRowModel.mjs +1 -1
  46. package/src/selection/table/CellModel.mjs +16 -25
  47. package/src/selection/table/CellRowModel.mjs +1 -1
  48. package/src/selection/table/ColumnModel.mjs +16 -10
  49. package/src/selection/table/RowModel.mjs +14 -9
  50. package/src/table/View.mjs +2 -2
  51. package/src/worker/App.mjs +11 -0
  52. package/src/worker/ServiceBase.mjs +14 -5
package/README.md CHANGED
@@ -25,9 +25,10 @@ you have found the right spot.
25
25
  1. <a href="#introduction">Introduction</a>
26
26
  2. <a href="#use-cases">Potential Use Cases</a>
27
27
  3. <a href="#slack-channel">Slack Channel for questions & feedback</a>
28
- 4. <a href="#getting-started">Getting Started</a>
29
- 5. <a href="#cli">Command-Line Interface</a>
30
- 6. <a href="#blog">Blog</a>
28
+ 4. <a href="#examples">Examples</a>
29
+ 5. <a href="#getting-started">Getting Started</a>
30
+ 6. <a href="#cli">Command-Line Interface</a>
31
+ 7. <a href="#blog">Blog</a>
31
32
 
32
33
  </br><h2 id="introduction">1. Introduction</h2>
33
34
  Neo.mjs drives the OMT (off the main thread) paradigm into perfection,
@@ -70,16 +71,21 @@ but instead on a super-fast update & navigation experience for returning users.
70
71
  Join our community:</br>
71
72
  <a href="https://join.slack.com/t/neomjs/shared_invite/zt-6c50ueeu-3E1~M4T9xkNnb~M_prEEOA"><img src="https://img.shields.io/badge/Slack-neo.mjs-brightgreen.svg?logo=slack&style=for-the-badge" alt="Join the Slack channel"></a>
72
73
 
73
- </br><h2 id="getting-started">4. Getting Started</h2>
74
+ </br><h2 id="examples">4. Examples</h2>
75
+ Some exciting Examples are listed here: <a href="https://neomjs.com/dist/production/apps/portal/#/examples">Neo.mjs Examples</a>
76
+
77
+ Many more are included inside the repos `src/apps` & `src/examples` folders.
78
+
79
+ </br><h2 id="getting-started">5. Getting Started</h2>
74
80
  * Take a look at the <a href="./.github/GETTING_STARTED.md">Getting Started Guide</a>
75
81
  * Make sure to dive into the <a href="https://neomjs.com/dist/production/apps/portal/#/learn/gettingstarted.Setup">Learning Section</a>
76
82
  * The most advanced tutorial to help you with getting up to speed is this one:</br>
77
83
  <a href="https://neomjs.com/dist/production/apps/portal/#/learn/tutorials.Earthquakes">Earthquakes Tutorial</a>
78
84
 
79
- </br><h2 id="cli">5. Command-Line Interface</h2>
85
+ </br><h2 id="cli">6. Command-Line Interface</h2>
80
86
  You can find an in-depth description here: <a href="./buildScripts/README.md">Neo.mjs CLI</a>
81
87
 
82
- </br><h2 id="blog">6. Blog</h2>
88
+ </br><h2 id="blog">7. Blog</h2>
83
89
  All Blog Posts are listed here: <a href="https://neomjs.com/dist/production/apps/portal/#/blog">Neo.mjs Blog</a>
84
90
 
85
91
  </br></br>
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='7.2.0'
23
+ * @member {String} version='7.4.0'
24
24
  */
25
- version: '7.2.0'
25
+ version: '7.4.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-12",
19
+ "datePublished": "2024-09-15",
20
20
  "publisher": {
21
21
  "@type": "Organization",
22
22
  "name": "Neo.mjs"
@@ -19,11 +19,17 @@ class Example extends Model {
19
19
  name: 'backgroundColor',
20
20
  type: 'String'
21
21
  }, {
22
- name: 'browsers',
23
- type: 'Array'
22
+ name : 'browsers',
23
+ type : 'Array',
24
+ defaultValue: ['Chrome', 'Edge', 'Firefox', 'Safari']
24
25
  }, {
25
- name: 'environments',
26
- type: 'Array'
26
+ name : 'environments',
27
+ type : 'Array',
28
+ defaultValue: ['Desktop']
29
+ }, {
30
+ name : 'hidden',
31
+ type : 'Boolean',
32
+ defaultValue: false
27
33
  }, {
28
34
  name: 'id',
29
35
  type: 'Integer'
@@ -33,6 +39,10 @@ class Example extends Model {
33
39
  }, {
34
40
  name: 'name',
35
41
  type: 'String'
42
+ }, {
43
+ name : 'sharedWorkers',
44
+ type : 'Boolean',
45
+ defaultValue: false
36
46
  }, {
37
47
  name: 'sourceUrl',
38
48
  type: 'String'
@@ -1,173 +1,141 @@
1
- [
2
- {
3
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
4
- "environments": ["Desktop"],
5
- "id" : 19,
6
- "image" : "devmode/model-component-example.png",
7
- "name" : "View Models Example",
8
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/model/advanced",
9
- "url" : "https://neomjs.com/examples/model/advanced/index.html"
10
- },
11
- {
12
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
13
- "environments": ["Desktop"],
14
- "id" : 18,
15
- "image" : "devmode/sharedcovid.png",
16
- "name" : "Multi Window Covid App",
17
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/apps/sharedcovid",
18
- "url" : "https://neomjs.com/apps/sharedcovid/index.html#mainview=table"
19
- },
20
- {
21
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
22
- "environments": ["Desktop"],
23
- "id" : 17,
24
- "image" : "devmode/calendar-preview.png",
25
- "name" : "Calendar",
26
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/src/calendar",
27
- "url" : "https://neomjs.com/examples/calendar/basic/index.html"
28
- },
29
- {
30
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
31
- "environments": ["Desktop"],
32
- "id" : 16,
33
- "image" : "devmode/covidDashboard.png",
34
- "name" : "Covid Dashboard",
35
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/apps/covid",
36
- "url" : "https://neomjs.com/apps/covid/index.html"
37
- },
38
- {
39
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
40
- "environments": ["Desktop"],
41
- "id" : 15,
42
- "image" : "devmode/multi_window_dd.png",
43
- "name" : "Multi Window Drag&Drop",
44
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/apps/shareddialog",
45
- "url" : "https://neomjs.com/apps/shareddialog/index.html"
46
- },
47
- {
48
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
49
- "environments": ["Desktop"],
50
- "id" : 14,
51
- "image" : "devmode/realworldApp.png",
52
- "name" : "RealWorld App",
53
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/apps/realworld",
54
- "url" : "https://neomjs.com/apps/realworld/index.html"
55
- },
56
- {
57
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
58
- "environments": ["Desktop"],
59
- "id" : 13,
60
- "image" : "devmode/coronaGallery.png",
61
- "name" : "COVID-19 Gallery",
62
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/component/coronaGallery",
63
- "url" : "https://neomjs.com/examples/component/coronaGallery/index.html"
64
- },
65
- {
66
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
67
- "environments": ["Desktop"],
68
- "id" : 12,
69
- "image" : "devmode/coronaHelix.png",
70
- "name" : "COVID-19 Helix",
71
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/component/coronaHelix",
72
- "url" : "https://neomjs.com/examples/component/coronaHelix/index.html"
73
- },
74
- {
75
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
76
- "environments": ["Desktop"],
77
- "id" : 11,
78
- "image" : "devmode/website.png",
79
- "name" : "Neo Website App",
80
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/apps/website",
81
- "url" : "https://neomjs.com/apps/website/index.html#mainview=blog"
82
- },
83
- {
84
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
85
- "environments": ["Desktop"],
86
- "id" : 10,
87
- "image" : "devmode/tableFiltering.png",
88
- "name" : "Table Filtering",
89
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/tableFiltering",
90
- "url" : "https://neomjs.com/examples/tableFiltering/"
91
- },
92
- {
93
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
94
- "environments": ["Desktop"],
95
- "id" : 9,
96
- "image" : "devmode/dragdrop.png",
97
- "name" : "Dialog drag&drop",
98
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/dialog",
99
- "url" : "https://neomjs.com/examples/dialog/"
100
- },
101
- {
102
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
103
- "environments": ["Desktop"],
104
- "id" : 8,
105
- "image" : "devmode/realworldApp2.png",
106
- "name" : "RealWorld App v2</br>(in progress)",
107
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/apps/realworld2",
108
- "url" : "https://neomjs.com/apps/realworld2/index.html#/gallery"
109
- },
110
- {
111
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
112
- "environments": ["Desktop"],
113
- "id" : 7,
114
- "image" : "devmode/dateSelector.png",
115
- "name" : "component.DateSelector",
116
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/component/dateSelector",
117
- "url" : "https://neomjs.com/examples/component/dateSelector/index.html"
118
- },
119
- {
120
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
121
- "environments": ["Desktop"],
122
- "id" : 6,
123
- "image" : "devmode/gallery.png",
124
- "name" : "component.Gallery",
125
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/component/gallery",
126
- "url" : "https://neomjs.com/examples/component/gallery/index.html"
127
- },
128
- {
129
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
130
- "environments": ["Desktop"],
131
- "id" : 5,
132
- "image" : "devmode/helix.png",
133
- "name" : "component.Helix",
134
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/component/helix",
135
- "url" : "https://neomjs.com/examples/component/helix/index.html"
136
- },
137
- {
138
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
139
- "environments": ["Desktop"],
140
- "id" : 4,
141
- "image" : "devmode/dateField.png",
142
- "name" : "form.field.Date",
143
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/form/field/date",
144
- "url" : "https://neomjs.com/examples/form/field/date/index.html"
145
- },
146
- {
147
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
148
- "environments": ["Desktop"],
149
- "id" : 3,
150
- "image" : "devmode/selectField.png",
151
- "name" : "form.field.Select",
152
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/form/field/select",
153
- "url" : "https://neomjs.com/examples/form/field/select/index.html"
154
- },
155
- {
156
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
157
- "environments": ["Desktop"],
158
- "id" : 2,
159
- "image" : "devmode/tabContainer.png",
160
- "name" : "tab.Container",
161
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/examples/tab/container",
162
- "url" : "https://neomjs.com/examples/tab/container/index.html"
163
- },
164
- {
165
- "browsers" : ["Chrome", "Edge", "Firefox", "Safari"],
166
- "environments": ["Desktop"],
167
- "id" : 1,
168
- "image" : "devmode/siesta.png",
169
- "name" : "Siesta Unit Tests",
170
- "sourceUrl" : "https://github.com/neo.mjs/neo/tree/dev/test/siesta",
171
- "url" : "https://neomjs.com/test/siesta/index.html"
172
- }
173
- ]
1
+ [{
2
+ "id" : 22,
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" : 21,
10
+ "image" : "devmode/calendar-preview.png",
11
+ "name" : "Calendar",
12
+ "sourceUrl": "src/calendar",
13
+ "url" : "examples/calendar/basic/index.html"
14
+ }, {
15
+ "id" : 20,
16
+ "image" : "devmode/helix.png",
17
+ "name" : "component.Helix",
18
+ "sourceUrl": "examples/component/helix",
19
+ "url" : "examples/component/helix/index.html"
20
+ }, {
21
+ "id" : 19,
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" : 18,
28
+ "image" : "devmode/offscreenCanvas.png",
29
+ "name" : "OffscreenCanvas",
30
+ "sourceUrl": "https://github.com/neomjs/offscreen-canvas/",
31
+ "url" : "https://neomjs.github.io/pages2/workspace/neo-offscreen-canvas-demo/apps/myapp/index.html"
32
+ }, {
33
+ "id" : 17,
34
+ "image" : "devmode/sharedOffscreenCanvas.png",
35
+ "name" : "Multi-Window OffscreenCanvas",
36
+ "sourceUrl" : "https://github.com/neomjs/shared-offscreen",
37
+ "sharedWorkers": true,
38
+ "url" : "https://neomjs.github.io/pages2/workspace/neo-shared-offscreen-canvas-demo/apps/mainapp/index.html"
39
+ }, {
40
+ "id" : 16,
41
+ "image" : "devmode/tabContainer.png",
42
+ "name" : "tab.Container",
43
+ "sourceUrl": "examples/tab/container",
44
+ "url" : "examples/tab/container/index.html"
45
+ }, {
46
+ "id" : 15,
47
+ "image" : "devmode/model-component-example.png",
48
+ "name" : "View Models Example",
49
+ "sourceUrl": "examples/model/advanced",
50
+ "url" : "examples/model/advanced/index.html"
51
+ }, {
52
+ "id" : 14,
53
+ "image" : "devmode/dragdrop.png",
54
+ "name" : "Dialog drag&drop",
55
+ "sourceUrl": "examples/dialog",
56
+ "url" : "examples/dialog/"
57
+ }, {
58
+ "id" : 13,
59
+ "image" : "dist_prod/colorsApp.png",
60
+ "name" : "Colors Dashboard",
61
+ "sharedWorkers": true,
62
+ "sourceUrl" : "apps/colors",
63
+ "url" : "apps/colors/index.html"
64
+ }, {
65
+ "id" : 12,
66
+ "image" : "devmode/covidDashboard.png",
67
+ "name" : "Covid Dashboard",
68
+ "sourceUrl": "apps/covid",
69
+ "url" : "apps/covid/index.html"
70
+ }, {
71
+ "id" : 11,
72
+ "image" : "devmode/coronaHelix.png",
73
+ "name" : "COVID-19 Helix",
74
+ "sourceUrl": "examples/component/coronaHelix",
75
+ "url" : "examples/component/coronaHelix/index.html"
76
+ }, {
77
+ "id" : 10,
78
+ "image" : "devmode/gallery.png",
79
+ "name" : "component.Gallery",
80
+ "sourceUrl": "examples/component/gallery",
81
+ "url" : "examples/component/gallery/index.html"
82
+ }, {
83
+ "id" : 9,
84
+ "image" : "devmode/tableFiltering.png",
85
+ "name" : "Table Filtering",
86
+ "sourceUrl": "examples/tableFiltering",
87
+ "url" : "examples/tableFiltering/"
88
+ }, {
89
+ "id" : 8,
90
+ "image" : "devmode/dateSelector.png",
91
+ "name" : "component.DateSelector",
92
+ "sourceUrl": "examples/component/dateSelector",
93
+ "url" : "examples/component/dateSelector/index.html"
94
+ }, {
95
+ "id" : 7,
96
+ "image" : "devmode/dateField.png",
97
+ "name" : "form.field.Date",
98
+ "sourceUrl": "examples/form/field/date",
99
+ "url" : "examples/form/field/date/index.html"
100
+ }, {
101
+ "id" : 6,
102
+ "image" : "devmode/selectField.png",
103
+ "name" : "form.field.ComboBox",
104
+ "sourceUrl": "examples/form/field/combobox",
105
+ "url" : "examples/form/field/combobox/index.html"
106
+ }, {
107
+ "id" : 5,
108
+ "image" : "dist_prod/portalApp.png",
109
+ "name" : "Portal App",
110
+ "sharedWorkers": true,
111
+ "sourceUrl" : "apps/portal",
112
+ "url" : "apps/portal/index.html"
113
+ }, {
114
+ "id" : 4,
115
+ "image" : "devmode/siesta.png",
116
+ "name" : "Siesta Unit Tests",
117
+ "sourceUrl": "test/siesta",
118
+ "url" : "test/siesta/index.html"
119
+ }, {
120
+ "hidden" : true,
121
+ "id" : 3,
122
+ "image" : "devmode/multi_window_dd.png",
123
+ "name" : "Multi Window Drag&Drop",
124
+ "sharedWorkers": true,
125
+ "sourceUrl" : "apps/shareddialog",
126
+ "url" : "apps/shareddialog/index.html"
127
+ }, {
128
+ "hidden" : true,
129
+ "id" : 2,
130
+ "image" : "devmode/realworldApp.png",
131
+ "name" : "RealWorld App",
132
+ "sourceUrl": "apps/realworld",
133
+ "url" : "apps/realworld/index.html"
134
+ }, {
135
+ "hidden" : true,
136
+ "id" : 1,
137
+ "image" : "devmode/realworldApp2.png",
138
+ "name" : "RealWorld App v2</br>(in progress)",
139
+ "sourceUrl": "apps/realworld2",
140
+ "url" : "apps/realworld2/index.html#/gallery"
141
+ }]