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.
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/learnneo/index.html +4 -3
- package/apps/learnneo/neo-config.json +2 -1
- package/apps/learnneo/store/Content.mjs +1 -1
- package/apps/learnneo/view/Viewport.mjs +18 -0
- package/apps/learnneo/view/ViewportController.mjs +2 -2
- package/apps/learnneo/view/home/ContentTreeList.mjs +22 -14
- package/apps/learnneo/view/home/ContentView.mjs +60 -0
- package/apps/learnneo/view/home/MainContainer.mjs +14 -6
- package/apps/learnneo/view/home/MainContainerController.mjs +57 -18
- package/apps/learnneo/view/home/MainContainerModel.mjs +3 -5
- package/apps/newwebsite/app.mjs +6 -0
- package/apps/newwebsite/index.html +13 -0
- package/apps/newwebsite/neo-config.json +7 -0
- package/apps/newwebsite/view/MainContainer.mjs +59 -0
- package/buildScripts/convertDesignTokens.mjs +173 -0
- package/buildScripts/webpack/json/myApps.template.json +1 -0
- package/examples/ConfigurationViewport.mjs +12 -9
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +3 -2
- package/resources/data/{learnneo → deck/learnneo}/p/2023-10-01T18-29-19-158Z.md +3 -6
- package/resources/data/deck/learnneo/p/2023-10-08T20-20-37-336Z.md +36 -0
- package/resources/data/deck/learnneo/p/stylesheet.md +58 -0
- package/resources/data/{learnneo → deck/learnneo}/t.json +19 -2
- package/resources/data/deck/training/p/2022-12-27T21-54-52-300Z.md +11 -0
- package/resources/data/deck/training/p/2022-12-27T21-55-23-144Z.md +43 -0
- package/resources/data/deck/training/p/2022-12-27T21-55-30-948Z.md +1 -0
- package/resources/data/deck/training/p/2022-12-27T21-55-43-542Z.md +84 -0
- package/resources/data/deck/training/p/2022-12-27T22-23-55-083Z.md +1 -0
- package/resources/data/deck/training/p/2022-12-27T22-24-07-886Z.md +8 -0
- package/resources/data/deck/training/p/2022-12-27T22-24-52-295Z.md +8 -0
- package/resources/data/deck/training/p/2022-12-27T22-25-03-853Z.md +5 -0
- package/resources/data/deck/training/p/2022-12-27T22-43-58-924Z.md +10 -0
- package/resources/data/deck/training/p/2022-12-27T22-44-28-881Z.md +3 -0
- package/resources/data/deck/training/p/2022-12-27T22-44-41-791Z.md +4 -0
- package/resources/data/deck/training/p/2022-12-27T22-45-21-032Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-27T22-49-22-078Z.md +4 -0
- package/resources/data/deck/training/p/2022-12-27T22-50-20-626Z.md +4 -0
- package/resources/data/deck/training/p/2022-12-28T16-58-47-786Z.md +0 -0
- package/resources/data/deck/training/p/2022-12-28T16-58-55-192Z.md +9 -0
- package/resources/data/deck/training/p/2022-12-28T17-10-18-058Z.md +15 -0
- package/resources/data/deck/training/p/2022-12-28T17-10-42-296Z.md +40 -0
- package/resources/data/deck/training/p/2022-12-28T17-11-34-653Z.md +41 -0
- package/resources/data/deck/training/p/2022-12-28T17-13-09-994Z.md +0 -0
- package/resources/data/deck/training/p/2022-12-28T21-32-14-420Z.md +0 -0
- package/resources/data/deck/training/p/2022-12-29T01-43-32-431Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-29T15-56-54-485Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-29T15-57-11-499Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-29T16-00-13-223Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-29T18-34-25-826Z.md +4 -0
- package/resources/data/deck/training/p/2022-12-29T18-36-08-226Z.md +106 -0
- package/resources/data/deck/training/p/2022-12-29T18-36-56-893Z.md +112 -0
- package/resources/data/deck/training/p/2022-12-29T19-31-30-507Z.md +31 -0
- package/resources/data/deck/training/p/2022-12-29T19-31-55-091Z.md +14 -0
- package/resources/data/deck/training/p/2022-12-29T20-03-42-628Z.md +9 -0
- package/resources/data/deck/training/p/2022-12-29T20-21-20-669Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-29T20-37-08-919Z.md +46 -0
- package/resources/data/deck/training/p/2022-12-29T20-37-20-344Z.md +43 -0
- package/resources/data/deck/training/p/2022-12-30T19-04-30-990Z.md +8 -0
- package/resources/data/deck/training/p/2022-12-31T18-43-56-338Z.md +7 -0
- package/resources/data/deck/training/p/2022-12-31T18-51-50-682Z.md +1 -0
- package/resources/data/deck/training/p/2022-12-31T18-54-04-176Z.md +4 -0
- package/resources/data/deck/training/p/2022-12-31T22-11-55-555Z.md +112 -0
- package/resources/data/deck/training/p/2022-12-31T23-00-41-222Z.md +6 -0
- package/resources/data/deck/training/p/2022-12-31T23-18-55-655Z.md +69 -0
- package/resources/data/deck/training/p/2022-12-31T23-25-40-735Z.md +21 -0
- package/resources/data/deck/training/p/2022-12-31T23-25-51-014Z.md +7 -0
- package/resources/data/deck/training/p/2023-01-01T17-49-18-429Z.md +3 -0
- package/resources/data/deck/training/p/2023-01-01T18-44-07-034Z.md +34 -0
- package/resources/data/deck/training/p/2023-01-01T18-47-39-766Z.md +15 -0
- package/resources/data/deck/training/p/2023-01-01T19-04-22-830Z.md +4 -0
- package/resources/data/deck/training/p/2023-01-01T21-11-58-025Z.md +25 -0
- package/resources/data/deck/training/p/2023-01-01T21-12-37-340Z.md +23 -0
- package/resources/data/deck/training/p/2023-01-01T21-13-13-880Z.md +8 -0
- package/resources/data/deck/training/p/2023-01-01T21-14-45-740Z.md +98 -0
- package/resources/data/deck/training/p/2023-01-01T21-18-23-886Z.md +26 -0
- package/resources/data/deck/training/p/2023-01-01T21-18-31-316Z.md +19 -0
- package/resources/data/deck/training/p/2023-01-01T21-18-42-290Z.md +23 -0
- package/resources/data/deck/training/p/2023-01-01T21-19-57-020Z.md +24 -0
- package/resources/data/deck/training/p/2023-01-01T21-22-31-184Z.md +13 -0
- package/resources/data/deck/training/p/2023-01-01T21-22-38-317Z.md +17 -0
- package/resources/data/deck/training/p/2023-01-01T21-22-47-693Z.md +20 -0
- package/resources/data/deck/training/p/2023-01-01T21-23-17-716Z.md +39 -0
- package/resources/data/deck/training/p/2023-01-01T21-23-28-532Z.md +22 -0
- package/resources/data/deck/training/p/2023-01-01T21-25-23-899Z.md +3 -0
- package/resources/data/deck/training/p/2023-01-01T21-25-59-742Z.md +1 -0
- package/resources/data/deck/training/p/2023-01-01T21-26-53-748Z.md +12 -0
- package/resources/data/deck/training/p/2023-01-01T23-38-42-863Z.md +2 -0
- package/resources/data/deck/training/p/2023-01-03T02-07-19-014Z.md +143 -0
- package/resources/data/deck/training/p/2023-01-04T01-52-23-454Z.md +76 -0
- package/resources/data/deck/training/p/2023-01-06T23-21-12-009Z.md +127 -0
- package/resources/data/deck/training/p/2023-01-06T23-21-31-685Z.md +81 -0
- package/resources/data/deck/training/p/2023-01-06T23-21-59-596Z.md +36 -0
- package/resources/data/deck/training/p/2023-01-06T23-34-13-897Z.md +87 -0
- package/resources/data/deck/training/p/2023-01-06T23-44-02-340Z.md +0 -0
- package/resources/data/deck/training/p/2023-01-06T23-46-36-687Z.md +1 -0
- package/resources/data/deck/training/p/2023-01-06T23-46-45-783Z.md +33 -0
- package/resources/data/deck/training/p/2023-01-08T00-45-11-144Z.md +50 -0
- package/resources/data/deck/training/p/2023-01-08T01-06-31-267Z.md +41 -0
- package/resources/data/deck/training/p/2023-01-08T01-24-21-088Z.md +95 -0
- package/resources/data/deck/training/p/2023-01-08T01-25-12-557Z.md +11 -0
- package/resources/data/deck/training/p/2023-01-08T01-46-50-723Z.md +25 -0
- package/resources/data/deck/training/p/2023-01-08T02-09-07-802Z.md +18 -0
- package/resources/data/deck/training/p/2023-01-08T02-09-19-678Z.md +66 -0
- package/resources/data/deck/training/p/2023-01-08T02-11-26-333Z.md +29 -0
- package/resources/data/deck/training/p/2023-01-08T17-22-48-841Z.md +14 -0
- package/resources/data/deck/training/p/2023-01-08T20-46-11-806Z.md +5 -0
- package/resources/data/deck/training/p/2023-01-08T20-47-23-682Z.md +5 -0
- package/resources/data/deck/training/p/2023-01-08T20-47-32-064Z.md +13 -0
- package/resources/data/deck/training/p/2023-01-08T20-47-57-045Z.md +0 -0
- package/resources/data/deck/training/p/2023-01-08T20-48-03-791Z.md +18 -0
- package/resources/data/deck/training/p/2023-01-08T20-48-32-466Z.md +9 -0
- package/resources/data/deck/training/p/2023-01-08T20-48-51-322Z.md +20 -0
- package/resources/data/deck/training/p/2023-01-08T20-49-52-741Z.md +0 -0
- package/resources/data/deck/training/p/2023-01-08T20-52-03-556Z.md +0 -0
- package/resources/data/deck/training/p/2023-01-08T20-57-36-333Z.md +2 -0
- package/resources/data/deck/training/p/2023-01-08T20-57-51-136Z.md +5 -0
- package/resources/data/deck/training/p/2023-01-09T00-07-37-951Z.md +0 -0
- package/resources/data/deck/training/p/2023-01-09T00-35-40-671Z.md +3 -0
- package/resources/data/deck/training/p/2023-01-10T01-29-38-148Z.md +10 -0
- package/resources/data/deck/training/p/2023-01-10T01-43-12-166Z.md +31 -0
- package/resources/data/deck/training/p/2023-01-10T02-21-54-303Z.md +10 -0
- package/resources/data/deck/training/p/2023-01-12T01-50-54-617Z.md +74 -0
- package/resources/data/deck/training/p/2023-01-13T19-55-24-735Z.md +14 -0
- package/resources/data/deck/training/p/2023-01-13T20-08-27-068Z.md +28 -0
- package/resources/data/deck/training/p/2023-01-13T20-23-38-411Z.md +25 -0
- package/resources/data/deck/training/p/2023-01-13T20-37-06-267Z.md +13 -0
- package/resources/data/deck/training/p/2023-01-13T21-05-57-708Z.md +8 -0
- package/resources/data/deck/training/p/2023-01-13T21-48-17-258Z.md +20 -0
- package/resources/data/deck/training/p/2023-01-13T22-05-05-799Z.md +14 -0
- package/resources/data/deck/training/p/2023-01-13T22-08-30-863Z.md +17 -0
- package/resources/data/deck/training/p/2023-01-13T23-01-50-449Z.md +4 -0
- package/resources/data/deck/training/p/2023-01-14T00-33-05-958Z.md +62 -0
- package/resources/data/deck/training/p/2023-01-14T00-40-27-784Z.md +229 -0
- package/resources/data/deck/training/p/2023-01-14T00-41-59-081Z.md +153 -0
- package/resources/data/deck/training/p/2023-01-14T13-50-28-199Z.md +19 -0
- package/resources/data/deck/training/p/2023-01-14T13-59-20-275Z.md +6 -0
- package/resources/data/deck/training/p/2023-01-14T14-03-29-456Z.md +3 -0
- package/resources/data/deck/training/p/2023-01-14T14-27-57-678Z.md +7 -0
- package/resources/data/deck/training/p/2023-01-14T17-30-18-228Z.md +33 -0
- package/resources/data/deck/training/p/2023-01-14T18-28-39-316Z.md +1 -0
- package/resources/data/deck/training/p/2023-01-14T18-28-44-115Z.md +4 -0
- package/resources/data/deck/training/p/2023-01-14T18-28-49-548Z.md +18 -0
- package/resources/data/deck/training/p/2023-01-14T18-40-13-758Z.md +10 -0
- package/resources/data/deck/training/p/2023-01-14T19-29-15-291Z.md +12 -0
- package/resources/data/deck/training/p/2023-01-15T18-51-52-134Z.md +83 -0
- package/resources/data/deck/training/p/2023-01-15T20-03-30-073Z.md +11 -0
- package/resources/data/deck/training/p/2023-01-15T22-07-52-073Z.md +16 -0
- package/resources/data/deck/training/p/2023-01-15T22-22-13-517Z.md +12 -0
- package/resources/data/deck/training/p/2023-01-15T22-28-57-508Z.md +131 -0
- package/resources/data/deck/training/p/2023-01-15T22-36-30-913Z.md +115 -0
- package/resources/data/deck/training/p/2023-01-16T16-03-40-770Z.md +12 -0
- package/resources/data/deck/training/p/2023-01-16T20-21-56-859Z.md +5 -0
- package/resources/data/deck/training/p/2023-01-16T20-24-09-690Z.md +24 -0
- package/resources/data/deck/training/p/2023-01-20T12-51-22-646Z.md +21 -0
- package/resources/data/deck/training/p/2023-01-20T13-06-46-614Z.md +9 -0
- package/resources/data/deck/training/p/2023-01-20T13-08-51-600Z.md +7 -0
- package/resources/data/deck/training/p/2023-01-20T15-20-13-363Z.md +26 -0
- package/resources/data/deck/training/p/2023-01-20T15-34-58-813Z.md +75 -0
- package/resources/data/deck/training/p/2023-01-21T16-33-20-458Z.md +33 -0
- package/resources/data/deck/training/p/2023-01-21T16-45-28-263Z.md +28 -0
- package/resources/data/deck/training/p/2023-01-21T16-56-25-452Z.md +3 -0
- package/resources/data/deck/training/p/2023-01-21T17-28-31-493Z.md +6 -0
- package/resources/data/deck/training/p/2023-01-21T19-49-51-918Z.md +13 -0
- package/resources/data/deck/training/p/2023-01-21T20-08-24-452Z.md +15 -0
- package/resources/data/deck/training/p/2023-01-21T20-35-54-947Z.md +20 -0
- package/resources/data/deck/training/p/2023-01-21T20-54-47-603Z.md +39 -0
- package/resources/data/deck/training/p/2023-01-21T20-56-28-184Z.md +25 -0
- package/resources/data/deck/training/p/2023-01-21T20-57-32-927Z.md +4 -0
- package/resources/data/deck/training/p/2023-01-21T23-13-33-394Z.md +6 -0
- package/resources/data/deck/training/p/2023-01-28T19-11-37-464Z.md +24 -0
- package/resources/data/deck/training/p/2023-01-28T20-43-41-188Z.md +9 -0
- package/resources/data/deck/training/p/2023-01-28T20-53-56-476Z.md +8 -0
- package/resources/data/deck/training/p/2023-01-28T20-58-43-776Z.md +10 -0
- package/resources/data/deck/training/p/2023-01-28T22-18-41-259Z.md +33 -0
- package/resources/data/deck/training/p/2023-01-28T22-24-34-808Z.md +24 -0
- package/resources/data/deck/training/p/2023-01-29T16-25-24-528Z.md +44 -0
- package/resources/data/deck/training/p/2023-01-29T21-14-32-588Z.md +12 -0
- package/resources/data/deck/training/p/2023-01-31T19-24-53-504Z.md +8 -0
- package/resources/data/deck/training/p/2023-01-31T20-33-55-855Z.md +11 -0
- package/resources/data/deck/training/p/2023-01-31T20-34-30-261Z.md +7 -0
- package/resources/data/deck/training/p/2023-01-31T20-52-53-367Z.md +43 -0
- package/resources/data/deck/training/p/2023-02-04T15-18-35-682Z.md +20 -0
- package/resources/data/deck/training/p/2023-02-04T15-49-47-597Z.md +14 -0
- package/resources/data/deck/training/p/2023-02-04T18-58-57-808Z.md +1 -0
- package/resources/data/deck/training/p/2023-02-04T20-07-11-288Z.md +1 -0
- package/resources/data/deck/training/p/2023-02-04T20-09-50-169Z.md +1 -0
- package/resources/data/deck/training/p/2023-02-04T20-19-42-740Z.md +8 -0
- package/resources/data/deck/training/p/2023-02-04T20-23-56-013Z.md +12 -0
- package/resources/data/deck/training/p/2023-02-04T20-28-12-391Z.md +20 -0
- package/resources/data/deck/training/p/2023-02-05T00-20-32-554Z.md +16 -0
- package/resources/data/deck/training/p/2023-02-05T00-35-56-282Z.md +13 -0
- package/resources/data/deck/training/p/2023-02-05T15-36-57-182Z.md +24 -0
- package/resources/data/deck/training/p/2023-02-05T17-39-51-712Z.md +70 -0
- package/resources/data/deck/training/p/2023-02-05T17-44-53-815Z.md +195 -0
- package/resources/data/deck/training/p/2023-02-05T17-45-40-114Z.md +92 -0
- package/resources/data/deck/training/p/2023-02-05T18-12-14-489Z.md +60 -0
- package/resources/data/deck/training/p/2023-02-06T00-14-54-457Z.md +9 -0
- package/resources/data/deck/training/p/2023-06-28T18-03-14-313Z.md +8 -0
- package/resources/data/deck/training/p/2023-06-28T18-26-17-290Z.md +7 -0
- package/resources/data/deck/training/p/2023-06-28T21-16-24-034Z.md +40 -0
- package/resources/data/deck/training/p/2023-06-28T21-16-34-972Z.md +16 -0
- package/resources/data/deck/training/p/2023-06-28T21-28-28-379Z.md +4 -0
- package/resources/data/deck/training/p/2023-06-29T23-15-10-411Z.md +5 -0
- package/resources/data/deck/training/p/2023-07-01T15-42-45-193Z.md +433 -0
- package/resources/data/deck/training/p/2023-07-01T21-54-31-329Z.md +6 -0
- package/resources/data/deck/training/p/2023-07-02T16-14-06-970Z.md +14 -0
- package/resources/data/deck/training/p/2023-07-31T00-26-03-842Z.md +4 -0
- package/resources/data/deck/training/p/2023-07-31T00-31-51-933Z.md +10 -0
- package/resources/data/deck/training/p/2023-07-31T00-37-21-927Z.md +205 -0
- package/resources/data/deck/training/p/2023-10-01T18-29-19-158Z.md +76 -0
- package/resources/data/deck/training/p/2023-10-07T19-18-28-517Z.md +102 -0
- package/resources/data/deck/training/p/2023-10-08T20-20-07-934Z.md +75 -0
- package/resources/data/deck/training/p/2023-10-08T20-37-30-658Z.md +0 -0
- package/resources/data/deck/training/p/2023-10-08T21-58-25-809Z.md +68 -0
- package/resources/data/deck/training/p/2023-10-08T22-22-11-013Z.md +0 -0
- package/resources/data/deck/training/p/2023-10-14T19-25-08-153Z.md +119 -0
- package/resources/data/deck/training/t.json +1276 -0
- package/resources/design-tokens/json/component.json +288 -0
- package/resources/design-tokens/json/core.json +352 -0
- package/resources/design-tokens/json/semantic.json +231 -0
- package/resources/scss/src/apps/learnneo/Viewport.scss +3 -0
- package/resources/scss/src/apps/learnneo/home/ContentTreeList.scss +60 -13
- package/resources/scss/src/apps/learnneo/home/ContentView.scss +58 -0
- package/resources/scss/src/apps/newwebsite/MainContainer.scss +32 -0
- package/resources/scss/src/list/Base.scss +1 -1
- package/resources/scss/theme-neo-light/Global.scss +65 -1
- package/resources/scss/theme-neo-light/design-tokens/Component.scss +64 -0
- package/resources/scss/theme-neo-light/design-tokens/Core.scss +67 -0
- package/resources/scss/theme-neo-light/design-tokens/Semantic.scss +61 -0
- package/resources/scss/theme-neo-light/design-tokens/_all.scss +4 -0
- package/resources/scss/theme-neo-light/list/Base.scss +29 -6
- package/src/DefaultConfig.mjs +4 -4
- package/src/controller/Base.mjs +31 -23
- package/src/data/connection/Xhr.mjs +1 -1
- /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-07T19-18-28-517Z.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-20-07-934Z.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T20-37-30-658Z.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T21-58-25-809Z.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-08T22-22-11-013Z.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/p/2023-10-14T19-25-08-153Z.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/pages/whyneo.md +0 -0
- /package/resources/data/{learnneo → deck/learnneo}/tree.json +0 -0
- /package/resources/data/{learnneo → deck/training}/p/2023-10-08T20-20-37-336Z.md +0 -0
- /package/resources/{deck → data/deck}/whyneo.md +0 -0
package/apps/ServiceWorker.mjs
CHANGED
package/apps/learnneo/index.html
CHANGED
@@ -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
|
9
|
-
|
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
|
}
|
@@ -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
|
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
|
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
|
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
|
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
|
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
|
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', {
|
48
|
-
|
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
|
79
|
-
me.deck
|
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
|
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: {
|
37
|
+
listeners: {
|
38
|
+
contentChange: 'onContentChange',
|
39
|
+
}
|
36
40
|
}]
|
37
41
|
}, {
|
38
42
|
module : Splitter,
|
39
43
|
resizeTarget: 'previous',
|
40
|
-
size :
|
44
|
+
size : 4
|
41
45
|
}, {
|
42
|
-
module :
|
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
|
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
|
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
|
21
|
-
|
22
|
-
me = this,
|
40
|
+
async onContentChange(data) {
|
41
|
+
let me = this,
|
23
42
|
content = me.getReference('content');
|
24
43
|
|
25
|
-
content.
|
44
|
+
content.toggleCls('lab', data.isLab);
|
45
|
+
|
46
|
+
content.html = data.html;
|
47
|
+
content.record = data.record;
|
26
48
|
|
27
|
-
await
|
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
|
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
|
-
|
52
|
-
|
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
|
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
|
-
|
26
|
-
|
27
|
-
responseRoot: "data",
|
24
|
+
module : Store,
|
25
|
+
responseRoot: 'data'
|
28
26
|
}
|
29
27
|
}
|
30
28
|
}
|
@@ -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,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;
|