@griddo/ax 1.56.9 → 1.57.2
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/config/griddo-config.js +1 -0
- package/package.json +2 -2
- package/src/components/ActionMenu/index.tsx +1 -1
- package/src/components/Fields/ComponentArray/MixableComponentArray/index.tsx +7 -1
- package/src/components/Fields/ComponentArray/MixableComponentArray/style.tsx +29 -24
- package/src/components/Fields/ComponentArray/SameComponentArray/index.tsx +7 -1
- package/src/components/Fields/ComponentArray/SameComponentArray/style.tsx +29 -24
- package/src/components/Fields/DateField/index.tsx +3 -2
- package/src/components/Fields/ReferenceField/AutoPanel/AutoItem/index.tsx +1 -1
- package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +1 -1
- package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +1 -1
- package/src/components/Fields/UrlField/index.tsx +12 -1
- package/src/components/Fields/Wysiwyg/config.tsx +80 -56
- package/src/components/Fields/Wysiwyg/index.tsx +23 -6
- package/src/components/FloatingMenu/index.tsx +9 -6
- package/src/components/FloatingMenu/style.tsx +8 -6
- package/src/components/Gallery/GalleryFilters/Orientation/index.tsx +1 -1
- package/src/components/Gallery/GalleryFilters/SortBy/index.tsx +1 -1
- package/src/components/InformativeMenu/index.tsx +3 -2
- package/src/components/InformativeMenu/style.tsx +0 -1
- package/src/components/MainWrapper/AppBar/index.tsx +8 -7
- package/src/components/MainWrapper/AppBar/style.tsx +7 -0
- package/src/components/MenuItem/style.tsx +1 -0
- package/src/components/Modal/style.tsx +14 -13
- package/src/components/Nav/index.tsx +8 -3
- package/src/components/Nav/style.tsx +5 -0
- package/src/components/SearchField/index.tsx +43 -14
- package/src/components/SearchField/style.tsx +23 -10
- package/src/components/SideModal/index.tsx +24 -8
- package/src/components/SideModal/style.tsx +13 -2
- package/src/components/SubNav/style.tsx +3 -2
- package/src/containers/Navigation/Defaults/actions.tsx +26 -24
- package/src/containers/Navigation/Defaults/reducer.tsx +2 -2
- package/src/containers/PageEditor/actions.tsx +9 -8
- package/src/containers/Settings/Social/actions.tsx +9 -31
- package/src/containers/Settings/Social/constants.tsx +2 -3
- package/src/containers/Settings/Social/interfaces.tsx +2 -7
- package/src/containers/Settings/Social/reducer.tsx +3 -14
- package/src/containers/Sites/actions.tsx +3 -63
- package/src/containers/Sites/constants.tsx +0 -1
- package/src/containers/Sites/interfaces.tsx +0 -6
- package/src/containers/Sites/reducer.tsx +1 -29
- package/src/forms/editor.tsx +2 -0
- package/src/forms/validators.tsx +2 -0
- package/src/helpers/dates.tsx +23 -24
- package/src/helpers/index.tsx +2 -0
- package/src/helpers/objects.tsx +17 -2
- package/src/helpers/schemas.tsx +7 -4
- package/src/hooks/forms.tsx +23 -24
- package/src/modules/App/Routing/NavMenu/NavItem/index.tsx +10 -5
- package/src/modules/App/Routing/NavMenu/NavItem/style.tsx +13 -9
- package/src/modules/App/Routing/NavMenu/index.tsx +39 -37
- package/src/modules/App/Routing/NavMenu/style.tsx +9 -3
- package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +1 -1
- package/src/modules/Categories/CategoriesList/CategoryNav/NavItem/index.tsx +6 -3
- package/src/modules/Categories/CategoriesList/CategoryNav/NavItem/style.tsx +5 -1
- package/src/modules/Content/ContentFilters/index.tsx +6 -3
- package/src/modules/Content/ContentFilters/style.tsx +6 -1
- package/src/modules/Content/HeaderMenus/Live/index.tsx +1 -1
- package/src/modules/Content/HeaderMenus/Name/index.tsx +10 -4
- package/src/modules/Content/HeaderMenus/Status/index.tsx +7 -3
- package/src/modules/Content/HeaderMenus/Translations/index.tsx +1 -1
- package/src/modules/Content/HeaderMenus/Types/index.tsx +1 -1
- package/src/modules/Content/OptionTable/index.tsx +6 -3
- package/src/modules/Content/OptionTable/style.tsx +4 -0
- package/src/modules/Content/PageItem/index.tsx +3 -3
- package/src/modules/Content/index.tsx +5 -3
- package/src/modules/GlobalEditor/index.tsx +37 -14
- package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +33 -13
- package/src/modules/Navigation/Defaults/Item/atoms.tsx +1 -1
- package/src/modules/Navigation/Defaults/Nav/index.tsx +8 -3
- package/src/modules/Navigation/Defaults/Nav/style.tsx +4 -0
- package/src/modules/Navigation/Defaults/index.tsx +4 -0
- package/src/modules/Navigation/Menus/List/Nav/index.tsx +8 -3
- package/src/modules/Navigation/Menus/List/Nav/style.tsx +4 -0
- package/src/modules/Navigation/Menus/List/index.tsx +3 -1
- package/src/modules/Navigation/Menus/List/style.tsx +9 -1
- package/src/modules/PageEditor/index.tsx +38 -14
- package/src/modules/Settings/ContentTypes/DataPacks/AddModal/Filter/index.tsx +1 -1
- package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SortFilter/index.tsx +1 -1
- package/src/modules/Settings/ContentTypes/DataPacks/Nav/index.tsx +11 -6
- package/src/modules/Settings/ContentTypes/DataPacks/Nav/style.tsx +6 -1
- package/src/modules/Settings/Globals/index.tsx +19 -31
- package/src/modules/Settings/Languages/LanguagePanel/Form/index.tsx +1 -1
- package/src/modules/Settings/Languages/Table/Item/index.tsx +1 -1
- package/src/modules/Settings/Social/index.tsx +35 -91
- package/src/modules/Sites/SitesList/SiteModal/index.tsx +12 -27
- package/src/modules/Sites/SitesList/index.tsx +15 -15
- package/src/modules/StructuredData/StructuredDataList/ContentFilters/index.tsx +3 -1
- package/src/modules/StructuredData/StructuredDataList/ContentFilters/style.tsx +6 -1
- package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +3 -3
- package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Live/index.tsx +1 -1
- package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Name/index.tsx +10 -4
- package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Site/index.tsx +1 -1
- package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Status/index.tsx +7 -3
- package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Translations/index.tsx +1 -1
- package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Types/index.tsx +1 -1
- package/src/modules/StructuredData/StructuredDataList/OptionTable/index.tsx +6 -3
- package/src/modules/StructuredData/StructuredDataList/OptionTable/style.tsx +4 -0
- package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +1 -1
- package/src/modules/Users/UserList/HeaderMenus/Name/index.tsx +13 -5
- package/src/schemas/index.tsx +7 -0
- package/src/schemas/pages/GlobalPage.tsx +166 -0
- package/src/schemas/pages/Page.tsx +181 -0
- package/src/schemas/pages/index.tsx +4 -0
- package/src/types/index.tsx +8 -14
- package/tsconfig.paths.json +2 -1
- package/public/img/schemas/Accordion/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/Accordion/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/AddressCollection/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/AddressCollection/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/BasicBoxedCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/BasicBoxedCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/BasicCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/BasicCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout003@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout003@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout004@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout004@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout005@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout005@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout006@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout006@2x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout007@1x.png +0 -0
- package/public/img/schemas/BasicContent/layouts/layout007@2x.png +0 -0
- package/public/img/schemas/BasicContent/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/BasicContent/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/BasicIconCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/BasicIconCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout003@1x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout003@2x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout004@1x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout004@2x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout005@1x.png +0 -0
- package/public/img/schemas/CardCollection/layouts/layout005@2x.png +0 -0
- package/public/img/schemas/CardCollection/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/CardCollection/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/DownloadCollection/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/DownloadCollection/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/EventCard/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/EventCard/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/EventCard/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/EventCard/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/EventCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/EventCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/EventsDistributor/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/EventsDistributor/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout003@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout003@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout004@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout004@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout005@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout005@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout006@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout006@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout007@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout007@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout008@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout008@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout009@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout009@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout010@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout010@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout011@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout011@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout012@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/layouts/layout012@2x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/FeaturedAudiovisual/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/FeaturedBlock/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/FeaturedBlock/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/FeaturedBlock/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/FeaturedBlock/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/FeaturedProgram/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/FeaturedProgram/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/FeaturedText/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/FeaturedText/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/FeedbackForm/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/FeedbackForm/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/HeroCarousel/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/HeroCarousel/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/HeroImage/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/HeroImage/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/IconCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/IconCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/IconCenteredCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/IconCenteredCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/Image/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/Image/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/ImageCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/ImageCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/Intro/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/Intro/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/LogoCard/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/LogoCard/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/NewsDistributor/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/NewsDistributor/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/PersonDistributor/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/PersonDistributor/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/PublicationDistributor/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/PublicationDistributor/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/SchoolFooter/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/SchoolFooter/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/Slider/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/Slider/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/Testimonial/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/Testimonial/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/Testimonial/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/Testimonial/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/Testimonial/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/Testimonial/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/TextBluePanel/layouts/layout001@1x.png +0 -0
- package/public/img/schemas/TextBluePanel/layouts/layout001@2x.png +0 -0
- package/public/img/schemas/TextBluePanel/layouts/layout002@1x.png +0 -0
- package/public/img/schemas/TextBluePanel/layouts/layout002@2x.png +0 -0
- package/public/img/schemas/TextBluePanel/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/TextBluePanel/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/Video/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/Video/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/imgHeros.png +0 -0
- package/public/img/schemas/imgStandard.jpg +0 -0
- package/public/img/schemas/templates/BasicTemplate/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/templates/BasicTemplate/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/templates/Error404/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/templates/Error404/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/templates/NewsList/thumbnails/thumbnail@1x.png +0 -0
- package/public/img/schemas/templates/NewsList/thumbnails/thumbnail@2x.png +0 -0
- package/public/img/schemas/themes/LinkStyle.png +0 -0
- package/public/img/schemas/themes/LinkStyle@2x.png +0 -0
- package/public/img/schemas/themes/PrimaryStyle.png +0 -0
- package/public/img/schemas/themes/PrimaryStyle@2x.png +0 -0
- package/public/img/schemas/themes/STYLE01.png +0 -0
- package/public/img/schemas/themes/STYLE02.png +0 -0
- package/public/img/schemas/themes/STYLE03.png +0 -0
- package/public/img/schemas/themes/STYLE04.png +0 -0
- package/public/img/schemas/themes/STYLE05.png +0 -0
- package/public/img/schemas/themes/STYLE06.png +0 -0
- package/public/img/schemas/themes/SecondaryStyle.png +0 -0
- package/public/img/schemas/themes/SecondaryStyle@2x.png +0 -0
- package/src/components/MainWrapper/AppBar/SearchField/index.tsx +0 -54
- package/src/components/MainWrapper/AppBar/SearchField/style.tsx +0 -55
|
@@ -5,14 +5,14 @@ import { Button, FloatingMenu, IconAction } from "@ax/components";
|
|
|
5
5
|
import * as S from "./style";
|
|
6
6
|
|
|
7
7
|
const InformativeMenu = (props: IProps): JSX.Element => {
|
|
8
|
-
const { icon, message, actionText, iconSize } = props;
|
|
8
|
+
const { icon, message, actionText, iconSize, position } = props;
|
|
9
9
|
|
|
10
10
|
const InfoButton = () => <IconAction icon={icon} size={iconSize} />;
|
|
11
11
|
|
|
12
12
|
const handleClick = (event: any) => event.preventDefault();
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
|
-
<FloatingMenu Button={InfoButton}
|
|
15
|
+
<FloatingMenu Button={InfoButton} reactiveToHover={true} position={position}>
|
|
16
16
|
<S.InformativeMenu>
|
|
17
17
|
{message}
|
|
18
18
|
<S.Footer>
|
|
@@ -30,5 +30,6 @@ interface IProps {
|
|
|
30
30
|
message: string;
|
|
31
31
|
actionText: string;
|
|
32
32
|
iconSize?: "s" | "m" | undefined;
|
|
33
|
+
position?: string;
|
|
33
34
|
}
|
|
34
35
|
export default InformativeMenu;
|
|
@@ -2,10 +2,9 @@ import React from "react";
|
|
|
2
2
|
import { withRouter, RouteComponentProps } from "react-router-dom";
|
|
3
3
|
|
|
4
4
|
import { IErrorItem } from "@ax/types";
|
|
5
|
-
import { Button, Icon, IconAction, Flag, FloatingMenu, LanguageMenu, Tabs, Tooltip, ErrorCenter } from "@ax/components";
|
|
5
|
+
import { Button, Icon, IconAction, Flag, FloatingMenu, LanguageMenu, Tabs, Tooltip, ErrorCenter, SearchField } from "@ax/components";
|
|
6
6
|
|
|
7
7
|
import { ActionMenu, ActionSimpleMenu, DownArrowButton } from "./atoms";
|
|
8
|
-
import SearchField from "./SearchField";
|
|
9
8
|
|
|
10
9
|
import * as S from "./style";
|
|
11
10
|
|
|
@@ -123,7 +122,7 @@ const AppBar = (props: IProps): JSX.Element => {
|
|
|
123
122
|
|
|
124
123
|
const PageStatus = () =>
|
|
125
124
|
statusMenu.options && statusMenu.options.length > 0 ? (
|
|
126
|
-
<FloatingMenu Button={StatusBtn}
|
|
125
|
+
<FloatingMenu Button={StatusBtn} isInAppBar={true}>
|
|
127
126
|
<ActionSimpleMenu menu={statusMenu} />
|
|
128
127
|
</FloatingMenu>
|
|
129
128
|
) : (
|
|
@@ -149,7 +148,9 @@ const AppBar = (props: IProps): JSX.Element => {
|
|
|
149
148
|
<S.Wrapper>
|
|
150
149
|
{searchAction && (
|
|
151
150
|
<>
|
|
152
|
-
<
|
|
151
|
+
<S.SearchWrapper>
|
|
152
|
+
<SearchField onChange={searchAction} closeOnInactive />
|
|
153
|
+
</S.SearchWrapper>
|
|
153
154
|
<S.Separator />
|
|
154
155
|
</>
|
|
155
156
|
)}
|
|
@@ -157,7 +158,7 @@ const AppBar = (props: IProps): JSX.Element => {
|
|
|
157
158
|
<>
|
|
158
159
|
<S.LanguageWrapper>
|
|
159
160
|
<Tooltip content={languageTooltip} hideOnClick bottom>
|
|
160
|
-
<FloatingMenu Button={LanguageBtn}
|
|
161
|
+
<FloatingMenu Button={LanguageBtn} isInAppBar={true}>
|
|
161
162
|
{languageMenu}
|
|
162
163
|
</FloatingMenu>
|
|
163
164
|
</Tooltip>
|
|
@@ -178,7 +179,7 @@ const AppBar = (props: IProps): JSX.Element => {
|
|
|
178
179
|
{errors && errors.length > 0 && (
|
|
179
180
|
<>
|
|
180
181
|
<S.IconStatusWrapper>
|
|
181
|
-
<FloatingMenu Button={ErrorCenterBtn}
|
|
182
|
+
<FloatingMenu Button={ErrorCenterBtn} isInAppBar={true}>
|
|
182
183
|
<ErrorCenter errors={errors} actions={errorActions} />
|
|
183
184
|
</FloatingMenu>
|
|
184
185
|
</S.IconStatusWrapper>
|
|
@@ -203,7 +204,7 @@ const AppBar = (props: IProps): JSX.Element => {
|
|
|
203
204
|
)}
|
|
204
205
|
{downArrowMenu && downArrowMenu.displayed && (
|
|
205
206
|
<Tooltip content="Actions" hideOnClick bottom>
|
|
206
|
-
<FloatingMenu Button={DownArrowButton}
|
|
207
|
+
<FloatingMenu Button={DownArrowButton} isInAppBar={true}>
|
|
207
208
|
<ActionMenu menu={downArrowMenu} />
|
|
208
209
|
</FloatingMenu>
|
|
209
210
|
</Tooltip>
|
|
@@ -151,6 +151,12 @@ const ErrorWrapper = styled.div`
|
|
|
151
151
|
}
|
|
152
152
|
`;
|
|
153
153
|
|
|
154
|
+
const SearchWrapper = styled.div`
|
|
155
|
+
width: ${p => `calc(${p.theme.spacing.xl} * 5)`};
|
|
156
|
+
display: flex;
|
|
157
|
+
justify-content: flex-end;
|
|
158
|
+
`;
|
|
159
|
+
|
|
154
160
|
export {
|
|
155
161
|
ActionMenu,
|
|
156
162
|
Header,
|
|
@@ -168,4 +174,5 @@ export {
|
|
|
168
174
|
Separator,
|
|
169
175
|
IconWrapper,
|
|
170
176
|
ErrorWrapper,
|
|
177
|
+
SearchWrapper,
|
|
171
178
|
};
|
|
@@ -29,7 +29,7 @@ export const ModalOverlay = styled.div`
|
|
|
29
29
|
z-index: 1040;
|
|
30
30
|
width: 100vw;
|
|
31
31
|
height: 100vh;
|
|
32
|
-
background: ${p => p.theme.color.overlay};
|
|
32
|
+
background: ${(p) => p.theme.color.overlay};
|
|
33
33
|
body.modal-open:not(&) {
|
|
34
34
|
overflow: hidden;
|
|
35
35
|
}
|
|
@@ -51,34 +51,33 @@ export const Modal = styled.div<{ size: string | undefined }>`
|
|
|
51
51
|
z-index: 100;
|
|
52
52
|
display: flex;
|
|
53
53
|
flex-flow: column nowrap;
|
|
54
|
-
background: ${p => p.theme.color.uiBackground01};
|
|
54
|
+
background: ${(p) => p.theme.color.uiBackground01};
|
|
55
55
|
position: relative;
|
|
56
56
|
margin: auto;
|
|
57
57
|
border-radius: 4px;
|
|
58
|
-
width: ${p => getWidth(p.size)};
|
|
59
|
-
height: ${p => getHeight(p.size)};
|
|
60
|
-
box-shadow: ${p => p.theme.shadow.shadowXL};
|
|
58
|
+
width: ${(p) => getWidth(p.size)};
|
|
59
|
+
height: ${(p) => getHeight(p.size)};
|
|
60
|
+
box-shadow: ${(p) => p.theme.shadow.shadowXL};
|
|
61
61
|
top: 50%;
|
|
62
62
|
transform: translateY(-50%);
|
|
63
63
|
`;
|
|
64
64
|
|
|
65
65
|
export const ModalHeader = styled.div`
|
|
66
|
-
background: ${p => p.theme.color.uiBarBackground};
|
|
66
|
+
background: ${(p) => p.theme.color.uiBarBackground};
|
|
67
67
|
display: flex;
|
|
68
|
-
padding: ${p => p.theme.spacing.s};
|
|
68
|
+
padding: ${(p) => p.theme.spacing.s};
|
|
69
69
|
border-radius: 4px 4px 0 0;
|
|
70
|
-
border-bottom: 1px solid ${p => p.theme.color.uiLine};
|
|
70
|
+
border-bottom: 1px solid ${(p) => p.theme.color.uiLine};
|
|
71
71
|
`;
|
|
72
72
|
|
|
73
73
|
export const ModalContent = styled.div`
|
|
74
74
|
position: relative;
|
|
75
75
|
flex-grow: 1;
|
|
76
|
-
overflow: auto;
|
|
77
76
|
`;
|
|
78
77
|
|
|
79
78
|
export const Title = styled.div`
|
|
80
|
-
${p => p.theme.textStyle.headingM};
|
|
81
|
-
color: ${p => p.theme.color.textHighEmphasis};
|
|
79
|
+
${(p) => p.theme.textStyle.headingM};
|
|
80
|
+
color: ${(p) => p.theme.color.textHighEmphasis};
|
|
82
81
|
`;
|
|
83
82
|
|
|
84
83
|
export const ButtonWrapper = styled.div`
|
|
@@ -86,10 +85,12 @@ export const ButtonWrapper = styled.div`
|
|
|
86
85
|
`;
|
|
87
86
|
|
|
88
87
|
export const ModalFooter = styled.div`
|
|
88
|
+
background: ${(p) => p.theme.color.uiBackground01};
|
|
89
89
|
display: flex;
|
|
90
90
|
justify-content: flex-end;
|
|
91
|
-
padding: ${p => `0 ${p.theme.spacing.m} ${p.theme.spacing.m} ${p.theme.spacing.m}`};
|
|
91
|
+
padding: ${(p) => `0 ${p.theme.spacing.m} ${p.theme.spacing.m} ${p.theme.spacing.m}`};
|
|
92
92
|
button:not(:first-child) {
|
|
93
|
-
margin-left: ${p => p.theme.spacing.s};
|
|
93
|
+
margin-left: ${(p) => p.theme.spacing.s};
|
|
94
94
|
}
|
|
95
|
+
border-radius: 0 0 4px 4px;
|
|
95
96
|
`;
|
|
@@ -4,6 +4,8 @@ import { NavLink } from "react-router-dom";
|
|
|
4
4
|
import { SubNav, MenuItem } from "@ax/components";
|
|
5
5
|
import { INavItem } from "@ax/types";
|
|
6
6
|
|
|
7
|
+
import * as S from './style';
|
|
8
|
+
|
|
7
9
|
const Nav = (props: IProps): JSX.Element => {
|
|
8
10
|
const { current, items, onClick } = props;
|
|
9
11
|
|
|
@@ -11,12 +13,15 @@ const Nav = (props: IProps): JSX.Element => {
|
|
|
11
13
|
<SubNav>
|
|
12
14
|
{items &&
|
|
13
15
|
items.map((item: INavItem, key: number) => {
|
|
14
|
-
const isSelected = current && item.title === current.title
|
|
16
|
+
const isSelected = current && item.title === current.title;
|
|
17
|
+
const selectedClass = isSelected ? "selected" : "";
|
|
15
18
|
const handleClick = () => onClick(item.path);
|
|
16
19
|
return (
|
|
17
20
|
<MenuItem key={key} onClick={handleClick}>
|
|
18
|
-
<NavLink to="#" className={
|
|
19
|
-
{
|
|
21
|
+
<NavLink to="#" className={selectedClass}>
|
|
22
|
+
<S.Link active={isSelected}>
|
|
23
|
+
{item.title}
|
|
24
|
+
</S.Link>
|
|
20
25
|
</NavLink>
|
|
21
26
|
</MenuItem>
|
|
22
27
|
);
|
|
@@ -4,10 +4,13 @@ import React, { useState } from "react";
|
|
|
4
4
|
import * as S from "./style";
|
|
5
5
|
|
|
6
6
|
const SearchField = (props: IProps): JSX.Element => {
|
|
7
|
-
const { onChange, placeholder } = props;
|
|
7
|
+
const { onChange, placeholder, closeOnInactive = false } = props;
|
|
8
8
|
|
|
9
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
9
10
|
const [inputValue, setInputValue] = useState("");
|
|
10
11
|
|
|
12
|
+
const toggleField = () => setIsOpen(!isOpen);
|
|
13
|
+
|
|
11
14
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
12
15
|
const newValue = e.target.value;
|
|
13
16
|
setInputValue(newValue);
|
|
@@ -18,27 +21,52 @@ const SearchField = (props: IProps): JSX.Element => {
|
|
|
18
21
|
onChange("");
|
|
19
22
|
};
|
|
20
23
|
|
|
24
|
+
const handleClose = () => {
|
|
25
|
+
toggleField();
|
|
26
|
+
handleClear();
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const handleClick = () => {
|
|
30
|
+
closeOnInactive ? handleClose() : handleClear();
|
|
31
|
+
}
|
|
32
|
+
|
|
21
33
|
const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
|
|
22
34
|
if (e.key === "Enter") {
|
|
23
35
|
onChange(inputValue);
|
|
24
36
|
}
|
|
25
37
|
};
|
|
26
38
|
|
|
39
|
+
const showField = isOpen || !closeOnInactive;
|
|
40
|
+
|
|
27
41
|
return (
|
|
28
42
|
<S.Wrapper>
|
|
29
|
-
|
|
30
|
-
<S.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
{showField ? (
|
|
44
|
+
<S.FieldWrapper>
|
|
45
|
+
<S.Input
|
|
46
|
+
type="text"
|
|
47
|
+
value={inputValue}
|
|
48
|
+
onChange={handleChange}
|
|
49
|
+
onKeyDown={handleKeyDown}
|
|
50
|
+
placeholder={placeholder}
|
|
51
|
+
closeOnInactive={closeOnInactive}
|
|
52
|
+
autoFocus
|
|
53
|
+
/>
|
|
54
|
+
{inputValue.trim() !== "" && <S.HelpText>Press ENTER</S.HelpText>}
|
|
55
|
+
{closeOnInactive || inputValue.length > 0 ? (
|
|
56
|
+
<S.IconCloseWrapper onClick={handleClick}>
|
|
57
|
+
<Icon name="close" size="24" />
|
|
58
|
+
</S.IconCloseWrapper>
|
|
59
|
+
) : (
|
|
60
|
+
<S.IconSearchWrapper>
|
|
61
|
+
<Icon name="search" size="24" />
|
|
62
|
+
</S.IconSearchWrapper>
|
|
63
|
+
)}
|
|
64
|
+
</S.FieldWrapper>
|
|
65
|
+
) : (
|
|
66
|
+
<S.IconSearchWrapper onClick={toggleField}>
|
|
67
|
+
<Icon name="search" size="24" />
|
|
68
|
+
</S.IconSearchWrapper>
|
|
69
|
+
)}
|
|
42
70
|
</S.Wrapper>
|
|
43
71
|
);
|
|
44
72
|
};
|
|
@@ -46,6 +74,7 @@ const SearchField = (props: IProps): JSX.Element => {
|
|
|
46
74
|
interface IProps {
|
|
47
75
|
onChange(query: string): void;
|
|
48
76
|
placeholder?: string;
|
|
77
|
+
closeOnInactive?: boolean;
|
|
49
78
|
}
|
|
50
79
|
|
|
51
80
|
export default SearchField;
|
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import styled from "styled-components";
|
|
2
2
|
|
|
3
|
-
const Wrapper = styled.div
|
|
4
|
-
|
|
5
|
-
const FieldWrapper = styled.div`
|
|
3
|
+
const Wrapper = styled.div`
|
|
6
4
|
position: relative;
|
|
7
5
|
width: 100%;
|
|
8
6
|
`;
|
|
9
7
|
|
|
10
|
-
const
|
|
8
|
+
const FieldWrapper = styled.div`
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
const Input = styled.input<{ closeOnInactive: boolean }>`
|
|
11
12
|
${(p) => p.theme.textStyle.fieldContent};
|
|
12
13
|
color: ${(p) => p.theme.color.textHighEmphasis};
|
|
13
14
|
background-color: ${(p) => p.theme.color.interactiveBackground};
|
|
14
15
|
width: 100%;
|
|
15
16
|
height: ${(p) => p.theme.spacing.l};
|
|
16
17
|
padding-left: ${(p) => p.theme.spacing.xs};
|
|
17
|
-
border:
|
|
18
|
-
border-
|
|
18
|
+
border-color: ${(p) => p.closeOnInactive ? p.theme.color.interactive01 : p.theme.color.uiLine};
|
|
19
|
+
border-width: ${(p) => p.closeOnInactive ? "0 0 1px" : "1px"};
|
|
20
|
+
border-style: solid;
|
|
21
|
+
border-radius: ${(p) => p.closeOnInactive ? 0 : p.theme.radii.s};
|
|
19
22
|
|
|
20
23
|
&:active,
|
|
21
24
|
&:focus {
|
|
22
|
-
border-color: ${(p) => p.theme.color.interactive01};
|
|
23
25
|
outline: none;
|
|
26
|
+
border-color: ${(p) => p.theme.color.interactive01};
|
|
24
27
|
}
|
|
25
28
|
`;
|
|
26
29
|
|
|
27
|
-
const
|
|
30
|
+
const IconSearchWrapper = styled.div<{ onClick?: () => void }>`
|
|
28
31
|
position: absolute;
|
|
29
|
-
right: ${(p) => p.theme.spacing.
|
|
32
|
+
right: ${(p) => p.theme.spacing.xxs};
|
|
30
33
|
top: 50%;
|
|
31
34
|
width: ${(p) => p.theme.spacing.m};
|
|
32
35
|
height: ${(p) => p.theme.spacing.m};
|
|
@@ -44,4 +47,14 @@ const HelpText = styled.div`
|
|
|
44
47
|
transform: translateY(-50%);
|
|
45
48
|
`;
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
const IconCloseWrapper = styled.div`
|
|
51
|
+
position: absolute;
|
|
52
|
+
right: ${p => p.theme.spacing.xxs};
|
|
53
|
+
top: 50%;
|
|
54
|
+
width: ${p => p.theme.spacing.m};
|
|
55
|
+
height: ${p => p.theme.spacing.m};
|
|
56
|
+
cursor: pointer;
|
|
57
|
+
transform: translateY(-50%);
|
|
58
|
+
`;
|
|
59
|
+
|
|
60
|
+
export { Wrapper, IconSearchWrapper, FieldWrapper, Input, HelpText, IconCloseWrapper };
|
|
@@ -4,7 +4,7 @@ import { createPortal } from "react-dom";
|
|
|
4
4
|
import { useHandleClickOutside } from "@ax/hooks";
|
|
5
5
|
import { getDisplayName, filterByCategory } from "@ax/helpers";
|
|
6
6
|
import SideModalOption from "@ax/components/SideModal/SideModalOption";
|
|
7
|
-
import { CheckField, MenuItem } from "@ax/components";
|
|
7
|
+
import { CheckField, MenuItem, SearchField } from "@ax/components";
|
|
8
8
|
import { ModuleCategoryInfo } from "@ax/types";
|
|
9
9
|
|
|
10
10
|
import * as S from "./style";
|
|
@@ -33,6 +33,7 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
const [options, setOptions] = useState(filteredValues);
|
|
36
|
+
const [searchQuery, setSearchQuery] = useState("");
|
|
36
37
|
|
|
37
38
|
useEffect(() => {
|
|
38
39
|
if (componentOptions) {
|
|
@@ -78,11 +79,15 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
78
79
|
const getCategoryItem = (category: ModuleCategoryInfo, i: number) => {
|
|
79
80
|
const { value, label } = category;
|
|
80
81
|
const filterOptions = () => filterOptionsByCategory(value);
|
|
81
|
-
const
|
|
82
|
+
const isSelected = value === options.category;
|
|
82
83
|
|
|
83
84
|
return (
|
|
84
|
-
<MenuItem key={`${value}${i}`} active={
|
|
85
|
-
<S.NavLink onClick={filterOptions}>
|
|
85
|
+
<MenuItem key={`${value}${i}`} active={isSelected}>
|
|
86
|
+
<S.NavLink onClick={filterOptions}>
|
|
87
|
+
<S.Link active={isSelected}>
|
|
88
|
+
{label}
|
|
89
|
+
</S.Link>
|
|
90
|
+
</S.NavLink>
|
|
86
91
|
</MenuItem>
|
|
87
92
|
);
|
|
88
93
|
};
|
|
@@ -107,12 +112,20 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
107
112
|
|
|
108
113
|
const filteredOptions =
|
|
109
114
|
options.options &&
|
|
110
|
-
options.options.map((option: any, i: number) =>
|
|
111
|
-
typeof option
|
|
115
|
+
options.options.map((option: any, i: number) => {
|
|
116
|
+
if (typeof option !== "object" && typeof option !== "string") return null;
|
|
117
|
+
const displayName = getDisplayName(option.component ? option.component : option);
|
|
118
|
+
if (searchQuery.length > 0) {
|
|
119
|
+
const name = displayName.toLowerCase();
|
|
120
|
+
const search = searchQuery.toLocaleLowerCase();
|
|
121
|
+
if (!name.includes(search)) return null
|
|
122
|
+
};
|
|
123
|
+
return (
|
|
112
124
|
<SideModalOption option={option} handleClick={handleClick} toggleModal={toggleModal} key={`${option}${i}`}>
|
|
113
|
-
{
|
|
125
|
+
{displayName}
|
|
114
126
|
</SideModalOption>
|
|
115
|
-
)
|
|
127
|
+
)
|
|
128
|
+
}
|
|
116
129
|
);
|
|
117
130
|
|
|
118
131
|
return isOpen
|
|
@@ -120,6 +133,9 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
120
133
|
<S.Wrapper ref={node} optionsType={optionsType}>
|
|
121
134
|
<S.Header>
|
|
122
135
|
<S.Title>{optionsType}</S.Title>
|
|
136
|
+
<S.SearchWrapper>
|
|
137
|
+
<SearchField onChange={setSearchQuery} closeOnInactive />
|
|
138
|
+
</S.SearchWrapper>
|
|
123
139
|
</S.Header>
|
|
124
140
|
{setDefault && !setDefault.checked && (
|
|
125
141
|
<S.CheckFieldWrapper>
|
|
@@ -18,6 +18,7 @@ const Wrapper = styled.div<{ optionsType?: string }>`
|
|
|
18
18
|
const Header = styled.div`
|
|
19
19
|
display: flex;
|
|
20
20
|
align-items: center;
|
|
21
|
+
justify-content: space-between;
|
|
21
22
|
height: ${(p) => p.theme.spacing.xl};
|
|
22
23
|
width: 100%;
|
|
23
24
|
padding: 0 ${(p) => p.theme.spacing.m};
|
|
@@ -37,7 +38,7 @@ const ColumnsWrapper = styled.div`
|
|
|
37
38
|
display:flex;
|
|
38
39
|
`;
|
|
39
40
|
|
|
40
|
-
const Content = styled.
|
|
41
|
+
const Content = styled.div`
|
|
41
42
|
list-style: none;
|
|
42
43
|
padding: ${(p) => p.theme.spacing.m};
|
|
43
44
|
height: ${(p) => `calc(100vh - (${p.theme.spacing.xl} * 2))`};
|
|
@@ -62,6 +63,14 @@ const FeaturedWrapper = styled.div`
|
|
|
62
63
|
margin-bottom: ${(p) => p.theme.spacing.xs};
|
|
63
64
|
`;
|
|
64
65
|
|
|
66
|
+
const SearchWrapper = styled.div`
|
|
67
|
+
width: ${p => `calc(${p.theme.spacing.xl} * 4)`};
|
|
68
|
+
`;
|
|
69
|
+
|
|
70
|
+
const Link = styled.div<{ active: boolean }>`
|
|
71
|
+
color: ${p => p.active ? p.theme.color.textHighEmphasis : p.theme.color.textMediumEmphasis};
|
|
72
|
+
`;
|
|
73
|
+
|
|
65
74
|
export {
|
|
66
75
|
Wrapper,
|
|
67
76
|
Content,
|
|
@@ -70,5 +79,7 @@ export {
|
|
|
70
79
|
ColumnsWrapper,
|
|
71
80
|
NavLink,
|
|
72
81
|
CheckFieldWrapper,
|
|
73
|
-
FeaturedWrapper
|
|
82
|
+
FeaturedWrapper,
|
|
83
|
+
SearchWrapper,
|
|
84
|
+
Link,
|
|
74
85
|
};
|
|
@@ -6,12 +6,13 @@ const Wrapper = styled.div`
|
|
|
6
6
|
|
|
7
7
|
const SubNav = styled.ul`
|
|
8
8
|
position: relative;
|
|
9
|
-
width: calc(${(p) => p.theme.spacing.
|
|
9
|
+
width: calc(${(p) => p.theme.spacing.s} * 17);
|
|
10
10
|
padding: ${(p) => p.theme.spacing.m};
|
|
11
11
|
background: ${(p) => p.theme.color.uiBackground02};
|
|
12
12
|
border-right: ${(p) => `1px solid ${p.theme.color.uiLine}`};
|
|
13
13
|
height: 100%;
|
|
14
|
-
overflow:
|
|
14
|
+
overflow-x: scroll;
|
|
15
|
+
|
|
15
16
|
::-webkit-scrollbar {
|
|
16
17
|
-webkit-appearance: none;
|
|
17
18
|
width: 4px;
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
getParentKey,
|
|
12
12
|
moveElement,
|
|
13
13
|
replaceElements,
|
|
14
|
-
setIsSavedData,
|
|
15
14
|
updateByEditorID,
|
|
16
15
|
} from "@ax/forms";
|
|
17
16
|
|
|
@@ -214,10 +213,9 @@ function getNavigationByType(type: string): (dispatch: Dispatch, getState: any)
|
|
|
214
213
|
};
|
|
215
214
|
}
|
|
216
215
|
|
|
217
|
-
function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<
|
|
216
|
+
function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<boolean> {
|
|
218
217
|
return async (dispatch, getState) => {
|
|
219
218
|
try {
|
|
220
|
-
dispatch(setIsSaving(true));
|
|
221
219
|
const {
|
|
222
220
|
navigation: { editorContent, isNewTranslation },
|
|
223
221
|
sites: { currentSiteInfo },
|
|
@@ -234,8 +232,6 @@ function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<void
|
|
|
234
232
|
const successAction = async (response: any) => {
|
|
235
233
|
generateContent(response, dispatch, getState);
|
|
236
234
|
dispatch(setIsNewTranslation(false));
|
|
237
|
-
setIsSavedData(true);
|
|
238
|
-
getNavigationByType(response.type)(dispatch, getState);
|
|
239
235
|
};
|
|
240
236
|
|
|
241
237
|
const responseActions = {
|
|
@@ -245,10 +241,10 @@ function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<void
|
|
|
245
241
|
|
|
246
242
|
const callback = async () => navigation.createNavigation(cleanValues);
|
|
247
243
|
|
|
248
|
-
await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
|
|
244
|
+
return await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
|
|
249
245
|
} catch (e) {
|
|
250
|
-
console.log(e);
|
|
251
|
-
|
|
246
|
+
console.log(e);
|
|
247
|
+
return false;
|
|
252
248
|
}
|
|
253
249
|
};
|
|
254
250
|
}
|
|
@@ -257,7 +253,7 @@ function updateNavigation(
|
|
|
257
253
|
navID: number,
|
|
258
254
|
data: any,
|
|
259
255
|
fromEditor?: boolean
|
|
260
|
-
): (dispatch: Dispatch, getState: any) => Promise<
|
|
256
|
+
): (dispatch: Dispatch, getState: any) => Promise<boolean> {
|
|
261
257
|
return async (dispatch, getState) => {
|
|
262
258
|
try {
|
|
263
259
|
const { isNewTranslation } = getStateValues(getState);
|
|
@@ -270,9 +266,7 @@ function updateNavigation(
|
|
|
270
266
|
const successAction = async (response: any) => {
|
|
271
267
|
if (fromEditor) {
|
|
272
268
|
generateContent(response, dispatch, getState);
|
|
273
|
-
setIsSavedData(true);
|
|
274
269
|
}
|
|
275
|
-
getNavigationByType(response.type)(dispatch, getState);
|
|
276
270
|
};
|
|
277
271
|
const responseActions = {
|
|
278
272
|
handleSuccess: (response: any) => successAction(response),
|
|
@@ -281,9 +275,10 @@ function updateNavigation(
|
|
|
281
275
|
|
|
282
276
|
const callback = async () => navigation.updateNavigation(navID, cleanValues);
|
|
283
277
|
|
|
284
|
-
await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
|
|
278
|
+
return await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
|
|
285
279
|
} catch (e) {
|
|
286
|
-
console.log(e);
|
|
280
|
+
console.log(e);
|
|
281
|
+
return false;
|
|
287
282
|
}
|
|
288
283
|
};
|
|
289
284
|
}
|
|
@@ -673,17 +668,24 @@ function setSelectedTab(tab: string): (dispatch: Dispatch) => Promise<void> {
|
|
|
673
668
|
};
|
|
674
669
|
}
|
|
675
670
|
|
|
676
|
-
|
|
677
|
-
dispatch
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
671
|
+
function resetDefaultsValues(): (dispatch: Dispatch) => Promise<void> {
|
|
672
|
+
return async (dispatch) => {
|
|
673
|
+
try {
|
|
674
|
+
dispatch(setEditorContent(null));
|
|
675
|
+
dispatch(setBreadcrumb([]));
|
|
676
|
+
dispatch(setSchema({}));
|
|
677
|
+
dispatch(setSelectedDefaultContent({}));
|
|
678
|
+
dispatch(setSelectedEditorID(0));
|
|
679
|
+
dispatch(setTab("content"));
|
|
680
|
+
dispatch(setHeader(null));
|
|
681
|
+
dispatch(setFooter(null));
|
|
682
|
+
dispatch(setCurrentNavigationLanguages([]));
|
|
683
|
+
dispatch(setIsNewTranslation(false));
|
|
684
|
+
} catch (e) {
|
|
685
|
+
console.log("Error", e); //TODO
|
|
686
|
+
}
|
|
687
|
+
};
|
|
688
|
+
}
|
|
687
689
|
|
|
688
690
|
export {
|
|
689
691
|
setEditorContent,
|
|
@@ -21,10 +21,10 @@ import { NavigationActionsCreators } from "./interfaces";
|
|
|
21
21
|
export interface INavigationState {
|
|
22
22
|
editorContent: any | undefined;
|
|
23
23
|
breadcrumb: IBreadcrumbItem[];
|
|
24
|
-
schema: ISchema |
|
|
24
|
+
schema: ISchema | Record<string, unknown>;
|
|
25
25
|
selectedContent: any;
|
|
26
26
|
selectedDefault: string;
|
|
27
|
-
selectedParent:
|
|
27
|
+
selectedParent: Record<string, unknown> | null;
|
|
28
28
|
tab: string;
|
|
29
29
|
selectedEditorID: number | undefined;
|
|
30
30
|
header: number | null;
|