neo.mjs 6.9.9 → 6.9.11

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 (242) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/learnneo/neo-config.json +5 -1
  3. package/apps/learnneo/store/Content.mjs +1 -1
  4. package/apps/learnneo/view/Viewport.mjs +12 -1
  5. package/apps/learnneo/view/home/ContentTreeList.mjs +53 -34
  6. package/apps/learnneo/view/home/ContentView.mjs +60 -0
  7. package/apps/learnneo/view/home/MainContainer.mjs +36 -9
  8. package/apps/learnneo/view/home/MainContainerController.mjs +57 -18
  9. package/apps/newwebsite/app.mjs +6 -0
  10. package/apps/newwebsite/index.html +10 -0
  11. package/apps/newwebsite/neo-config.json +7 -0
  12. package/apps/newwebsite/view/MainContainer.mjs +59 -0
  13. package/buildScripts/webpack/json/myApps.template.json +1 -0
  14. package/examples/ConfigurationViewport.mjs +12 -9
  15. package/examples/ServiceWorker.mjs +2 -2
  16. package/examples/button/base/neo-config.json +1 -2
  17. package/examples/form/field/textarea/MainContainer.mjs +1 -1
  18. package/package.json +2 -2
  19. package/resources/data/{learnneo → deck/learnneo}/p/2023-10-01T18-29-19-158Z.md +3 -6
  20. package/resources/data/deck/learnneo/p/stylesheet.md +40 -0
  21. package/resources/data/{learnneo → deck/learnneo}/t.json +19 -2
  22. package/resources/data/deck/training/p/2022-12-27T21-54-52-300Z.md +11 -0
  23. package/resources/data/deck/training/p/2022-12-27T21-55-23-144Z.md +43 -0
  24. package/resources/data/deck/training/p/2022-12-27T21-55-30-948Z.md +1 -0
  25. package/resources/data/deck/training/p/2022-12-27T21-55-43-542Z.md +84 -0
  26. package/resources/data/deck/training/p/2022-12-27T22-23-55-083Z.md +1 -0
  27. package/resources/data/deck/training/p/2022-12-27T22-24-07-886Z.md +8 -0
  28. package/resources/data/deck/training/p/2022-12-27T22-24-52-295Z.md +8 -0
  29. package/resources/data/deck/training/p/2022-12-27T22-25-03-853Z.md +5 -0
  30. package/resources/data/deck/training/p/2022-12-27T22-43-58-924Z.md +10 -0
  31. package/resources/data/deck/training/p/2022-12-27T22-44-28-881Z.md +3 -0
  32. package/resources/data/deck/training/p/2022-12-27T22-44-41-791Z.md +4 -0
  33. package/resources/data/deck/training/p/2022-12-27T22-45-21-032Z.md +7 -0
  34. package/resources/data/deck/training/p/2022-12-27T22-49-22-078Z.md +4 -0
  35. package/resources/data/deck/training/p/2022-12-27T22-50-20-626Z.md +4 -0
  36. package/resources/data/deck/training/p/2022-12-28T16-58-47-786Z.md +0 -0
  37. package/resources/data/deck/training/p/2022-12-28T16-58-55-192Z.md +9 -0
  38. package/resources/data/deck/training/p/2022-12-28T17-10-18-058Z.md +15 -0
  39. package/resources/data/deck/training/p/2022-12-28T17-10-42-296Z.md +40 -0
  40. package/resources/data/deck/training/p/2022-12-28T17-11-34-653Z.md +41 -0
  41. package/resources/data/deck/training/p/2022-12-28T17-13-09-994Z.md +0 -0
  42. package/resources/data/deck/training/p/2022-12-28T21-32-14-420Z.md +0 -0
  43. package/resources/data/deck/training/p/2022-12-29T01-43-32-431Z.md +7 -0
  44. package/resources/data/deck/training/p/2022-12-29T15-56-54-485Z.md +7 -0
  45. package/resources/data/deck/training/p/2022-12-29T15-57-11-499Z.md +7 -0
  46. package/resources/data/deck/training/p/2022-12-29T16-00-13-223Z.md +7 -0
  47. package/resources/data/deck/training/p/2022-12-29T18-34-25-826Z.md +4 -0
  48. package/resources/data/deck/training/p/2022-12-29T18-36-08-226Z.md +106 -0
  49. package/resources/data/deck/training/p/2022-12-29T18-36-56-893Z.md +112 -0
  50. package/resources/data/deck/training/p/2022-12-29T19-31-30-507Z.md +31 -0
  51. package/resources/data/deck/training/p/2022-12-29T19-31-55-091Z.md +14 -0
  52. package/resources/data/deck/training/p/2022-12-29T20-03-42-628Z.md +9 -0
  53. package/resources/data/deck/training/p/2022-12-29T20-21-20-669Z.md +7 -0
  54. package/resources/data/deck/training/p/2022-12-29T20-37-08-919Z.md +46 -0
  55. package/resources/data/deck/training/p/2022-12-29T20-37-20-344Z.md +43 -0
  56. package/resources/data/deck/training/p/2022-12-30T19-04-30-990Z.md +8 -0
  57. package/resources/data/deck/training/p/2022-12-31T18-43-56-338Z.md +7 -0
  58. package/resources/data/deck/training/p/2022-12-31T18-51-50-682Z.md +1 -0
  59. package/resources/data/deck/training/p/2022-12-31T18-54-04-176Z.md +4 -0
  60. package/resources/data/deck/training/p/2022-12-31T22-11-55-555Z.md +112 -0
  61. package/resources/data/deck/training/p/2022-12-31T23-00-41-222Z.md +6 -0
  62. package/resources/data/deck/training/p/2022-12-31T23-18-55-655Z.md +69 -0
  63. package/resources/data/deck/training/p/2022-12-31T23-25-40-735Z.md +21 -0
  64. package/resources/data/deck/training/p/2022-12-31T23-25-51-014Z.md +7 -0
  65. package/resources/data/deck/training/p/2023-01-01T17-49-18-429Z.md +3 -0
  66. package/resources/data/deck/training/p/2023-01-01T18-44-07-034Z.md +34 -0
  67. package/resources/data/deck/training/p/2023-01-01T18-47-39-766Z.md +15 -0
  68. package/resources/data/deck/training/p/2023-01-01T19-04-22-830Z.md +4 -0
  69. package/resources/data/deck/training/p/2023-01-01T21-11-58-025Z.md +25 -0
  70. package/resources/data/deck/training/p/2023-01-01T21-12-37-340Z.md +23 -0
  71. package/resources/data/deck/training/p/2023-01-01T21-13-13-880Z.md +8 -0
  72. package/resources/data/deck/training/p/2023-01-01T21-14-45-740Z.md +98 -0
  73. package/resources/data/deck/training/p/2023-01-01T21-18-23-886Z.md +26 -0
  74. package/resources/data/deck/training/p/2023-01-01T21-18-31-316Z.md +19 -0
  75. package/resources/data/deck/training/p/2023-01-01T21-18-42-290Z.md +23 -0
  76. package/resources/data/deck/training/p/2023-01-01T21-19-57-020Z.md +24 -0
  77. package/resources/data/deck/training/p/2023-01-01T21-22-31-184Z.md +13 -0
  78. package/resources/data/deck/training/p/2023-01-01T21-22-38-317Z.md +17 -0
  79. package/resources/data/deck/training/p/2023-01-01T21-22-47-693Z.md +20 -0
  80. package/resources/data/deck/training/p/2023-01-01T21-23-17-716Z.md +39 -0
  81. package/resources/data/deck/training/p/2023-01-01T21-23-28-532Z.md +22 -0
  82. package/resources/data/deck/training/p/2023-01-01T21-25-23-899Z.md +3 -0
  83. package/resources/data/deck/training/p/2023-01-01T21-25-59-742Z.md +1 -0
  84. package/resources/data/deck/training/p/2023-01-01T21-26-53-748Z.md +12 -0
  85. package/resources/data/deck/training/p/2023-01-01T23-38-42-863Z.md +2 -0
  86. package/resources/data/deck/training/p/2023-01-03T02-07-19-014Z.md +143 -0
  87. package/resources/data/deck/training/p/2023-01-04T01-52-23-454Z.md +76 -0
  88. package/resources/data/deck/training/p/2023-01-06T23-21-12-009Z.md +127 -0
  89. package/resources/data/deck/training/p/2023-01-06T23-21-31-685Z.md +81 -0
  90. package/resources/data/deck/training/p/2023-01-06T23-21-59-596Z.md +36 -0
  91. package/resources/data/deck/training/p/2023-01-06T23-34-13-897Z.md +87 -0
  92. package/resources/data/deck/training/p/2023-01-06T23-44-02-340Z.md +0 -0
  93. package/resources/data/deck/training/p/2023-01-06T23-46-36-687Z.md +1 -0
  94. package/resources/data/deck/training/p/2023-01-06T23-46-45-783Z.md +33 -0
  95. package/resources/data/deck/training/p/2023-01-08T00-45-11-144Z.md +50 -0
  96. package/resources/data/deck/training/p/2023-01-08T01-06-31-267Z.md +41 -0
  97. package/resources/data/deck/training/p/2023-01-08T01-24-21-088Z.md +95 -0
  98. package/resources/data/deck/training/p/2023-01-08T01-25-12-557Z.md +11 -0
  99. package/resources/data/deck/training/p/2023-01-08T01-46-50-723Z.md +25 -0
  100. package/resources/data/deck/training/p/2023-01-08T02-09-07-802Z.md +18 -0
  101. package/resources/data/deck/training/p/2023-01-08T02-09-19-678Z.md +66 -0
  102. package/resources/data/deck/training/p/2023-01-08T02-11-26-333Z.md +29 -0
  103. package/resources/data/deck/training/p/2023-01-08T17-22-48-841Z.md +14 -0
  104. package/resources/data/deck/training/p/2023-01-08T20-46-11-806Z.md +5 -0
  105. package/resources/data/deck/training/p/2023-01-08T20-47-23-682Z.md +5 -0
  106. package/resources/data/deck/training/p/2023-01-08T20-47-32-064Z.md +13 -0
  107. package/resources/data/deck/training/p/2023-01-08T20-47-57-045Z.md +0 -0
  108. package/resources/data/deck/training/p/2023-01-08T20-48-03-791Z.md +18 -0
  109. package/resources/data/deck/training/p/2023-01-08T20-48-32-466Z.md +9 -0
  110. package/resources/data/deck/training/p/2023-01-08T20-48-51-322Z.md +20 -0
  111. package/resources/data/deck/training/p/2023-01-08T20-49-52-741Z.md +0 -0
  112. package/resources/data/deck/training/p/2023-01-08T20-52-03-556Z.md +0 -0
  113. package/resources/data/deck/training/p/2023-01-08T20-57-36-333Z.md +2 -0
  114. package/resources/data/deck/training/p/2023-01-08T20-57-51-136Z.md +5 -0
  115. package/resources/data/deck/training/p/2023-01-09T00-07-37-951Z.md +0 -0
  116. package/resources/data/deck/training/p/2023-01-09T00-35-40-671Z.md +3 -0
  117. package/resources/data/deck/training/p/2023-01-10T01-29-38-148Z.md +10 -0
  118. package/resources/data/deck/training/p/2023-01-10T01-43-12-166Z.md +31 -0
  119. package/resources/data/deck/training/p/2023-01-10T02-21-54-303Z.md +10 -0
  120. package/resources/data/deck/training/p/2023-01-12T01-50-54-617Z.md +74 -0
  121. package/resources/data/deck/training/p/2023-01-13T19-55-24-735Z.md +14 -0
  122. package/resources/data/deck/training/p/2023-01-13T20-08-27-068Z.md +28 -0
  123. package/resources/data/deck/training/p/2023-01-13T20-23-38-411Z.md +25 -0
  124. package/resources/data/deck/training/p/2023-01-13T20-37-06-267Z.md +13 -0
  125. package/resources/data/deck/training/p/2023-01-13T21-05-57-708Z.md +8 -0
  126. package/resources/data/deck/training/p/2023-01-13T21-48-17-258Z.md +20 -0
  127. package/resources/data/deck/training/p/2023-01-13T22-05-05-799Z.md +14 -0
  128. package/resources/data/deck/training/p/2023-01-13T22-08-30-863Z.md +17 -0
  129. package/resources/data/deck/training/p/2023-01-13T23-01-50-449Z.md +4 -0
  130. package/resources/data/deck/training/p/2023-01-14T00-33-05-958Z.md +62 -0
  131. package/resources/data/deck/training/p/2023-01-14T00-40-27-784Z.md +229 -0
  132. package/resources/data/deck/training/p/2023-01-14T00-41-59-081Z.md +153 -0
  133. package/resources/data/deck/training/p/2023-01-14T13-50-28-199Z.md +19 -0
  134. package/resources/data/deck/training/p/2023-01-14T13-59-20-275Z.md +6 -0
  135. package/resources/data/deck/training/p/2023-01-14T14-03-29-456Z.md +3 -0
  136. package/resources/data/deck/training/p/2023-01-14T14-27-57-678Z.md +7 -0
  137. package/resources/data/deck/training/p/2023-01-14T17-30-18-228Z.md +33 -0
  138. package/resources/data/deck/training/p/2023-01-14T18-28-39-316Z.md +1 -0
  139. package/resources/data/deck/training/p/2023-01-14T18-28-44-115Z.md +4 -0
  140. package/resources/data/deck/training/p/2023-01-14T18-28-49-548Z.md +18 -0
  141. package/resources/data/deck/training/p/2023-01-14T18-40-13-758Z.md +10 -0
  142. package/resources/data/deck/training/p/2023-01-14T19-29-15-291Z.md +12 -0
  143. package/resources/data/deck/training/p/2023-01-15T18-51-52-134Z.md +83 -0
  144. package/resources/data/deck/training/p/2023-01-15T20-03-30-073Z.md +11 -0
  145. package/resources/data/deck/training/p/2023-01-15T22-07-52-073Z.md +16 -0
  146. package/resources/data/deck/training/p/2023-01-15T22-22-13-517Z.md +12 -0
  147. package/resources/data/deck/training/p/2023-01-15T22-28-57-508Z.md +131 -0
  148. package/resources/data/deck/training/p/2023-01-15T22-36-30-913Z.md +115 -0
  149. package/resources/data/deck/training/p/2023-01-16T16-03-40-770Z.md +12 -0
  150. package/resources/data/deck/training/p/2023-01-16T20-21-56-859Z.md +5 -0
  151. package/resources/data/deck/training/p/2023-01-16T20-24-09-690Z.md +24 -0
  152. package/resources/data/deck/training/p/2023-01-20T12-51-22-646Z.md +21 -0
  153. package/resources/data/deck/training/p/2023-01-20T13-06-46-614Z.md +9 -0
  154. package/resources/data/deck/training/p/2023-01-20T13-08-51-600Z.md +7 -0
  155. package/resources/data/deck/training/p/2023-01-20T15-20-13-363Z.md +26 -0
  156. package/resources/data/deck/training/p/2023-01-20T15-34-58-813Z.md +75 -0
  157. package/resources/data/deck/training/p/2023-01-21T16-33-20-458Z.md +33 -0
  158. package/resources/data/deck/training/p/2023-01-21T16-45-28-263Z.md +28 -0
  159. package/resources/data/deck/training/p/2023-01-21T16-56-25-452Z.md +3 -0
  160. package/resources/data/deck/training/p/2023-01-21T17-28-31-493Z.md +6 -0
  161. package/resources/data/deck/training/p/2023-01-21T19-49-51-918Z.md +13 -0
  162. package/resources/data/deck/training/p/2023-01-21T20-08-24-452Z.md +15 -0
  163. package/resources/data/deck/training/p/2023-01-21T20-35-54-947Z.md +20 -0
  164. package/resources/data/deck/training/p/2023-01-21T20-54-47-603Z.md +39 -0
  165. package/resources/data/deck/training/p/2023-01-21T20-56-28-184Z.md +25 -0
  166. package/resources/data/deck/training/p/2023-01-21T20-57-32-927Z.md +4 -0
  167. package/resources/data/deck/training/p/2023-01-21T23-13-33-394Z.md +6 -0
  168. package/resources/data/deck/training/p/2023-01-28T19-11-37-464Z.md +24 -0
  169. package/resources/data/deck/training/p/2023-01-28T20-43-41-188Z.md +9 -0
  170. package/resources/data/deck/training/p/2023-01-28T20-53-56-476Z.md +8 -0
  171. package/resources/data/deck/training/p/2023-01-28T20-58-43-776Z.md +10 -0
  172. package/resources/data/deck/training/p/2023-01-28T22-18-41-259Z.md +33 -0
  173. package/resources/data/deck/training/p/2023-01-28T22-24-34-808Z.md +24 -0
  174. package/resources/data/deck/training/p/2023-01-29T16-25-24-528Z.md +44 -0
  175. package/resources/data/deck/training/p/2023-01-29T21-14-32-588Z.md +12 -0
  176. package/resources/data/deck/training/p/2023-01-31T19-24-53-504Z.md +8 -0
  177. package/resources/data/deck/training/p/2023-01-31T20-33-55-855Z.md +11 -0
  178. package/resources/data/deck/training/p/2023-01-31T20-34-30-261Z.md +7 -0
  179. package/resources/data/deck/training/p/2023-01-31T20-52-53-367Z.md +43 -0
  180. package/resources/data/deck/training/p/2023-02-04T15-18-35-682Z.md +20 -0
  181. package/resources/data/deck/training/p/2023-02-04T15-49-47-597Z.md +14 -0
  182. package/resources/data/deck/training/p/2023-02-04T18-58-57-808Z.md +1 -0
  183. package/resources/data/deck/training/p/2023-02-04T20-07-11-288Z.md +1 -0
  184. package/resources/data/deck/training/p/2023-02-04T20-09-50-169Z.md +1 -0
  185. package/resources/data/deck/training/p/2023-02-04T20-19-42-740Z.md +8 -0
  186. package/resources/data/deck/training/p/2023-02-04T20-23-56-013Z.md +12 -0
  187. package/resources/data/deck/training/p/2023-02-04T20-28-12-391Z.md +20 -0
  188. package/resources/data/deck/training/p/2023-02-05T00-20-32-554Z.md +16 -0
  189. package/resources/data/deck/training/p/2023-02-05T00-35-56-282Z.md +13 -0
  190. package/resources/data/deck/training/p/2023-02-05T15-36-57-182Z.md +24 -0
  191. package/resources/data/deck/training/p/2023-02-05T17-39-51-712Z.md +70 -0
  192. package/resources/data/deck/training/p/2023-02-05T17-44-53-815Z.md +195 -0
  193. package/resources/data/deck/training/p/2023-02-05T17-45-40-114Z.md +92 -0
  194. package/resources/data/deck/training/p/2023-02-05T18-12-14-489Z.md +60 -0
  195. package/resources/data/deck/training/p/2023-02-06T00-14-54-457Z.md +9 -0
  196. package/resources/data/deck/training/p/2023-06-28T18-03-14-313Z.md +8 -0
  197. package/resources/data/deck/training/p/2023-06-28T18-26-17-290Z.md +7 -0
  198. package/resources/data/deck/training/p/2023-06-28T21-16-24-034Z.md +40 -0
  199. package/resources/data/deck/training/p/2023-06-28T21-16-34-972Z.md +16 -0
  200. package/resources/data/deck/training/p/2023-06-28T21-28-28-379Z.md +4 -0
  201. package/resources/data/deck/training/p/2023-06-29T23-15-10-411Z.md +5 -0
  202. package/resources/data/deck/training/p/2023-07-01T15-42-45-193Z.md +433 -0
  203. package/resources/data/deck/training/p/2023-07-01T21-54-31-329Z.md +6 -0
  204. package/resources/data/deck/training/p/2023-07-02T16-14-06-970Z.md +14 -0
  205. package/resources/data/deck/training/p/2023-07-31T00-26-03-842Z.md +4 -0
  206. package/resources/data/deck/training/p/2023-07-31T00-31-51-933Z.md +10 -0
  207. package/resources/data/deck/training/p/2023-07-31T00-37-21-927Z.md +205 -0
  208. package/resources/data/deck/training/p/2023-10-01T18-29-19-158Z.md +76 -0
  209. package/resources/data/deck/training/p/2023-10-07T19-18-28-517Z.md +102 -0
  210. package/resources/data/deck/training/p/2023-10-08T20-20-07-934Z.md +75 -0
  211. package/resources/data/deck/training/p/2023-10-08T20-20-37-336Z.md +29 -0
  212. package/resources/data/deck/training/p/2023-10-08T20-37-30-658Z.md +0 -0
  213. package/resources/data/deck/training/p/2023-10-08T21-58-25-809Z.md +68 -0
  214. package/resources/data/deck/training/p/2023-10-08T22-22-11-013Z.md +0 -0
  215. package/resources/data/deck/training/p/2023-10-14T19-25-08-153Z.md +119 -0
  216. package/resources/data/deck/training/t.json +1 -0
  217. package/resources/scss/src/apps/learnneo/Viewport.scss +0 -106
  218. package/resources/scss/src/apps/learnneo/home/ContentTreeList.scss +37 -0
  219. package/resources/scss/src/apps/learnneo/home/ContentView.scss +55 -0
  220. package/resources/scss/src/form/field/FileUpload.scss +4 -4
  221. package/resources/scss/src/form/field/TextArea.scss +1 -1
  222. package/resources/scss/theme-neo-light/Global.scss +46 -0
  223. package/resources/scss/theme-neo-light/design-tokens/Core.scss +7 -0
  224. package/resources/scss/theme-neo-light/design-tokens/Semantic.scss +0 -0
  225. package/resources/scss/theme-neo-light/design-tokens/_all.scss +4 -0
  226. package/src/DefaultConfig.mjs +4 -4
  227. package/src/form/field/FileUpload.mjs +9 -2
  228. package/src/form/field/TextArea.mjs +19 -34
  229. package/src/main/DomAccess.mjs +34 -0
  230. package/test/components/files/form/field/Select.mjs +1 -1
  231. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-07T19-18-28-517Z.md +0 -0
  232. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-20-07-934Z.md +0 -0
  233. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-20-37-336Z.md +0 -0
  234. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-37-30-658Z.md +0 -0
  235. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T21-58-25-809Z.md +0 -0
  236. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T22-22-11-013Z.md +0 -0
  237. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-14T19-25-08-153Z.md +0 -0
  238. /package/resources/data/{learnneo → deck/learnneo}/pages/whyneo.md +0 -0
  239. /package/resources/data/{learnneo → deck/learnneo}/tree.json +0 -0
  240. /package/resources/{deck → data/deck}/whyneo.md +0 -0
  241. /package/resources/scss/src/apps/newwebsite/{MainContainer.css → MainContainer.scss} +0 -0
  242. /package/resources/scss/theme-neo-light/design-tokens/{Components.scss → Component.scss} +0 -0
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.9.9'
23
+ * @member {String} version='6.9.11'
24
24
  */
25
- version: '6.9.9'
25
+ version: '6.9.11'
26
26
  }
27
27
 
28
28
  /**
@@ -3,5 +3,9 @@
3
3
  "basePath" : "../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
6
- "mainThreadAddons": ["DragDrop", "HighlightJS", "Stylesheet", "Markdown"]
6
+ "mainThreadAddons": ["DragDrop", "HighlightJS", "Stylesheet", "Markdown"],
7
+ "themes": [
8
+ "neo-theme-neo-light"
9
+ ]
10
+
7
11
  }
@@ -53,7 +53,7 @@ class Content extends Store {
53
53
  }
54
54
 
55
55
  get contentPath() {
56
- return `../../../resources/data/${this.deck}`;
56
+ return `../../../resources/data/deck/${this.deck}`;
57
57
  }
58
58
  doLoadStore() {
59
59
  debugger;
@@ -1,4 +1,4 @@
1
- import BaseViewport from '../../../src/container/Viewport.mjs';
1
+ import BaseViewport from '../../../src/container/Viewport.mjs';
2
2
  import ViewportController from './ViewportController.mjs';
3
3
 
4
4
  /**
@@ -27,6 +27,17 @@ class Viewport extends BaseViewport {
27
27
  */
28
28
  layout: {ntype: 'card'}
29
29
  }
30
+ onConstructed() {
31
+ super.onConstructed();
32
+ let me = this;
33
+ Neo.Main.getByPath({path: 'location.search'})
34
+ .then(data => {
35
+ const searchString = data?.substr(1) || '';
36
+ const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
37
+ me.deck = search.deck || 'learnneo';
38
+ me.addCls(me.deck);
39
+ });
40
+ }
30
41
  }
31
42
 
32
43
  Neo.applyClassConfig(Viewport);
@@ -12,34 +12,49 @@ class ContentTreeList extends TreeList {
12
12
  * @protected
13
13
  */
14
14
  className: 'LearnNeo.view.home.ContentTreeList',
15
+ /**
16
+ * @member {String[]} cls=['topics-tree']
17
+ */
18
+ cls: ['topics-tree'],
15
19
  /**
16
20
  * @member {Neo.data.Store} store=ContentStore
17
21
  */
18
- store: ContentStore,
22
+ store: ContentStore
23
+ }
19
24
 
20
- cls: 'topics-tree'
25
+ get contentPath() {
26
+ return `../../../resources/data/deck/${this.deck}`;
21
27
  }
22
28
 
23
29
  /**
24
- * todo: createItems() should get triggered onStoreLoad()
30
+ * @param {Object} record
31
+ * @returns {Promise<void>}
25
32
  */
26
- onConstructed() {
27
- super.onConstructed();
28
- let me = this;
29
- Neo.Main.getByPath({path: 'location.search'})
30
- .then(data => {
31
- const searchString = data?.substr(1) || '';
32
- const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
33
- me.deck = search.deck || 'learnneo';
34
- me.doLoadStore();
35
- console.log(search);
36
- });
37
- }
33
+ async doFetchContent(record) {
34
+ let me = this,
35
+ path = `${me.contentPath}`;
38
36
 
39
- get contentPath() {
40
- return `../../../resources/data/${this.deck}`;
37
+ path += record.path ? `/pages/${record.path}` : `/p/${record.id}.md`;
38
+
39
+ if (record.isLeaf && path) {
40
+ const data = await fetch(path);
41
+ const content = await data.text();
42
+
43
+ await Neo.main.addon.Markdown.markdownToHtml(content)
44
+ .then(
45
+ html => me.fire('contentChange', {
46
+ component: me,
47
+ html,
48
+ record,
49
+ isLab: record.name?.startsWith('Lab:')
50
+ }),
51
+ () => me.fire('contentChange', {component: me}));
52
+ }
41
53
  }
42
54
 
55
+ /**
56
+ *
57
+ */
43
58
  doLoadStore() {
44
59
  const me = this;
45
60
  Neo.Xhr.promiseJson({
@@ -52,26 +67,30 @@ class ContentTreeList extends TreeList {
52
67
  })
53
68
  }
54
69
 
55
- onLeafItemClick(record) {
56
- super.onLeafItemClick(record);
57
- this.doFetchContent(record);
58
- }
59
-
60
- async doFetchContent(record) {
61
- let me = this,
62
- path = `${me.contentPath}`;
70
+ /**
71
+ * todo: createItems() should get triggered onStoreLoad()
72
+ */
73
+ onConstructed() {
74
+ super.onConstructed();
63
75
 
64
- path += record.path ? `/pages/${record.path}` : `/p/${record.id}.md`;
76
+ let me = this;
65
77
 
66
- if (record.isLeaf && path) {
67
- const data = await fetch(path);
68
- const content = await data.text();
78
+ Neo.Main.getByPath({path: 'location.search'})
79
+ .then(data => {
80
+ const searchString = data?.substr(1) || '';
81
+ const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
82
+ me.deck = search.deck || 'learnneo';
83
+ me.doLoadStore();
84
+ console.log(search);
85
+ });
86
+ }
69
87
 
70
- await Neo.main.addon.Markdown.markdownToHtml(content)
71
- .then(
72
- html => me.fire('contentChange', {component: me, html}),
73
- () => me.fire('contentChange', {component: me}));
74
- }
88
+ /**
89
+ * @param {Object} record
90
+ */
91
+ onLeafItemClick(record) {
92
+ super.onLeafItemClick(record);
93
+ this.doFetchContent(record);
75
94
  }
76
95
  }
77
96
 
@@ -0,0 +1,60 @@
1
+ import Component from '../../../../src/component/Base.mjs';
2
+
3
+ /**
4
+ * @class LearnNeo.view.home.ContentView
5
+ * @extends Neo.component.Base
6
+ */
7
+ class ContentView extends Component {
8
+ static config = {
9
+ /**
10
+ * @member {String} className='LearnNeo.view.home.ContentView'
11
+ * @protected
12
+ */
13
+ className: 'LearnNeo.view.home.ContentView',
14
+ /**
15
+ * @member {String[]} baseCls=['learn-content']
16
+ * @protected
17
+ */
18
+ baseCls: ['learn-content']
19
+ }
20
+
21
+ /**
22
+ * @member {Object} record=null
23
+ */
24
+ record = null
25
+
26
+ /**
27
+ * @param {Object} data
28
+ */
29
+ onClick(data) {
30
+ let me = this,
31
+ record = me.record;
32
+
33
+ if (data.altKey && data.shiftKey && !data.metaKey) {
34
+ me.fire('edit', {component: me, record})
35
+ }
36
+ // Command/windows shift click = refresh
37
+ else if (!data.altKey && data.shiftKey && data.metaKey) {
38
+ me.fire('refresh', {component: me, record})
39
+ }
40
+ }
41
+
42
+ /**
43
+ *
44
+ */
45
+ onConstructed() {
46
+ super.onConstructed();
47
+
48
+ let me = this;
49
+
50
+ me.addDomListeners({
51
+ click: me.onClick,
52
+ scope: me
53
+ })
54
+ }
55
+
56
+ }
57
+
58
+ Neo.applyClassConfig(ContentView);
59
+
60
+ export default ContentView;
@@ -1,15 +1,28 @@
1
1
  import Container from '../../../../src/container/Base.mjs';
2
- import Component from '../../../../src/component/Base.mjs';
2
+ import ContentView from './ContentView.mjs';
3
3
  import ContentTreeList from './ContentTreeList.mjs';
4
4
  import MainContainerController from './MainContainerController.mjs';
5
5
  import MainContainerModel from './MainContainerModel.mjs';
6
6
  import Splitter from '../../../../src/component/Splitter.mjs';
7
7
 
8
+ /**
9
+ * @class LearnNeo.view.home.MainContainer
10
+ * @extends Neo.container.Base
11
+ */
8
12
  class MainContainer extends Container {
9
13
  static config = {
14
+ /**
15
+ * @member {String} className='LearnNeo.view.home.MainContainer'
16
+ * @protected
17
+ */
10
18
  className: 'LearnNeo.view.home.MainContainer',
11
- model: MainContainerModel,
19
+ /**
20
+ * @member {Neo.controller.Component} controller=MainContainerController
21
+ */
12
22
  controller: MainContainerController,
23
+ /**
24
+ * @member {Object[]} items
25
+ */
13
26
  items: [{
14
27
  module: Container,
15
28
  layout: 'fit',
@@ -19,19 +32,33 @@ class MainContainer extends Container {
19
32
  items: [{
20
33
  module: ContentTreeList,
21
34
  reference: 'tree',
22
- listeners: {contentChange: 'onContentListLeafClick'},
35
+ listeners: {
36
+ contentChange: 'onContentChange',
37
+ }
23
38
  }]
24
39
  }, {
25
40
  module: Splitter,
26
- resizeTarget: 'previous'
41
+ resizeTarget: 'previous',
42
+ size: 5
27
43
  }, {
28
- module: Component,
29
- layout: {ntype: 'card', activeIndex: null},
30
- cls: 'learn-content',
31
- reference: 'content'
44
+ module: ContentView,
45
+ reference: 'content',
46
+ listeners: {
47
+ edit: 'onContentEdit',
48
+ refresh: 'onContentRefresh'
49
+ }
32
50
  }],
33
- layout: {ntype: 'hbox', align: 'stretch'}
51
+ /**
52
+ * @member {Object} layout={ntype:'hbox',align:'stretch'}
53
+ */
54
+ layout: {ntype: 'hbox', align: 'stretch'},
55
+ /**
56
+ * @member {Neo.model.Component} model=MainContainerModel
57
+ */
58
+ model: MainContainerModel
34
59
  }
60
+
61
+
35
62
  }
36
63
 
37
64
  Neo.applyClassConfig(MainContainer);
@@ -1,11 +1,10 @@
1
- import Component from '../../../../src/controller/Component.mjs';
2
-
1
+ import Controller from '../../../../src/controller/Component.mjs';
3
2
 
4
3
  /**
5
4
  * @class LearnNeo.view.home.MainContainerController
6
5
  * @extends Neo.controller.Component
7
6
  */
8
- class MainContainerController extends Component {
7
+ class MainContainerController extends Controller {
9
8
  static config = {
10
9
  /**
11
10
  * @member {String} className='LearnNeo.view.home.MainContainerController'
@@ -14,17 +13,40 @@ class MainContainerController extends Component {
14
13
  className: 'LearnNeo.view.home.MainContainerController'
15
14
  }
16
15
 
16
+ /**
17
+ *
18
+ */
19
+ onConstructed() {
20
+ super.onConstructed();
21
+
22
+ Neo.Main.getByPath({path: 'location.search'})
23
+ .then(data => {
24
+ const searchString = data?.substr(1) || '';
25
+ const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
26
+ this.getModel().setData('deck', search.deck || 'learnneo');
27
+ });
28
+
29
+ fetch('../../../../resources/data/deck/EditorConfig.json')
30
+ .then(response => response.json()
31
+ .then(data =>
32
+ this.getModel().setData('editorConfig', data)
33
+ ))
34
+ }
35
+
17
36
  /**
18
37
  * @param {Object} data
38
+ * @returns {Promise<void>}
19
39
  */
20
- async onContentListLeafClick(data) {
21
- const
22
- me = this,
40
+ async onContentChange(data) {
41
+ let me = this,
23
42
  content = me.getReference('content');
24
43
 
25
- content.html = data.html;
44
+ content.toggleCls('lab', data.isLab);
45
+
46
+ content.html = data.html;
47
+ content.record = data.record;
26
48
 
27
- await this.timeout(200);
49
+ await me.timeout(200);
28
50
 
29
51
  // todo: we need to add the links as neo configs
30
52
  await Neo.main.addon.HighlightJS.loadLibrary({
@@ -33,25 +55,42 @@ class MainContainerController extends Component {
33
55
  themePath : '../../docs/resources/highlightjs-custom-github-theme.css'
34
56
  });
35
57
 
36
- await this.timeout(200);
58
+ await me.timeout(200);
37
59
 
38
60
  Neo.main.addon.HighlightJS.syntaxHighlightInit({
39
61
  appName: me.appName,
40
62
  vnodeId: content.id
41
63
  })
42
-
43
- // contentContainer.removeAll();
44
- // contentContainer.add({
45
- // ntype: 'component',
46
- // html: data.html
47
- // });
48
- // contentContainer.layout.activeIndex = 0;
49
64
  }
50
65
 
51
- get contentPath() {
52
- return `../../../resources/data/${this.deck}`;
66
+ /**
67
+ * @param {Object} data
68
+ * @returns {Promise<void>}
69
+ */
70
+ async onContentEdit(data) {
71
+ const vm = this.getModel();
72
+ console.log(data);
73
+ const editorConfig = vm.getData('editorConfig');
74
+ const subDir = vm.getData('deck')
75
+ if (!editorConfig || !subDir) return;
76
+
77
+ const filePath = `${editorConfig.root}/${subDir}/p/${data.record.id}.md`;
78
+
79
+ await fetch('http://localhost:3000/openInEditor', {
80
+ method: 'POST',
81
+ headers: {
82
+ "Content-Type": "application/json",
83
+ },
84
+ body: JSON.stringify({path: filePath, editor: editorConfig.editor})
85
+ })
53
86
  }
54
87
 
88
+ /**
89
+ * @param {Object} data
90
+ */
91
+ onContentRefresh(data) {
92
+ this.getReference('tree').doFetchContent(data.record)
93
+ }
55
94
  }
56
95
 
57
96
  Neo.applyClassConfig(MainContainerController);
@@ -0,0 +1,6 @@
1
+ import MainContainer from './view/MainContainer.mjs';
2
+
3
+ export const onStart = () => Neo.app({
4
+ mainView: MainContainer,
5
+ name : 'NewWebsite'
6
+ })
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+ <meta charset="UTF-8">
6
+ <title>Neo Website</title>
7
+ <body>
8
+ <script src="../../src/MicroLoader.mjs" type="module"></script>
9
+ </body>
10
+ </html>
@@ -0,0 +1,7 @@
1
+ {
2
+ "appPath" : "apps/newwebsite/app.mjs",
3
+ "basePath" : "../../",
4
+ "environment": "development",
5
+ "mainPath" : "./Main.mjs",
6
+ "themes" : ["neo-theme-neo-light"]
7
+ }
@@ -0,0 +1,59 @@
1
+ import Button from '../../../src/button/Base.mjs';
2
+ import Container from '../../../src/container/Base.mjs';
3
+ import Viewport from '../../../src/container/Viewport.mjs';
4
+
5
+ /**
6
+ * @class NewWebsite.view.MainContainer
7
+ * @extends Neo.container.Viewport
8
+ */
9
+ class MainContainer extends Viewport {
10
+ static config = {
11
+ /**
12
+ * @member {String} className='NewWebsite.view.MainContainer'
13
+ * @protected
14
+ */
15
+ className: 'NewWebsite.view.MainContainer',
16
+ /**
17
+ * @member {String[]} cls=['newwebsite-main-container']
18
+ */
19
+ cls: ['newwebsite-main-container'],
20
+ /**
21
+ * @member {Object[]} items
22
+ */
23
+ items: [{
24
+ module: Container,
25
+ cls : ['vector'],
26
+ flex : 'none'
27
+ }, {
28
+ cls : 'neo-h1',
29
+ flex: 'none',
30
+ html: 'The High-Performance Web Framework for Next Generation Interfaces'
31
+ }, {
32
+ module: Container,
33
+ cls : ['button-group'],
34
+ flex : 'none',
35
+
36
+ items: [{
37
+ module : Button,
38
+ cls : 'get-started-button',
39
+ text : 'Get started',
40
+ flex : 'none',
41
+ tooltip: {
42
+ text : 'Coming soon',
43
+ showDelay: 0,
44
+ hideDelay: 0
45
+ }
46
+ }, {
47
+ module: Button,
48
+ flex : 'none',
49
+ text : 'View on GitHub',
50
+ ui : 'secondary',
51
+ url : 'https://github.com/neomjs/neo'
52
+ }]
53
+ }]
54
+ }
55
+ }
56
+
57
+ Neo.applyClassConfig(MainContainer);
58
+
59
+ export default MainContainer;
@@ -4,6 +4,7 @@
4
4
  "Docs",
5
5
  "Form",
6
6
  "Krausest",
7
+ "NewWebsite",
7
8
  "RealWorld",
8
9
  "RealWorld2",
9
10
  "SharedCovid",
@@ -6,8 +6,9 @@ import Viewport from '../src/container/Viewport.mjs';
6
6
 
7
7
  // add custom themes here
8
8
  const themes = [
9
- {name: 'neo-theme-dark', label: 'Theme Dark'},
10
- {name: 'neo-theme-light', label: 'Theme Light'}
9
+ {name: 'neo-theme-light', label: 'Theme Light'},
10
+ {name: 'neo-theme-dark', label: 'Theme Dark'},
11
+ {name: 'neo-theme-neo-light', label: 'Theme Neo-Light'}
11
12
  ]
12
13
 
13
14
  /**
@@ -121,12 +122,12 @@ class ConfigurationViewport extends Viewport {
121
122
  handler: bindAppend(me.onSwitchTheme, me, 'cmp'),
122
123
  style : {marginTop: '20px'},
123
124
  text : theme === 'neo-theme-dark' ? 'Theme Light' : 'Theme Dark',
124
- width : 100
125
+ width : 130
125
126
  }, {
126
127
  module : Button,
127
128
  handler: me.logInstance.bind(me),
128
129
  text : 'Log Instance',
129
- width : 100
130
+ width : 130
130
131
  }]
131
132
  }]
132
133
  }];
@@ -184,7 +185,7 @@ class ConfigurationViewport extends Viewport {
184
185
  let me = this,
185
186
  button = data.component,
186
187
  countThemes = themes.length,
187
- newTheme, oldIndex, oldTheme, themeIndex;
188
+ futureIndex, newTheme, oldIndex, oldTheme, themeIndex;
188
189
 
189
190
  themes.forEach((theme, index) => {
190
191
  if (button.text === theme.label) {
@@ -193,14 +194,16 @@ class ConfigurationViewport extends Viewport {
193
194
  }
194
195
  });
195
196
 
196
- oldIndex = (themeIndex + 1) % countThemes;
197
- oldTheme = themes[oldIndex].name;
197
+ futureIndex = (themeIndex + countThemes +1) % countThemes;
198
+ oldIndex = (themeIndex + countThemes -1) % countThemes;
199
+ oldTheme = themes[oldIndex].name;
198
200
 
199
- button.text = themes[oldIndex].label;
201
+
202
+ button.text = themes[futureIndex].label;
200
203
 
201
204
  if (target === 'cmp') {
202
205
  me.exampleComponent.theme = newTheme;
203
- } else {
206
+ } else {console.log(newTheme, oldTheme);
204
207
  Neo.applyDeltas(me.appName, {
205
208
  cls: {
206
209
  add : [newTheme],
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.9.9'
23
+ * @member {String} version='6.9.11'
24
24
  */
25
- version: '6.9.9'
25
+ version: '6.9.11'
26
26
  }
27
27
 
28
28
  /**
@@ -2,6 +2,5 @@
2
2
  "appPath" : "examples/button/base/app.mjs",
3
3
  "basePath" : "../../../",
4
4
  "environment": "development",
5
- "mainPath" : "./Main.mjs",
6
- "themes" : ["neo-theme-neo-light"]
5
+ "mainPath" : "./Main.mjs"
7
6
  }
@@ -181,7 +181,7 @@ class MainContainer extends ConfigurationViewport {
181
181
  createExampleComponent() {
182
182
  return Neo.create(TextAreaField, {
183
183
  clearable : true,
184
- height : 60,
184
+ height : 120,
185
185
  labelText : 'Label',
186
186
  labelWidth: 70,
187
187
  value : 'Hello World',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "6.9.9",
3
+ "version": "6.9.11",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -52,7 +52,7 @@
52
52
  "envinfo": "^7.11.0",
53
53
  "fs-extra": "^11.1.1",
54
54
  "highlightjs-line-numbers.js": "^2.8.0",
55
- "inquirer": "^9.2.11",
55
+ "inquirer": "^9.2.12",
56
56
  "neo-jsdoc": "1.0.1",
57
57
  "neo-jsdoc-x": "1.0.5",
58
58
  "postcss": "^8.4.31",
@@ -1,12 +1,9 @@
1
- # This is a h1
2
- ## This is a h2
3
- ### This is a h3
4
- #### This is a h4
5
-
6
1
 
7
2
  Neo.mjs is a framework used to create <mark>browser-based</mark> applications.
8
3
 
9
- Some key features and benefits of Neo.mjs are:
4
+ # Some key features and benefits of Neo.mjs are:
5
+
6
+ <code><A code snippet></code>
10
7
 
11
8
  <details>
12
9
  <summary>Multi-Threaded</summary>