neo.mjs 6.9.10 → 6.9.12

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 (245) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/learnneo/index.html +4 -3
  3. package/apps/learnneo/neo-config.json +2 -1
  4. package/apps/learnneo/store/Content.mjs +1 -1
  5. package/apps/learnneo/view/Viewport.mjs +18 -0
  6. package/apps/learnneo/view/ViewportController.mjs +2 -2
  7. package/apps/learnneo/view/home/ContentTreeList.mjs +22 -14
  8. package/apps/learnneo/view/home/ContentView.mjs +60 -0
  9. package/apps/learnneo/view/home/MainContainer.mjs +14 -6
  10. package/apps/learnneo/view/home/MainContainerController.mjs +57 -18
  11. package/apps/learnneo/view/home/MainContainerModel.mjs +3 -5
  12. package/apps/newwebsite/app.mjs +6 -0
  13. package/apps/newwebsite/index.html +13 -0
  14. package/apps/newwebsite/neo-config.json +7 -0
  15. package/apps/newwebsite/view/MainContainer.mjs +59 -0
  16. package/buildScripts/convertDesignTokens.mjs +173 -0
  17. package/buildScripts/webpack/json/myApps.template.json +1 -0
  18. package/examples/ConfigurationViewport.mjs +12 -9
  19. package/examples/ServiceWorker.mjs +2 -2
  20. package/package.json +3 -2
  21. package/resources/data/{learnneo → deck/learnneo}/p/2023-10-01T18-29-19-158Z.md +3 -6
  22. package/resources/data/deck/learnneo/p/2023-10-08T20-20-37-336Z.md +36 -0
  23. package/resources/data/deck/learnneo/p/stylesheet.md +58 -0
  24. package/resources/data/{learnneo → deck/learnneo}/t.json +19 -2
  25. package/resources/data/deck/training/p/2022-12-27T21-54-52-300Z.md +11 -0
  26. package/resources/data/deck/training/p/2022-12-27T21-55-23-144Z.md +43 -0
  27. package/resources/data/deck/training/p/2022-12-27T21-55-30-948Z.md +1 -0
  28. package/resources/data/deck/training/p/2022-12-27T21-55-43-542Z.md +84 -0
  29. package/resources/data/deck/training/p/2022-12-27T22-23-55-083Z.md +1 -0
  30. package/resources/data/deck/training/p/2022-12-27T22-24-07-886Z.md +8 -0
  31. package/resources/data/deck/training/p/2022-12-27T22-24-52-295Z.md +8 -0
  32. package/resources/data/deck/training/p/2022-12-27T22-25-03-853Z.md +5 -0
  33. package/resources/data/deck/training/p/2022-12-27T22-43-58-924Z.md +10 -0
  34. package/resources/data/deck/training/p/2022-12-27T22-44-28-881Z.md +3 -0
  35. package/resources/data/deck/training/p/2022-12-27T22-44-41-791Z.md +4 -0
  36. package/resources/data/deck/training/p/2022-12-27T22-45-21-032Z.md +7 -0
  37. package/resources/data/deck/training/p/2022-12-27T22-49-22-078Z.md +4 -0
  38. package/resources/data/deck/training/p/2022-12-27T22-50-20-626Z.md +4 -0
  39. package/resources/data/deck/training/p/2022-12-28T16-58-47-786Z.md +0 -0
  40. package/resources/data/deck/training/p/2022-12-28T16-58-55-192Z.md +9 -0
  41. package/resources/data/deck/training/p/2022-12-28T17-10-18-058Z.md +15 -0
  42. package/resources/data/deck/training/p/2022-12-28T17-10-42-296Z.md +40 -0
  43. package/resources/data/deck/training/p/2022-12-28T17-11-34-653Z.md +41 -0
  44. package/resources/data/deck/training/p/2022-12-28T17-13-09-994Z.md +0 -0
  45. package/resources/data/deck/training/p/2022-12-28T21-32-14-420Z.md +0 -0
  46. package/resources/data/deck/training/p/2022-12-29T01-43-32-431Z.md +7 -0
  47. package/resources/data/deck/training/p/2022-12-29T15-56-54-485Z.md +7 -0
  48. package/resources/data/deck/training/p/2022-12-29T15-57-11-499Z.md +7 -0
  49. package/resources/data/deck/training/p/2022-12-29T16-00-13-223Z.md +7 -0
  50. package/resources/data/deck/training/p/2022-12-29T18-34-25-826Z.md +4 -0
  51. package/resources/data/deck/training/p/2022-12-29T18-36-08-226Z.md +106 -0
  52. package/resources/data/deck/training/p/2022-12-29T18-36-56-893Z.md +112 -0
  53. package/resources/data/deck/training/p/2022-12-29T19-31-30-507Z.md +31 -0
  54. package/resources/data/deck/training/p/2022-12-29T19-31-55-091Z.md +14 -0
  55. package/resources/data/deck/training/p/2022-12-29T20-03-42-628Z.md +9 -0
  56. package/resources/data/deck/training/p/2022-12-29T20-21-20-669Z.md +7 -0
  57. package/resources/data/deck/training/p/2022-12-29T20-37-08-919Z.md +46 -0
  58. package/resources/data/deck/training/p/2022-12-29T20-37-20-344Z.md +43 -0
  59. package/resources/data/deck/training/p/2022-12-30T19-04-30-990Z.md +8 -0
  60. package/resources/data/deck/training/p/2022-12-31T18-43-56-338Z.md +7 -0
  61. package/resources/data/deck/training/p/2022-12-31T18-51-50-682Z.md +1 -0
  62. package/resources/data/deck/training/p/2022-12-31T18-54-04-176Z.md +4 -0
  63. package/resources/data/deck/training/p/2022-12-31T22-11-55-555Z.md +112 -0
  64. package/resources/data/deck/training/p/2022-12-31T23-00-41-222Z.md +6 -0
  65. package/resources/data/deck/training/p/2022-12-31T23-18-55-655Z.md +69 -0
  66. package/resources/data/deck/training/p/2022-12-31T23-25-40-735Z.md +21 -0
  67. package/resources/data/deck/training/p/2022-12-31T23-25-51-014Z.md +7 -0
  68. package/resources/data/deck/training/p/2023-01-01T17-49-18-429Z.md +3 -0
  69. package/resources/data/deck/training/p/2023-01-01T18-44-07-034Z.md +34 -0
  70. package/resources/data/deck/training/p/2023-01-01T18-47-39-766Z.md +15 -0
  71. package/resources/data/deck/training/p/2023-01-01T19-04-22-830Z.md +4 -0
  72. package/resources/data/deck/training/p/2023-01-01T21-11-58-025Z.md +25 -0
  73. package/resources/data/deck/training/p/2023-01-01T21-12-37-340Z.md +23 -0
  74. package/resources/data/deck/training/p/2023-01-01T21-13-13-880Z.md +8 -0
  75. package/resources/data/deck/training/p/2023-01-01T21-14-45-740Z.md +98 -0
  76. package/resources/data/deck/training/p/2023-01-01T21-18-23-886Z.md +26 -0
  77. package/resources/data/deck/training/p/2023-01-01T21-18-31-316Z.md +19 -0
  78. package/resources/data/deck/training/p/2023-01-01T21-18-42-290Z.md +23 -0
  79. package/resources/data/deck/training/p/2023-01-01T21-19-57-020Z.md +24 -0
  80. package/resources/data/deck/training/p/2023-01-01T21-22-31-184Z.md +13 -0
  81. package/resources/data/deck/training/p/2023-01-01T21-22-38-317Z.md +17 -0
  82. package/resources/data/deck/training/p/2023-01-01T21-22-47-693Z.md +20 -0
  83. package/resources/data/deck/training/p/2023-01-01T21-23-17-716Z.md +39 -0
  84. package/resources/data/deck/training/p/2023-01-01T21-23-28-532Z.md +22 -0
  85. package/resources/data/deck/training/p/2023-01-01T21-25-23-899Z.md +3 -0
  86. package/resources/data/deck/training/p/2023-01-01T21-25-59-742Z.md +1 -0
  87. package/resources/data/deck/training/p/2023-01-01T21-26-53-748Z.md +12 -0
  88. package/resources/data/deck/training/p/2023-01-01T23-38-42-863Z.md +2 -0
  89. package/resources/data/deck/training/p/2023-01-03T02-07-19-014Z.md +143 -0
  90. package/resources/data/deck/training/p/2023-01-04T01-52-23-454Z.md +76 -0
  91. package/resources/data/deck/training/p/2023-01-06T23-21-12-009Z.md +127 -0
  92. package/resources/data/deck/training/p/2023-01-06T23-21-31-685Z.md +81 -0
  93. package/resources/data/deck/training/p/2023-01-06T23-21-59-596Z.md +36 -0
  94. package/resources/data/deck/training/p/2023-01-06T23-34-13-897Z.md +87 -0
  95. package/resources/data/deck/training/p/2023-01-06T23-44-02-340Z.md +0 -0
  96. package/resources/data/deck/training/p/2023-01-06T23-46-36-687Z.md +1 -0
  97. package/resources/data/deck/training/p/2023-01-06T23-46-45-783Z.md +33 -0
  98. package/resources/data/deck/training/p/2023-01-08T00-45-11-144Z.md +50 -0
  99. package/resources/data/deck/training/p/2023-01-08T01-06-31-267Z.md +41 -0
  100. package/resources/data/deck/training/p/2023-01-08T01-24-21-088Z.md +95 -0
  101. package/resources/data/deck/training/p/2023-01-08T01-25-12-557Z.md +11 -0
  102. package/resources/data/deck/training/p/2023-01-08T01-46-50-723Z.md +25 -0
  103. package/resources/data/deck/training/p/2023-01-08T02-09-07-802Z.md +18 -0
  104. package/resources/data/deck/training/p/2023-01-08T02-09-19-678Z.md +66 -0
  105. package/resources/data/deck/training/p/2023-01-08T02-11-26-333Z.md +29 -0
  106. package/resources/data/deck/training/p/2023-01-08T17-22-48-841Z.md +14 -0
  107. package/resources/data/deck/training/p/2023-01-08T20-46-11-806Z.md +5 -0
  108. package/resources/data/deck/training/p/2023-01-08T20-47-23-682Z.md +5 -0
  109. package/resources/data/deck/training/p/2023-01-08T20-47-32-064Z.md +13 -0
  110. package/resources/data/deck/training/p/2023-01-08T20-47-57-045Z.md +0 -0
  111. package/resources/data/deck/training/p/2023-01-08T20-48-03-791Z.md +18 -0
  112. package/resources/data/deck/training/p/2023-01-08T20-48-32-466Z.md +9 -0
  113. package/resources/data/deck/training/p/2023-01-08T20-48-51-322Z.md +20 -0
  114. package/resources/data/deck/training/p/2023-01-08T20-49-52-741Z.md +0 -0
  115. package/resources/data/deck/training/p/2023-01-08T20-52-03-556Z.md +0 -0
  116. package/resources/data/deck/training/p/2023-01-08T20-57-36-333Z.md +2 -0
  117. package/resources/data/deck/training/p/2023-01-08T20-57-51-136Z.md +5 -0
  118. package/resources/data/deck/training/p/2023-01-09T00-07-37-951Z.md +0 -0
  119. package/resources/data/deck/training/p/2023-01-09T00-35-40-671Z.md +3 -0
  120. package/resources/data/deck/training/p/2023-01-10T01-29-38-148Z.md +10 -0
  121. package/resources/data/deck/training/p/2023-01-10T01-43-12-166Z.md +31 -0
  122. package/resources/data/deck/training/p/2023-01-10T02-21-54-303Z.md +10 -0
  123. package/resources/data/deck/training/p/2023-01-12T01-50-54-617Z.md +74 -0
  124. package/resources/data/deck/training/p/2023-01-13T19-55-24-735Z.md +14 -0
  125. package/resources/data/deck/training/p/2023-01-13T20-08-27-068Z.md +28 -0
  126. package/resources/data/deck/training/p/2023-01-13T20-23-38-411Z.md +25 -0
  127. package/resources/data/deck/training/p/2023-01-13T20-37-06-267Z.md +13 -0
  128. package/resources/data/deck/training/p/2023-01-13T21-05-57-708Z.md +8 -0
  129. package/resources/data/deck/training/p/2023-01-13T21-48-17-258Z.md +20 -0
  130. package/resources/data/deck/training/p/2023-01-13T22-05-05-799Z.md +14 -0
  131. package/resources/data/deck/training/p/2023-01-13T22-08-30-863Z.md +17 -0
  132. package/resources/data/deck/training/p/2023-01-13T23-01-50-449Z.md +4 -0
  133. package/resources/data/deck/training/p/2023-01-14T00-33-05-958Z.md +62 -0
  134. package/resources/data/deck/training/p/2023-01-14T00-40-27-784Z.md +229 -0
  135. package/resources/data/deck/training/p/2023-01-14T00-41-59-081Z.md +153 -0
  136. package/resources/data/deck/training/p/2023-01-14T13-50-28-199Z.md +19 -0
  137. package/resources/data/deck/training/p/2023-01-14T13-59-20-275Z.md +6 -0
  138. package/resources/data/deck/training/p/2023-01-14T14-03-29-456Z.md +3 -0
  139. package/resources/data/deck/training/p/2023-01-14T14-27-57-678Z.md +7 -0
  140. package/resources/data/deck/training/p/2023-01-14T17-30-18-228Z.md +33 -0
  141. package/resources/data/deck/training/p/2023-01-14T18-28-39-316Z.md +1 -0
  142. package/resources/data/deck/training/p/2023-01-14T18-28-44-115Z.md +4 -0
  143. package/resources/data/deck/training/p/2023-01-14T18-28-49-548Z.md +18 -0
  144. package/resources/data/deck/training/p/2023-01-14T18-40-13-758Z.md +10 -0
  145. package/resources/data/deck/training/p/2023-01-14T19-29-15-291Z.md +12 -0
  146. package/resources/data/deck/training/p/2023-01-15T18-51-52-134Z.md +83 -0
  147. package/resources/data/deck/training/p/2023-01-15T20-03-30-073Z.md +11 -0
  148. package/resources/data/deck/training/p/2023-01-15T22-07-52-073Z.md +16 -0
  149. package/resources/data/deck/training/p/2023-01-15T22-22-13-517Z.md +12 -0
  150. package/resources/data/deck/training/p/2023-01-15T22-28-57-508Z.md +131 -0
  151. package/resources/data/deck/training/p/2023-01-15T22-36-30-913Z.md +115 -0
  152. package/resources/data/deck/training/p/2023-01-16T16-03-40-770Z.md +12 -0
  153. package/resources/data/deck/training/p/2023-01-16T20-21-56-859Z.md +5 -0
  154. package/resources/data/deck/training/p/2023-01-16T20-24-09-690Z.md +24 -0
  155. package/resources/data/deck/training/p/2023-01-20T12-51-22-646Z.md +21 -0
  156. package/resources/data/deck/training/p/2023-01-20T13-06-46-614Z.md +9 -0
  157. package/resources/data/deck/training/p/2023-01-20T13-08-51-600Z.md +7 -0
  158. package/resources/data/deck/training/p/2023-01-20T15-20-13-363Z.md +26 -0
  159. package/resources/data/deck/training/p/2023-01-20T15-34-58-813Z.md +75 -0
  160. package/resources/data/deck/training/p/2023-01-21T16-33-20-458Z.md +33 -0
  161. package/resources/data/deck/training/p/2023-01-21T16-45-28-263Z.md +28 -0
  162. package/resources/data/deck/training/p/2023-01-21T16-56-25-452Z.md +3 -0
  163. package/resources/data/deck/training/p/2023-01-21T17-28-31-493Z.md +6 -0
  164. package/resources/data/deck/training/p/2023-01-21T19-49-51-918Z.md +13 -0
  165. package/resources/data/deck/training/p/2023-01-21T20-08-24-452Z.md +15 -0
  166. package/resources/data/deck/training/p/2023-01-21T20-35-54-947Z.md +20 -0
  167. package/resources/data/deck/training/p/2023-01-21T20-54-47-603Z.md +39 -0
  168. package/resources/data/deck/training/p/2023-01-21T20-56-28-184Z.md +25 -0
  169. package/resources/data/deck/training/p/2023-01-21T20-57-32-927Z.md +4 -0
  170. package/resources/data/deck/training/p/2023-01-21T23-13-33-394Z.md +6 -0
  171. package/resources/data/deck/training/p/2023-01-28T19-11-37-464Z.md +24 -0
  172. package/resources/data/deck/training/p/2023-01-28T20-43-41-188Z.md +9 -0
  173. package/resources/data/deck/training/p/2023-01-28T20-53-56-476Z.md +8 -0
  174. package/resources/data/deck/training/p/2023-01-28T20-58-43-776Z.md +10 -0
  175. package/resources/data/deck/training/p/2023-01-28T22-18-41-259Z.md +33 -0
  176. package/resources/data/deck/training/p/2023-01-28T22-24-34-808Z.md +24 -0
  177. package/resources/data/deck/training/p/2023-01-29T16-25-24-528Z.md +44 -0
  178. package/resources/data/deck/training/p/2023-01-29T21-14-32-588Z.md +12 -0
  179. package/resources/data/deck/training/p/2023-01-31T19-24-53-504Z.md +8 -0
  180. package/resources/data/deck/training/p/2023-01-31T20-33-55-855Z.md +11 -0
  181. package/resources/data/deck/training/p/2023-01-31T20-34-30-261Z.md +7 -0
  182. package/resources/data/deck/training/p/2023-01-31T20-52-53-367Z.md +43 -0
  183. package/resources/data/deck/training/p/2023-02-04T15-18-35-682Z.md +20 -0
  184. package/resources/data/deck/training/p/2023-02-04T15-49-47-597Z.md +14 -0
  185. package/resources/data/deck/training/p/2023-02-04T18-58-57-808Z.md +1 -0
  186. package/resources/data/deck/training/p/2023-02-04T20-07-11-288Z.md +1 -0
  187. package/resources/data/deck/training/p/2023-02-04T20-09-50-169Z.md +1 -0
  188. package/resources/data/deck/training/p/2023-02-04T20-19-42-740Z.md +8 -0
  189. package/resources/data/deck/training/p/2023-02-04T20-23-56-013Z.md +12 -0
  190. package/resources/data/deck/training/p/2023-02-04T20-28-12-391Z.md +20 -0
  191. package/resources/data/deck/training/p/2023-02-05T00-20-32-554Z.md +16 -0
  192. package/resources/data/deck/training/p/2023-02-05T00-35-56-282Z.md +13 -0
  193. package/resources/data/deck/training/p/2023-02-05T15-36-57-182Z.md +24 -0
  194. package/resources/data/deck/training/p/2023-02-05T17-39-51-712Z.md +70 -0
  195. package/resources/data/deck/training/p/2023-02-05T17-44-53-815Z.md +195 -0
  196. package/resources/data/deck/training/p/2023-02-05T17-45-40-114Z.md +92 -0
  197. package/resources/data/deck/training/p/2023-02-05T18-12-14-489Z.md +60 -0
  198. package/resources/data/deck/training/p/2023-02-06T00-14-54-457Z.md +9 -0
  199. package/resources/data/deck/training/p/2023-06-28T18-03-14-313Z.md +8 -0
  200. package/resources/data/deck/training/p/2023-06-28T18-26-17-290Z.md +7 -0
  201. package/resources/data/deck/training/p/2023-06-28T21-16-24-034Z.md +40 -0
  202. package/resources/data/deck/training/p/2023-06-28T21-16-34-972Z.md +16 -0
  203. package/resources/data/deck/training/p/2023-06-28T21-28-28-379Z.md +4 -0
  204. package/resources/data/deck/training/p/2023-06-29T23-15-10-411Z.md +5 -0
  205. package/resources/data/deck/training/p/2023-07-01T15-42-45-193Z.md +433 -0
  206. package/resources/data/deck/training/p/2023-07-01T21-54-31-329Z.md +6 -0
  207. package/resources/data/deck/training/p/2023-07-02T16-14-06-970Z.md +14 -0
  208. package/resources/data/deck/training/p/2023-07-31T00-26-03-842Z.md +4 -0
  209. package/resources/data/deck/training/p/2023-07-31T00-31-51-933Z.md +10 -0
  210. package/resources/data/deck/training/p/2023-07-31T00-37-21-927Z.md +205 -0
  211. package/resources/data/deck/training/p/2023-10-01T18-29-19-158Z.md +76 -0
  212. package/resources/data/deck/training/p/2023-10-07T19-18-28-517Z.md +102 -0
  213. package/resources/data/deck/training/p/2023-10-08T20-20-07-934Z.md +75 -0
  214. package/resources/data/deck/training/p/2023-10-08T20-37-30-658Z.md +0 -0
  215. package/resources/data/deck/training/p/2023-10-08T21-58-25-809Z.md +68 -0
  216. package/resources/data/deck/training/p/2023-10-08T22-22-11-013Z.md +0 -0
  217. package/resources/data/deck/training/p/2023-10-14T19-25-08-153Z.md +119 -0
  218. package/resources/data/deck/training/t.json +1276 -0
  219. package/resources/design-tokens/json/component.json +288 -0
  220. package/resources/design-tokens/json/core.json +352 -0
  221. package/resources/design-tokens/json/semantic.json +231 -0
  222. package/resources/scss/src/apps/learnneo/Viewport.scss +3 -0
  223. package/resources/scss/src/apps/learnneo/home/ContentTreeList.scss +60 -13
  224. package/resources/scss/src/apps/learnneo/home/ContentView.scss +58 -0
  225. package/resources/scss/src/apps/newwebsite/MainContainer.scss +32 -0
  226. package/resources/scss/src/list/Base.scss +1 -1
  227. package/resources/scss/theme-neo-light/Global.scss +65 -1
  228. package/resources/scss/theme-neo-light/design-tokens/Component.scss +64 -0
  229. package/resources/scss/theme-neo-light/design-tokens/Core.scss +67 -0
  230. package/resources/scss/theme-neo-light/design-tokens/Semantic.scss +61 -0
  231. package/resources/scss/theme-neo-light/design-tokens/_all.scss +4 -0
  232. package/resources/scss/theme-neo-light/list/Base.scss +29 -6
  233. package/src/DefaultConfig.mjs +4 -4
  234. package/src/controller/Base.mjs +31 -23
  235. package/src/data/connection/Xhr.mjs +1 -1
  236. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-07T19-18-28-517Z.md +0 -0
  237. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-20-07-934Z.md +0 -0
  238. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-37-30-658Z.md +0 -0
  239. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T21-58-25-809Z.md +0 -0
  240. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T22-22-11-013Z.md +0 -0
  241. /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-14T19-25-08-153Z.md +0 -0
  242. /package/resources/data/{learnneo → deck/learnneo}/pages/whyneo.md +0 -0
  243. /package/resources/data/{learnneo → deck/learnneo}/tree.json +0 -0
  244. /package/resources/data/{learnneo → deck/training}/p/2023-10-08T20-20-37-336Z.md +0 -0
  245. /package/resources/{deck → data/deck}/whyneo.md +0 -0
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.9.10'
23
+ * @member {String} version='6.9.12'
24
24
  */
25
- version: '6.9.10'
25
+ version: '6.9.12'
26
26
  }
27
27
 
28
28
  /**
@@ -5,12 +5,13 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <meta charset="UTF-8">
7
7
  <title>LearnNeo</title>
8
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans|Inconsolata">
9
- </link>
8
+ <link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,500;1,8..60,600;1,8..60,700&display=swap" rel="stylesheet">
9
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
10
+ rel="stylesheet">
10
11
  </head>
11
12
 
12
13
  <body>
13
14
  <script src="../../src/MicroLoader.mjs" type="module"></script>
14
15
  </body>
15
16
 
16
- </html>
17
+ </html>
@@ -3,5 +3,6 @@
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" : ["neo-theme-neo-light"]
7
8
  }
@@ -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;
@@ -27,6 +27,24 @@ class Viewport extends BaseViewport {
27
27
  */
28
28
  layout: {ntype: 'card'}
29
29
  }
30
+
31
+ /**
32
+ *
33
+ */
34
+ onConstructed() {
35
+ super.onConstructed();
36
+
37
+ let me = this;
38
+
39
+ Neo.Main.getByPath({path: 'location.search'})
40
+ .then(data => {
41
+ const searchString = data?.substr(1) || '';
42
+ const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
43
+ me.deck = search.deck || 'learnneo';
44
+
45
+ me.addCls(me.deck);
46
+ })
47
+ }
30
48
  }
31
49
 
32
50
  Neo.applyClassConfig(Viewport);
@@ -1,10 +1,10 @@
1
- import Component from '../../../src/controller/Component.mjs';
1
+ import Controller from '../../../src/controller/Component.mjs';
2
2
 
3
3
  /**
4
4
  * @class LearnNeo.view.ViewportController
5
5
  * @extends Neo.controller.Component
6
6
  */
7
- class ViewportController extends Component {
7
+ class ViewportController extends Controller {
8
8
  static config = {
9
9
  /**
10
10
  * @member {String} className='LearnNeo.view.ViewportController'
@@ -1,5 +1,5 @@
1
1
  import ContentStore from '../../store/Content.mjs'
2
- import TreeList from '../../../../src/tree/List.mjs';
2
+ import TreeList from '../../../../src/tree/List.mjs';
3
3
 
4
4
  /**
5
5
  * @class LearnNeo.view.home.ContentTreeList
@@ -16,16 +16,18 @@ class ContentTreeList extends TreeList {
16
16
  * @member {String[]} cls=['topics-tree']
17
17
  */
18
18
  cls: ['topics-tree'],
19
+ /**
20
+ * @member {Boolean} showCollapseExpandAllIcons=false
21
+ */
22
+ showCollapseExpandAllIcons: false,
19
23
  /**
20
24
  * @member {Neo.data.Store} store=ContentStore
21
25
  */
22
- store: ContentStore,
23
-
24
- cls: 'topics-tree'
26
+ store: ContentStore
25
27
  }
26
28
 
27
29
  get contentPath() {
28
- return `../../../resources/data/${this.deck}`;
30
+ return `../../resources/data/deck/${this.deck}`
29
31
  }
30
32
 
31
33
  /**
@@ -33,19 +35,24 @@ class ContentTreeList extends TreeList {
33
35
  * @returns {Promise<void>}
34
36
  */
35
37
  async doFetchContent(record) {
36
- let me = this,
38
+ let me = this,
37
39
  path = `${me.contentPath}`;
38
40
 
39
41
  path += record.path ? `/pages/${record.path}` : `/p/${record.id}.md`;
40
42
 
41
43
  if (record.isLeaf && path) {
42
- const data = await fetch(path);
44
+ const data = await fetch(path);
43
45
  const content = await data.text();
44
46
 
45
47
  await Neo.main.addon.Markdown.markdownToHtml(content)
46
48
  .then(
47
- html => me.fire('contentChange', {component: me, html}),
48
- () => me.fire('contentChange', {component: me}));
49
+ html => me.fire('contentChange', {
50
+ component: me,
51
+ html,
52
+ record,
53
+ isLab : record.name?.startsWith('Lab:')
54
+ }),
55
+ () => me.fire('contentChange', {component: me}))
49
56
  }
50
57
  }
51
58
 
@@ -60,7 +67,7 @@ class ContentTreeList extends TreeList {
60
67
  // TODO: Tree lists should do this themselves when their store is loaded.
61
68
  me.store.data = data.json.data;
62
69
  me.createItems(null, me.getListItemsRoot(), 0);
63
- me.update();
70
+ me.update()
64
71
  })
65
72
  }
66
73
 
@@ -75,11 +82,12 @@ class ContentTreeList extends TreeList {
75
82
  Neo.Main.getByPath({path: 'location.search'})
76
83
  .then(data => {
77
84
  const searchString = data?.substr(1) || '';
78
- const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
79
- me.deck = search.deck || 'learnneo';
85
+ const search = searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {};
86
+ me.deck = search.deck || 'learnneo';
87
+
80
88
  me.doLoadStore();
81
89
  console.log(search);
82
- });
90
+ })
83
91
  }
84
92
 
85
93
  /**
@@ -87,7 +95,7 @@ class ContentTreeList extends TreeList {
87
95
  */
88
96
  onLeafItemClick(record) {
89
97
  super.onLeafItemClick(record);
90
- this.doFetchContent(record);
98
+ this.doFetchContent(record)
91
99
  }
92
100
  }
93
101
 
@@ -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,5 +1,5 @@
1
1
  import Container from '../../../../src/container/Base.mjs';
2
- import ContentComponent from './ContentComponent.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';
@@ -20,6 +20,8 @@ class MainContainer extends Container {
20
20
  * @member {Neo.controller.Component} controller=MainContainerController
21
21
  */
22
22
  controller: MainContainerController,
23
+
24
+ cls: 'learnneo-maincontainer',
23
25
  /**
24
26
  * @member {Object[]} items
25
27
  */
@@ -28,19 +30,25 @@ class MainContainer extends Container {
28
30
  layout : 'fit',
29
31
  minWidth: 350,
30
32
  width : 350,
31
-
33
+ cls : 'sidenav-container',
32
34
  items: [{
33
35
  module : ContentTreeList,
34
36
  reference: 'tree',
35
- listeners: {contentChange: 'onContentListLeafClick'}
37
+ listeners: {
38
+ contentChange: 'onContentChange',
39
+ }
36
40
  }]
37
41
  }, {
38
42
  module : Splitter,
39
43
  resizeTarget: 'previous',
40
- size : 5
44
+ size : 4
41
45
  }, {
42
- module : ContentComponent,
43
- reference: 'content'
46
+ module : ContentView,
47
+ reference: 'content',
48
+ listeners: {
49
+ edit : 'onContentEdit',
50
+ refresh: 'onContentRefresh'
51
+ }
44
52
  }],
45
53
  /**
46
54
  * @member {Object} layout={ntype:'hbox',align:'stretch'}
@@ -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);
@@ -1,6 +1,5 @@
1
1
  import Component from '../../../../src/model/Component.mjs';
2
- import Tree from '../../store/Content.mjs';
3
- import Store from '../../../../src/data/Store.mjs';
2
+ import Store from '../../store/Content.mjs';
4
3
 
5
4
  /**
6
5
  * @class LearnNeo.view.home.MainContainerModel
@@ -22,9 +21,8 @@ class MainContainerModel extends Component {
22
21
  */
23
22
  stores: {
24
23
  tree: {
25
- // module: Tree,
26
- module: Store,
27
- responseRoot: "data",
24
+ module : Store,
25
+ responseRoot: 'data'
28
26
  }
29
27
  }
30
28
  }
@@ -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,13 @@
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
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Source+Sans+3:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,500;1,8..60,600;1,8..60,700&display=swap" rel="stylesheet">
10
+ <body>
11
+ <script src="../../src/MicroLoader.mjs" type="module"></script>
12
+ </body>
13
+ </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;