neo.mjs 10.0.0-beta.4 → 10.0.0-beta.6
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/.github/RELEASE_NOTES/v10.0.0-beta.4.md +2 -2
- package/.github/RELEASE_NOTES/v10.0.0-beta.5.md +70 -0
- package/.github/RELEASE_NOTES/v10.0.0-beta.6.md +48 -0
- package/.github/epic-functional-components.md +498 -0
- package/.github/ticket-asymmetric-vdom-updates.md +122 -0
- package/README.md +0 -3
- package/ServiceWorker.mjs +2 -2
- package/apps/colors/store/Colors.mjs +1 -0
- package/apps/colors/view/GridContainer.mjs +3 -0
- package/apps/colors/view/HeaderToolbar.mjs +2 -0
- package/apps/colors/view/Viewport.mjs +3 -0
- package/apps/covid/view/FooterContainer.mjs +3 -0
- package/apps/covid/view/GalleryContainer.mjs +2 -0
- package/apps/covid/view/GalleryContainerController.mjs +1 -0
- package/apps/covid/view/HeaderContainer.mjs +2 -0
- package/apps/covid/view/HelixContainer.mjs +2 -0
- package/apps/covid/view/HelixContainerController.mjs +1 -0
- package/apps/covid/view/MainContainer.mjs +3 -0
- package/apps/covid/view/TableContainer.mjs +3 -0
- package/apps/covid/view/TableContainerController.mjs +1 -0
- package/apps/covid/view/WorldMapContainer.mjs +2 -0
- package/apps/covid/view/country/Gallery.mjs +3 -0
- package/apps/covid/view/country/Helix.mjs +8 -0
- package/apps/covid/view/country/HistoricalDataTable.mjs +1 -0
- package/apps/covid/view/country/Table.mjs +2 -0
- package/apps/covid/view/mapboxGl/Component.mjs +1 -0
- package/apps/covid/view/mapboxGl/Container.mjs +2 -0
- package/apps/email/EPIC_PLAN.md +58 -0
- package/apps/email/neo-config.json +2 -2
- package/apps/email/store/Emails.mjs +11 -1
- package/apps/email/view/ComposeView.mjs +44 -0
- package/apps/email/view/MainView.mjs +89 -0
- package/apps/email/view/Viewport.mjs +4 -33
- package/apps/email/view/ViewportStateProvider.mjs +3 -3
- package/apps/form/store/SideNav.mjs +1 -0
- package/apps/form/view/FormContainer.mjs +1 -0
- package/apps/form/view/FormPageContainer.mjs +2 -0
- package/apps/form/view/SideNavList.mjs +1 -0
- package/apps/form/view/Viewport.mjs +3 -0
- package/apps/portal/childapps/preview/MainContainer.mjs +1 -0
- package/apps/portal/index.html +1 -1
- package/apps/portal/store/BlogPosts.mjs +2 -0
- package/apps/portal/store/Content.mjs +1 -0
- package/apps/portal/store/ContentSections.mjs +1 -0
- package/apps/portal/store/Examples.mjs +1 -0
- package/apps/portal/view/HeaderToolbar.mjs +1 -0
- package/apps/portal/view/Viewport.mjs +5 -0
- package/apps/portal/view/ViewportController.mjs +8 -2
- package/apps/portal/view/about/Container.mjs +2 -0
- package/apps/portal/view/about/MemberContainer.mjs +7 -0
- package/apps/portal/view/blog/Container.mjs +2 -0
- package/apps/portal/view/blog/List.mjs +2 -0
- package/apps/portal/view/examples/List.mjs +1 -0
- package/apps/portal/view/examples/TabContainer.mjs +4 -0
- package/apps/portal/view/home/ContentBox.mjs +3 -0
- package/apps/portal/view/home/FeatureSection.mjs +8 -0
- package/apps/portal/view/home/FooterContainer.mjs +4 -1
- package/apps/portal/view/home/MainContainer.mjs +2 -0
- package/apps/portal/view/home/parts/AfterMath.mjs +2 -0
- package/apps/portal/view/home/parts/BaseContainer.mjs +1 -0
- package/apps/portal/view/home/parts/Colors.mjs +4 -0
- package/apps/portal/view/home/parts/Features.mjs +2 -0
- package/apps/portal/view/home/parts/Helix.mjs +5 -0
- package/apps/portal/view/home/parts/How.mjs +4 -0
- package/apps/portal/view/home/parts/MainNeo.mjs +1 -0
- package/apps/portal/view/home/parts/References.mjs +2 -0
- package/apps/portal/view/learn/ContentComponent.mjs +11 -5
- package/apps/portal/view/learn/ContentTreeList.mjs +2 -0
- package/apps/portal/view/learn/CubeLayoutButton.mjs +1 -0
- package/apps/portal/view/learn/MainContainer.mjs +4 -0
- package/apps/portal/view/learn/PageContainer.mjs +2 -0
- package/apps/portal/view/learn/PageSectionsContainer.mjs +3 -0
- package/apps/portal/view/learn/PageSectionsList.mjs +1 -0
- package/apps/portal/view/services/Component.mjs +1 -0
- package/apps/realworld/api/Base.mjs +1 -0
- package/apps/realworld/view/HeaderComponent.mjs +4 -0
- package/apps/realworld/view/HomeComponent.mjs +7 -0
- package/apps/realworld/view/MainContainer.mjs +2 -0
- package/apps/realworld/view/MainContainerController.mjs +2 -0
- package/apps/realworld/view/article/CommentComponent.mjs +3 -0
- package/apps/realworld/view/article/Component.mjs +17 -10
- package/apps/realworld/view/article/CreateCommentComponent.mjs +2 -0
- package/apps/realworld/view/article/CreateComponent.mjs +5 -0
- package/apps/realworld/view/article/PreviewComponent.mjs +9 -0
- package/apps/realworld/view/article/TagListComponent.mjs +2 -0
- package/apps/realworld/view/user/ProfileComponent.mjs +7 -0
- package/apps/realworld/view/user/SettingsComponent.mjs +5 -0
- package/apps/realworld/view/user/SignUpComponent.mjs +3 -0
- package/apps/realworld2/api/Base.mjs +1 -0
- package/apps/realworld2/view/FooterComponent.mjs +1 -0
- package/apps/realworld2/view/HeaderToolbar.mjs +3 -0
- package/apps/realworld2/view/HomeContainer.mjs +1 -0
- package/apps/realworld2/view/MainContainer.mjs +2 -0
- package/apps/realworld2/view/MainContainerController.mjs +1 -0
- package/apps/realworld2/view/article/Helix.mjs +1 -0
- package/apps/realworld2/view/article/PreviewComponent.mjs +9 -0
- package/apps/realworld2/view/article/PreviewList.mjs +1 -0
- package/apps/realworld2/view/article/TagListComponent.mjs +2 -0
- package/apps/route/view/CenterContainer.mjs +1 -0
- package/apps/route/view/MainView.mjs +1 -0
- package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -0
- package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -0
- package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -0
- package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -0
- package/apps/sharedcovid/view/FooterContainer.mjs +3 -0
- package/apps/sharedcovid/view/GalleryContainer.mjs +2 -0
- package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -0
- package/apps/sharedcovid/view/HeaderContainer.mjs +2 -0
- package/apps/sharedcovid/view/HelixContainer.mjs +2 -0
- package/apps/sharedcovid/view/HelixContainerController.mjs +1 -0
- package/apps/sharedcovid/view/MainContainer.mjs +3 -0
- package/apps/sharedcovid/view/TableContainer.mjs +3 -0
- package/apps/sharedcovid/view/TableContainerController.mjs +1 -0
- package/apps/sharedcovid/view/WorldMapContainer.mjs +2 -0
- package/apps/sharedcovid/view/country/Gallery.mjs +3 -0
- package/apps/sharedcovid/view/country/Helix.mjs +8 -0
- package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -0
- package/apps/sharedcovid/view/country/Table.mjs +2 -0
- package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -0
- package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -0
- package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +2 -0
- package/apps/shareddialog/view/DemoDialog.mjs +2 -0
- package/apps/shareddialog/view/MainContainer.mjs +2 -0
- package/apps/shareddialog/view/MainContainerController.mjs +1 -0
- package/buildScripts/addReactiveTags.mjs +191 -0
- package/buildScripts/checkReactiveTags.mjs +160 -0
- package/docs/app/store/Api.mjs +1 -0
- package/docs/app/store/Examples.mjs +1 -0
- package/docs/app/view/ApiTreeList.mjs +1 -0
- package/docs/app/view/ContentTabContainer.mjs +2 -0
- package/docs/app/view/ExamplesTreeList.mjs +2 -0
- package/docs/app/view/HeaderContainer.mjs +3 -0
- package/docs/app/view/MainContainer.mjs +5 -0
- package/docs/app/view/classdetails/HeaderComponent.mjs +1 -0
- package/docs/app/view/classdetails/MainContainer.mjs +3 -0
- package/docs/app/view/classdetails/MembersList.mjs +5 -0
- package/docs/app/view/classdetails/SourceViewComponent.mjs +2 -0
- package/examples/ConfigurationViewport.mjs +14 -8
- package/examples/button/effect/MainContainer.mjs +207 -0
- package/examples/button/effect/app.mjs +6 -0
- package/examples/button/effect/index.html +11 -0
- package/examples/button/effect/neo-config.json +6 -0
- package/examples/calendar/weekview/MainContainer.mjs +4 -0
- package/examples/component/coronaGallery/CountryGallery.mjs +2 -0
- package/examples/component/coronaGallery/CountryStore.mjs +1 -0
- package/examples/component/coronaGallery/Viewport.mjs +3 -0
- package/examples/component/coronaGallery/ViewportController.mjs +1 -0
- package/examples/component/coronaHelix/CountryHelix.mjs +7 -0
- package/examples/component/coronaHelix/MainContainer.mjs +1 -0
- package/examples/component/gallery/ImageStore.mjs +1 -0
- package/examples/component/helix/ImageStore.mjs +1 -0
- package/examples/component/helix/Viewport.mjs +3 -0
- package/examples/component/helix/ViewportController.mjs +1 -0
- package/examples/component/multiWindowCoronaGallery/childapp/Viewport.mjs +1 -0
- package/examples/component/multiWindowHelix/childapp/Viewport.mjs +1 -0
- package/examples/component/wrapper/googleMaps/MapComponent.mjs +2 -0
- package/examples/core/config/MainContainer.mjs +2 -0
- package/examples/dialog/DemoDialog.mjs +2 -0
- package/examples/dialog/MainContainer.mjs +1 -0
- package/examples/form/field/color/MainStore.mjs +1 -0
- package/examples/functional/defineComponent/Component.mjs +18 -0
- package/examples/functional/defineComponent/MainContainer.mjs +41 -0
- package/examples/functional/defineComponent/app.mjs +6 -0
- package/examples/functional/defineComponent/index.html +11 -0
- package/examples/functional/defineComponent/neo-config.json +6 -0
- package/examples/functional/hostComponent/Component.mjs +32 -0
- package/examples/functional/hostComponent/MainContainer.mjs +48 -0
- package/examples/functional/hostComponent/app.mjs +6 -0
- package/examples/functional/hostComponent/index.html +11 -0
- package/examples/functional/hostComponent/neo-config.json +6 -0
- package/examples/grid/animatedRowSorting/Viewport.mjs +1 -1
- package/examples/grid/bigData/ControlsContainer.mjs +3 -0
- package/examples/grid/bigData/GridContainer.mjs +4 -2
- package/examples/grid/bigData/MainContainer.mjs +2 -0
- package/examples/grid/bigData/MainModel.mjs +1 -0
- package/examples/grid/bigData/MainStore.mjs +3 -0
- package/examples/grid/cellEditing/MainContainer.mjs +1 -1
- package/examples/grid/container/MainContainer.mjs +1 -1
- package/examples/grid/covid/GridContainer.mjs +3 -0
- package/examples/grid/covid/MainContainer.mjs +2 -0
- package/examples/grid/covid/Store.mjs +1 -0
- package/examples/grid/nestedRecordFields/EditUserDialog.mjs +3 -0
- package/examples/grid/nestedRecordFields/Viewport.mjs +3 -1
- package/examples/list/animate/List.mjs +4 -0
- package/examples/list/animate/MainContainer.mjs +2 -0
- package/examples/list/circle/MainStore.mjs +1 -0
- package/examples/list/color/MainStore.mjs +1 -0
- package/examples/preloadingAssets/view/MainContainer.mjs +2 -0
- package/examples/stateProvider/advanced/MainContainer.mjs +1 -0
- package/examples/stateProvider/dialog/EditUserDialog.mjs +2 -0
- package/examples/stateProvider/dialog/MainContainer.mjs +1 -0
- package/examples/stateProvider/extendedClass/MainContainer.mjs +2 -0
- package/examples/stateProvider/inline/MainContainer.mjs +1 -0
- package/examples/stateProvider/inlineNoStateProvider/MainContainer.mjs +1 -0
- package/examples/stateProvider/inlineNoStateProvider/MainContainerController.mjs +2 -0
- package/examples/stateProvider/multiWindow/EditUserDialog.mjs +3 -0
- package/examples/stateProvider/multiWindow/MainContainer.mjs +1 -0
- package/examples/stateProvider/multiWindow/Viewport.mjs +1 -0
- package/examples/stateProvider/nestedData/MainContainer.mjs +1 -0
- package/examples/stateProvider/table/MainContainer.mjs +1 -0
- package/examples/table/covid/MainContainer.mjs +2 -0
- package/examples/table/covid/Store.mjs +1 -0
- package/examples/table/covid/TableContainer.mjs +3 -0
- package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -0
- package/examples/table/nestedRecordFields/Viewport.mjs +1 -0
- package/examples/todoList/version1/MainComponent.mjs +1 -1
- package/examples/toolbar/breadcrumb/view/MainContainer.mjs +2 -0
- package/examples/toolbar/paging/store/Users.mjs +1 -0
- package/examples/toolbar/paging/view/AddUserDialog.mjs +3 -0
- package/examples/toolbar/paging/view/MainContainer.mjs +3 -0
- package/examples/treeAccordion/MainContainer.mjs +2 -2
- package/examples/worker/task/MainContainer.mjs +1 -0
- package/learn/Glossary.md +1 -0
- package/learn/UsingTheseTopics.md +1 -0
- package/learn/benefits/ConfigSystem.md +2 -0
- package/learn/benefits/Effort.md +1 -0
- package/learn/benefits/Features.md +1 -0
- package/learn/benefits/FormsEngine.md +1 -0
- package/learn/benefits/FourEnvironments.md +2 -0
- package/learn/benefits/Introduction.md +2 -0
- package/learn/benefits/MultiWindow.md +3 -1
- package/learn/benefits/OffTheMainThread.md +2 -0
- package/learn/benefits/Quick.md +2 -0
- package/learn/benefits/RPCLayer.md +2 -0
- package/learn/benefits/Speed.md +2 -0
- package/learn/comparisons/NeoVsAngular.md +90 -0
- package/learn/comparisons/NeoVsExtJs.md +178 -0
- package/learn/comparisons/NeoVsNextJs.md +124 -0
- package/learn/comparisons/NeoVsReact.md +95 -0
- package/learn/comparisons/NeoVsSolid.md +78 -0
- package/learn/comparisons/NeoVsVue.md +92 -0
- package/learn/comparisons/Overview.md +46 -0
- package/learn/gettingstarted/ComponentModels.md +2 -0
- package/learn/gettingstarted/Config.md +2 -0
- package/learn/gettingstarted/DescribingTheUI.md +2 -0
- package/learn/gettingstarted/Events.md +2 -0
- package/learn/gettingstarted/Extending.md +2 -0
- package/learn/gettingstarted/References.md +2 -0
- package/learn/gettingstarted/Setup.md +3 -2
- package/learn/gettingstarted/Workspaces.md +2 -0
- package/learn/guides/datahandling/Collections.md +1 -0
- package/learn/guides/datahandling/Records.md +1 -0
- package/learn/guides/datahandling/StateProviders.md +131 -16
- package/learn/guides/datahandling/Tables.md +1 -1
- package/learn/guides/fundamentals/ConfigSystemDeepDive.md +1 -0
- package/learn/guides/fundamentals/DeclarativeComponentTreesVsImperativeVdom.md +2 -0
- package/learn/guides/fundamentals/DeclarativeVDOMWithEffects.md +168 -0
- package/learn/guides/fundamentals/ExtendingNeoClasses.md +1 -0
- package/learn/guides/fundamentals/InstanceLifecycle.md +3 -1
- package/learn/guides/fundamentals/MainThreadAddons.md +2 -0
- package/learn/guides/specificfeatures/Mixins.md +3 -1
- package/learn/guides/specificfeatures/MultiWindow.md +3 -1
- package/learn/guides/specificfeatures/PortalApp.md +2 -0
- package/learn/guides/uibuildingblocks/ComponentsAndContainers.md +2 -0
- package/learn/guides/uibuildingblocks/CustomComponents.md +2 -0
- package/learn/guides/uibuildingblocks/Layouts.md +2 -0
- package/learn/guides/uibuildingblocks/WorkingWithVDom.md +2 -0
- package/learn/guides/userinteraction/Forms.md +2 -0
- package/learn/guides/userinteraction/events/CustomEvents.md +2 -1
- package/learn/guides/userinteraction/events/DomEvents.md +2 -0
- package/learn/javascript/ClassFeatures.md +4 -3
- package/learn/javascript/Classes.md +10 -13
- package/learn/javascript/Overrides.md +10 -6
- package/learn/javascript/Super.md +12 -8
- package/learn/tree.json +71 -63
- package/learn/tutorials/Earthquakes.md +2 -0
- package/learn/tutorials/RSP.md +3 -1
- package/learn/tutorials/TodoList.md +103 -7
- package/package.json +6 -4
- package/resources/scss/src/apps/email/ComposeView.scss +16 -0
- package/resources/scss/src/apps/email/MainView.scss +5 -0
- package/resources/scss/src/apps/portal/learn/ContentComponent.scss +5 -4
- package/src/DefaultConfig.mjs +12 -2
- package/src/Main.mjs +1 -0
- package/src/Neo.mjs +377 -178
- package/src/Xhr.mjs +1 -0
- package/src/button/Base.mjs +13 -0
- package/src/button/Effect.mjs +449 -0
- package/src/button/Split.mjs +2 -0
- package/src/calendar/store/Calendars.mjs +1 -0
- package/src/calendar/store/Colors.mjs +1 -0
- package/src/calendar/store/Events.mjs +1 -0
- package/src/calendar/view/DayComponent.mjs +2 -0
- package/src/calendar/view/EditEventContainer.mjs +4 -1
- package/src/calendar/view/MainContainer.mjs +13 -0
- package/src/calendar/view/MainContainerStateProvider.mjs +14 -28
- package/src/calendar/view/SettingsContainer.mjs +1 -0
- package/src/calendar/view/YearComponent.mjs +16 -0
- package/src/calendar/view/calendars/ColorsList.mjs +2 -0
- package/src/calendar/view/calendars/Container.mjs +2 -0
- package/src/calendar/view/calendars/EditContainer.mjs +1 -0
- package/src/calendar/view/month/Component.mjs +11 -0
- package/src/calendar/view/settings/GeneralContainer.mjs +1 -0
- package/src/calendar/view/settings/MonthContainer.mjs +1 -0
- package/src/calendar/view/settings/WeekContainer.mjs +1 -0
- package/src/calendar/view/settings/YearContainer.mjs +1 -0
- package/src/calendar/view/week/Component.mjs +15 -1
- package/src/calendar/view/week/TimeAxisComponent.mjs +4 -0
- package/src/code/LivePreview.mjs +51 -23
- package/src/collection/Base.mjs +14 -12
- package/src/collection/Filter.mjs +6 -0
- package/src/collection/Sorter.mjs +3 -0
- package/src/component/Base.mjs +156 -802
- package/src/component/Canvas.mjs +1 -0
- package/src/component/Chip.mjs +4 -0
- package/src/component/Circle.mjs +14 -0
- package/src/component/Clock.mjs +4 -0
- package/src/component/DateSelector.mjs +12 -0
- package/src/component/Gallery.mjs +11 -0
- package/src/component/Helix.mjs +24 -0
- package/src/component/Label.mjs +1 -0
- package/src/component/Legend.mjs +3 -0
- package/src/component/MagicMoveText.mjs +4 -0
- package/src/component/Progress.mjs +3 -0
- package/src/component/Splitter.mjs +3 -0
- package/src/component/StatusBadge.mjs +6 -0
- package/src/component/Timer.mjs +4 -0
- package/src/component/Toast.mjs +6 -0
- package/src/component/Video.mjs +1 -0
- package/src/component/mwc/Button.mjs +7 -0
- package/src/component/mwc/TextField.mjs +9 -0
- package/src/component/wrapper/AmChart.mjs +2 -0
- package/src/component/wrapper/GoogleMaps.mjs +3 -0
- package/src/component/wrapper/MapboxGL.mjs +5 -0
- package/src/component/wrapper/MonacoEditor.mjs +12 -0
- package/src/container/Accordion.mjs +2 -0
- package/src/container/Base.mjs +34 -26
- package/src/container/Panel.mjs +1 -0
- package/src/container/Viewport.mjs +1 -0
- package/src/controller/Application.mjs +1 -0
- package/src/controller/Base.mjs +1 -0
- package/src/controller/Component.mjs +1 -0
- package/src/core/Base.mjs +193 -22
- package/src/core/Compare.mjs +4 -7
- package/src/core/Config.mjs +137 -33
- package/src/core/Effect.mjs +193 -0
- package/src/core/EffectBatchManager.mjs +67 -0
- package/src/core/EffectManager.mjs +60 -0
- package/src/core/IdGenerator.mjs +13 -44
- package/src/data/Model.mjs +2 -0
- package/src/data/Store.mjs +7 -0
- package/src/data/connection/WebSocket.mjs +2 -0
- package/src/date/DayViewComponent.mjs +2 -0
- package/src/date/SelectorContainer.mjs +14 -0
- package/src/dialog/Base.mjs +8 -0
- package/src/draggable/DragZone.mjs +5 -0
- package/src/draggable/tree/DragZone.mjs +1 -0
- package/src/filter/BooleanContainer.mjs +2 -0
- package/src/filter/NumberContainer.mjs +3 -0
- package/src/filter/ToggleOperatorsButton.mjs +2 -0
- package/src/form/Fieldset.mjs +6 -0
- package/src/form/field/Base.mjs +7 -0
- package/src/form/field/CheckBox.mjs +18 -0
- package/src/form/field/Chip.mjs +1 -0
- package/src/form/field/ComboBox.mjs +8 -0
- package/src/form/field/Country.mjs +1 -0
- package/src/form/field/Currency.mjs +2 -0
- package/src/form/field/Date.mjs +4 -0
- package/src/form/field/Display.mjs +1 -0
- package/src/form/field/Email.mjs +1 -0
- package/src/form/field/FileUpload.mjs +7 -0
- package/src/form/field/Hidden.mjs +1 -0
- package/src/form/field/Number.mjs +7 -0
- package/src/form/field/Password.mjs +1 -0
- package/src/form/field/Phone.mjs +3 -0
- package/src/form/field/Picker.mjs +2 -0
- package/src/form/field/Radio.mjs +1 -0
- package/src/form/field/Range.mjs +3 -0
- package/src/form/field/Search.mjs +2 -0
- package/src/form/field/Text.mjs +32 -0
- package/src/form/field/TextArea.mjs +7 -0
- package/src/form/field/Time.mjs +6 -0
- package/src/form/field/Url.mjs +3 -0
- package/src/form/field/ZipCode.mjs +2 -0
- package/src/form/field/trigger/Base.mjs +3 -0
- package/src/form/field/trigger/Clear.mjs +2 -0
- package/src/form/field/trigger/CopyToClipboard.mjs +2 -0
- package/src/form/field/trigger/Date.mjs +1 -0
- package/src/form/field/trigger/Picker.mjs +1 -0
- package/src/form/field/trigger/Search.mjs +1 -0
- package/src/form/field/trigger/SpinDown.mjs +2 -0
- package/src/form/field/trigger/SpinUp.mjs +1 -0
- package/src/form/field/trigger/Time.mjs +2 -0
- package/src/functional/_export.mjs +6 -0
- package/src/functional/component/Base.mjs +499 -0
- package/src/functional/defineComponent.mjs +102 -0
- package/src/functional/useConfig.mjs +52 -0
- package/src/functional/useEvent.mjs +43 -0
- package/src/grid/Body.mjs +20 -1
- package/src/grid/Container.mjs +57 -63
- package/src/grid/ScrollManager.mjs +2 -0
- package/src/grid/VerticalScrollbar.mjs +2 -0
- package/src/grid/column/Base.mjs +2 -0
- package/src/grid/column/Component.mjs +1 -1
- package/src/grid/header/Button.mjs +7 -0
- package/src/grid/header/Toolbar.mjs +6 -0
- package/src/grid/plugin/AnimateRows.mjs +2 -0
- package/src/layout/Base.mjs +3 -0
- package/src/layout/Card.mjs +1 -0
- package/src/layout/Cube.mjs +11 -1
- package/src/layout/Fit.mjs +1 -0
- package/src/layout/Flexbox.mjs +7 -0
- package/src/layout/Form.mjs +2 -0
- package/src/layout/Grid.mjs +1 -0
- package/src/layout/HBox.mjs +1 -0
- package/src/layout/VBox.mjs +1 -0
- package/src/list/Base.mjs +13 -0
- package/src/list/Chip.mjs +1 -0
- package/src/list/Circle.mjs +2 -0
- package/src/list/Color.mjs +1 -0
- package/src/list/plugin/Animate.mjs +2 -0
- package/src/main/DeltaUpdates.mjs +1 -0
- package/src/main/DomEvents.mjs +2 -0
- package/src/main/addon/CloneNode.mjs +1 -0
- package/src/main/addon/Cookie.mjs +1 -0
- package/src/main/addon/GoogleMaps.mjs +1 -0
- package/src/main/addon/LocalStorage.mjs +1 -0
- package/src/main/addon/MapboxGL.mjs +1 -0
- package/src/main/addon/Markdown.mjs +1 -0
- package/src/main/addon/Navigator.mjs +1 -0
- package/src/main/addon/Popover.mjs +1 -0
- package/src/main/addon/Stylesheet.mjs +1 -0
- package/src/main/addon/WindowPosition.mjs +1 -0
- package/src/manager/Component.mjs +0 -71
- package/src/manager/VDomUpdate.mjs +235 -0
- package/src/menu/List.mjs +6 -0
- package/src/menu/Model.mjs +1 -0
- package/src/menu/Panel.mjs +3 -0
- package/src/menu/Store.mjs +1 -0
- package/src/mixin/DomEvents.mjs +130 -0
- package/src/mixin/VdomLifecycle.mjs +667 -0
- package/src/plugin/Base.mjs +1 -0
- package/src/plugin/Resizable.mjs +2 -0
- package/src/selection/Model.mjs +15 -18
- package/src/selection/grid/BaseModel.mjs +1 -0
- package/src/sitemap/Component.mjs +1 -0
- package/src/state/Provider.mjs +376 -457
- package/src/state/createHierarchicalDataProxy.mjs +138 -0
- package/src/tab/Container.mjs +6 -0
- package/src/tab/Strip.mjs +1 -0
- package/src/tab/header/Button.mjs +2 -0
- package/src/tab/header/EffectButton.mjs +77 -0
- package/src/tab/header/Toolbar.mjs +1 -0
- package/src/table/Body.mjs +3 -0
- package/src/table/Container.mjs +10 -0
- package/src/table/header/Button.mjs +8 -0
- package/src/table/header/Toolbar.mjs +5 -0
- package/src/table/plugin/CellEditing.mjs +1 -0
- package/src/toolbar/Base.mjs +4 -0
- package/src/toolbar/Breadcrumb.mjs +3 -0
- package/src/toolbar/Paging.mjs +5 -0
- package/src/tooltip/Base.mjs +2 -0
- package/src/tree/List.mjs +3 -0
- package/src/util/HashHistory.mjs +1 -0
- package/src/util/KeyNavigation.mjs +2 -0
- package/src/util/Matrix.mjs +1 -0
- package/src/util/VDom.mjs +7 -1
- package/src/util/VNode.mjs +7 -1
- package/src/util/vdom/TreeBuilder.mjs +129 -0
- package/src/vdom/Helper.mjs +44 -33
- package/src/vdom/VNode.mjs +5 -7
- package/src/worker/App.mjs +1 -5
- package/src/worker/Base.mjs +2 -0
- package/src/worker/Manager.mjs +2 -0
- package/src/worker/ServiceBase.mjs +6 -1
- package/test/siesta/siesta.js +36 -1
- package/test/siesta/tests/CollectionBase.mjs +10 -10
- package/test/siesta/tests/VdomCalendar.mjs +13 -9
- package/test/siesta/tests/VdomHelper.mjs +22 -59
- package/test/siesta/tests/config/AfterSetConfig.mjs +100 -0
- package/test/siesta/tests/{ReactiveConfigs.mjs → config/Basic.mjs} +58 -21
- package/test/siesta/tests/config/CircularDependencies.mjs +166 -0
- package/test/siesta/tests/config/CustomFunctions.mjs +69 -0
- package/test/siesta/tests/config/Hierarchy.mjs +94 -0
- package/test/siesta/tests/config/MemoryLeak.mjs +92 -0
- package/test/siesta/tests/config/MultiLevelHierarchy.mjs +85 -0
- package/test/siesta/tests/core/Effect.mjs +127 -0
- package/test/siesta/tests/core/EffectBatching.mjs +310 -0
- package/test/siesta/tests/neo/MixinStaticConfig.mjs +138 -0
- package/test/siesta/tests/state/Provider.mjs +537 -0
- package/test/siesta/tests/state/ProviderNestedDataConfigs.mjs +255 -0
- package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +204 -0
- package/test/siesta/tests/vdom/VdomAsymmetricUpdates.mjs +366 -0
- package/test/siesta/tests/vdom/VdomRealWorldUpdates.mjs +249 -0
- package/learn/javascript/NewNode.md +0 -31
package/src/grid/Body.mjs
CHANGED
@@ -23,21 +23,25 @@ class GridBody extends Component {
|
|
23
23
|
ntype: 'grid-body',
|
24
24
|
/**
|
25
25
|
* @member {Boolean} animatedRowSorting_=false
|
26
|
+
* @reactive
|
26
27
|
*/
|
27
28
|
animatedRowSorting_: false,
|
28
29
|
/**
|
29
30
|
* Internal flag. Gets calculated when mounting the grid.Container
|
30
31
|
* @member {Number} availableHeight_=0
|
32
|
+
* @reactive
|
31
33
|
*/
|
32
34
|
availableHeight_: 0,
|
33
35
|
/**
|
34
36
|
* Internal flag. Gets calculated when changing the availableHeight config
|
35
37
|
* @member {Number} availableRows_=0
|
38
|
+
* @reactive
|
36
39
|
*/
|
37
40
|
availableRows_: 0,
|
38
41
|
/**
|
39
42
|
* Internal flag. Gets calculated after mounting grid.Body rows
|
40
43
|
* @member {Number} availableWidth_=0
|
44
|
+
* @reactive
|
41
45
|
*/
|
42
46
|
availableWidth_: 0,
|
43
47
|
/**
|
@@ -49,12 +53,14 @@ class GridBody extends Component {
|
|
49
53
|
* The number of columns (cells) to paint before the first and after the last visible column,
|
50
54
|
* to enhance the scrolling performance
|
51
55
|
* @member {Number} bufferColumnRange_=0
|
56
|
+
* @reactive
|
52
57
|
*/
|
53
58
|
bufferColumnRange_: 0,
|
54
59
|
/**
|
55
60
|
* The number of rows to paint before the first and after the last visible row,
|
56
61
|
* to enhance the scrolling performance
|
57
62
|
* @member {Number} bufferRowRange_=3
|
63
|
+
* @reactive
|
58
64
|
*/
|
59
65
|
bufferRowRange_: 3,
|
60
66
|
/**
|
@@ -65,19 +71,23 @@ class GridBody extends Component {
|
|
65
71
|
/**
|
66
72
|
* Internal flag. Gets calculated after mounting grid.Body rows
|
67
73
|
* @member {Number} containerWidth_=0
|
74
|
+
* @reactive
|
68
75
|
*/
|
69
76
|
containerWidth_: 0,
|
70
77
|
/**
|
71
78
|
* @member {Neo.collection.Base|null} columnPositions_=null
|
72
79
|
* @protected
|
80
|
+
* @reactive
|
73
81
|
*/
|
74
82
|
columnPositions_: null,
|
75
83
|
/**
|
76
84
|
* @member {Boolean} highlightModifiedCells_=false
|
85
|
+
* @reactive
|
77
86
|
*/
|
78
87
|
highlightModifiedCells_: false,
|
79
88
|
/**
|
80
89
|
* @member {Boolean} isScrolling_=false
|
90
|
+
* @reactive
|
81
91
|
*/
|
82
92
|
isScrolling_: false,
|
83
93
|
/**
|
@@ -89,6 +99,7 @@ class GridBody extends Component {
|
|
89
99
|
* Stores the indexes of the first & last mounted columns, including bufferColumnRange
|
90
100
|
* @member {Number[]} mountedColumns_=[0,0]
|
91
101
|
* @protected
|
102
|
+
* @reactive
|
92
103
|
*/
|
93
104
|
mountedColumns_: [0, 0],
|
94
105
|
/**
|
@@ -104,25 +115,30 @@ class GridBody extends Component {
|
|
104
115
|
pluginAnimateRowsConfig: null,
|
105
116
|
/**
|
106
117
|
* @member {String} role='rowgroup'
|
118
|
+
* @reactive
|
107
119
|
*/
|
108
120
|
role: 'rowgroup',
|
109
121
|
/**
|
110
122
|
* Number in px
|
111
123
|
* @member {Number} rowHeight_=0
|
124
|
+
* @reactive
|
112
125
|
*/
|
113
126
|
rowHeight_: 0,
|
114
127
|
/**
|
115
128
|
* @member {Number} scrollLeft_=0
|
116
129
|
* @protected
|
130
|
+
* @reactive
|
117
131
|
*/
|
118
132
|
scrollLeft_: 0,
|
119
133
|
/**
|
120
134
|
* @member {Number} scrollTop_=0
|
121
135
|
* @protected
|
136
|
+
* @reactive
|
122
137
|
*/
|
123
138
|
scrollTop_: 0,
|
124
139
|
/**
|
125
140
|
* @member {Neo.selection.Model} selectionModel_=null
|
141
|
+
* @reactive
|
126
142
|
*/
|
127
143
|
selectionModel_: null,
|
128
144
|
/**
|
@@ -131,10 +147,12 @@ class GridBody extends Component {
|
|
131
147
|
selectedRecordField: 'annotations.selected',
|
132
148
|
/**
|
133
149
|
* @member {Number} startIndex_=0
|
150
|
+
* @reactive
|
134
151
|
*/
|
135
152
|
startIndex_: 0,
|
136
153
|
/**
|
137
154
|
* @member {Neo.data.Store|null} store_=null
|
155
|
+
* @reactive
|
138
156
|
*/
|
139
157
|
store_: null,
|
140
158
|
/**
|
@@ -151,6 +169,7 @@ class GridBody extends Component {
|
|
151
169
|
visibleRows: [0, 0],
|
152
170
|
/**
|
153
171
|
* @member {String[]} wrapperCls=['neo-grid-body-wrapper']
|
172
|
+
* @reactive
|
154
173
|
*/
|
155
174
|
wrapperCls: ['neo-grid-body-wrapper'],
|
156
175
|
/**
|
@@ -1126,7 +1145,7 @@ class GridBody extends Component {
|
|
1126
1145
|
*/
|
1127
1146
|
updateScrollHeight(silent=false) {
|
1128
1147
|
let me = this,
|
1129
|
-
countRecords = me.store
|
1148
|
+
countRecords = me.store?.getCount() || 0,
|
1130
1149
|
{rowHeight} = me;
|
1131
1150
|
|
1132
1151
|
if (countRecords > 0 && rowHeight > 0) {
|
package/src/grid/Container.mjs
CHANGED
@@ -7,6 +7,7 @@ import Store from '../data/Store.mjs';
|
|
7
7
|
import VerticalScrollbar from './VerticalScrollbar.mjs';
|
8
8
|
import * as column from './column/_export.mjs';
|
9
9
|
import * as header from './header/_export.mjs';
|
10
|
+
import {isDescriptor} from '../core/ConfigSymbols.mjs';
|
10
11
|
|
11
12
|
/**
|
12
13
|
* @class Neo.grid.Container
|
@@ -54,17 +55,17 @@ class GridContainer extends BaseContainer {
|
|
54
55
|
baseCls: ['neo-grid-container'],
|
55
56
|
/**
|
56
57
|
* Configs for Neo.grid.Body
|
57
|
-
* @member {Object|null} [
|
58
|
+
* @member {Object|null} [body_={[isDescriptor]: true, merge: 'deep', value: null}]
|
58
59
|
*/
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
bodyId_: null,
|
60
|
+
body_: {
|
61
|
+
[isDescriptor]: true,
|
62
|
+
merge : 'deep',
|
63
|
+
value : null
|
64
|
+
},
|
65
65
|
/**
|
66
66
|
* true uses grid.plugin.CellEditing
|
67
67
|
* @member {Boolean} cellEditing_=false
|
68
|
+
* @reactive
|
68
69
|
*/
|
69
70
|
cellEditing_: false,
|
70
71
|
/**
|
@@ -74,28 +75,32 @@ class GridContainer extends BaseContainer {
|
|
74
75
|
columnDefaults: null,
|
75
76
|
/**
|
76
77
|
* @member {Object[]} columns_=[]
|
78
|
+
* @reactive
|
77
79
|
*/
|
78
80
|
columns_: [],
|
79
81
|
/**
|
80
82
|
* Configs for Neo.grid.header.Toolbar
|
81
|
-
* @member {Object|null} [
|
83
|
+
* @member {Object|null} [headerToolbar_={[isDescriptor]: true, merge: 'deep', value: null}]
|
82
84
|
*/
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
85
|
+
headerToolbar_: {
|
86
|
+
[isDescriptor]: true,
|
87
|
+
merge : 'deep',
|
88
|
+
value : null
|
89
|
+
},
|
88
90
|
/**
|
89
91
|
* @member {String} layout='base'
|
92
|
+
* @reactive
|
90
93
|
*/
|
91
94
|
layout: 'base',
|
92
95
|
/**
|
93
96
|
* @member {String} role='grid'
|
97
|
+
* @reactive
|
94
98
|
*/
|
95
99
|
role: 'grid',
|
96
100
|
/**
|
97
101
|
* Number in px
|
98
102
|
* @member {Number} rowHeight_=32
|
103
|
+
* @reactive
|
99
104
|
*/
|
100
105
|
rowHeight_: 32,
|
101
106
|
/**
|
@@ -105,19 +110,23 @@ class GridContainer extends BaseContainer {
|
|
105
110
|
scrollbar: null,
|
106
111
|
/**
|
107
112
|
* @member {Boolean} showHeaderFilters_=false
|
113
|
+
* @reactive
|
108
114
|
*/
|
109
115
|
showHeaderFilters_: false,
|
110
116
|
/**
|
111
117
|
* @member {Boolean} sortable_=true
|
118
|
+
* @reactive
|
112
119
|
*/
|
113
120
|
sortable_: true,
|
114
121
|
/**
|
115
122
|
* @member {Neo.data.Store} store_=null
|
123
|
+
* @reactive
|
116
124
|
*/
|
117
125
|
store_: null,
|
118
126
|
/**
|
119
127
|
* @member {Array|null} items=null
|
120
128
|
* @protected
|
129
|
+
* @reactive
|
121
130
|
*/
|
122
131
|
items: null,
|
123
132
|
/**
|
@@ -141,22 +150,6 @@ class GridContainer extends BaseContainer {
|
|
141
150
|
*/
|
142
151
|
scrollManager = null
|
143
152
|
|
144
|
-
/**
|
145
|
-
* Convenience method to access the Neo.grid.Body
|
146
|
-
* @returns {Neo.grid.Body|null}
|
147
|
-
*/
|
148
|
-
get body() {
|
149
|
-
return Neo.getComponent(this.bodyId) || Neo.get(this.bodyId)
|
150
|
-
}
|
151
|
-
|
152
|
-
/**
|
153
|
-
* Convenience method to access the Neo.grid.header.Toolbar
|
154
|
-
* @returns {Neo.grid.header.Toolbar|null}
|
155
|
-
*/
|
156
|
-
get headerToolbar() {
|
157
|
-
return Neo.getComponent(this.headerToolbarId) || Neo.get(this.headerToolbarId)
|
158
|
-
}
|
159
|
-
|
160
153
|
/**
|
161
154
|
* @param {Object} config
|
162
155
|
*/
|
@@ -166,24 +159,7 @@ class GridContainer extends BaseContainer {
|
|
166
159
|
let me = this,
|
167
160
|
{appName, rowHeight, store, windowId} = me;
|
168
161
|
|
169
|
-
me.
|
170
|
-
me.headerToolbarId = Neo.getId('grid-header-toolbar');
|
171
|
-
|
172
|
-
me.items = [{
|
173
|
-
module : header.Toolbar,
|
174
|
-
id : me.headerToolbarId,
|
175
|
-
showHeaderFilters: me.showHeaderFilters,
|
176
|
-
sortable : me.sortable,
|
177
|
-
...me.headerToolbarConfig
|
178
|
-
}, {
|
179
|
-
module : GridBody,
|
180
|
-
flex : 1,
|
181
|
-
gridContainer: me,
|
182
|
-
id : me.bodyId,
|
183
|
-
rowHeight,
|
184
|
-
store,
|
185
|
-
...me.bodyConfig
|
186
|
-
}];
|
162
|
+
me.items = [me.headerToolbar, me.body];
|
187
163
|
|
188
164
|
me.scrollbar = Neo.create({
|
189
165
|
module : VerticalScrollbar,
|
@@ -255,10 +231,13 @@ class GridContainer extends BaseContainer {
|
|
255
231
|
* @protected
|
256
232
|
*/
|
257
233
|
async afterSetColumns(value, oldValue) {
|
258
|
-
|
259
|
-
|
234
|
+
let me = this,
|
235
|
+
{headerToolbar} = me;
|
260
236
|
|
261
|
-
|
237
|
+
// - If columns changed at run-time OR
|
238
|
+
// - In case the `header.Toolbar#createItems()` method has run before columns where available
|
239
|
+
if (oldValue?.count || (value?.count && headerToolbar?.isConstructed)) {
|
240
|
+
headerToolbar?.createItems()
|
262
241
|
|
263
242
|
await me.timeout(50);
|
264
243
|
|
@@ -347,13 +326,20 @@ class GridContainer extends BaseContainer {
|
|
347
326
|
}
|
348
327
|
|
349
328
|
/**
|
350
|
-
* Triggered before the
|
351
|
-
* @param {
|
352
|
-
* @param {
|
329
|
+
* Triggered before the body config gets changed.
|
330
|
+
* @param {Object|Neo.grid.Body|null} value
|
331
|
+
* @param {Object|Neo.grid.Body|null} oldValue
|
353
332
|
* @protected
|
354
333
|
*/
|
355
|
-
|
356
|
-
|
334
|
+
beforeSetBody(value, oldValue) {
|
335
|
+
const me = this;
|
336
|
+
|
337
|
+
return ClassSystemUtil.beforeSetInstance(value, GridBody, {
|
338
|
+
flex : 1,
|
339
|
+
gridContainer: me,
|
340
|
+
parentId : me.id,
|
341
|
+
store : me.store
|
342
|
+
})
|
357
343
|
}
|
358
344
|
|
359
345
|
/**
|
@@ -371,13 +357,19 @@ class GridContainer extends BaseContainer {
|
|
371
357
|
}
|
372
358
|
|
373
359
|
/**
|
374
|
-
* Triggered before the
|
375
|
-
* @param {
|
376
|
-
* @param {
|
360
|
+
* Triggered before the headerToolbar config gets changed.
|
361
|
+
* @param {Object|Neo.grid.header.Toolbar|null} value
|
362
|
+
* @param {Object|Neo.grid.header.Toolbar|null} oldValue
|
377
363
|
* @protected
|
378
364
|
*/
|
379
|
-
|
380
|
-
|
365
|
+
beforeSetHeaderToolbar(value, oldValue) {
|
366
|
+
const me = this;
|
367
|
+
|
368
|
+
return ClassSystemUtil.beforeSetInstance(value, header.Toolbar, {
|
369
|
+
parentId : me.id,
|
370
|
+
showHeaderFilters: me.showHeaderFilters,
|
371
|
+
sortable : me.sortable
|
372
|
+
})
|
381
373
|
}
|
382
374
|
|
383
375
|
/**
|
@@ -462,7 +454,8 @@ class GridContainer extends BaseContainer {
|
|
462
454
|
})
|
463
455
|
});
|
464
456
|
|
465
|
-
me.
|
457
|
+
me.headerToolbar.items = headerButtons;
|
458
|
+
me.headerToolbar.createItems();
|
466
459
|
|
467
460
|
if (Neo.typeOf(me._columns) === 'NeoInstance') {
|
468
461
|
me._columns.clear();
|
@@ -591,7 +584,7 @@ class GridContainer extends BaseContainer {
|
|
591
584
|
*/
|
592
585
|
async passSizeToBody(silent=false) {
|
593
586
|
let me = this,
|
594
|
-
[containerRect, headerRect] = await me.getDomRect([me.id, me.
|
587
|
+
[containerRect, headerRect] = await me.getDomRect([me.id, me.headerToolbar.id]);
|
595
588
|
|
596
589
|
// delay for slow connections, where the container-sizing is not done yet
|
597
590
|
if (containerRect.height === headerRect.height) {
|
@@ -611,7 +604,8 @@ class GridContainer extends BaseContainer {
|
|
611
604
|
*/
|
612
605
|
removeSortingCss(dataField) {
|
613
606
|
this.headerToolbar?.items.forEach(column => {
|
614
|
-
if (column.dataField !== dataField) {
|
607
|
+
if (column.dataField !== dataField) {return;
|
608
|
+
console.log(column, dataField)
|
615
609
|
column.removeSortingCss()
|
616
610
|
}
|
617
611
|
})
|
package/src/grid/column/Base.mjs
CHANGED
@@ -22,6 +22,7 @@ class Column extends Base {
|
|
22
22
|
parent: null,
|
23
23
|
/**
|
24
24
|
* @member {Function|String|null} renderer_='cellRenderer'
|
25
|
+
* @reactive
|
25
26
|
*/
|
26
27
|
renderer_: 'cellRenderer',
|
27
28
|
/**
|
@@ -38,6 +39,7 @@ class Column extends Base {
|
|
38
39
|
type: 'column',
|
39
40
|
/**
|
40
41
|
* @member {Number|null} windowId_=null
|
42
|
+
* @reactive
|
41
43
|
*/
|
42
44
|
windowId_: null
|
43
45
|
}
|
@@ -33,6 +33,7 @@ class Button extends BaseButton {
|
|
33
33
|
/**
|
34
34
|
* Alignment of the matching grid cells. Valid values are left, center, right
|
35
35
|
* @member {String} cellAlign_='left'
|
36
|
+
* @reactive
|
36
37
|
*/
|
37
38
|
cellAlign_: 'left',
|
38
39
|
/**
|
@@ -59,28 +60,34 @@ class Button extends BaseButton {
|
|
59
60
|
filterField: null,
|
60
61
|
/**
|
61
62
|
* @member {String} iconCls='fa fa-arrow-circle-up'
|
63
|
+
* @reactive
|
62
64
|
*/
|
63
65
|
iconCls: 'fa fa-arrow-circle-up',
|
64
66
|
/**
|
65
67
|
* @member {String} iconPosition='right'
|
68
|
+
* @reactive
|
66
69
|
*/
|
67
70
|
iconPosition: 'right',
|
68
71
|
/**
|
69
72
|
* 'ASC', 'DESC' or null
|
70
73
|
* @member {String|null} isSorted_=null
|
71
74
|
* @protected
|
75
|
+
* @reactive
|
72
76
|
*/
|
73
77
|
isSorted_: null,
|
74
78
|
/**
|
75
79
|
* @member {String} role='columnheader'
|
80
|
+
* @reactive
|
76
81
|
*/
|
77
82
|
role: 'columnheader',
|
78
83
|
/**
|
79
84
|
* @member {Boolean} showHeaderFilter_=false
|
85
|
+
* @reactive
|
80
86
|
*/
|
81
87
|
showHeaderFilter_: false,
|
82
88
|
/**
|
83
89
|
* @member {Boolean} sortable_=true
|
90
|
+
* @reactive
|
84
91
|
*/
|
85
92
|
sortable_: true
|
86
93
|
}
|
@@ -22,30 +22,36 @@ class Toolbar extends BaseToolbar {
|
|
22
22
|
baseCls: ['neo-grid-header-toolbar', 'neo-toolbar'],
|
23
23
|
/**
|
24
24
|
* @member {Boolean} draggable_=true
|
25
|
+
* @reactive
|
25
26
|
*/
|
26
27
|
draggable_: true,
|
27
28
|
/**
|
28
29
|
* @member {Object} itemDefaults={ntype: 'grid-header-button'}
|
30
|
+
* @reactive
|
29
31
|
*/
|
30
32
|
itemDefaults: {
|
31
33
|
ntype: 'grid-header-button'
|
32
34
|
},
|
33
35
|
/**
|
34
36
|
* @member {String} role='row'
|
37
|
+
* @reactive
|
35
38
|
*/
|
36
39
|
role: 'row',
|
37
40
|
/**
|
38
41
|
* @member {Number} scrollLeft_=0
|
42
|
+
* @reactive
|
39
43
|
*/
|
40
44
|
scrollLeft_: 0,
|
41
45
|
/**
|
42
46
|
* @member {Boolean} showHeaderFilters_=false
|
47
|
+
* @reactive
|
43
48
|
*/
|
44
49
|
showHeaderFilters_: false,
|
45
50
|
/**
|
46
51
|
* Convenience shortcut to pass sortable to all toolbar items.
|
47
52
|
* If set to true, header clicks will sort the matching column (ASC, DESC, null)
|
48
53
|
* @member {Boolean} sortable=true
|
54
|
+
* @reactive
|
49
55
|
*/
|
50
56
|
sortable: true,
|
51
57
|
/**
|
@@ -28,12 +28,14 @@ class AnimateRows extends Base {
|
|
28
28
|
/**
|
29
29
|
* Time in ms for the background-color, opacity & transform transitions
|
30
30
|
* @member {Number} transitionDuration_=500
|
31
|
+
* @reactive
|
31
32
|
*/
|
32
33
|
transitionDuration_: 500,
|
33
34
|
/**
|
34
35
|
* The easing used for fadeIn, fadeOut and position changes.
|
35
36
|
* Valid values: 'ease','ease-in','ease-out','ease-in-out','linear'
|
36
37
|
* @member {String} transitionEasing_='ease-out'
|
38
|
+
* @reactive
|
37
39
|
*/
|
38
40
|
transitionEasing_: 'ease-out'
|
39
41
|
}
|
package/src/layout/Base.mjs
CHANGED
@@ -22,6 +22,7 @@ class Layout extends Base {
|
|
22
22
|
/**
|
23
23
|
* The name of the App this layout belongs to
|
24
24
|
* @member {String|null} appName_=null
|
25
|
+
* @reactive
|
25
26
|
*/
|
26
27
|
appName_: null,
|
27
28
|
/**
|
@@ -34,6 +35,7 @@ class Layout extends Base {
|
|
34
35
|
* A layout specific CSS selector which gets added to Container the layout is bound to.
|
35
36
|
* @member {String|null} containerCls_=null
|
36
37
|
* @protected
|
38
|
+
* @reactive
|
37
39
|
*/
|
38
40
|
containerCls_: null,
|
39
41
|
/**
|
@@ -44,6 +46,7 @@ class Layout extends Base {
|
|
44
46
|
isLayout: true,
|
45
47
|
/**
|
46
48
|
* @member {Number|null} windowId_=null
|
49
|
+
* @reactive
|
47
50
|
*/
|
48
51
|
windowId_: null
|
49
52
|
}
|
package/src/layout/Card.mjs
CHANGED
package/src/layout/Cube.mjs
CHANGED
@@ -36,6 +36,7 @@ class Cube extends Card {
|
|
36
36
|
ntype: 'layout-cube',
|
37
37
|
/**
|
38
38
|
* @member {String|null} activeFace_=null
|
39
|
+
* @reactive
|
39
40
|
*/
|
40
41
|
activeFace_: null,
|
41
42
|
/**
|
@@ -45,11 +46,13 @@ class Cube extends Card {
|
|
45
46
|
/**
|
46
47
|
* @member {String|null} containerCls='neo-layout-fit'
|
47
48
|
* @protected
|
49
|
+
* @reactive
|
48
50
|
*/
|
49
51
|
containerCls: 'neo-layout-cube',
|
50
52
|
/**
|
51
53
|
* Updates the cube size to fit the owner container dimensions
|
52
54
|
* @member {Boolean} fitContainer_=false
|
55
|
+
* @reactive
|
53
56
|
*/
|
54
57
|
fitContainer_: false,
|
55
58
|
/**
|
@@ -59,30 +62,37 @@ class Cube extends Card {
|
|
59
62
|
hideInactiveCardsOnDestroy: false,
|
60
63
|
/**
|
61
64
|
* @member {Number} perspective_=600
|
65
|
+
* @reactive
|
62
66
|
*/
|
63
67
|
perspective_: 600,
|
64
68
|
/**
|
65
69
|
* @member {Number} rotateX_=0
|
70
|
+
* @reactive
|
66
71
|
*/
|
67
72
|
rotateX_: 0,
|
68
73
|
/**
|
69
74
|
* @member {Number} rotateY_=0
|
75
|
+
* @reactive
|
70
76
|
*/
|
71
77
|
rotateY_: 0,
|
72
78
|
/**
|
73
79
|
* @member {Number} rotateZ_=0
|
80
|
+
* @reactive
|
74
81
|
*/
|
75
82
|
rotateZ_: 0,
|
76
83
|
/**
|
77
84
|
* @member {Number} sideX_=300
|
85
|
+
* @reactive
|
78
86
|
*/
|
79
87
|
sideX_: 300,
|
80
88
|
/**
|
81
89
|
* @member {Number} sideY_=300
|
90
|
+
* @reactive
|
82
91
|
*/
|
83
92
|
sideY_: 300,
|
84
93
|
/**
|
85
94
|
* @member {Number} sideZ_=300
|
95
|
+
* @reactive
|
86
96
|
*/
|
87
97
|
sideZ_: 300
|
88
98
|
}
|
@@ -106,7 +116,7 @@ class Cube extends Card {
|
|
106
116
|
|
107
117
|
container.mounted && container.update();
|
108
118
|
|
109
|
-
me.timeout(
|
119
|
+
me.timeout(50).then(() => {
|
110
120
|
container.addCls('neo-animate')
|
111
121
|
})
|
112
122
|
}
|
package/src/layout/Fit.mjs
CHANGED
package/src/layout/Flexbox.mjs
CHANGED
@@ -49,21 +49,25 @@ class Flexbox extends Base {
|
|
49
49
|
/**
|
50
50
|
* Valid values: 'center', 'end', 'start', 'stretch', null
|
51
51
|
* @member {String|null} align_=null
|
52
|
+
* @reactive
|
52
53
|
*/
|
53
54
|
align_: null,
|
54
55
|
/**
|
55
56
|
* Valid values: 'column', 'column-reverse', 'row', 'row-reverse', null
|
56
57
|
* @member {String|null} direction_=null
|
58
|
+
* @reactive
|
57
59
|
*/
|
58
60
|
direction_: null,
|
59
61
|
/**
|
60
62
|
* flex css allows gap. This adds it to the component style
|
61
63
|
* @member {String} gap_=null
|
64
|
+
* @reactive
|
62
65
|
*/
|
63
66
|
gap_: null,
|
64
67
|
/**
|
65
68
|
* Valid values: 'center', 'end', 'start', null
|
66
69
|
* @member {String|null} pack_=null
|
70
|
+
* @reactive
|
67
71
|
*/
|
68
72
|
pack_: null,
|
69
73
|
/**
|
@@ -74,6 +78,7 @@ class Flexbox extends Base {
|
|
74
78
|
/**
|
75
79
|
* Valid values: nowrap, wrap, wrapreverse
|
76
80
|
* @member {String} wrap_='nowrap'
|
81
|
+
* @reactive
|
77
82
|
*/
|
78
83
|
wrap_: 'nowrap'
|
79
84
|
}
|
@@ -141,6 +146,8 @@ class Flexbox extends Base {
|
|
141
146
|
* @param {Number} index
|
142
147
|
*/
|
143
148
|
applyChildAttributes(item, index) {
|
149
|
+
if (!item.wrapperStyle) return;
|
150
|
+
|
144
151
|
let style = item.wrapperStyle,
|
145
152
|
flex = style.flex || item.flex || (this.align === 'stretch' ? 1 : '0 1 auto');
|
146
153
|
|
package/src/layout/Form.mjs
CHANGED
@@ -20,11 +20,13 @@ class Form extends Base {
|
|
20
20
|
/**
|
21
21
|
* @member {String|null} containerCls='neo-layout-fit'
|
22
22
|
* @protected
|
23
|
+
* @reactive
|
23
24
|
*/
|
24
25
|
containerCls: 'neo-layout-form',
|
25
26
|
/**
|
26
27
|
* flex css allows gap. This adds it to the component style
|
27
28
|
* @member {String} gap_=null
|
29
|
+
* @reactive
|
28
30
|
*/
|
29
31
|
gap_: null
|
30
32
|
}
|