neo.mjs 10.0.0-beta.5 → 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.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/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 +130 -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 +10 -8
- 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 -64
- 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 +217 -166
- package/src/Xhr.mjs +1 -0
- package/src/button/Base.mjs +13 -0
- package/src/button/Effect.mjs +16 -2
- 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 +7 -10
- package/src/collection/Filter.mjs +6 -0
- package/src/collection/Sorter.mjs +3 -0
- package/src/component/Base.mjs +104 -771
- 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 +7 -3
- 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 +55 -3
- package/src/core/Compare.mjs +4 -7
- package/src/core/Config.mjs +65 -52
- package/src/core/Effect.mjs +79 -13
- package/src/core/EffectBatchManager.mjs +18 -19
- package/src/core/EffectManager.mjs +25 -3
- 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 +50 -60
- 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/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 +98 -70
- package/src/state/createHierarchicalDataProxy.mjs +39 -25
- 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 +2 -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 +35 -23
- package/src/vdom/VNode.mjs +4 -6
- package/src/worker/App.mjs +1 -0
- 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 +5 -2
- package/test/siesta/tests/VdomCalendar.mjs +13 -9
- package/test/siesta/tests/core/Effect.mjs +10 -14
- package/test/siesta/tests/core/EffectBatching.mjs +25 -37
- package/test/siesta/tests/state/ProviderNestedDataConfigs.mjs +255 -0
- package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +42 -55
- 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,
|
@@ -260,7 +236,7 @@ class GridContainer extends BaseContainer {
|
|
260
236
|
|
261
237
|
// - If columns changed at run-time OR
|
262
238
|
// - In case the `header.Toolbar#createItems()` method has run before columns where available
|
263
|
-
if (oldValue?.
|
239
|
+
if (oldValue?.count || (value?.count && headerToolbar?.isConstructed)) {
|
264
240
|
headerToolbar?.createItems()
|
265
241
|
|
266
242
|
await me.timeout(50);
|
@@ -350,13 +326,20 @@ class GridContainer extends BaseContainer {
|
|
350
326
|
}
|
351
327
|
|
352
328
|
/**
|
353
|
-
* Triggered before the
|
354
|
-
* @param {
|
355
|
-
* @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
|
356
332
|
* @protected
|
357
333
|
*/
|
358
|
-
|
359
|
-
|
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
|
+
})
|
360
343
|
}
|
361
344
|
|
362
345
|
/**
|
@@ -374,13 +357,19 @@ class GridContainer extends BaseContainer {
|
|
374
357
|
}
|
375
358
|
|
376
359
|
/**
|
377
|
-
* Triggered before the
|
378
|
-
* @param {
|
379
|
-
* @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
|
380
363
|
* @protected
|
381
364
|
*/
|
382
|
-
|
383
|
-
|
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
|
+
})
|
384
373
|
}
|
385
374
|
|
386
375
|
/**
|
@@ -465,7 +454,8 @@ class GridContainer extends BaseContainer {
|
|
465
454
|
})
|
466
455
|
});
|
467
456
|
|
468
|
-
me.
|
457
|
+
me.headerToolbar.items = headerButtons;
|
458
|
+
me.headerToolbar.createItems();
|
469
459
|
|
470
460
|
if (Neo.typeOf(me._columns) === 'NeoInstance') {
|
471
461
|
me._columns.clear();
|
@@ -594,7 +584,7 @@ class GridContainer extends BaseContainer {
|
|
594
584
|
*/
|
595
585
|
async passSizeToBody(silent=false) {
|
596
586
|
let me = this,
|
597
|
-
[containerRect, headerRect] = await me.getDomRect([me.id, me.
|
587
|
+
[containerRect, headerRect] = await me.getDomRect([me.id, me.headerToolbar.id]);
|
598
588
|
|
599
589
|
// delay for slow connections, where the container-sizing is not done yet
|
600
590
|
if (containerRect.height === headerRect.height) {
|
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
|
}
|
package/src/layout/Grid.mjs
CHANGED
package/src/layout/HBox.mjs
CHANGED