neo.mjs 6.12.1 → 6.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/ServiceWorker.mjs +1 -1
- package/apps/covid/Util.mjs +1 -1
- package/apps/covid/model/Country.mjs +1 -1
- package/apps/covid/model/HistoricalData.mjs +1 -1
- package/apps/covid/store/Countries.mjs +1 -1
- package/apps/covid/store/HistoricalData.mjs +1 -1
- package/apps/covid/view/AttributionComponent.mjs +1 -1
- package/apps/covid/view/FooterContainer.mjs +1 -1
- package/apps/covid/view/GalleryContainer.mjs +1 -1
- package/apps/covid/view/GalleryContainerController.mjs +1 -1
- package/apps/covid/view/HeaderContainer.mjs +1 -1
- package/apps/covid/view/HelixContainer.mjs +1 -1
- package/apps/covid/view/HelixContainerController.mjs +1 -1
- package/apps/covid/view/MainContainer.mjs +1 -1
- package/apps/covid/view/MainContainerController.mjs +1 -1
- package/apps/covid/view/MainContainerModel.mjs +1 -1
- package/apps/covid/view/TableContainer.mjs +1 -1
- package/apps/covid/view/TableContainerController.mjs +1 -1
- package/apps/covid/view/WorldMapComponent.mjs +1 -1
- package/apps/covid/view/WorldMapContainer.mjs +1 -1
- package/apps/covid/view/WorldMapContainerController.mjs +1 -1
- package/apps/covid/view/country/Gallery.mjs +1 -1
- package/apps/covid/view/country/Helix.mjs +1 -1
- package/apps/covid/view/country/HistoricalDataTable.mjs +1 -1
- package/apps/covid/view/country/LineChartComponent.mjs +1 -1
- package/apps/covid/view/country/Table.mjs +1 -1
- package/apps/covid/view/mapboxGl/Component.mjs +1 -1
- package/apps/covid/view/mapboxGl/Container.mjs +1 -1
- package/apps/covid/view/mapboxGl/ContainerController.mjs +1 -1
- package/apps/form/model/SideNav.mjs +1 -1
- package/apps/form/store/SideNav.mjs +1 -1
- package/apps/form/view/FormContainer.mjs +1 -1
- package/apps/form/view/FormContainerController.mjs +1 -1
- package/apps/form/view/FormPageContainer.mjs +1 -1
- package/apps/form/view/SideNavList.mjs +1 -1
- package/apps/form/view/Viewport.mjs +3 -3
- package/apps/form/view/ViewportController.mjs +1 -1
- package/apps/form/view/ViewportModel.mjs +1 -1
- package/apps/form/view/pages/Page1.mjs +1 -1
- package/apps/form/view/pages/Page10.mjs +1 -1
- package/apps/form/view/pages/Page11.mjs +1 -1
- package/apps/form/view/pages/Page12.mjs +1 -1
- package/apps/form/view/pages/Page13.mjs +1 -1
- package/apps/form/view/pages/Page14.mjs +1 -1
- package/apps/form/view/pages/Page15.mjs +1 -1
- package/apps/form/view/pages/Page2.mjs +1 -1
- package/apps/form/view/pages/Page3.mjs +1 -1
- package/apps/form/view/pages/Page4.mjs +1 -1
- package/apps/form/view/pages/Page5.mjs +1 -1
- package/apps/form/view/pages/Page6.mjs +1 -1
- package/apps/form/view/pages/Page7.mjs +1 -1
- package/apps/form/view/pages/Page8.mjs +1 -1
- package/apps/form/view/pages/Page9.mjs +1 -1
- package/apps/krausest/TableCollection.mjs +1 -1
- package/apps/krausest/view/MainComponent.mjs +1 -1
- package/apps/krausest/view/MainComponentController.mjs +1 -1
- package/apps/krausest/view/TableComponent.mjs +1 -1
- package/apps/portal/childapps/preview/MainContainer.mjs +23 -0
- package/apps/portal/childapps/preview/app.mjs +6 -0
- package/apps/portal/childapps/preview/index.html +11 -0
- package/apps/portal/childapps/preview/neo-config.json +9 -0
- package/apps/portal/model/BlogPost.mjs +1 -1
- package/apps/portal/model/Content.mjs +5 -5
- package/apps/portal/model/ContentSection.mjs +32 -0
- package/apps/portal/neo-config.json +3 -2
- package/apps/portal/store/BlogPosts.mjs +1 -1
- package/apps/portal/store/Content.mjs +4 -51
- package/apps/portal/store/ContentSections.mjs +24 -0
- package/apps/portal/view/HeaderToolbar.mjs +14 -6
- package/apps/portal/view/Viewport.mjs +3 -2
- package/apps/portal/view/ViewportController.mjs +11 -1
- package/apps/portal/view/blog/Container.mjs +1 -1
- package/apps/portal/view/blog/List.mjs +1 -1
- package/apps/portal/view/home/MainContainer.mjs +1 -1
- package/apps/portal/view/learn/ContentTreeList.mjs +34 -147
- package/apps/portal/view/learn/ContentView.mjs +229 -17
- package/apps/portal/view/learn/LivePreview.mjs +175 -76
- package/apps/portal/view/learn/MainContainer.mjs +20 -18
- package/apps/portal/view/learn/MainContainerController.mjs +135 -23
- package/apps/portal/view/learn/MainContainerModel.mjs +99 -7
- package/apps/portal/view/learn/PageContainer.mjs +110 -0
- package/apps/portal/view/learn/PageSectionsPanel.mjs +88 -0
- package/apps/realworld/api/Article.mjs +1 -5
- package/apps/realworld/api/Base.mjs +1 -1
- package/apps/realworld/api/Favorite.mjs +1 -5
- package/apps/realworld/api/Profile.mjs +1 -5
- package/apps/realworld/api/Tag.mjs +1 -5
- package/apps/realworld/api/User.mjs +1 -5
- package/apps/realworld/view/FooterComponent.mjs +1 -1
- package/apps/realworld/view/HeaderComponent.mjs +1 -1
- package/apps/realworld/view/HomeComponent.mjs +1 -1
- package/apps/realworld/view/MainContainer.mjs +1 -1
- package/apps/realworld/view/MainContainerController.mjs +1 -1
- package/apps/realworld/view/article/CommentComponent.mjs +1 -1
- package/apps/realworld/view/article/Component.mjs +1 -1
- package/apps/realworld/view/article/CreateCommentComponent.mjs +1 -1
- package/apps/realworld/view/article/CreateComponent.mjs +1 -1
- package/apps/realworld/view/article/PreviewComponent.mjs +1 -1
- package/apps/realworld/view/article/TagListComponent.mjs +1 -1
- package/apps/realworld/view/user/ProfileComponent.mjs +1 -1
- package/apps/realworld/view/user/SettingsComponent.mjs +1 -1
- package/apps/realworld/view/user/SignUpComponent.mjs +1 -1
- package/apps/realworld2/api/Article.mjs +1 -5
- package/apps/realworld2/api/Base.mjs +1 -1
- package/apps/realworld2/api/Favorite.mjs +1 -5
- package/apps/realworld2/api/Profile.mjs +1 -5
- package/apps/realworld2/api/Tag.mjs +1 -5
- package/apps/realworld2/api/User.mjs +1 -5
- package/apps/realworld2/model/ArticlePreview.mjs +1 -1
- package/apps/realworld2/store/ArticlePreviews.mjs +1 -1
- package/apps/realworld2/view/FooterComponent.mjs +1 -1
- package/apps/realworld2/view/HeaderToolbar.mjs +1 -1
- package/apps/realworld2/view/HeaderToolbarController.mjs +1 -1
- package/apps/realworld2/view/HomeContainer.mjs +1 -1
- package/apps/realworld2/view/MainContainer.mjs +1 -1
- package/apps/realworld2/view/MainContainerController.mjs +1 -1
- package/apps/realworld2/view/article/DetailsContainer.mjs +1 -1
- package/apps/realworld2/view/article/FormContainer.mjs +1 -1
- package/apps/realworld2/view/article/Gallery.mjs +1 -1
- package/apps/realworld2/view/article/GalleryContainer.mjs +1 -1
- package/apps/realworld2/view/article/Helix.mjs +1 -1
- package/apps/realworld2/view/article/HelixContainer.mjs +1 -1
- package/apps/realworld2/view/article/PreviewComponent.mjs +1 -1
- package/apps/realworld2/view/article/PreviewList.mjs +1 -1
- package/apps/realworld2/view/article/TagListComponent.mjs +1 -1
- package/apps/realworld2/view/user/LoginFormContainer.mjs +1 -1
- package/apps/realworld2/view/user/ProfileContainer.mjs +1 -1
- package/apps/realworld2/view/user/SettingsFormContainer.mjs +1 -1
- package/apps/route/view/ButtonBar.mjs +1 -1
- package/apps/route/view/CenterContainer.mjs +1 -1
- package/apps/route/view/FooterContainer.mjs +1 -1
- package/apps/route/view/HeaderContainer.mjs +1 -1
- package/apps/route/view/MainView.mjs +4 -4
- package/apps/route/view/MainViewController.mjs +1 -1
- package/apps/route/view/MetaContainer.mjs +2 -2
- package/apps/route/view/Viewport.mjs +1 -1
- package/apps/route/view/center/CardAdministration.mjs +1 -1
- package/apps/route/view/center/CardAdministrationDenied.mjs +1 -1
- package/apps/route/view/center/CardContact.mjs +1 -1
- package/apps/route/view/center/CardHome.mjs +1 -1
- package/apps/route/view/center/CardSection1.mjs +1 -1
- package/apps/route/view/center/CardSection2.mjs +1 -1
- package/apps/sharedcovid/Util.mjs +1 -1
- package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -1
- package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -1
- package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -1
- package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -1
- package/apps/sharedcovid/model/Country.mjs +1 -1
- package/apps/sharedcovid/model/HistoricalData.mjs +1 -1
- package/apps/sharedcovid/store/Countries.mjs +1 -1
- package/apps/sharedcovid/store/HistoricalData.mjs +1 -1
- package/apps/sharedcovid/view/AttributionComponent.mjs +1 -1
- package/apps/sharedcovid/view/FooterContainer.mjs +1 -1
- package/apps/sharedcovid/view/GalleryContainer.mjs +1 -1
- package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -1
- package/apps/sharedcovid/view/HeaderContainer.mjs +1 -1
- package/apps/sharedcovid/view/HelixContainer.mjs +1 -1
- package/apps/sharedcovid/view/HelixContainerController.mjs +1 -1
- package/apps/sharedcovid/view/MainContainer.mjs +1 -1
- package/apps/sharedcovid/view/MainContainerController.mjs +1 -1
- package/apps/sharedcovid/view/MainContainerModel.mjs +1 -1
- package/apps/sharedcovid/view/TableContainer.mjs +1 -1
- package/apps/sharedcovid/view/TableContainerController.mjs +1 -1
- package/apps/sharedcovid/view/WorldMapComponent.mjs +1 -1
- package/apps/sharedcovid/view/WorldMapContainer.mjs +1 -1
- package/apps/sharedcovid/view/WorldMapContainerController.mjs +1 -1
- package/apps/sharedcovid/view/country/Gallery.mjs +1 -1
- package/apps/sharedcovid/view/country/Helix.mjs +1 -1
- package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -1
- package/apps/sharedcovid/view/country/LineChartComponent.mjs +1 -1
- package/apps/sharedcovid/view/country/Table.mjs +1 -1
- package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -1
- package/apps/sharedcovid/view/mapboxGl/Container.mjs +1 -1
- package/apps/sharedcovid/view/mapboxGl/ContainerController.mjs +1 -1
- package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +1 -1
- package/apps/shareddialog/childapps/shareddialog2/view/MainContainerController.mjs +1 -1
- package/apps/shareddialog/view/DemoDialog.mjs +1 -1
- package/apps/shareddialog/view/MainContainer.mjs +1 -1
- package/apps/shareddialog/view/MainContainerController.mjs +1 -1
- package/apps/website/model/BlogPost.mjs +1 -1
- package/apps/website/model/Example.mjs +1 -1
- package/apps/website/store/BlogPosts.mjs +1 -1
- package/apps/website/store/Examples.mjs +1 -1
- package/apps/website/view/HeaderContainer.mjs +1 -1
- package/apps/website/view/MainContainer.mjs +1 -1
- package/apps/website/view/MainContainerController.mjs +1 -1
- package/apps/website/view/blog/Container.mjs +1 -1
- package/apps/website/view/blog/List.mjs +1 -1
- package/apps/website/view/examples/List.mjs +1 -1
- package/apps/website/view/examples/TabContainer.mjs +1 -1
- package/apps/website/view/home/DeveloperIntroComponent.mjs +1 -1
- package/apps/website/view/home/ExecutiveIntroComponent.mjs +1 -1
- package/apps/website/view/home/TabContainer.mjs +1 -1
- package/buildScripts/createApp.mjs +1 -1
- package/buildScripts/createAppMinimal.mjs +4 -4
- package/buildScripts/createClass.mjs +2 -2
- package/buildScripts/docs/jsdocx.mjs +3 -4
- package/buildScripts/tools/createExample.mjs +1 -1
- package/docs/app/model/Api.mjs +1 -1
- package/docs/app/model/Example.mjs +1 -1
- package/docs/app/model/Tutorial.mjs +1 -1
- package/docs/app/store/Api.mjs +1 -1
- package/docs/app/store/Examples.mjs +1 -1
- package/docs/app/store/Tutorials.mjs +1 -1
- package/docs/app/view/ApiTreeList.mjs +1 -1
- package/docs/app/view/ContentTabContainer.mjs +1 -1
- package/docs/app/view/ExamplesTreeList.mjs +1 -1
- package/docs/app/view/HeaderContainer.mjs +1 -1
- package/docs/app/view/MainContainer.mjs +1 -1
- package/docs/app/view/MainContainerController.mjs +54 -40
- package/docs/app/view/TutorialsTreeList.mjs +1 -1
- package/docs/app/view/classdetails/HeaderComponent.mjs +4 -4
- package/docs/app/view/classdetails/HierarchyTreeList.mjs +1 -1
- package/docs/app/view/classdetails/MainContainer.mjs +1 -1
- package/docs/app/view/classdetails/MainContainerController.mjs +4 -17
- package/docs/app/view/classdetails/MembersList.mjs +3 -3
- package/docs/app/view/classdetails/SourceViewComponent.mjs +5 -5
- package/docs/app/view/classdetails/TutorialComponent.mjs +1 -1
- package/docs/neo-config.json +1 -1
- package/examples/ConfigurationViewport.mjs +3 -2
- package/examples/ServiceWorker.mjs +1 -1
- package/examples/button/base/MainContainer.mjs +1 -1
- package/examples/button/split/MainContainer.mjs +1 -1
- package/examples/calendar/basic/MainContainer.mjs +1 -1
- package/examples/calendar/basic/MainContainerController.mjs +1 -1
- package/examples/calendar/weekview/MainContainer.mjs +1 -1
- package/examples/charts/MainContainer.mjs +1 -1
- package/examples/component/canvas/MainContainer.mjs +1 -1
- package/examples/component/carousel/MainContainer.mjs +1 -1
- package/examples/component/chip/MainContainer.mjs +1 -1
- package/examples/component/circle/MainContainer.mjs +1 -1
- package/examples/component/clock/MainContainer.mjs +1 -1
- package/examples/component/coronaGallery/CountryGallery.mjs +1 -1
- package/examples/component/coronaGallery/CountryModel.mjs +1 -1
- package/examples/component/coronaGallery/CountryStore.mjs +1 -1
- package/examples/component/coronaGallery/MainContainer.mjs +1 -1
- package/examples/component/coronaHelix/CountryHelix.mjs +1 -1
- package/examples/component/coronaHelix/CountryModel.mjs +1 -1
- package/examples/component/coronaHelix/CountryStore.mjs +1 -1
- package/examples/component/coronaHelix/MainContainer.mjs +1 -1
- package/examples/component/dateSelector/MainContainer.mjs +1 -1
- package/examples/component/gallery/ImageModel.mjs +1 -1
- package/examples/component/gallery/ImageStore.mjs +1 -1
- package/examples/component/gallery/MainContainer.mjs +1 -1
- package/examples/component/helix/ImageModel.mjs +1 -1
- package/examples/component/helix/ImageStore.mjs +1 -1
- package/examples/component/helix/MainContainer.mjs +1 -1
- package/examples/component/mwc/button/MainContainer.mjs +1 -1
- package/examples/component/mwc/buttons/MainContainer.mjs +1 -1
- package/examples/component/mwc/textField/MainContainer.mjs +1 -1
- package/examples/component/mwc/textFields/MainContainer.mjs +1 -1
- package/examples/component/process/MainContainer.mjs +1 -1
- package/examples/component/process/realWorldExample/MainContainer.mjs +1 -1
- package/examples/component/progress/MainContainer.mjs +1 -1
- package/examples/component/splitter/MainContainer.mjs +1 -1
- package/examples/component/statusbadge/MainContainer.mjs +1 -1
- package/examples/component/timer/MainContainer.mjs +1 -1
- package/examples/component/timer/MainContainerController.mjs +1 -1
- package/examples/component/toast/MainContainer.mjs +1 -1
- package/examples/component/toast/MainContainerController.mjs +1 -1
- package/examples/component/video/MainContainer.mjs +1 -1
- package/examples/component/video/MainContainerController.mjs +1 -1
- package/examples/component/wrapper/cesiumJS/MainContainer.mjs +1 -1
- package/examples/component/wrapper/cesiumJS/MainContainerController.mjs +1 -1
- package/examples/component/wrapper/googleMaps/MainContainer.mjs +1 -1
- package/examples/component/wrapper/googleMaps/MainContainerController.mjs +1 -1
- package/examples/component/wrapper/googleMaps/MapComponent.mjs +1 -1
- package/examples/component/wrapper/googleMaps/MarkerDialog.mjs +1 -1
- package/examples/component/wrapper/monacoEditor/MainContainer.mjs +187 -0
- package/examples/component/wrapper/monacoEditor/app.mjs +7 -0
- package/examples/component/wrapper/monacoEditor/index.html +11 -0
- package/examples/component/wrapper/monacoEditor/neo-config.json +7 -0
- package/examples/container/accordion/MainContainer.mjs +1 -1
- package/examples/container/base/MainContainer.mjs +1 -1
- package/examples/core/config/MainContainer.mjs +1 -1
- package/examples/dashboard/MainContainer.mjs +1 -1
- package/examples/dialog/DemoDialog.mjs +1 -1
- package/examples/dialog/MainContainer.mjs +1 -1
- package/examples/fieldWithPrefix/MainContainer.mjs +1 -1
- package/examples/fields/MainContainer.mjs +1 -1
- package/examples/form/field/checkbox/MainContainer.mjs +1 -1
- package/examples/form/field/chip/MainContainer.mjs +1 -1
- package/examples/form/field/chip/MainModel.mjs +1 -1
- package/examples/form/field/chip/MainStore.mjs +1 -1
- package/examples/form/field/color/MainContainer.mjs +1 -1
- package/examples/form/field/color/MainModel.mjs +1 -1
- package/examples/form/field/color/MainStore.mjs +1 -1
- package/examples/form/field/date/MainContainer.mjs +1 -1
- package/examples/form/field/email/MainContainer.mjs +1 -1
- package/examples/form/field/fileupload/MainContainer.mjs +1 -1
- package/examples/form/field/number/MainContainer.mjs +1 -1
- package/examples/form/field/picker/MainContainer.mjs +1 -1
- package/examples/form/field/radio/MainContainer.mjs +1 -1
- package/examples/form/field/select/MainContainer.mjs +7 -1
- package/examples/form/field/select/MainModel.mjs +1 -1
- package/examples/form/field/select/MainStore.mjs +1 -1
- package/examples/form/field/switch/MainContainer.mjs +1 -1
- package/examples/form/field/text/MainContainer.mjs +1 -1
- package/examples/form/field/textarea/MainContainer.mjs +1 -1
- package/examples/form/field/time/MainContainer.mjs +1 -1
- package/examples/form/field/trigger/copyToClipboard/MainContainer.mjs +1 -1
- package/examples/form/field/url/MainContainer.mjs +1 -1
- package/examples/form/fieldset/MainContainer.mjs +1 -1
- package/examples/grid/container/MainContainer.mjs +1 -1
- package/examples/grid/container/MainModel.mjs +1 -1
- package/examples/grid/container/MainStore.mjs +1 -1
- package/examples/grid/covid/GridContainer.mjs +1 -1
- package/examples/grid/covid/GridContainerController.mjs +1 -1
- package/examples/grid/covid/MainContainer.mjs +1 -1
- package/examples/grid/covid/Model.mjs +1 -1
- package/examples/grid/covid/Store.mjs +1 -1
- package/examples/grid/covid/Util.mjs +1 -1
- package/examples/layout/form/MainContainer.mjs +1 -1
- package/examples/list/animate/List.mjs +1 -1
- package/examples/list/animate/MainContainer.mjs +1 -1
- package/examples/list/animate/MainContainerController.mjs +1 -1
- package/examples/list/animate/MainModel.mjs +1 -1
- package/examples/list/animate/MainStore.mjs +1 -1
- package/examples/list/base/MainContainer.mjs +1 -1
- package/examples/list/base/MainModel.mjs +1 -1
- package/examples/list/base/MainStore.mjs +1 -1
- package/examples/list/base/neo-config.json +1 -1
- package/examples/list/chip/MainContainer.mjs +1 -1
- package/examples/list/chip/MainModel.mjs +1 -1
- package/examples/list/chip/MainStore.mjs +1 -1
- package/examples/list/circle/MainContainer.mjs +1 -1
- package/examples/list/circle/MainModel.mjs +1 -1
- package/examples/list/circle/MainStore.mjs +1 -1
- package/examples/list/color/MainContainer.mjs +1 -1
- package/examples/list/color/MainModel.mjs +1 -1
- package/examples/list/color/MainStore.mjs +1 -1
- package/examples/menu/list/MainContainer.mjs +1 -1
- package/examples/menu/list/MainStore.mjs +1 -1
- package/examples/menu/panel/MainContainer.mjs +1 -1
- package/examples/model/advanced/MainContainer.mjs +1 -1
- package/examples/model/advanced/MainContainerController.mjs +1 -1
- package/examples/model/dialog/EditUserDialog.mjs +1 -1
- package/examples/model/dialog/EditUserDialogController.mjs +1 -1
- package/examples/model/dialog/MainContainer.mjs +1 -1
- package/examples/model/dialog/MainContainerController.mjs +1 -1
- package/examples/model/extendedClass/MainContainer.mjs +1 -1
- package/examples/model/extendedClass/MainContainerController.mjs +1 -1
- package/examples/model/extendedClass/MainContainerModel.mjs +1 -1
- package/examples/model/inline/MainContainer.mjs +1 -1
- package/examples/model/inline/MainContainerController.mjs +1 -1
- package/examples/model/inlineNoModel/MainContainer.mjs +1 -1
- package/examples/model/inlineNoModel/MainContainerController.mjs +1 -1
- package/examples/model/multiWindow/EditUserDialog.mjs +1 -1
- package/examples/model/multiWindow/EditUserDialogController.mjs +1 -1
- package/examples/model/multiWindow/MainContainer.mjs +1 -1
- package/examples/model/multiWindow/MainContainerController.mjs +1 -1
- package/examples/model/multiWindow/Viewport.mjs +1 -1
- package/examples/model/multiWindow/ViewportController.mjs +1 -1
- package/examples/model/multiWindow2/Viewport.mjs +1 -1
- package/examples/model/nestedData/MainContainer.mjs +1 -1
- package/examples/model/nestedData/MainContainerController.mjs +1 -1
- package/examples/model/table/MainContainer.mjs +1 -1
- package/examples/model/table/MainContainerModel.mjs +1 -1
- package/examples/model/table/MainModel.mjs +1 -1
- package/examples/model/table/MainStore.mjs +1 -1
- package/examples/panel/MainContainer.mjs +1 -1
- package/examples/panel/MainContainerController.mjs +1 -1
- package/examples/popover/MainContainer.mjs +1 -1
- package/examples/preloadingAssets/view/MainContainer.mjs +1 -1
- package/examples/preloadingAssets/view/MainContainerController.mjs +1 -1
- package/examples/remotesApi/basic/MainContainer.mjs +1 -1
- package/examples/remotesApi/basic/MainContainerController.mjs +1 -1
- package/examples/sitemap/MainContainer.mjs +1 -1
- package/examples/tab/container/MainContainer.mjs +1 -1
- package/examples/table/container/MainContainer.mjs +1 -1
- package/examples/table/container/MainModel.mjs +1 -1
- package/examples/table/container/MainStore.mjs +1 -1
- package/examples/table/covid/MainContainer.mjs +1 -1
- package/examples/table/covid/Model.mjs +1 -1
- package/examples/table/covid/Store.mjs +1 -1
- package/examples/table/covid/TableContainer.mjs +1 -1
- package/examples/table/covid/TableContainerController.mjs +1 -1
- package/examples/table/covid/Util.mjs +1 -1
- package/examples/tableFiltering/MainContainer.mjs +1 -1
- package/examples/tableFiltering/MainModel.mjs +1 -1
- package/examples/tableFiltering/MainStore.mjs +1 -1
- package/examples/tablePerformance/MainContainer.mjs +1 -1
- package/examples/tablePerformance/MainContainer2.mjs +1 -1
- package/examples/tablePerformance/MainContainer3.mjs +1 -1
- package/examples/tablePerformance/Viewport.mjs +1 -1
- package/examples/tableStore/MainContainer.mjs +1 -1
- package/examples/tableStore/MainModel.mjs +1 -1
- package/examples/tableStore/MainStore.mjs +1 -1
- package/examples/tabs/MainContainer.mjs +1 -1
- package/examples/tabs/MainContainer2.mjs +1 -1
- package/examples/todoList/version1/MainComponent.mjs +1 -1
- package/examples/todoList/version2/MainContainer.mjs +1 -1
- package/examples/todoList/version2/TodoList.mjs +1 -1
- package/examples/todoList/version2/TodoListModel.mjs +1 -1
- package/examples/todoList/version2/TodoListStore.mjs +1 -1
- package/examples/toolbar/breadcrumb/view/MainContainer.mjs +1 -1
- package/examples/toolbar/breadcrumb/view/MainContainerController.mjs +1 -1
- package/examples/toolbar/paging/model/User.mjs +1 -1
- package/examples/toolbar/paging/store/Users.mjs +1 -1
- package/examples/toolbar/paging/view/AddUserDialog.mjs +1 -1
- package/examples/toolbar/paging/view/MainContainer.mjs +1 -1
- package/examples/toolbar/paging/view/MainContainerController.mjs +1 -1
- package/examples/toolbar/paging/view/MainContainerModel.mjs +1 -1
- package/examples/toolbar/paging/view/UserTableContainer.mjs +1 -1
- package/examples/tree/MainContainer.mjs +1 -1
- package/examples/treeAccordion/MainContainer.mjs +1 -1
- package/examples/viewport/MainContainer.mjs +1 -1
- package/examples/worker/task/MainContainer.mjs +48 -0
- package/examples/worker/task/MyTasks.mjs +48 -0
- package/examples/worker/task/app.mjs +6 -0
- package/examples/worker/task/index.html +11 -0
- package/examples/worker/task/neo-config.json +7 -0
- package/examples/worker/task/task.mjs +5 -0
- package/package.json +10 -8
- package/resources/data/deck/learnneo/{p → pages}/2023-10-07T19-18-28-517Z.md +3 -3
- package/resources/data/deck/learnneo/{p → pages}/2023-10-08T20-20-07-934Z.md +3 -3
- package/resources/data/deck/learnneo/{p → pages}/2023-10-08T20-20-37-336Z.md +1 -1
- package/resources/data/deck/learnneo/{p → pages}/2023-10-08T21-58-25-809Z.md +5 -5
- package/resources/data/deck/learnneo/{p → pages}/2023-10-14T19-25-08-153Z.md +15 -14
- package/resources/data/deck/learnneo/{p → pages}/2023-10-31T13-59-37-550Z.md +2 -2
- package/resources/data/deck/learnneo/{p → pages}/ComponentModels.md +23 -23
- package/resources/data/deck/learnneo/{p → pages}/Config.md +17 -23
- package/resources/data/deck/learnneo/{p → pages}/DescribingTheUI.md +31 -25
- package/resources/data/deck/learnneo/{p → pages}/Earthquakes.md +119 -120
- package/resources/data/deck/learnneo/{p → pages}/Events.md +9 -20
- package/resources/data/deck/learnneo/{p → pages}/Extending.md +39 -42
- package/resources/data/deck/learnneo/pages/GuideEvents.md +12 -0
- package/resources/data/deck/learnneo/{p → pages}/References.md +38 -38
- package/resources/data/deck/learnneo/pages/Setup.md +27 -0
- package/resources/data/deck/learnneo/{p → pages}/TestLivePreview.md +1 -1
- package/resources/data/deck/learnneo/pages/WhyNeo-Effort.md +4 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Intro.md +11 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Multi-Threaded.md +13 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Multi-Window.md +36 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Quick.md +21 -0
- package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +27 -0
- package/resources/data/deck/learnneo/tree.json +44 -27
- package/resources/data/deck/training/{p → pages}/2022-12-27T21-55-23-144Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2022-12-27T21-55-43-542Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2022-12-29T18-36-56-893Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2022-12-29T20-37-08-919Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2022-12-29T20-37-20-344Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2022-12-31T23-18-55-655Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-01-01T18-44-07-034Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-01T21-14-45-740Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-03T02-07-19-014Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-01-04T01-52-23-454Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-06T23-21-12-009Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-01-06T23-34-13-897Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-08T00-45-11-144Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-08T01-24-21-088Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-01-08T01-46-50-723Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-12T01-50-54-617Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-01-14T00-40-27-784Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-15T18-51-52-134Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-15T22-28-57-508Z.md +2 -2
- package/resources/data/deck/training/{p → pages}/2023-01-15T22-36-30-913Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-07-01T15-42-45-193Z.md +5 -5
- package/resources/data/deck/training/{p → pages}/2023-07-02T16-14-06-970Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-07-31T00-37-21-927Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-10-07T19-18-28-517Z.md +3 -3
- package/resources/data/deck/training/{p → pages}/2023-10-08T20-20-07-934Z.md +3 -3
- package/resources/data/deck/training/{p → pages}/2023-10-08T20-20-37-336Z.md +1 -1
- package/resources/data/deck/training/{p → pages}/2023-10-08T21-58-25-809Z.md +5 -5
- package/resources/data/deck/training/{p → pages}/2023-10-14T19-25-08-153Z.md +2 -2
- package/resources/design-tokens/json/component.json +30 -30
- package/resources/design-tokens/json/core.json +19 -9
- package/resources/design-tokens/json/semantic.json +90 -0
- package/resources/scss/src/apps/portal/HeaderToolbar.scss +2 -1
- package/resources/scss/src/apps/portal/learn/ContentTreeList.scss +8 -7
- package/resources/scss/src/apps/portal/learn/ContentView.scss +5 -13
- package/resources/scss/src/apps/portal/learn/MainContainer.scss +18 -7
- package/resources/scss/src/apps/portal/learn/PageSectionsPanel.scss +8 -0
- package/resources/scss/src/list/Base.scss +2 -2
- package/resources/scss/theme-dark/list/Base.scss +2 -1
- package/resources/scss/theme-light/list/Base.scss +2 -1
- package/resources/scss/theme-neo-light/Global.scss +5 -1
- package/resources/scss/theme-neo-light/apps/portal/learn/ContentTreeList.scss +23 -0
- package/resources/scss/theme-neo-light/button/Base.scss +127 -88
- package/resources/scss/theme-neo-light/design-tokens/Component.scss +48 -54
- package/resources/scss/theme-neo-light/design-tokens/Core.scss +70 -69
- package/resources/scss/theme-neo-light/design-tokens/Semantic.scss +87 -67
- package/resources/scss/theme-neo-light/list/Base.scss +14 -26
- package/resources/scss/theme-neo-light/tooltip/Base.scss +2 -4
- package/src/DefaultConfig.mjs +26 -2
- package/src/Fetch.mjs +1 -1
- package/src/Main.mjs +53 -37
- package/src/Neo.mjs +122 -116
- package/src/Xhr.mjs +1 -1
- package/src/button/Base.mjs +1 -1
- package/src/button/Menu.mjs +1 -1
- package/src/button/Split.mjs +1 -1
- package/src/calendar/model/Calendar.mjs +1 -1
- package/src/calendar/model/Color.mjs +1 -1
- package/src/calendar/model/Event.mjs +1 -1
- package/src/calendar/store/Calendars.mjs +1 -1
- package/src/calendar/store/Colors.mjs +1 -1
- package/src/calendar/store/Events.mjs +1 -1
- package/src/calendar/view/DayComponent.mjs +1 -1
- package/src/calendar/view/EditEventContainer.mjs +1 -1
- package/src/calendar/view/MainContainer.mjs +1 -1
- package/src/calendar/view/MainContainerModel.mjs +1 -1
- package/src/calendar/view/SettingsContainer.mjs +1 -1
- package/src/calendar/view/YearComponent.mjs +1 -1
- package/src/calendar/view/calendars/ColorsList.mjs +1 -1
- package/src/calendar/view/calendars/Container.mjs +1 -1
- package/src/calendar/view/calendars/EditContainer.mjs +1 -1
- package/src/calendar/view/calendars/List.mjs +1 -1
- package/src/calendar/view/month/Component.mjs +1 -1
- package/src/calendar/view/settings/GeneralContainer.mjs +1 -1
- package/src/calendar/view/settings/MonthContainer.mjs +1 -1
- package/src/calendar/view/settings/WeekContainer.mjs +1 -1
- package/src/calendar/view/settings/YearContainer.mjs +1 -1
- package/src/calendar/view/week/Component.mjs +1 -1
- package/src/calendar/view/week/EventDragZone.mjs +1 -1
- package/src/calendar/view/week/TimeAxisComponent.mjs +1 -1
- package/src/calendar/view/week/plugin/DragDrop.mjs +1 -1
- package/src/calendar/view/week/plugin/EventResizable.mjs +1 -1
- package/src/collection/Base.mjs +4 -4
- package/src/collection/Filter.mjs +1 -1
- package/src/collection/Sorter.mjs +1 -1
- package/src/component/Base.mjs +48 -25
- package/src/component/BoxLabel.mjs +1 -1
- package/src/component/Canvas.mjs +1 -1
- package/src/component/Carousel.mjs +1 -1
- package/src/component/Chip.mjs +1 -1
- package/src/component/Circle.mjs +1 -1
- package/src/component/Clock.mjs +1 -1
- package/src/component/DateSelector.mjs +1 -1
- package/src/component/Gallery.mjs +1 -1
- package/src/component/Helix.mjs +1 -1
- package/src/component/Iframe.mjs +1 -1
- package/src/component/Label.mjs +1 -1
- package/src/component/Legend.mjs +1 -1
- package/src/component/Process.mjs +2 -2
- package/src/component/Progress.mjs +1 -1
- package/src/component/Splitter.mjs +1 -1
- package/src/component/StatusBadge.mjs +1 -1
- package/src/component/Timer.mjs +1 -1
- package/src/component/Toast.mjs +1 -1
- package/src/component/Video.mjs +1 -1
- package/src/component/mwc/Button.mjs +1 -1
- package/src/component/mwc/TextField.mjs +1 -1
- package/src/component/wrapper/AmChart.mjs +1 -1
- package/src/component/wrapper/CesiumJS.mjs +1 -1
- package/src/component/wrapper/GoogleMaps.mjs +1 -1
- package/src/component/wrapper/MapboxGL.mjs +1 -1
- package/src/component/wrapper/MonacoEditor.mjs +420 -0
- package/src/container/Accordion.mjs +1 -1
- package/src/container/AccordionItem.mjs +1 -1
- package/src/container/Base.mjs +18 -6
- package/src/container/Panel.mjs +1 -1
- package/src/container/Viewport.mjs +1 -1
- package/src/controller/Application.mjs +1 -1
- package/src/controller/Base.mjs +2 -2
- package/src/controller/Component.mjs +1 -1
- package/src/core/Base.mjs +7 -6
- package/src/core/Compare.mjs +1 -1
- package/src/core/IdGenerator.mjs +1 -1
- package/src/core/Observable.mjs +1 -1
- package/src/core/Util.mjs +1 -1
- package/src/dashboard/Container.mjs +1 -1
- package/src/data/Model.mjs +1 -1
- package/src/data/RecordFactory.mjs +35 -31
- package/src/data/Store.mjs +1 -1
- package/src/data/connection/Fetch.mjs +1 -1
- package/src/data/connection/WebSocket.mjs +1 -1
- package/src/data/connection/Xhr.mjs +1 -1
- package/src/dialog/Base.mjs +1 -1
- package/src/dialog/header/Toolbar.mjs +1 -1
- package/src/draggable/DragProxyComponent.mjs +1 -1
- package/src/draggable/DragZone.mjs +2 -2
- package/src/draggable/DropZone.mjs +1 -1
- package/src/draggable/list/DragZone.mjs +1 -1
- package/src/draggable/list/SortZone.mjs +1 -1
- package/src/draggable/tab/header/toolbar/SortZone.mjs +1 -1
- package/src/draggable/toolbar/DragZone.mjs +1 -1
- package/src/draggable/toolbar/SortZone.mjs +1 -1
- package/src/draggable/tree/DragZone.mjs +1 -1
- package/src/draggable/tree/SortZone.mjs +1 -1
- package/src/filter/BooleanContainer.mjs +1 -1
- package/src/filter/DateContainer.mjs +1 -1
- package/src/filter/NumberContainer.mjs +1 -1
- package/src/filter/ToggleOperatorsButton.mjs +1 -1
- package/src/form/Container.mjs +1 -1
- package/src/form/Fieldset.mjs +1 -1
- package/src/form/field/Base.mjs +57 -2
- package/src/form/field/CheckBox.mjs +1 -1
- package/src/form/field/Chip.mjs +1 -1
- package/src/form/field/Color.mjs +1 -1
- package/src/form/field/Country.mjs +1 -1
- package/src/form/field/Currency.mjs +1 -1
- package/src/form/field/Date.mjs +1 -1
- package/src/form/field/Display.mjs +1 -1
- package/src/form/field/Email.mjs +1 -1
- package/src/form/field/FileUpload.mjs +2 -2
- package/src/form/field/Hidden.mjs +1 -1
- package/src/form/field/Number.mjs +1 -1
- package/src/form/field/Password.mjs +1 -1
- package/src/form/field/Phone.mjs +1 -1
- package/src/form/field/Picker.mjs +1 -1
- package/src/form/field/Radio.mjs +1 -1
- package/src/form/field/Range.mjs +1 -1
- package/src/form/field/Search.mjs +1 -1
- package/src/form/field/Select.mjs +58 -63
- package/src/form/field/Switch.mjs +1 -1
- package/src/form/field/Text.mjs +103 -52
- package/src/form/field/TextArea.mjs +1 -1
- package/src/form/field/Time.mjs +1 -1
- package/src/form/field/Url.mjs +1 -1
- package/src/form/field/ZipCode.mjs +1 -1
- package/src/form/field/trigger/Base.mjs +1 -1
- package/src/form/field/trigger/Clear.mjs +1 -1
- package/src/form/field/trigger/CopyToClipboard.mjs +1 -1
- package/src/form/field/trigger/Date.mjs +1 -1
- package/src/form/field/trigger/Picker.mjs +1 -1
- package/src/form/field/trigger/Search.mjs +1 -1
- package/src/form/field/trigger/SpinDown.mjs +1 -1
- package/src/form/field/trigger/SpinUp.mjs +1 -1
- package/src/form/field/trigger/SpinUpDown.mjs +1 -1
- package/src/form/field/trigger/Time.mjs +1 -1
- package/src/grid/Container.mjs +1 -1
- package/src/grid/View.mjs +1 -1
- package/src/grid/header/Button.mjs +1 -1
- package/src/grid/header/Toolbar.mjs +1 -1
- package/src/layout/Base.mjs +18 -7
- package/src/layout/Card.mjs +1 -1
- package/src/layout/Fit.mjs +1 -1
- package/src/layout/Flexbox.mjs +1 -1
- package/src/layout/Form.mjs +1 -1
- package/src/layout/Grid.mjs +1 -1
- package/src/layout/HBox.mjs +1 -1
- package/src/layout/VBox.mjs +1 -1
- package/src/list/Base.mjs +60 -54
- package/src/list/Chip.mjs +6 -1
- package/src/list/Circle.mjs +1 -1
- package/src/list/Color.mjs +1 -1
- package/src/list/Component.mjs +1 -1
- package/src/list/plugin/Animate.mjs +1 -1
- package/src/main/DomAccess.mjs +49 -24
- package/src/main/DomEvents.mjs +2 -2
- package/src/main/addon/AmCharts.mjs +1 -1
- package/src/main/addon/AnalyticsByGoogle.mjs +1 -1
- package/src/main/addon/Base.mjs +1 -1
- package/src/main/addon/CesiumJS.mjs +1 -1
- package/src/main/addon/CloneNode.mjs +1 -1
- package/src/main/addon/Cookie.mjs +1 -1
- package/src/main/addon/DragDrop.mjs +1 -1
- package/src/main/addon/GoogleMaps.mjs +1 -1
- package/src/main/addon/HighlightJS.mjs +20 -29
- package/src/main/addon/IntersectionObserver.mjs +134 -0
- package/src/main/addon/LocalStorage.mjs +1 -1
- package/src/main/addon/MapboxGL.mjs +1 -1
- package/src/main/addon/Markdown.mjs +2 -2
- package/src/main/addon/MonacoEditor.mjs +179 -0
- package/src/main/addon/Mwc.mjs +1 -1
- package/src/main/addon/Navigator.mjs +1 -1
- package/src/main/addon/Popover.mjs +1 -1
- package/src/main/addon/PrefixField.mjs +1 -1
- package/src/main/addon/ResizeObserver.mjs +1 -1
- package/src/main/addon/ServiceWorker.mjs +1 -1
- package/src/main/addon/Siesta.mjs +1 -1
- package/src/main/addon/Stylesheet.mjs +1 -1
- package/src/main/addon/WebComponent.mjs +1 -1
- package/src/main/addon/WindowPosition.mjs +1 -1
- package/src/main/draggable/sensor/Base.mjs +1 -1
- package/src/main/draggable/sensor/Mouse.mjs +1 -1
- package/src/main/draggable/sensor/Touch.mjs +1 -1
- package/src/main/mixin/DeltaUpdates.mjs +1 -1
- package/src/main/mixin/TouchDomEvents.mjs +1 -1
- package/src/manager/Base.mjs +1 -1
- package/src/manager/Component.mjs +1 -1
- package/src/manager/DomEvent.mjs +4 -3
- package/src/manager/Focus.mjs +1 -1
- package/src/manager/Instance.mjs +1 -1
- package/src/manager/Store.mjs +1 -1
- package/src/manager/Task.mjs +1 -1
- package/src/manager/Toast.mjs +1 -1
- package/src/manager/rpc/Api.mjs +1 -1
- package/src/manager/rpc/Message.mjs +1 -1
- package/src/menu/List.mjs +1 -5
- package/src/menu/Model.mjs +1 -1
- package/src/menu/Panel.mjs +1 -1
- package/src/menu/Store.mjs +1 -1
- package/src/model/Component.mjs +1 -1
- package/src/plugin/Base.mjs +1 -1
- package/src/plugin/Popover.mjs +1 -1
- package/src/plugin/PrefixField.mjs +10 -9
- package/src/plugin/Resizable.mjs +3 -3
- package/src/remotes/Api.mjs +1 -1
- package/src/selection/CircleModel.mjs +1 -1
- package/src/selection/DateSelectorModel.mjs +1 -1
- package/src/selection/GalleryModel.mjs +1 -1
- package/src/selection/HelixModel.mjs +1 -1
- package/src/selection/ListModel.mjs +1 -1
- package/src/selection/Model.mjs +1 -1
- package/src/selection/TreeAccordionModel.mjs +2 -2
- package/src/selection/TreeModel.mjs +4 -4
- package/src/selection/grid/CellColumnModel.mjs +1 -1
- package/src/selection/grid/CellColumnRowModel.mjs +1 -1
- package/src/selection/grid/CellModel.mjs +1 -1
- package/src/selection/grid/CellRowModel.mjs +1 -1
- package/src/selection/grid/ColumnModel.mjs +1 -1
- package/src/selection/grid/RowModel.mjs +1 -1
- package/src/selection/menu/ListModel.mjs +1 -1
- package/src/selection/table/CellColumnModel.mjs +1 -1
- package/src/selection/table/CellColumnRowModel.mjs +1 -1
- package/src/selection/table/CellModel.mjs +1 -1
- package/src/selection/table/CellRowModel.mjs +1 -1
- package/src/selection/table/ColumnModel.mjs +1 -1
- package/src/selection/table/RowModel.mjs +1 -1
- package/src/sitemap/Component.mjs +1 -1
- package/src/sitemap/Model.mjs +1 -1
- package/src/sitemap/Store.mjs +1 -1
- package/src/tab/Container.mjs +1 -1
- package/src/tab/Strip.mjs +1 -1
- package/src/tab/header/Button.mjs +1 -1
- package/src/tab/header/Toolbar.mjs +1 -1
- package/src/table/Container.mjs +1 -1
- package/src/table/View.mjs +1 -1
- package/src/table/header/Button.mjs +1 -1
- package/src/table/header/Toolbar.mjs +1 -1
- package/src/toolbar/Base.mjs +1 -1
- package/src/toolbar/Breadcrumb.mjs +1 -1
- package/src/toolbar/Paging.mjs +1 -1
- package/src/tooltip/Base.mjs +10 -7
- package/src/tree/Accordion.mjs +1 -1
- package/src/tree/List.mjs +52 -46
- package/src/util/Array.mjs +1 -1
- package/src/util/ClassSystem.mjs +1 -1
- package/src/util/Css.mjs +1 -1
- package/src/util/Date.mjs +1 -1
- package/src/util/Function.mjs +31 -31
- package/src/util/HashHistory.mjs +1 -1
- package/src/util/KeyNavigation.mjs +1 -1
- package/src/util/Logger.mjs +9 -27
- package/src/util/Matrix.mjs +1 -1
- package/src/util/String.mjs +2 -2
- package/src/util/Style.mjs +1 -1
- package/src/util/VDom.mjs +1 -1
- package/src/util/VNode.mjs +1 -1
- package/src/util/_export.mjs +1 -1
- package/src/vdom/Helper.mjs +7 -3
- package/src/worker/App.mjs +10 -9
- package/src/worker/Base.mjs +1 -1
- package/src/worker/Canvas.mjs +1 -1
- package/src/worker/Data.mjs +1 -1
- package/src/worker/Manager.mjs +38 -33
- package/src/worker/ServiceBase.mjs +1 -1
- package/src/worker/Task.mjs +67 -0
- package/src/worker/VDom.mjs +1 -1
- package/src/worker/mixin/RemoteMethodAccess.mjs +1 -1
- package/test/components/app.mjs +1 -1
- package/test/components/files/form/field/Select.mjs +2 -2
- package/test/components/files/form/field/Text.mjs +90 -0
- package/test/components/files/{component/ChipList.mjs → list/Chip.mjs} +3 -3
- package/test/components/siesta.js +23 -24
- package/resources/data/deck/learnneo/p/2023-10-01T18-29-19-158Z.md +0 -97
- package/resources/data/deck/learnneo/p/GuideEvents.md +0 -153
- package/resources/data/deck/learnneo/p/Setup.md +0 -1
- package/resources/data/deck/learnneo/pages/whyneo.md +0 -80
- package/resources/data/deck/learnneo/t.json +0 -38
- package/src/data/field/Field.mjs +0 -48
- package/src/data/field/Float.mjs +0 -42
- package/src/data/field/Integer.mjs +0 -42
- package/src/data/field/String.mjs +0 -42
- /package/resources/data/deck/learnneo/{p → pages}/2023-10-08T20-37-30-658Z.md +0 -0
- /package/resources/data/deck/learnneo/{p → pages}/2023-10-08T22-22-11-013Z.md +0 -0
- /package/resources/data/deck/learnneo/{p → pages}/MainThreadAddonExample.md +0 -0
- /package/resources/data/deck/learnneo/{p → pages}/MainThreadAddonIntro.md +0 -0
- /package/resources/data/deck/learnneo/{p → pages}/RSP.md +0 -0
- /package/resources/data/deck/learnneo/{p → pages}/WhatAboutHTML.md +0 -0
- /package/resources/data/deck/learnneo/{p → pages}/stylesheet.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T21-54-52-300Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T21-55-30-948Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-23-55-083Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-24-07-886Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-24-52-295Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-25-03-853Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-43-58-924Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-44-28-881Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-44-41-791Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-45-21-032Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-49-22-078Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-27T22-50-20-626Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T16-58-47-786Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T16-58-55-192Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T17-10-18-058Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T17-10-42-296Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T17-11-34-653Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T17-13-09-994Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-28T21-32-14-420Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T01-43-32-431Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T15-56-54-485Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T15-57-11-499Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T16-00-13-223Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T18-34-25-826Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T18-36-08-226Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T19-31-30-507Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T19-31-55-091Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T20-03-42-628Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-29T20-21-20-669Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-30T19-04-30-990Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T18-43-56-338Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T18-51-50-682Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T18-54-04-176Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T22-11-55-555Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T23-00-41-222Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T23-25-40-735Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2022-12-31T23-25-51-014Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T17-49-18-429Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T18-47-39-766Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T19-04-22-830Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-11-58-025Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-12-37-340Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-13-13-880Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-18-23-886Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-18-31-316Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-18-42-290Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-19-57-020Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-22-31-184Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-22-38-317Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-22-47-693Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-23-17-716Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-23-28-532Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-25-23-899Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-25-59-742Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T21-26-53-748Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-01T23-38-42-863Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-06T23-21-31-685Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-06T23-21-59-596Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-06T23-44-02-340Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-06T23-46-36-687Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-06T23-46-45-783Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T01-06-31-267Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T01-25-12-557Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T02-09-07-802Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T02-09-19-678Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T02-11-26-333Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T17-22-48-841Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-46-11-806Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-47-23-682Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-47-32-064Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-47-57-045Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-48-03-791Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-48-32-466Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-48-51-322Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-49-52-741Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-52-03-556Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-57-36-333Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-08T20-57-51-136Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-09T00-07-37-951Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-09T00-35-40-671Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-10T01-29-38-148Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-10T01-43-12-166Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-10T02-21-54-303Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T19-55-24-735Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T20-08-27-068Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T20-23-38-411Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T20-37-06-267Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T21-05-57-708Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T21-48-17-258Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T22-05-05-799Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T22-08-30-863Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-13T23-01-50-449Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T00-33-05-958Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T00-41-59-081Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T13-50-28-199Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T13-59-20-275Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T14-03-29-456Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T14-27-57-678Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T17-30-18-228Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T18-28-39-316Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T18-28-44-115Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T18-28-49-548Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T18-40-13-758Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-14T19-29-15-291Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-15T20-03-30-073Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-15T22-07-52-073Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-15T22-22-13-517Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-16T16-03-40-770Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-16T20-21-56-859Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-16T20-24-09-690Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-20T12-51-22-646Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-20T13-06-46-614Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-20T13-08-51-600Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-20T15-20-13-363Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-20T15-34-58-813Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T16-33-20-458Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T16-45-28-263Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T16-56-25-452Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T17-28-31-493Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T19-49-51-918Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T20-08-24-452Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T20-35-54-947Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T20-54-47-603Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T20-56-28-184Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T20-57-32-927Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-21T23-13-33-394Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-28T19-11-37-464Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-28T20-43-41-188Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-28T20-53-56-476Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-28T20-58-43-776Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-28T22-18-41-259Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-28T22-24-34-808Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-29T16-25-24-528Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-29T21-14-32-588Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-31T19-24-53-504Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-31T20-33-55-855Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-31T20-34-30-261Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-01-31T20-52-53-367Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T15-18-35-682Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T15-49-47-597Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T18-58-57-808Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T20-07-11-288Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T20-09-50-169Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T20-19-42-740Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T20-23-56-013Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-04T20-28-12-391Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T00-20-32-554Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T00-35-56-282Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T15-36-57-182Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T17-39-51-712Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T17-44-53-815Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T17-45-40-114Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-05T18-12-14-489Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-02-06T00-14-54-457Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-06-28T18-03-14-313Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-06-28T18-26-17-290Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-06-28T21-16-24-034Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-06-28T21-16-34-972Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-06-28T21-28-28-379Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-06-29T23-15-10-411Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-07-01T21-54-31-329Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-07-31T00-26-03-842Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-07-31T00-31-51-933Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-10-01T18-29-19-158Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-10-08T20-37-30-658Z.md +0 -0
- /package/resources/data/deck/training/{p → pages}/2023-10-08T22-22-11-013Z.md +0 -0
- /package/resources/data/deck/training/{t.json → tree.json} +0 -0
@@ -1,4 +1,10 @@
|
|
1
|
-
import Component
|
1
|
+
import Component from '../../../../src/component/Base.mjs';
|
2
|
+
import LivePreview from './LivePreview.mjs';
|
3
|
+
import {marked} from '../../../../node_modules/marked/lib/marked.esm.js';
|
4
|
+
|
5
|
+
const
|
6
|
+
labCloseRegex = /<!--\s*\/lab\s*-->/g,
|
7
|
+
labOpenRegex = /<!--\s*lab\s*-->/g;
|
2
8
|
|
3
9
|
/**
|
4
10
|
* @class Portal.view.learn.ContentView
|
@@ -15,46 +21,252 @@ class ContentView extends Component {
|
|
15
21
|
* @member {String[]} baseCls=['learn-content']
|
16
22
|
* @protected
|
17
23
|
*/
|
18
|
-
baseCls: ['learn-content']
|
24
|
+
baseCls: ['learn-content'],
|
25
|
+
/**
|
26
|
+
* @member {Object} bind
|
27
|
+
*/
|
28
|
+
bind: {
|
29
|
+
record: data => data.currentPageRecord
|
30
|
+
},
|
31
|
+
/**
|
32
|
+
* @member {Object} record_=null
|
33
|
+
*/
|
34
|
+
record_: null
|
35
|
+
}
|
36
|
+
|
37
|
+
/**
|
38
|
+
* @param {Object} config
|
39
|
+
*/
|
40
|
+
construct(config) {
|
41
|
+
super.construct(config);
|
42
|
+
|
43
|
+
let me = this;
|
44
|
+
|
45
|
+
me.addDomListeners({
|
46
|
+
click : me.onClick,
|
47
|
+
intersect: 'onIntersect', // view controller
|
48
|
+
scope : me
|
49
|
+
});
|
50
|
+
|
51
|
+
Neo.main.addon.HighlightJS.loadLibrary({
|
52
|
+
appName : me.appName,
|
53
|
+
highlightJsPath: '../../docs/resources/highlight/highlight.pack.js',
|
54
|
+
themePath : '../../docs/resources/highlightjs-custom-github-theme.css'
|
55
|
+
})
|
56
|
+
}
|
57
|
+
|
58
|
+
/**
|
59
|
+
* Triggered after the mounted config got changed
|
60
|
+
* @param {Boolean} value
|
61
|
+
* @param {Boolean} oldValue
|
62
|
+
* @protected
|
63
|
+
*/
|
64
|
+
afterSetMounted(value, oldValue) {
|
65
|
+
super.afterSetMounted(value, oldValue);
|
66
|
+
|
67
|
+
let me = this;
|
68
|
+
|
69
|
+
value && setTimeout(() => {
|
70
|
+
Neo.main.addon.IntersectionObserver.register({
|
71
|
+
callback: 'findTopmostItem',
|
72
|
+
id : me.id,
|
73
|
+
root : `#${me.parentId}`,
|
74
|
+
windowId: me.windowId
|
75
|
+
})
|
76
|
+
}, 50)
|
19
77
|
}
|
20
78
|
|
21
79
|
/**
|
22
|
-
*
|
80
|
+
* Triggered after the nextPageRecord config got changed
|
81
|
+
* @param {Object} value
|
82
|
+
* @param {Object} oldValue
|
23
83
|
*/
|
24
|
-
|
84
|
+
afterSetRecord(value, oldValue) {
|
85
|
+
value && this.doFetchContent(value)
|
86
|
+
}
|
87
|
+
|
88
|
+
/**
|
89
|
+
* @param {Object} record
|
90
|
+
* @returns {Promise<void>}
|
91
|
+
*/
|
92
|
+
async doFetchContent(record) {
|
93
|
+
let me = this,
|
94
|
+
path = me.getModel().getData('contentPath'),
|
95
|
+
content, data, html, modifiedHtml, neoDivs;
|
96
|
+
|
97
|
+
path += `/pages/${record.id}.md`;
|
98
|
+
|
99
|
+
if (record.isLeaf && path) {
|
100
|
+
data = await fetch(path);
|
101
|
+
content = await data.text();
|
102
|
+
content = me.updateContentSectionsStore(content); // also replaces ## with h2 tags
|
103
|
+
content = `# ${record.name}\n${content}`;
|
104
|
+
modifiedHtml = await me.highlightPreContent(content);
|
105
|
+
neoDivs = {};
|
106
|
+
|
107
|
+
// Replace <pre data-neo></neo> with <div id='neo-preview-1'/>
|
108
|
+
// and create a map keyed by ID, whose value is the javascript
|
109
|
+
// from the <pre>
|
110
|
+
modifiedHtml = me.extractNeoContent(modifiedHtml, neoDivs);
|
111
|
+
|
112
|
+
html = marked.parse(modifiedHtml);
|
113
|
+
html = me.insertLabDivs(html);
|
114
|
+
|
115
|
+
me.toggleCls('lab', record.name?.startsWith('Lab:'));
|
116
|
+
|
117
|
+
me.html = html;
|
118
|
+
|
119
|
+
await me.timeout(50);
|
120
|
+
|
121
|
+
Object.keys(neoDivs).forEach(key => {
|
122
|
+
// Create LivePreview for each iteration, set value to neoDivs[key]
|
123
|
+
Neo.create(LivePreview, {
|
124
|
+
appName : me.appName,
|
125
|
+
parentComponent: me,
|
126
|
+
parentId : key,
|
127
|
+
value : neoDivs[key],
|
128
|
+
windowId : me.windowId
|
129
|
+
})
|
130
|
+
});
|
131
|
+
|
132
|
+
Neo.main.addon.IntersectionObserver.observe({
|
133
|
+
disconnect: true,
|
134
|
+
id : me.id,
|
135
|
+
observe : '.neo-h2',
|
136
|
+
windowId : me.windowId
|
137
|
+
})
|
138
|
+
}
|
139
|
+
}
|
140
|
+
|
141
|
+
/**
|
142
|
+
* @param {String} htmlString
|
143
|
+
* @param {Object} map
|
144
|
+
* @returns {String}
|
145
|
+
*/
|
146
|
+
extractNeoContent(htmlString, map) {
|
147
|
+
// 1. Replace <pre data-neo> with <div id='neo-preview-2'/>
|
148
|
+
// and update map with key/value pairs, where the key is the ID and the value is the <pre> contents.
|
149
|
+
|
150
|
+
// Define a regular expression to match <pre data-javascript> tags
|
151
|
+
const preRegex = /<pre\s+data-neo\s*>([\s\S]*?)<\/pre>/g;
|
152
|
+
|
153
|
+
let count = 0;
|
154
|
+
|
155
|
+
// Replace the content with tokens, and create a promise to update the corresponding content
|
156
|
+
return htmlString.replace(preRegex, (match, preContent) => {
|
157
|
+
const key = `pre-live-preview-${Neo.core.IdGenerator.getId()}-${count++}`;
|
158
|
+
map[key] = preContent;
|
159
|
+
return `<div id="${key}"></div>`
|
160
|
+
})
|
161
|
+
}
|
162
|
+
|
163
|
+
/**
|
164
|
+
* @param preContent
|
165
|
+
* @param token
|
166
|
+
* @param id
|
167
|
+
* @returns {Object}
|
168
|
+
*/
|
169
|
+
getHighlightPromise(preContent, token, id) {
|
170
|
+
// Resolves to an object of the form {after, token}, where after is the updated <pre> tag content
|
171
|
+
return Neo.main.addon.HighlightJS.highlightAuto({html: preContent, windowId: this.windowId})
|
172
|
+
.then(highlight => ({after: `<pre data-javascript id="${id}">${highlight.value}</pre>`, token}))
|
173
|
+
}
|
174
|
+
|
175
|
+
/**
|
176
|
+
* @param {String} htmlString
|
177
|
+
* @returns {Promise<*>}
|
178
|
+
*/
|
179
|
+
async highlightPreContent(htmlString) {
|
180
|
+
// 1. Replace <pre data-javascript> with unique tokens and create a HighlightJS.highlightAuto promise for each
|
181
|
+
// 2. When all promises are resolved, use their values to replace the tokens.
|
182
|
+
|
183
|
+
// Note that if we were to import HighlightJS directly, we wouldn't need all this async code.
|
184
|
+
|
185
|
+
// Define a regular expression to match <pre data-javascript> tags
|
186
|
+
const preRegex = /<pre\s+data-javascript\s*>([\s\S]*?)<\/pre>/g;
|
187
|
+
|
188
|
+
// Create an array to store promises for each replacement
|
189
|
+
const replacementPromises = [];
|
190
|
+
let count = 0;
|
191
|
+
|
192
|
+
// Replace the content with tokens, and create a promise to update the corresponding content
|
193
|
+
let updatedHtml = htmlString.replace(preRegex, (match, preContent) => {
|
194
|
+
const token = `__NEO-PRE-TOKEN-${++count}__`;
|
195
|
+
replacementPromises.push(this.getHighlightPromise(preContent, token, `pre-preview-${Neo.core.IdGenerator.getId()}`));
|
196
|
+
return token
|
197
|
+
});
|
198
|
+
|
199
|
+
// Assert: updateHtml is the original, but with <pre data-javascript> replaced with tokens.
|
200
|
+
|
201
|
+
// Wait for all replacement promises to resolve
|
202
|
+
let replacements = await Promise.all(replacementPromises)
|
203
|
+
|
204
|
+
// Replace each token with the resolved content
|
205
|
+
replacements.forEach((replacement) => updatedHtml = updatedHtml.replace(replacement.token, replacement.after));
|
206
|
+
|
207
|
+
// Return the final updated HTML string
|
208
|
+
return updatedHtml
|
209
|
+
}
|
210
|
+
|
211
|
+
/**
|
212
|
+
* @param {String} inputString
|
213
|
+
* @returns {String}
|
214
|
+
*/
|
215
|
+
insertLabDivs(inputString) {
|
216
|
+
// Replace <!-- lab --> with <div class="lab">
|
217
|
+
inputString = inputString.replace(labOpenRegex, '<div class="lab">');
|
218
|
+
|
219
|
+
// Replace <!-- /lab --> with </div>
|
220
|
+
inputString = inputString.replace(labCloseRegex, '</div>');
|
221
|
+
|
222
|
+
return inputString
|
223
|
+
}
|
25
224
|
|
26
225
|
/**
|
27
226
|
* @param {Object} data
|
28
227
|
*/
|
29
228
|
onClick(data) {
|
30
|
-
let me
|
229
|
+
let me = this,
|
31
230
|
record = me.record;
|
32
231
|
|
33
232
|
if (data.altKey && data.shiftKey && !data.metaKey) {
|
34
|
-
me.fire('edit', {component: me, record})
|
233
|
+
me.fire('edit', { component: me, record })
|
35
234
|
}
|
36
235
|
// Command/windows shift click = refresh
|
37
236
|
else if (!data.altKey && data.shiftKey && data.metaKey) {
|
38
|
-
me.fire('refresh', {component: me, record})
|
237
|
+
me.fire('refresh', { component: me, record })
|
39
238
|
}
|
40
239
|
}
|
41
240
|
|
42
241
|
/**
|
43
|
-
*
|
242
|
+
* Updates the contentSections VM store and replaces ## with h2 tags
|
243
|
+
* @param {String} content
|
244
|
+
* @returns {String}
|
44
245
|
*/
|
45
|
-
|
46
|
-
|
246
|
+
updateContentSectionsStore(content) {
|
247
|
+
let me = this,
|
248
|
+
contentArray = content.split('\n'),
|
249
|
+
i = 1,
|
250
|
+
storeData = [];
|
47
251
|
|
48
|
-
|
252
|
+
contentArray.forEach((line, index) => {
|
253
|
+
if (line.startsWith('##') && line.charAt(2) !== '#') {
|
254
|
+
line = line.substring(2).trim();
|
49
255
|
|
50
|
-
|
51
|
-
click: me.onClick,
|
52
|
-
scope: me
|
53
|
-
})
|
54
|
-
}
|
256
|
+
storeData.push({id: i, name: line, sourceId: me.id});
|
55
257
|
|
258
|
+
contentArray[index] = `<h2 class="neo-h2" data-record-id="${i}">${line}</h2>`;
|
259
|
+
|
260
|
+
i++
|
261
|
+
}
|
262
|
+
});
|
263
|
+
|
264
|
+
me.getModel().getStore('contentSections').data = storeData;
|
265
|
+
|
266
|
+
return contentArray.join('\n')
|
267
|
+
}
|
56
268
|
}
|
57
269
|
|
58
|
-
Neo.
|
270
|
+
Neo.setupClass(ContentView);
|
59
271
|
|
60
272
|
export default ContentView;
|
@@ -1,95 +1,138 @@
|
|
1
|
-
import
|
1
|
+
import Container from '../../../../src/container/Base.mjs';
|
2
|
+
import MonacoEditor from '../../../../src/component/wrapper/MonacoEditor.mjs'
|
2
3
|
import TabContainer from '../../../../src/tab/Container.mjs';
|
3
|
-
|
4
|
+
|
5
|
+
const
|
6
|
+
classDeclarationRegex = /class\s+([a-zA-Z$_][a-zA-Z0-9$_]*)\s*(?:extends\s+[a-zA-Z$_][a-zA-Z0-9$_]*)?\s*{[\s\S]*?}/g,
|
7
|
+
exportRegex = /export\s+(?:default\s+)?(?:const|let|var|class|function|async\s+function|generator\s+function|async\s+generator\s+function|(\{[\s\S]*?\}))/g,
|
8
|
+
importRegex = /import\s+([\w-]+)\s+from\s+['"]([^'"]+)['"]/;
|
4
9
|
|
5
10
|
/**
|
6
11
|
* @class Portal.view.learn.LivePreview
|
7
12
|
* @extends Neo.container.Base
|
8
13
|
*/
|
9
|
-
class LivePreview extends
|
14
|
+
class LivePreview extends Container {
|
10
15
|
static config = {
|
11
16
|
/**
|
12
17
|
* @member {String} className='Portal.view.learn.LivePreview'
|
13
18
|
* @protected
|
14
19
|
*/
|
15
20
|
className: 'Portal.view.learn.LivePreview',
|
16
|
-
|
17
|
-
|
18
|
-
|
21
|
+
/**
|
22
|
+
* @member {String} ntype='live-preview'
|
23
|
+
* @protected
|
24
|
+
*/
|
25
|
+
ntype: 'live-preview',
|
26
|
+
|
27
|
+
baseCls : ['learn-live-preview'],
|
28
|
+
value_ : null,
|
29
|
+
autoMount : true,
|
19
30
|
autoRender: true,
|
20
|
-
height: 400,
|
21
|
-
layout: 'fit',
|
31
|
+
height : 400,
|
32
|
+
layout : 'fit',
|
22
33
|
/**
|
23
34
|
* @member {Object[]} items
|
24
35
|
*/
|
25
36
|
items: [{
|
26
|
-
module: TabContainer,
|
27
|
-
|
28
|
-
|
37
|
+
module : TabContainer,
|
38
|
+
cls : ['live-preview-container'],
|
39
|
+
reference : 'tab-container',
|
40
|
+
removeInactiveCards: false,
|
41
|
+
|
29
42
|
items: [{
|
30
|
-
module:
|
31
|
-
hideLabel: true,
|
32
|
-
style: {height: '100%'},
|
33
|
-
reference: '
|
43
|
+
module : MonacoEditor,
|
44
|
+
hideLabel : true,
|
45
|
+
style : {height: '100%'},
|
46
|
+
reference : 'editor',
|
34
47
|
tabButtonConfig: {
|
35
48
|
text: 'Source'
|
36
49
|
},
|
37
|
-
listeners: {
|
38
|
-
|
50
|
+
listeners : {
|
51
|
+
editorChange: data => {
|
52
|
+
let container = data.component.up({className: 'Portal.view.learn.LivePreview'});
|
53
|
+
container.editorValue = data.value;
|
54
|
+
|
55
|
+
if (container.previewContainer) {
|
56
|
+
container.doRunSource()
|
57
|
+
}
|
58
|
+
}
|
39
59
|
}
|
40
60
|
}, {
|
41
|
-
|
42
|
-
|
43
|
-
}
|
44
|
-
reference: 'preview',
|
45
|
-
ntype: 'container'
|
61
|
+
module : Container,
|
62
|
+
reference : 'preview',
|
63
|
+
tabButtonConfig: {text: 'Preview'}
|
46
64
|
}]
|
47
65
|
}]
|
48
66
|
}
|
49
67
|
|
68
|
+
/**
|
69
|
+
* Link the preview output to different targets
|
70
|
+
* @member {Neo.component.Base} previewContainer=null
|
71
|
+
*/
|
72
|
+
previewContainer = null
|
73
|
+
|
74
|
+
/**
|
75
|
+
* @returns {Neo.component.Base|null}
|
76
|
+
*/
|
77
|
+
get tabContainer() {
|
78
|
+
return this.getReference('tab-container')
|
79
|
+
}
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Triggered after the value config got changed
|
83
|
+
* @param {String|null} value
|
84
|
+
* @param {String|null} oldValue
|
85
|
+
* @protected
|
86
|
+
*/
|
50
87
|
afterSetValue(value, oldValue) {
|
51
88
|
if (value) {
|
52
|
-
this.getItem('
|
89
|
+
this.getItem('editor').value = value?.trim()
|
53
90
|
}
|
54
91
|
}
|
55
92
|
|
56
|
-
|
57
|
-
|
93
|
+
/**
|
94
|
+
*
|
95
|
+
*/
|
96
|
+
async createPopupWindow() {
|
97
|
+
let me = this,
|
98
|
+
winData = await Neo.Main.getWindowData(),
|
99
|
+
rect = await me.getDomRect(me.getReference('preview').id);
|
58
100
|
|
59
|
-
let
|
101
|
+
let {height, left, top, width} = rect;
|
60
102
|
|
61
|
-
|
103
|
+
height -= 50; // popup header in Chrome
|
104
|
+
left += winData.screenLeft;
|
105
|
+
top += (winData.outerHeight - winData.innerHeight + winData.screenTop);
|
106
|
+
|
107
|
+
Neo.Main.windowOpen({
|
108
|
+
url : `./childapps/preview/index.html?id=${me.id}`,
|
109
|
+
windowFeatures: `height=${height},left=${left},top=${top},width=${width}`,
|
110
|
+
windowName : me.id
|
111
|
+
})
|
62
112
|
}
|
63
113
|
|
114
|
+
/**
|
115
|
+
*
|
116
|
+
*/
|
64
117
|
doRunSource() {
|
65
|
-
let
|
66
|
-
|
67
|
-
const importRegex = /import\s+([\w-]+)\s+from\s+['"]([^'"]+)['"]/;
|
68
|
-
const exportRegex = /export\s+(?:default\s+)?(?:const|let|var|class|function|async\s+function|generator\s+function|async\s+generator\s+function|(\{[\s\S]*?\}))/g;
|
69
|
-
|
70
|
-
|
71
|
-
const cleanLines = [];
|
72
|
-
const importPromises = [];
|
73
|
-
const importModuleNames = [];
|
74
|
-
|
75
|
-
const moduleNameAndPath = [];
|
76
|
-
|
77
|
-
const className = this.findLastClassName(source);
|
118
|
+
let me = this,
|
119
|
+
source = me.editorValue || me.value;
|
78
120
|
|
121
|
+
const
|
122
|
+
cleanLines = [],
|
123
|
+
importModuleNames = [],
|
124
|
+
moduleNameAndPath = [],
|
125
|
+
className = me.findLastClassName(source);
|
79
126
|
|
80
127
|
source.split('\n').forEach(line => {
|
81
128
|
let importMatch = line.match(importRegex);
|
129
|
+
|
82
130
|
if (importMatch) {
|
83
|
-
let moduleName = importMatch[1]
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
});
|
89
|
-
// importPromises.push(import(path));
|
90
|
-
// importPromises.push(import(path).then(module => {
|
91
|
-
// eval(`const ${moduleName} = module.default;`)
|
92
|
-
// }));
|
131
|
+
let moduleName = importMatch[1],
|
132
|
+
path = importMatch[2];
|
133
|
+
|
134
|
+
moduleNameAndPath.push({moduleName, path});
|
135
|
+
|
93
136
|
importModuleNames.push(moduleName);
|
94
137
|
} else if (line.match(exportRegex)) {
|
95
138
|
// Skip export statements
|
@@ -97,8 +140,9 @@ class LivePreview extends Base {
|
|
97
140
|
cleanLines.push(line);
|
98
141
|
}
|
99
142
|
});
|
143
|
+
|
100
144
|
var params = [];
|
101
|
-
var vars
|
145
|
+
var vars = [];
|
102
146
|
// Figure out the parts of the source we'll be running.
|
103
147
|
// o The promises/import() corresponding to the user's import statements
|
104
148
|
// o The vars holding the name of the imported module based on the module name for each import
|
@@ -118,8 +162,9 @@ class LivePreview extends Base {
|
|
118
162
|
let promises = moduleNameAndPath.map(item => {
|
119
163
|
params.push(`${item.moduleName}Module`);
|
120
164
|
vars.push(`const ${item.moduleName} = ${item.moduleName}Module.default`);
|
121
|
-
return `import("${item.path}")
|
165
|
+
return `import("${item.path}")`
|
122
166
|
});
|
167
|
+
|
123
168
|
const codeString = `
|
124
169
|
Promise.all([
|
125
170
|
${promises.join(',\n')}
|
@@ -132,25 +177,43 @@ class LivePreview extends Base {
|
|
132
177
|
.catch(error=>container.add({ntype:'component',html:error.message}));
|
133
178
|
`;
|
134
179
|
|
135
|
-
const container =
|
180
|
+
const container = me.getPreviewContainer();
|
136
181
|
container.removeAll();
|
182
|
+
|
137
183
|
try {
|
138
|
-
|
139
|
-
dynamicCode(container);
|
184
|
+
new Function('container', codeString)(container);
|
140
185
|
} catch (error) {
|
141
186
|
container.add({
|
142
187
|
ntype: 'component',
|
143
|
-
html: error.message
|
188
|
+
html : error.message
|
144
189
|
})
|
145
190
|
}
|
146
191
|
}
|
147
192
|
|
148
193
|
/**
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
let
|
194
|
+
* @param {String} sourceCode
|
195
|
+
* @returns {String|null}
|
196
|
+
*/
|
197
|
+
findLastClassName(sourceCode) {
|
198
|
+
let lastClassName = null,
|
199
|
+
match;
|
200
|
+
|
201
|
+
// Iterate through all matches of the regular expression
|
202
|
+
while ((match = classDeclarationRegex.exec(sourceCode)) !== null) {
|
203
|
+
// Update the last class name found
|
204
|
+
lastClassName = match[1]
|
205
|
+
}
|
206
|
+
|
207
|
+
return lastClassName
|
208
|
+
}
|
209
|
+
|
210
|
+
/**
|
211
|
+
* @param {String} reference
|
212
|
+
* @param {Object[]} items=this.items
|
213
|
+
* @returns {Object|Neo.component.Base|null}
|
214
|
+
*/
|
215
|
+
getItem(reference, items=this.items) {
|
216
|
+
let i = 0,
|
154
217
|
len = items.length,
|
155
218
|
item,
|
156
219
|
childItem;
|
@@ -163,13 +226,27 @@ class LivePreview extends Base {
|
|
163
226
|
childItem = this.getItem(reference, item.items);
|
164
227
|
|
165
228
|
if (childItem) {
|
166
|
-
return childItem
|
229
|
+
return childItem
|
167
230
|
}
|
168
231
|
}
|
169
232
|
}
|
233
|
+
|
170
234
|
return null
|
171
235
|
}
|
172
236
|
|
237
|
+
/**
|
238
|
+
* @returns {Neo.component.Base|null}
|
239
|
+
*/
|
240
|
+
getPreviewContainer() {
|
241
|
+
let me = this;
|
242
|
+
|
243
|
+
if (me.previewContainer) {
|
244
|
+
return me.previewContainer
|
245
|
+
}
|
246
|
+
|
247
|
+
return me.getReference('preview')
|
248
|
+
}
|
249
|
+
|
173
250
|
/**
|
174
251
|
* @param {Object} data
|
175
252
|
* @param {Neo.component.Base} data.item
|
@@ -178,27 +255,49 @@ class LivePreview extends Base {
|
|
178
255
|
* @param {Number} data.value
|
179
256
|
*/
|
180
257
|
onActiveIndexChange(data) {
|
181
|
-
if (data.item.reference
|
182
|
-
|
258
|
+
if (data.item.reference === 'preview') {
|
259
|
+
this.doRunSource()
|
260
|
+
}
|
261
|
+
|
262
|
+
this.getReference('popout-window-button').hidden = data.value !== 1
|
183
263
|
}
|
184
|
-
findLastClassName(sourceCode) {
|
185
|
-
// Define a regular expression to match class declarations
|
186
|
-
const classDeclarationRegex = /class\s+([a-zA-Z$_][a-zA-Z0-9$_]*)\s*(?:extends\s+[a-zA-Z$_][a-zA-Z0-9$_]*)?\s*{[\s\S]*?}/g;
|
187
264
|
|
188
|
-
|
189
|
-
|
265
|
+
/**
|
266
|
+
*
|
267
|
+
*/
|
268
|
+
onConstructed() {
|
269
|
+
super.onConstructed();
|
190
270
|
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
271
|
+
let me = this,
|
272
|
+
tabContainer = me.getReference('tab-container');
|
273
|
+
|
274
|
+
// we want to add a normal (non-header) button
|
275
|
+
tabContainer.getTabBar().add({
|
276
|
+
handler : me.popoutPreview.bind(me),
|
277
|
+
hidden : tabContainer.activeIndex !== 1,
|
278
|
+
iconCls : 'far fa-window-maximize',
|
279
|
+
reference: 'popout-window-button',
|
280
|
+
style : {marginLeft: 'auto'},
|
281
|
+
ui : 'ghost'
|
282
|
+
});
|
283
|
+
|
284
|
+
tabContainer.on('activeIndexChange', me.onActiveIndexChange, me)
|
285
|
+
}
|
286
|
+
|
287
|
+
/**
|
288
|
+
* @param {Object} data
|
289
|
+
*/
|
290
|
+
async popoutPreview(data) {
|
291
|
+
let me = this;
|
196
292
|
|
197
|
-
|
293
|
+
data.component.disabled = true;
|
294
|
+
await me.createPopupWindow();
|
198
295
|
|
296
|
+
// this component requires a view controller to manage connected apps
|
297
|
+
me.getController()?.connectedApps.push(me.id)
|
199
298
|
}
|
200
299
|
}
|
201
300
|
|
202
|
-
Neo.
|
301
|
+
Neo.setupClass(LivePreview);
|
203
302
|
|
204
303
|
export default LivePreview;
|