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.
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/learnneo/neo-config.json +5 -1
- package/apps/learnneo/store/Content.mjs +1 -1
- package/apps/learnneo/view/Viewport.mjs +12 -1
- package/apps/learnneo/view/home/ContentTreeList.mjs +53 -34
- package/apps/learnneo/view/home/ContentView.mjs +60 -0
- package/apps/learnneo/view/home/MainContainer.mjs +36 -9
- package/apps/learnneo/view/home/MainContainerController.mjs +57 -18
- package/apps/newwebsite/app.mjs +6 -0
- package/apps/newwebsite/index.html +10 -0
- package/apps/newwebsite/neo-config.json +7 -0
- package/apps/newwebsite/view/MainContainer.mjs +59 -0
- package/buildScripts/webpack/json/myApps.template.json +1 -0
- package/examples/ConfigurationViewport.mjs +12 -9
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/button/base/neo-config.json +1 -2
- package/examples/form/field/textarea/MainContainer.mjs +1 -1
- package/package.json +2 -2
- package/resources/data/{learnneo → deck/learnneo}/p/2023-10-01T18-29-19-158Z.md +3 -6
- package/resources/data/deck/learnneo/p/stylesheet.md +40 -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-20-37-336Z.md +29 -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 +1 -0
- package/resources/scss/src/apps/learnneo/Viewport.scss +0 -106
- package/resources/scss/src/apps/learnneo/home/ContentTreeList.scss +37 -0
- package/resources/scss/src/apps/learnneo/home/ContentView.scss +55 -0
- package/resources/scss/src/form/field/FileUpload.scss +4 -4
- package/resources/scss/src/form/field/TextArea.scss +1 -1
- package/resources/scss/theme-neo-light/Global.scss +46 -0
- package/resources/scss/theme-neo-light/design-tokens/Core.scss +7 -0
- package/resources/scss/theme-neo-light/design-tokens/Semantic.scss +0 -0
- package/resources/scss/theme-neo-light/design-tokens/_all.scss +4 -0
- package/src/DefaultConfig.mjs +4 -4
- package/src/form/field/FileUpload.mjs +9 -2
- package/src/form/field/TextArea.mjs +19 -34
- package/src/main/DomAccess.mjs +34 -0
- package/test/components/files/form/field/Select.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-20-37-336Z.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/{deck → data/deck}/whyneo.md +0 -0
- /package/resources/scss/src/apps/newwebsite/{MainContainer.css → MainContainer.scss} +0 -0
- /package/resources/scss/theme-neo-light/design-tokens/{Components.scss → Component.scss} +0 -0
package/apps/ServiceWorker.mjs
CHANGED
@@ -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
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import BaseViewport
|
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
|
-
|
25
|
+
get contentPath() {
|
26
|
+
return `../../../resources/data/deck/${this.deck}`;
|
21
27
|
}
|
22
28
|
|
23
29
|
/**
|
24
|
-
*
|
30
|
+
* @param {Object} record
|
31
|
+
* @returns {Promise<void>}
|
25
32
|
*/
|
26
|
-
|
27
|
-
|
28
|
-
|
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
|
-
|
40
|
-
|
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
|
-
|
56
|
-
|
57
|
-
|
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
|
-
|
76
|
+
let me = this;
|
65
77
|
|
66
|
-
|
67
|
-
|
68
|
-
|
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
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
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
|
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
|
-
|
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: {
|
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:
|
29
|
-
|
30
|
-
|
31
|
-
|
44
|
+
module: ContentView,
|
45
|
+
reference: 'content',
|
46
|
+
listeners: {
|
47
|
+
edit: 'onContentEdit',
|
48
|
+
refresh: 'onContentRefresh'
|
49
|
+
}
|
32
50
|
}],
|
33
|
-
|
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
|
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);
|
@@ -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;
|
@@ -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-
|
10
|
-
{name: 'neo-theme-
|
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 :
|
125
|
+
width : 130
|
125
126
|
}, {
|
126
127
|
module : Button,
|
127
128
|
handler: me.logInstance.bind(me),
|
128
129
|
text : 'Log Instance',
|
129
|
-
width :
|
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
|
-
|
197
|
-
|
197
|
+
futureIndex = (themeIndex + countThemes +1) % countThemes;
|
198
|
+
oldIndex = (themeIndex + countThemes -1) % countThemes;
|
199
|
+
oldTheme = themes[oldIndex].name;
|
198
200
|
|
199
|
-
|
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],
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "6.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.
|
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>
|