@griddo/ax 11.0.29-rc.0 → 11.0.30-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/griddo-config/cx-polyfills/componentsBundle.js +1 -1
- package/package.json +2 -2
- package/scripts/griddo-sync-schemas.js +49 -42
- package/src/GlobalStore.tsx +3 -0
- package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +6 -0
- package/src/api/forms.tsx +191 -0
- package/src/api/index.tsx +2 -0
- package/src/components/Browser/index.tsx +42 -37
- package/src/components/Browser/style.tsx +3 -3
- package/src/components/BrowserContent/index.tsx +1 -1
- package/src/components/ConfigPanel/Form/index.tsx +6 -5
- package/src/components/ConfigPanel/GlobalPageForm/index.tsx +3 -1
- package/src/components/ConfigPanel/Header/index.tsx +1 -0
- package/src/components/Fields/ComponentArray/MixableComponentArray/AddItemButton/index.tsx +4 -5
- package/src/components/Fields/ComponentArray/MixableComponentArray/index.tsx +4 -4
- package/src/components/Fields/ComponentArray/helpers.tsx +1 -1
- package/src/components/Fields/FormFieldArray/index.tsx +13 -0
- package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +1 -2
- package/src/components/Fields/ReferenceField/Context/index.tsx +0 -2
- package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -2
- package/src/components/Fields/ReferenceField/ManualPanel/index.tsx +2 -2
- package/src/components/Fields/ReferenceField/index.tsx +1 -5
- package/src/components/Fields/TranslateButton/index.tsx +48 -10
- package/src/components/Fields/Wysiwyg/helpers.tsx +2 -2
- package/src/components/Fields/Wysiwyg/index.tsx +4 -11
- package/src/components/Fields/index.tsx +2 -0
- package/src/components/FieldsBehavior/index.tsx +8 -2
- package/src/components/Icon/components/Form.js +12 -0
- package/src/components/Icon/svgs/Form.svg +3 -0
- package/src/components/LanguageMenu/index.tsx +30 -27
- package/src/components/MainWrapper/AppBar/index.tsx +23 -68
- package/src/components/MainWrapper/index.tsx +4 -9
- package/src/components/MenuItem/index.tsx +2 -2
- package/src/components/ResizePanel/index.tsx +3 -2
- package/src/components/ResizePanel/style.tsx +11 -9
- package/src/components/SearchField/style.tsx +2 -2
- package/src/components/SideModal/SideModalOption/index.tsx +3 -2
- package/src/components/SideModal/SideModalOption/style.tsx +2 -2
- package/src/components/SideModal/index.tsx +11 -4
- package/src/components/SideModal/style.tsx +9 -7
- package/src/components/TableFilters/LiveFilter/index.tsx +4 -3
- package/src/components/index.tsx +4 -0
- package/src/containers/App/reducer.tsx +4 -1
- package/src/containers/Forms/actions.tsx +853 -0
- package/src/containers/Forms/constants.tsx +46 -0
- package/src/containers/Forms/index.tsx +4 -0
- package/src/containers/Forms/interfaces.tsx +95 -0
- package/src/containers/Forms/reducer.tsx +81 -0
- package/src/containers/Forms/utils.tsx +42 -0
- package/src/containers/Navigation/Menu/actions.tsx +6 -13
- package/src/containers/Navigation/Menu/reducer.tsx +0 -4
- package/src/containers/PageEditor/actions.tsx +3 -2
- package/src/containers/PageEditor/reducer.tsx +2 -2
- package/src/forms/editor.tsx +3 -1
- package/src/helpers/index.tsx +12 -1
- package/src/helpers/schemas.tsx +35 -9
- package/src/helpers/structuredData.tsx +3 -1
- package/src/helpers/themes.tsx +3 -1
- package/src/helpers/thumbnails.tsx +20 -2
- package/src/modules/Analytics/GroupPanel/utils.tsx +3 -1
- package/src/modules/App/Routing/NavMenu/index.tsx +16 -6
- package/src/modules/App/Routing/index.tsx +26 -9
- package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +4 -4
- package/src/modules/Categories/CategoriesList/index.tsx +16 -16
- package/src/modules/Content/BulkHeader/TableHeader/index.tsx +1 -5
- package/src/modules/Content/PageItem/index.tsx +34 -33
- package/src/modules/Content/index.tsx +23 -36
- package/src/modules/Content/utils.tsx +3 -1
- package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/index.tsx +42 -0
- package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/style.tsx +36 -0
- package/src/modules/Forms/FormCategoriesList/BulkHeader/index.tsx +37 -0
- package/src/modules/Forms/FormCategoriesList/BulkHeader/style.tsx +9 -0
- package/src/modules/Forms/FormCategoriesList/CategoryItem/index.tsx +125 -0
- package/src/modules/Forms/FormCategoriesList/CategoryItem/style.tsx +91 -0
- package/src/modules/Forms/FormCategoriesList/CategoryPanel/Form/index.tsx +50 -0
- package/src/modules/Forms/FormCategoriesList/CategoryPanel/index.tsx +112 -0
- package/src/modules/Forms/FormCategoriesList/CategoryPanel/style.tsx +31 -0
- package/src/modules/Forms/FormCategoriesList/atoms.tsx +33 -0
- package/src/modules/Forms/FormCategoriesList/hooks.tsx +61 -0
- package/src/modules/Forms/FormCategoriesList/index.tsx +245 -0
- package/src/modules/Forms/FormCategoriesList/style.tsx +82 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/Field/index.tsx +95 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/TemplateManager/index.tsx +102 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/TemplateManager/style.tsx +9 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/index.tsx +109 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/index.tsx +76 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/style.tsx +28 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Header/index.tsx +132 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Header/style.tsx +30 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/index.tsx +86 -0
- package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/style.tsx +7 -0
- package/src/modules/Forms/FormEditor/Editor/index.tsx +106 -0
- package/src/modules/Forms/FormEditor/PageBrowser/index.tsx +96 -0
- package/src/modules/Forms/FormEditor/index.tsx +295 -0
- package/src/modules/Forms/FormEditor/style.tsx +32 -0
- package/src/modules/Forms/FormList/BulkHeader/TableHeader/index.tsx +61 -0
- package/src/modules/Forms/FormList/BulkHeader/TableHeader/style.tsx +47 -0
- package/src/modules/Forms/FormList/BulkHeader/index.tsx +60 -0
- package/src/modules/Forms/FormList/FormItem/index.tsx +218 -0
- package/src/modules/Forms/FormList/FormItem/style.tsx +87 -0
- package/src/modules/Forms/FormList/Summary/index.tsx +51 -0
- package/src/modules/Forms/FormList/Summary/style.tsx +46 -0
- package/src/modules/Forms/FormList/TemplateModal/index.tsx +67 -0
- package/src/modules/Forms/FormList/TemplateModal/style.tsx +54 -0
- package/src/modules/Forms/FormList/index.tsx +266 -0
- package/src/modules/Forms/FormList/style.tsx +31 -0
- package/src/modules/Forms/FormsMenu/MenuGroup/index.tsx +57 -0
- package/src/modules/Forms/FormsMenu/MenuGroup/style.tsx +55 -0
- package/src/modules/Forms/FormsMenu/index.tsx +78 -0
- package/src/modules/Forms/FormsMenu/style.tsx +9 -0
- package/src/modules/Forms/atoms.tsx +111 -0
- package/src/modules/Forms/style.tsx +11 -0
- package/src/modules/FramePreview/index.tsx +26 -12
- package/src/modules/GlobalEditor/index.tsx +52 -21
- package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +32 -15
- package/src/modules/Navigation/Defaults/Item/atoms.tsx +6 -5
- package/src/modules/Navigation/Defaults/Item/index.tsx +10 -10
- package/src/modules/Navigation/Defaults/index.tsx +7 -6
- package/src/modules/Navigation/Menus/List/Nav/index.tsx +2 -10
- package/src/modules/Navigation/Menus/List/Table/SidePanel/Form/index.tsx +14 -11
- package/src/modules/Navigation/Menus/List/index.tsx +15 -16
- package/src/modules/Navigation/Menus/index.tsx +9 -17
- package/src/modules/PageEditor/index.tsx +54 -31
- package/src/modules/Settings/Globals/index.tsx +3 -1
- package/src/modules/Settings/Languages/Table/Item/index.tsx +11 -9
- package/src/modules/Sites/SitesList/ListView/BulkHeader/TableHeader/index.tsx +1 -1
- package/src/modules/StructuredData/Form/index.tsx +41 -28
- package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/index.tsx +1 -5
- package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +6 -8
- package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +5 -7
- package/src/modules/StructuredData/StructuredDataList/index.tsx +13 -10
- package/src/modules/StructuredData/StructuredDataList/utils.tsx +2 -1
- package/src/routes/multisite.tsx +53 -16
- package/src/routes/site.tsx +1 -0
- package/src/schemas/pages/FormPage.tsx +49 -0
- package/src/schemas/pages/GlobalPage.tsx +1 -0
- package/src/schemas/pages/Page.tsx +4 -1
- package/src/schemas/pages/index.tsx +2 -1
- package/src/types/forms.tsx +87 -0
- package/src/types/index.tsx +43 -7
- /package/src/modules/Navigation/Menus/{helpers.tsx → List/helpers.tsx} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { IErrorItem } from "@ax/types";
|
|
2
|
+
import { IErrorItem, ILanguage } from "@ax/types";
|
|
3
3
|
|
|
4
4
|
import AppBar from "./AppBar";
|
|
5
5
|
|
|
@@ -32,18 +32,13 @@ export interface IWrapperProps {
|
|
|
32
32
|
tabs?: { tabSet?: any; icons?: { name: string; text: string }[]; selectedTab: string; action: (e: any) => void };
|
|
33
33
|
pageStatus?: string;
|
|
34
34
|
language?: { locale: string; id: number | null } | null;
|
|
35
|
-
availableLanguages?:
|
|
36
|
-
|
|
35
|
+
availableLanguages?: ILanguage[];
|
|
36
|
+
currentLanguages?: ILanguage[];
|
|
37
37
|
inversed?: boolean;
|
|
38
38
|
currentPageID?: number;
|
|
39
39
|
fullWidth?: boolean;
|
|
40
40
|
isFromEditor?: boolean;
|
|
41
|
-
|
|
42
|
-
setLanguage?(lang: { locale: string; id: number | null }): void;
|
|
43
|
-
setIsNewTranslation?(isNewTranslation: boolean): void;
|
|
44
|
-
getContent?(id?: number): Promise<void>;
|
|
45
|
-
getDataContent?(dataID?: number): Promise<void>;
|
|
46
|
-
} | null;
|
|
41
|
+
languageAction?: (lang: ILanguage) => void;
|
|
47
42
|
searchAction?(query: string): void;
|
|
48
43
|
filterSearchAction?(filter: string): void;
|
|
49
44
|
searchFilters?: any;
|
|
@@ -15,7 +15,7 @@ const MenuItem = (props: IMenuItemProps): JSX.Element => {
|
|
|
15
15
|
|
|
16
16
|
const handleExtendedAction = (e: React.MouseEvent<HTMLButtonElement>) => {
|
|
17
17
|
e.stopPropagation();
|
|
18
|
-
extendedAction && extendedAction.action();
|
|
18
|
+
extendedAction?.action && extendedAction.action();
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
return (
|
|
@@ -41,7 +41,7 @@ const MenuItem = (props: IMenuItemProps): JSX.Element => {
|
|
|
41
41
|
export interface IMenuItemProps {
|
|
42
42
|
children: JSX.Element | string;
|
|
43
43
|
onClick?: (e: React.MouseEvent<HTMLLIElement>) => void;
|
|
44
|
-
extendedAction?: { icon: string; action
|
|
44
|
+
extendedAction?: { icon: string; action?: () => void; onlyOnHover?: boolean } | null;
|
|
45
45
|
className?: string;
|
|
46
46
|
disabled?: boolean;
|
|
47
47
|
}
|
|
@@ -4,7 +4,7 @@ import ResizeHandle from "./ResizeHandle";
|
|
|
4
4
|
import * as S from "./style";
|
|
5
5
|
|
|
6
6
|
const ResizePanel = (props: IResizePanelProps): JSX.Element => {
|
|
7
|
-
const { leftPanel, rightPanel, fixed = true } = props;
|
|
7
|
+
const { leftPanel, rightPanel, fixed = true, full = false } = props;
|
|
8
8
|
|
|
9
9
|
const [rwidth, setRwidth] = useState(0);
|
|
10
10
|
|
|
@@ -26,7 +26,7 @@ const ResizePanel = (props: IResizePanelProps): JSX.Element => {
|
|
|
26
26
|
<>
|
|
27
27
|
<S.LeftPanel data-testid="left-panel">
|
|
28
28
|
{fixed ? (
|
|
29
|
-
<S.FixedPanel width={rwidth} data-testid="fixed-panel">
|
|
29
|
+
<S.FixedPanel width={rwidth} full={full} data-testid="fixed-panel">
|
|
30
30
|
{leftPanel}
|
|
31
31
|
</S.FixedPanel>
|
|
32
32
|
) : (
|
|
@@ -45,6 +45,7 @@ export interface IResizePanelProps {
|
|
|
45
45
|
leftPanel: JSX.Element | JSX.Element[];
|
|
46
46
|
rightPanel: JSX.Element | JSX.Element[];
|
|
47
47
|
fixed?: boolean;
|
|
48
|
+
full?: boolean;
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
export default ResizePanel;
|
|
@@ -5,13 +5,13 @@ const getWidth = (width: number, space: string) => {
|
|
|
5
5
|
return minWidth < 500 ? `500px` : `${minWidth}px`;
|
|
6
6
|
};
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
const LeftPanel = styled.section`
|
|
9
9
|
position: relative;
|
|
10
10
|
flex-grow: 1;
|
|
11
11
|
min-width: 500px;
|
|
12
12
|
`;
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
const RightPanel = styled.section<{ width: number }>`
|
|
15
15
|
display: flex;
|
|
16
16
|
position: relative;
|
|
17
17
|
padding: ${(p) => `0 ${p.theme.spacing.m} ${p.theme.spacing.m} ${p.theme.spacing.m}`};
|
|
@@ -22,13 +22,15 @@ export const RightPanel = styled.section<{ width: number }>`
|
|
|
22
22
|
flex-direction: column;
|
|
23
23
|
`;
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
const FixedPanel = styled.div<{ width: number; full: boolean }>`
|
|
26
26
|
position: sticky;
|
|
27
|
-
top:
|
|
28
|
-
height:
|
|
29
|
-
|
|
30
|
-
(
|
|
31
|
-
|
|
27
|
+
top: ${(p) => (p.full ? p.theme.spacing.xl : `calc(${p.theme.spacing.xl} + ${p.theme.spacing.m})`)};
|
|
28
|
+
height: ${(p) =>
|
|
29
|
+
p.full
|
|
30
|
+
? `calc(100vh - ${p.theme.spacing.xl})`
|
|
31
|
+
: `calc(100vh - (${p.theme.spacing.xl} + (${p.theme.spacing.m} * 2)) - (${p.theme.spacing.m} + (${p.theme.spacing.xs} * 2)))`};
|
|
32
32
|
min-width: ${(p) => getWidth(p.width, p.theme.spacing.m)};
|
|
33
|
-
margin-left: ${(p) => p.theme.spacing.m};
|
|
33
|
+
margin-left: ${(p) => (p.full ? "0" : p.theme.spacing.m)};
|
|
34
34
|
`;
|
|
35
|
+
|
|
36
|
+
export { LeftPanel, RightPanel, FixedPanel };
|
|
@@ -33,7 +33,7 @@ const Input = styled.input<{
|
|
|
33
33
|
background-color: ${(p) => p.theme.color.interactiveBackground};
|
|
34
34
|
flex: 1 1 auto;
|
|
35
35
|
height: ${(p) => (p.inputSize === "XS" ? "40px" : p.theme.spacing.l)};
|
|
36
|
-
padding-left: ${(p) => p.theme.spacing.
|
|
36
|
+
padding-left: ${(p) => p.theme.spacing.s};
|
|
37
37
|
border: none;
|
|
38
38
|
border-radius: ${(p) => (p.closeOnInactive ? 0 : p.theme.radii.s)};
|
|
39
39
|
width: ${(p) =>
|
|
@@ -47,7 +47,7 @@ const Input = styled.input<{
|
|
|
47
47
|
|
|
48
48
|
const IconSearchWrapper = styled.div<{ onClick?: () => void; disabled: boolean }>`
|
|
49
49
|
position: absolute;
|
|
50
|
-
right: ${(p) => p.theme.spacing.
|
|
50
|
+
right: ${(p) => p.theme.spacing.s};
|
|
51
51
|
top: 50%;
|
|
52
52
|
width: ${(p) => p.theme.spacing.m};
|
|
53
53
|
height: ${(p) => p.theme.spacing.m};
|
|
@@ -12,7 +12,7 @@ const getThumbnailData = (option: any, theme: string) => {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
const SideModalOption = (props: IProps) => {
|
|
15
|
-
const { option, handleClick, toggleModal, theme } = props;
|
|
15
|
+
const { option, handleClick, toggleModal, theme, smallMargin } = props;
|
|
16
16
|
|
|
17
17
|
const isNavigationDefault = ["header", "footer"].includes(option.type);
|
|
18
18
|
|
|
@@ -37,7 +37,7 @@ const SideModalOption = (props: IProps) => {
|
|
|
37
37
|
) : null;
|
|
38
38
|
|
|
39
39
|
return (
|
|
40
|
-
<S.Item onClick={setOption} data-testid="side-modal-option">
|
|
40
|
+
<S.Item onClick={setOption} smallMargin={smallMargin} data-testid="side-modal-option">
|
|
41
41
|
<S.Thumbnail data-testid="side-modal-option-img" {...thumbnailProps} />
|
|
42
42
|
{label}
|
|
43
43
|
{defaultTag}
|
|
@@ -51,6 +51,7 @@ interface IProps {
|
|
|
51
51
|
toggleModal: () => void;
|
|
52
52
|
children: string;
|
|
53
53
|
theme: string;
|
|
54
|
+
smallMargin: boolean;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
export default memo(SideModalOption);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import styled from "styled-components";
|
|
2
2
|
|
|
3
|
-
const Item = styled.li
|
|
3
|
+
const Item = styled.li<{ smallMargin: boolean }>`
|
|
4
4
|
cursor: pointer;
|
|
5
5
|
padding: ${(p) => p.theme.spacing.xs};
|
|
6
6
|
padding-bottom: ${(p) => p.theme.spacing.s};
|
|
7
|
-
margin-bottom: ${(p) => p.theme.spacing.s};
|
|
7
|
+
margin-bottom: ${(p) => (p.smallMargin ? p.theme.spacing.xs : p.theme.spacing.s)};
|
|
8
8
|
box-shadow: ${(p) => p.theme.shadow.shadowS};
|
|
9
9
|
border-radius: ${(p) => p.theme.radii.s};
|
|
10
10
|
${(p) => p.theme.textStyle.uiS};
|
|
@@ -25,6 +25,7 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
25
25
|
|
|
26
26
|
const componentList: any = [];
|
|
27
27
|
const hasCategories = categories && categories.length > 1;
|
|
28
|
+
const hasFieldsStyle = optionsType === "fields";
|
|
28
29
|
|
|
29
30
|
const optionList = componentOptions ? componentList : whiteList;
|
|
30
31
|
|
|
@@ -136,6 +137,7 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
136
137
|
toggleModal={handleToggleModal}
|
|
137
138
|
key={`${option}${i}`}
|
|
138
139
|
theme={theme}
|
|
140
|
+
smallMargin={hasFieldsStyle}
|
|
139
141
|
>
|
|
140
142
|
{displayName}
|
|
141
143
|
</SideModalOption>
|
|
@@ -144,12 +146,17 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
|
|
|
144
146
|
|
|
145
147
|
return isOpen
|
|
146
148
|
? createPortal(
|
|
147
|
-
<S.Wrapper ref={node} optionsType={optionsType} data-testid="side-modal">
|
|
148
|
-
<S.Header>
|
|
149
|
-
<S.Title data-testid="side-modal-title">{optionsType}</S.Title>
|
|
149
|
+
<S.Wrapper ref={node} optionsType={optionsType} hasFieldsStyle={hasFieldsStyle} data-testid="side-modal">
|
|
150
|
+
<S.Header hasFieldsStyle={hasFieldsStyle}>
|
|
151
|
+
{!hasFieldsStyle && <S.Title data-testid="side-modal-title">{optionsType}</S.Title>}
|
|
150
152
|
{showSearch && optionsType !== "components" && (
|
|
151
153
|
<S.SearchWrapper>
|
|
152
|
-
<SearchField
|
|
154
|
+
<SearchField
|
|
155
|
+
onChange={setSearchQuery}
|
|
156
|
+
closeOnInactive={!hasFieldsStyle}
|
|
157
|
+
small={!filters}
|
|
158
|
+
placeholder={hasFieldsStyle ? "Search field" : ""}
|
|
159
|
+
/>
|
|
153
160
|
</S.SearchWrapper>
|
|
154
161
|
)}
|
|
155
162
|
{!showSearch && (
|
|
@@ -2,28 +2,28 @@ import styled from "styled-components";
|
|
|
2
2
|
|
|
3
3
|
const placeRight = ["components", "headers", "footers"];
|
|
4
4
|
|
|
5
|
-
const Wrapper = styled.div<{ optionsType?: string }>`
|
|
5
|
+
const Wrapper = styled.div<{ optionsType?: string; hasFieldsStyle: boolean }>`
|
|
6
6
|
position: fixed;
|
|
7
7
|
left: ${(p) => (p.optionsType && placeRight.includes(p.optionsType) ? "unset" : 0)};
|
|
8
8
|
right: ${(p) => (p.optionsType && placeRight.includes(p.optionsType) ? 0 : "unset")};
|
|
9
9
|
top: 0;
|
|
10
10
|
z-index: 1000;
|
|
11
|
-
|
|
11
|
+
margin-top: ${(p) => (p.hasFieldsStyle ? p.theme.spacing.xl : "0")};
|
|
12
12
|
height: 100vh;
|
|
13
13
|
background: ${(p) => p.theme.colors.uiBackground01};
|
|
14
14
|
box-shadow: ${(p) =>
|
|
15
15
|
p.optionsType && placeRight.includes(p.optionsType) ? p.theme.shadow.rightPanel : p.theme.shadow.leftPanel};
|
|
16
16
|
`;
|
|
17
17
|
|
|
18
|
-
const Header = styled.div
|
|
18
|
+
const Header = styled.div<{ hasFieldsStyle: boolean }>`
|
|
19
19
|
display: flex;
|
|
20
20
|
align-items: center;
|
|
21
21
|
justify-content: space-between;
|
|
22
22
|
height: ${(p) => p.theme.spacing.xl};
|
|
23
23
|
width: 100%;
|
|
24
|
-
padding:
|
|
25
|
-
background-color: ${(p) => p.theme.colors.uiBackground02};
|
|
26
|
-
border-bottom:
|
|
24
|
+
padding: ${(p) => (p.hasFieldsStyle ? `${p.theme.spacing.m} ${p.theme.spacing.m} 0` : `0 ${p.theme.spacing.m}`)};
|
|
25
|
+
background-color: ${(p) => (p.hasFieldsStyle ? "transparent" : p.theme.colors.uiBackground02)};
|
|
26
|
+
border-bottom: ${(p) => (p.hasFieldsStyle ? "none" : `1px solid ${p.theme.colors.uiLine}`)};
|
|
27
27
|
h6 {
|
|
28
28
|
${(p) => p.theme.textStyle.headingM}
|
|
29
29
|
color: ${(p) => p.theme.colors.textHighEmphasis};
|
|
@@ -58,7 +58,9 @@ const FeaturedWrapper = styled.div`
|
|
|
58
58
|
margin-bottom: ${(p) => p.theme.spacing.xs};
|
|
59
59
|
`;
|
|
60
60
|
|
|
61
|
-
const SearchWrapper = styled.div
|
|
61
|
+
const SearchWrapper = styled.div`
|
|
62
|
+
width: 100%;
|
|
63
|
+
`;
|
|
62
64
|
|
|
63
65
|
const Link = styled.div<{ active: boolean }>`
|
|
64
66
|
color: ${(p) => (p.active ? p.theme.color.textHighEmphasis : p.theme.color.textMediumEmphasis)};
|
|
@@ -8,7 +8,7 @@ import { IFilterValue, IPageLiveStatus, IQueryValue } from "@ax/types";
|
|
|
8
8
|
import * as S from "./style";
|
|
9
9
|
|
|
10
10
|
const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
|
|
11
|
-
const { filterItems, value,
|
|
11
|
+
const { filterItems, value, hasBasicStatus } = props;
|
|
12
12
|
|
|
13
13
|
const filters: IFilterValue[] = [
|
|
14
14
|
{
|
|
@@ -24,6 +24,7 @@ const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
|
|
|
24
24
|
const parsedValue = Array.isArray(value) && value.length ? value.map((value) => value.value) : initialState;
|
|
25
25
|
const [selectedValue, setSelectedValue] = useState(parsedValue);
|
|
26
26
|
const [options, setOptions] = useState(filters);
|
|
27
|
+
const basicStatus = ["offline", "active", "scheduled"];
|
|
27
28
|
|
|
28
29
|
useEffect(() => {
|
|
29
30
|
const parsedValue = Array.isArray(value) && value.length ? value.map((value) => value.value) : initialState;
|
|
@@ -54,7 +55,7 @@ const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
|
|
|
54
55
|
title: item.title,
|
|
55
56
|
icon: item.status,
|
|
56
57
|
};
|
|
57
|
-
if ((
|
|
58
|
+
if ((hasBasicStatus && basicStatus.includes(newFilter.value)) || !hasBasicStatus) {
|
|
58
59
|
filters.push(newFilter);
|
|
59
60
|
}
|
|
60
61
|
});
|
|
@@ -111,7 +112,7 @@ const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
|
|
|
111
112
|
export interface ILiveFilterProps {
|
|
112
113
|
filterItems(pointer: string, filter: IQueryValue[]): void;
|
|
113
114
|
value: IQueryValue[];
|
|
114
|
-
|
|
115
|
+
hasBasicStatus?: boolean;
|
|
115
116
|
isSite?: boolean;
|
|
116
117
|
}
|
|
117
118
|
|
package/src/components/index.tsx
CHANGED
|
@@ -10,6 +10,8 @@ import {
|
|
|
10
10
|
DateField,
|
|
11
11
|
FieldGroup,
|
|
12
12
|
FieldsDivider,
|
|
13
|
+
FileField,
|
|
14
|
+
FormFieldArray,
|
|
13
15
|
HeadingField,
|
|
14
16
|
HiddenField,
|
|
15
17
|
ImageField,
|
|
@@ -124,6 +126,8 @@ export {
|
|
|
124
126
|
DateField,
|
|
125
127
|
FieldGroup,
|
|
126
128
|
FieldsDivider,
|
|
129
|
+
FileField,
|
|
130
|
+
FormFieldArray,
|
|
127
131
|
HeadingField,
|
|
128
132
|
HiddenField,
|
|
129
133
|
ImageField,
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
SET_SESSION_STARTED_AT,
|
|
14
14
|
SET_HAS_ANIMATION,
|
|
15
15
|
} from "./constants";
|
|
16
|
+
import { ILanguage } from "@ax/types";
|
|
16
17
|
|
|
17
18
|
export interface IAppState {
|
|
18
19
|
isRehydrated: boolean;
|
|
@@ -23,7 +24,7 @@ export interface IAppState {
|
|
|
23
24
|
token: string;
|
|
24
25
|
isLoggingIn: boolean;
|
|
25
26
|
lang: { locale: string; id: number };
|
|
26
|
-
globalLangs:
|
|
27
|
+
globalLangs: ILanguage[];
|
|
27
28
|
globalSettings: IGlobalSettings;
|
|
28
29
|
sessionStartedAt: null | Date;
|
|
29
30
|
hasAnimation: boolean;
|
|
@@ -54,6 +55,7 @@ export interface IGlobalSettings {
|
|
|
54
55
|
autoTranslation: boolean;
|
|
55
56
|
SSOActivated: boolean;
|
|
56
57
|
SSOWelcomeText: string;
|
|
58
|
+
useForms: boolean;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
export const initialState = {
|
|
@@ -86,6 +88,7 @@ export const initialState = {
|
|
|
86
88
|
autoTranslation: false,
|
|
87
89
|
SSOActivated: false,
|
|
88
90
|
SSOWelcomeText: "",
|
|
91
|
+
useForms: false,
|
|
89
92
|
},
|
|
90
93
|
sessionStartedAt: null,
|
|
91
94
|
hasAnimation: false,
|