amis 1.3.5-beta.6 → 1.4.1-echarts-5.3.1
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/lib/components/Badge.d.ts +15 -2
- package/lib/components/Badge.js +47 -4
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/RichText.d.ts +6 -1
- package/lib/components/RichText.js +243 -8
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.d.ts +7 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +28 -2
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +0 -1
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -1
- package/lib/factory.js +9 -4
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/loading-outline.js +7 -0
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +2 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +9 -1
- package/lib/renderers/Action.js +5 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +2 -2
- package/lib/renderers/CRUD.js +11 -20
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +5 -1
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +1 -1
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +8 -0
- package/lib/renderers/DropDownButton.js +6 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +0 -2
- package/lib/renderers/Form/Editor.d.ts +0 -2
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +2 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Json.js +5 -1
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.d.ts +52 -22
- package/lib/renderers/Nav.js +100 -15
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +4 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableBody.d.ts +1 -1
- package/lib/renderers/Table/TableBody.js +5 -1
- package/lib/renderers/Table/TableBody.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +1 -1
- package/lib/renderers/Table/TableContent.js +4 -0
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +8 -3
- package/lib/renderers/Table/index.js +80 -45
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +0 -2
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +41 -36
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +0 -1
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +0 -13
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +1 -2
- package/lib/store/table.js +44 -3
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +597 -57
- package/lib/themes/ang.css +597 -57
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +597 -57
- package/lib/themes/antd.css +597 -57
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +705 -177
- package/lib/themes/cxd.css +705 -177
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +597 -57
- package/lib/themes/dark.css +597 -57
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +705 -177
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +12 -0
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +46 -39
- package/schema.json +343 -44
- package/scss/_mixins.scss +29 -0
- package/scss/_properties.scss +27 -11
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +35 -3
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +109 -35
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/form/_group.scss +4 -0
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +20 -20
- package/sdk/ang-ie11.css +741 -59
- package/sdk/ang.css +755 -59
- package/sdk/antd-ie11.css +731 -51
- package/sdk/antd.css +755 -59
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +67 -67
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1200 -520
- package/sdk/cxd.css +863 -179
- package/sdk/dark-ie11.css +741 -59
- package/sdk/dark.css +755 -59
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +1 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +22 -24
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +1200 -520
- package/sdk/sdk.css +863 -179
- package/sdk/sdk.js +1118 -1112
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/sdk.zip +0 -0
- package/src/components/Badge.tsx +111 -20
- package/src/components/Button.tsx +23 -7
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Drawer.tsx +3 -2
- package/src/components/Modal.tsx +3 -2
- package/src/components/RichText.tsx +284 -3
- package/src/components/Select.tsx +1 -0
- package/src/components/Steps.tsx +3 -3
- package/src/components/WithRemoteConfig.tsx +37 -2
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +1 -2
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +13 -3
- package/src/icons/loading-outline.svg +4 -0
- package/src/locale/de-DE.ts +1 -0
- package/src/locale/en-US.ts +2 -1
- package/src/locale/zh-CN.ts +2 -1
- package/src/renderers/Action.tsx +66 -13
- package/src/renderers/CRUD.tsx +13 -33
- package/src/renderers/Collapse.tsx +5 -1
- package/src/renderers/Dialog.tsx +1 -1
- package/src/renderers/DropDownButton.tsx +21 -4
- package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputImage.tsx +23 -8
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Json.tsx +10 -1
- package/src/renderers/Nav.tsx +165 -36
- package/src/renderers/Page.tsx +3 -1
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/TableBody.tsx +3 -2
- package/src/renderers/Table/TableContent.tsx +3 -1
- package/src/renderers/Table/index.tsx +61 -13
- package/src/store/crud.ts +34 -38
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +0 -19
- package/src/store/table.ts +48 -0
- package/src/utils/api.ts +11 -0
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/helper.ts +1 -0
- package/src/utils/validations.ts +80 -12
package/lib/renderers/Nav.d.ts
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
/// <reference types="hoist-non-react-statics" />
|
2
2
|
import React from 'react';
|
3
|
-
import
|
3
|
+
import Sortable from 'sortablejs';
|
4
|
+
import { RendererEnv, RendererProps } from '../factory';
|
4
5
|
import { IScopedContext } from '../Scoped';
|
5
6
|
import { ThemeProps } from '../theme';
|
6
7
|
import { BaseSchema, SchemaApi, SchemaIcon, SchemaUrlPath, SchemaCollection } from '../Schema';
|
8
|
+
import { BadgeSchema } from '../components/Badge';
|
7
9
|
export declare type NavItemSchema = {
|
8
10
|
/**
|
9
11
|
* 文字说明
|
@@ -20,6 +22,10 @@ export declare type NavItemSchema = {
|
|
20
22
|
defer?: boolean;
|
21
23
|
deferApi?: SchemaApi;
|
22
24
|
children?: Array<NavItemSchema>;
|
25
|
+
/**
|
26
|
+
* 角标
|
27
|
+
*/
|
28
|
+
badge?: BadgeSchema;
|
23
29
|
} & Omit<BaseSchema, 'type'>;
|
24
30
|
/**
|
25
31
|
* Nav 导航渲染器
|
@@ -50,6 +56,22 @@ export interface NavSchema extends BaseSchema {
|
|
50
56
|
* true 为垂直排列,false 为水平排列类似如 tabs。
|
51
57
|
*/
|
52
58
|
stacked?: boolean;
|
59
|
+
/**
|
60
|
+
* 更多操作菜单列表
|
61
|
+
*/
|
62
|
+
itemActions?: SchemaCollection;
|
63
|
+
/**
|
64
|
+
* 可拖拽
|
65
|
+
*/
|
66
|
+
draggable?: boolean;
|
67
|
+
/**
|
68
|
+
* 保存排序的 api
|
69
|
+
*/
|
70
|
+
saveOrderApi?: SchemaApi;
|
71
|
+
/**
|
72
|
+
* 角标
|
73
|
+
*/
|
74
|
+
badge?: BadgeSchema;
|
53
75
|
}
|
54
76
|
export interface Link {
|
55
77
|
className?: string;
|
@@ -65,6 +87,7 @@ export interface Link {
|
|
65
87
|
loading?: boolean;
|
66
88
|
loaded?: boolean;
|
67
89
|
[propName: string]: any;
|
90
|
+
badge?: BadgeSchema;
|
68
91
|
}
|
69
92
|
export interface Links extends Array<Link> {
|
70
93
|
}
|
@@ -79,29 +102,36 @@ export interface NavigationProps extends ThemeProps, Omit<NavSchema, 'type' | 'c
|
|
79
102
|
links?: Array<Link>;
|
80
103
|
loading?: boolean;
|
81
104
|
render: RendererProps['render'];
|
105
|
+
env: RendererEnv;
|
106
|
+
reload?: any;
|
82
107
|
}
|
83
108
|
export declare class Navigation extends React.Component<NavigationProps, NavigationState> {
|
84
109
|
static defaultProps: {
|
85
110
|
indentSize: number;
|
86
111
|
};
|
112
|
+
sortable: Sortable[];
|
113
|
+
id: string;
|
114
|
+
dragRef?: HTMLElement;
|
87
115
|
handleClick(link: Link): void;
|
88
116
|
toggleLink(target: Link): void;
|
117
|
+
dragRefFn(ref: any): void;
|
118
|
+
initDragging(ref: HTMLElement): void;
|
89
119
|
renderItem(link: Link, index: number, depth?: number): JSX.Element | null;
|
90
120
|
render(): JSX.Element;
|
91
121
|
}
|
92
122
|
declare const ThemedNavigation: {
|
93
|
-
new (props: (Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
123
|
+
new (props: (Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
94
124
|
indentSize: number;
|
95
|
-
}, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
125
|
+
}, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
96
126
|
indentSize: number;
|
97
127
|
}, never>> & import("../theme").ThemeOutterProps>): {
|
98
128
|
render(): JSX.Element;
|
99
129
|
context: any;
|
100
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
130
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
101
131
|
indentSize: number;
|
102
132
|
}, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
103
133
|
forceUpdate(callback?: (() => void) | undefined): void;
|
104
|
-
readonly props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
134
|
+
readonly props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
105
135
|
indentSize: number;
|
106
136
|
}, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
107
137
|
children?: React.ReactNode;
|
@@ -111,42 +141,42 @@ declare const ThemedNavigation: {
|
|
111
141
|
[key: string]: React.ReactInstance;
|
112
142
|
};
|
113
143
|
componentDidMount?(): void;
|
114
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
144
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
115
145
|
indentSize: number;
|
116
146
|
}, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
117
147
|
componentWillUnmount?(): void;
|
118
148
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
119
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
149
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
120
150
|
indentSize: number;
|
121
151
|
}, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
122
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
152
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
123
153
|
indentSize: number;
|
124
154
|
}, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
125
155
|
componentWillMount?(): void;
|
126
156
|
UNSAFE_componentWillMount?(): void;
|
127
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
157
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
128
158
|
indentSize: number;
|
129
159
|
}, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
130
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
160
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
131
161
|
indentSize: number;
|
132
162
|
}, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
133
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
163
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
134
164
|
indentSize: number;
|
135
165
|
}, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
136
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
166
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
137
167
|
indentSize: number;
|
138
168
|
}, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
139
169
|
};
|
140
|
-
new (props: Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
170
|
+
new (props: Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
141
171
|
indentSize: number;
|
142
172
|
}, never>> & import("../theme").ThemeOutterProps, context: any): {
|
143
173
|
render(): JSX.Element;
|
144
174
|
context: any;
|
145
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
175
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
146
176
|
indentSize: number;
|
147
177
|
}, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
148
178
|
forceUpdate(callback?: (() => void) | undefined): void;
|
149
|
-
readonly props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
179
|
+
readonly props: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
150
180
|
indentSize: number;
|
151
181
|
}, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
152
182
|
children?: React.ReactNode;
|
@@ -156,29 +186,29 @@ declare const ThemedNavigation: {
|
|
156
186
|
[key: string]: React.ReactInstance;
|
157
187
|
};
|
158
188
|
componentDidMount?(): void;
|
159
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
189
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
160
190
|
indentSize: number;
|
161
191
|
}, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
162
192
|
componentWillUnmount?(): void;
|
163
193
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
164
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
194
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
165
195
|
indentSize: number;
|
166
196
|
}, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
167
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
197
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
168
198
|
indentSize: number;
|
169
199
|
}, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
170
200
|
componentWillMount?(): void;
|
171
201
|
UNSAFE_componentWillMount?(): void;
|
172
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
202
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
173
203
|
indentSize: number;
|
174
204
|
}, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
175
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
205
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
176
206
|
indentSize: number;
|
177
207
|
}, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
178
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
208
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
179
209
|
indentSize: number;
|
180
210
|
}, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
181
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "links" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "deferApi" | "stacked" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
211
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<NavigationProps, keyof ThemeProps>, "source" | "hidden" | "reload" | "disabled" | "onToggle" | "loading" | "visible" | "render" | "env" | "links" | "draggable" | "onSelect" | "$ref" | "disabledOn" | "hiddenOn" | "visibleOn" | "badge" | "deferApi" | "itemActions" | "stacked" | "saveOrderApi" | "togglerClassName"> & Partial<Pick<Omit<NavigationProps, keyof ThemeProps>, "indentSize">> & Partial<Pick<{
|
182
212
|
indentSize: number;
|
183
213
|
}, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
184
214
|
};
|
package/lib/renderers/Nav.js
CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NavigationRenderer = exports.Navigation = void 0;
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
|
+
var sortablejs_1 = (0, tslib_1.__importDefault)(require("sortablejs"));
|
6
7
|
var factory_1 = require("../factory");
|
7
8
|
var filter_schema_1 = (0, tslib_1.__importDefault)(require("../utils/filter-schema"));
|
8
9
|
var tpl_1 = require("../utils/tpl");
|
@@ -13,10 +14,15 @@ var icons_1 = require("../components/icons");
|
|
13
14
|
var icon_1 = require("../utils/icon");
|
14
15
|
var WithRemoteConfig_1 = require("../components/WithRemoteConfig");
|
15
16
|
var Spinner_1 = (0, tslib_1.__importDefault)(require("../components/Spinner"));
|
17
|
+
var cloneDeep_1 = (0, tslib_1.__importDefault)(require("lodash/cloneDeep"));
|
18
|
+
var api_1 = require("../utils/api");
|
19
|
+
var Badge_1 = require("../components/Badge");
|
16
20
|
var Navigation = /** @class */ (function (_super) {
|
17
21
|
(0, tslib_1.__extends)(Navigation, _super);
|
18
22
|
function Navigation() {
|
19
|
-
|
23
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
24
|
+
_this.sortable = [];
|
25
|
+
return _this;
|
20
26
|
}
|
21
27
|
Navigation.prototype.handleClick = function (link) {
|
22
28
|
var _a, _b;
|
@@ -26,6 +32,69 @@ var Navigation = /** @class */ (function (_super) {
|
|
26
32
|
var _a, _b;
|
27
33
|
(_b = (_a = this.props).onToggle) === null || _b === void 0 ? void 0 : _b.call(_a, target);
|
28
34
|
};
|
35
|
+
Navigation.prototype.dragRefFn = function (ref) {
|
36
|
+
var draggable = this.props.draggable;
|
37
|
+
if (ref && draggable) {
|
38
|
+
this.id = (0, helper_1.guid)();
|
39
|
+
this.initDragging(ref);
|
40
|
+
}
|
41
|
+
};
|
42
|
+
Navigation.prototype.initDragging = function (ref) {
|
43
|
+
var _this = this;
|
44
|
+
var ns = this.props.classPrefix;
|
45
|
+
this.sortable.push(new sortablejs_1.default(ref, {
|
46
|
+
group: "nav-" + this.id,
|
47
|
+
animation: 150,
|
48
|
+
handle: "." + ns + "Nav-itemDrager",
|
49
|
+
ghostClass: ns + "Nav-item--dragging",
|
50
|
+
onEnd: function (e) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
51
|
+
var id, parentNode, links, parent, _a, saveOrderApi, env;
|
52
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
53
|
+
switch (_b.label) {
|
54
|
+
case 0:
|
55
|
+
// 没有移动
|
56
|
+
if (e.newIndex === e.oldIndex) {
|
57
|
+
return [2 /*return*/];
|
58
|
+
}
|
59
|
+
id = e.item.getAttribute('data-id');
|
60
|
+
parentNode = e.to;
|
61
|
+
if (e.newIndex < e.oldIndex &&
|
62
|
+
e.oldIndex < parentNode.childNodes.length - 1) {
|
63
|
+
parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex + 1]);
|
64
|
+
}
|
65
|
+
else if (e.oldIndex < parentNode.childNodes.length - 1) {
|
66
|
+
parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex]);
|
67
|
+
}
|
68
|
+
else {
|
69
|
+
parentNode.appendChild(e.item);
|
70
|
+
}
|
71
|
+
links = (0, cloneDeep_1.default)(this.props.links);
|
72
|
+
parent = links;
|
73
|
+
(0, helper_1.someTree)(links, function (item, key, level, paths) {
|
74
|
+
if (item.id === id) {
|
75
|
+
var len = paths.length - 1;
|
76
|
+
parent = (~len ? paths[len].children : links);
|
77
|
+
return true;
|
78
|
+
}
|
79
|
+
return false;
|
80
|
+
});
|
81
|
+
parent.splice(e.newIndex, 0, parent.splice(e.oldIndex, 1)[0]);
|
82
|
+
_a = this.props, saveOrderApi = _a.saveOrderApi, env = _a.env;
|
83
|
+
if (!(saveOrderApi && (0, api_1.isEffectiveApi)(saveOrderApi))) return [3 /*break*/, 2];
|
84
|
+
return [4 /*yield*/, env.fetcher(saveOrderApi, { data: links }, { method: 'post' })];
|
85
|
+
case 1:
|
86
|
+
_b.sent();
|
87
|
+
this.props.reload();
|
88
|
+
return [3 /*break*/, 3];
|
89
|
+
case 2:
|
90
|
+
console.warn('请配置saveOrderApi');
|
91
|
+
_b.label = 3;
|
92
|
+
case 3: return [2 /*return*/];
|
93
|
+
}
|
94
|
+
});
|
95
|
+
}); }
|
96
|
+
}));
|
97
|
+
};
|
29
98
|
Navigation.prototype.renderItem = function (link, index, depth) {
|
30
99
|
var _this = this;
|
31
100
|
var _a;
|
@@ -34,29 +103,39 @@ var Navigation = /** @class */ (function (_super) {
|
|
34
103
|
return null;
|
35
104
|
}
|
36
105
|
var isActive = !!link.active;
|
37
|
-
var _b = this.props, disabled = _b.disabled, togglerClassName = _b.togglerClassName, cx = _b.classnames, indentSize = _b.indentSize;
|
106
|
+
var _b = this.props, disabled = _b.disabled, togglerClassName = _b.togglerClassName, cx = _b.classnames, indentSize = _b.indentSize, render = _b.render, itemActions = _b.itemActions, draggable = _b.draggable, links = _b.links, defaultBadge = _b.badge;
|
38
107
|
var hasSub = (link.defer && !link.loaded) || (link.children && link.children.length);
|
108
|
+
var id = (0, helper_1.guid)();
|
109
|
+
link.id = id;
|
110
|
+
var badge = defaultBadge ? Object.assign(defaultBadge, link.badge) : link.badge;
|
39
111
|
return (react_1.default.createElement("li", { key: index, className: cx('Nav-item', link.className, {
|
40
112
|
'is-disabled': disabled || link.disabled || link.loading,
|
41
113
|
'is-active': isActive,
|
42
114
|
'is-unfolded': link.unfolded,
|
43
115
|
'has-sub': hasSub
|
44
|
-
}) },
|
45
|
-
react_1.default.createElement(
|
46
|
-
(
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
116
|
+
}), "data-id": id },
|
117
|
+
react_1.default.createElement(Badge_1.Badge, { classnames: cx, badge: badge, data: link },
|
118
|
+
react_1.default.createElement("a", { onClick: this.handleClick.bind(this, link), style: { paddingLeft: depth * ((_a = parseInt(indentSize, 10)) !== null && _a !== void 0 ? _a : 24) } },
|
119
|
+
!disabled && draggable && links && links.length > 1 ? (react_1.default.createElement("div", { className: cx('Nav-itemDrager') },
|
120
|
+
react_1.default.createElement("a", { key: "drag", "data-position": "bottom" },
|
121
|
+
react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" })))) : null,
|
122
|
+
link.loading ? (react_1.default.createElement(Spinner_1.default, { size: "sm", show: true, icon: "reload", spinnerClassName: cx('Nav-spinner') })) : hasSub ? (react_1.default.createElement("span", { onClick: function () { return _this.toggleLink(link); }, className: cx('Nav-itemToggler', togglerClassName) },
|
123
|
+
react_1.default.createElement(icons_1.Icon, { icon: "caret", className: "icon" }))) : null,
|
124
|
+
(0, icon_1.generateIcon)(cx, link.icon, 'Nav-itemIcon'),
|
125
|
+
link.label && (typeof link.label === 'string'
|
126
|
+
? link.label
|
127
|
+
: render('inline', link.label))),
|
128
|
+
// 更多操作
|
129
|
+
itemActions
|
130
|
+
? react_1.default.createElement("div", { className: cx('Nav-item-atcions') }, render('inline', itemActions, { data: link })) : null,
|
131
|
+
Array.isArray(link.children) && link.children.length ? (react_1.default.createElement("ul", { className: cx('Nav-subItems'), ref: this.dragRefFn }, link.children.map(function (link, index) {
|
132
|
+
return _this.renderItem(link, index, depth + 1);
|
133
|
+
}))) : null)));
|
55
134
|
};
|
56
135
|
Navigation.prototype.render = function () {
|
57
136
|
var _this = this;
|
58
137
|
var _a = this.props, className = _a.className, stacked = _a.stacked, cx = _a.classnames, links = _a.links, loading = _a.loading;
|
59
|
-
return (react_1.default.createElement("ul", { className: cx('Nav', className, stacked ? 'Nav--stacked' : 'Nav--tabs') },
|
138
|
+
return (react_1.default.createElement("ul", { className: cx('Nav', className, stacked ? 'Nav--stacked' : 'Nav--tabs'), ref: this.dragRefFn },
|
60
139
|
Array.isArray(links)
|
61
140
|
? links.map(function (item, index) { return _this.renderItem(item, index); })
|
62
141
|
: null,
|
@@ -77,6 +156,12 @@ var Navigation = /** @class */ (function (_super) {
|
|
77
156
|
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
78
157
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
79
158
|
], Navigation.prototype, "toggleLink", null);
|
159
|
+
(0, tslib_1.__decorate)([
|
160
|
+
helper_1.autobind,
|
161
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
162
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
163
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
164
|
+
], Navigation.prototype, "dragRefFn", null);
|
80
165
|
return Navigation;
|
81
166
|
}(react_1.default.Component));
|
82
167
|
exports.Navigation = Navigation;
|
@@ -212,7 +297,7 @@ var NavigationRenderer = /** @class */ (function (_super) {
|
|
212
297
|
};
|
213
298
|
NavigationRenderer.prototype.render = function () {
|
214
299
|
var rest = (0, tslib_1.__rest)(this.props, []);
|
215
|
-
return (react_1.default.createElement(ConditionBuilderWithRemoteOptions, (0, tslib_1.__assign)({}, rest, { remoteConfigRef: this.remoteConfigRef })));
|
300
|
+
return (react_1.default.createElement(ConditionBuilderWithRemoteOptions, (0, tslib_1.__assign)({}, rest, { reload: this.reload, remoteConfigRef: this.remoteConfigRef })));
|
216
301
|
};
|
217
302
|
var _a, _b;
|
218
303
|
NavigationRenderer.contextType = Scoped_1.ScopedContext;
|
package/lib/renderers/Nav.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Nav.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererEnv, RendererProps} from '../factory';\nimport getExprProperties from '../utils/filter-schema';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n autobind,\n createObject,\n findTree,\n isUnfolded,\n mapTree,\n someTree,\n spliceTree\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaApi, SchemaIcon, SchemaUrlPath, SchemaCollection} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {Payload} from '../types';\nimport Spinner from '../components/Spinner';\n\nexport type NavItemSchema = {\n /**\n * 文字说明\n */\n label?: string | SchemaCollection;\n\n /**\n * 图标类名,参考 fontawesome 4。\n */\n icon?: SchemaIcon;\n\n to?: SchemaUrlPath;\n\n target?: string;\n\n unfolded?: boolean;\n active?: boolean;\n\n defer?: boolean;\n deferApi?: SchemaApi;\n\n children?: Array<NavItemSchema>;\n} & Omit<BaseSchema, 'type'>;\n\n/**\n * Nav 导航渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/nav\n */\nexport interface NavSchema extends BaseSchema {\n /**\n * 指定为 Nav 导航渲染器\n */\n type: 'nav';\n\n /**\n * 链接地址集合\n */\n links?: Array<NavItemSchema>;\n\n /**\n * @default 24\n */\n indentSize: number;\n\n /**\n * 可以通过 API 拉取。\n */\n source?: SchemaApi;\n\n /**\n * 懒加载 api,如果不配置复用 source 接口。\n */\n deferApi?: SchemaApi;\n\n /**\n * true 为垂直排列,false 为水平排列类似如 tabs。\n */\n stacked?: boolean;\n}\n\nexport interface Link {\n className?: string;\n label?: string | SchemaCollection;\n to?: string;\n target?: string;\n icon?: string;\n active?: boolean;\n activeOn?: string;\n unfolded?: boolean;\n children?: Links;\n defer?: boolean;\n loading?: boolean;\n loaded?: boolean;\n [propName: string]: any;\n}\nexport interface Links extends Array<Link> {}\n\nexport interface NavigationState {\n links: Links;\n error?: string;\n}\n\nexport interface NavigationProps\n extends ThemeProps,\n Omit<NavSchema, 'type' | 'className'> {\n onSelect?: (item: Link) => void | false;\n onToggle?: (item: Link) => void;\n togglerClassName?: string;\n links?: Array<Link>;\n loading?: boolean;\n render: RendererProps['render']\n}\n\nexport class Navigation extends React.Component<\n NavigationProps,\n NavigationState\n> {\n static defaultProps = {\n indentSize: 24\n };\n\n @autobind\n handleClick(link: Link) {\n this.props.onSelect?.(link);\n }\n\n @autobind\n toggleLink(target: Link) {\n this.props.onToggle?.(target);\n }\n\n renderItem(link: Link, index: number, depth = 1) {\n if (link.hidden === true || link.visible === false) {\n return null;\n }\n const isActive: boolean = !!link.active;\n const {disabled, togglerClassName, classnames: cx, indentSize} = this.props;\n const hasSub =\n (link.defer && !link.loaded) || (link.children && link.children.length);\n\n return (\n <li\n key={index}\n className={cx('Nav-item', link.className, {\n 'is-disabled': disabled || link.disabled || link.loading,\n 'is-active': isActive,\n 'is-unfolded': link.unfolded,\n 'has-sub': hasSub\n })}\n >\n <a\n onClick={this.handleClick.bind(this, link)}\n style={{paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)}}\n >\n {generateIcon(cx, link.icon, 'Nav-itemIcon')}\n {\n link.label && (typeof link.label === 'string'\n ? link.label\n : this.props.render('inline', link.label as SchemaCollection))\n }\n </a>\n\n {link.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Nav-spinner')}\n />\n ) : hasSub ? (\n <span\n onClick={() => this.toggleLink(link)}\n className={cx('Nav-itemToggler', togglerClassName)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n\n {Array.isArray(link.children) && link.children.length ? (\n <ul className={cx('Nav-subItems')}>\n {link.children.map((link, index) =>\n this.renderItem(link, index, depth + 1)\n )}\n </ul>\n ) : null}\n </li>\n );\n }\n\n render(): JSX.Element {\n const {className, stacked, classnames: cx, links, loading} = this.props;\n\n return (\n <ul\n className={cx('Nav', className, stacked ? 'Nav--stacked' : 'Nav--tabs')}\n >\n {Array.isArray(links)\n ? links.map((item, index) => this.renderItem(item, index))\n : null}\n\n <Spinner show={!!loading} overlay icon=\"reload\" />\n </ul>\n );\n }\n}\n\nconst ThemedNavigation = themeable(Navigation);\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: (config: any, props: any) => {\n const links = Array.isArray(config)\n ? config\n : config.links || config.options || config.items || config.rows;\n\n if (!Array.isArray(links)) {\n throw new Error('\bpayload.data.options is not array.');\n }\n\n return links;\n },\n afterLoad: (response: any, config: any, props: any) => {\n if (response.value && !someTree(config, item => item.active)) {\n const {env} = props;\n\n env.jumpTo(filter(response.value as string, props.data));\n }\n },\n normalizeConfig(\n links: Array<Link>,\n origin: Array<Link> | undefined,\n props: any,\n motivation?: string\n ) {\n if (Array.isArray(links) && motivation !== 'toggle') {\n const {data, env, unfoldedField, foldedField} = props;\n\n links = mapTree(\n links,\n (link: Link) => {\n const item: any = {\n ...link,\n ...getExprProperties(link, data as object),\n active:\n (motivation !== 'location-change' && link.active) ||\n (link.activeOn\n ? evalExpression(link.activeOn as string, data)\n : !!(\n link.hasOwnProperty('to') &&\n env &&\n env.isCurrentUrl(filter(link.to as string, data))\n ))\n };\n\n item.unfolded =\n isUnfolded(item, {unfoldedField, foldedField}) ||\n (link.children && link.children.some(link => !!link.active));\n\n return item;\n },\n 1,\n true\n );\n }\n\n return links;\n },\n\n beforeDeferLoad(item: Link, indexes: Array<number>, links: Array<Link>) {\n return spliceTree(links, indexes, 1, {\n ...item,\n loading: true\n });\n },\n\n afterDeferLoad(\n item: Link,\n indexes: Array<number>,\n ret: Payload,\n links: Array<Link>\n ) {\n const newItem = {\n ...item,\n loading: false,\n loaded: true,\n error: ret.ok ? undefined : ret.msg\n };\n\n const children = Array.isArray(ret.data)\n ? ret.data\n : ret.data.links || ret.data.options || ret.data.items || ret.data.rows;\n\n if (Array.isArray(children)) {\n newItem.children = children.concat();\n newItem.unfolded = true;\n }\n\n return spliceTree(links, indexes, 1, newItem);\n }\n})(\n class extends React.Component<\n RemoteOptionsProps &\n React.ComponentProps<typeof ThemedNavigation> & {\n location?: any;\n env?: RendererEnv;\n data?: any;\n unfoldedField?: string;\n foldedField?: string;\n }\n > {\n constructor(props: any) {\n super(props);\n this.toggleLink = this.toggleLink.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n }\n\n componentDidMount() {\n if (Array.isArray(this.props.links)) {\n this.props.updateConfig(this.props.links, 'mount');\n }\n }\n\n componentDidUpdate(prevProps: any) {\n if (this.props.location !== prevProps.location) {\n this.props.updateConfig(this.props.config, 'location-change');\n } else if (this.props.links !== prevProps.links) {\n this.props.updateConfig(this.props.links, 'update');\n }\n }\n\n toggleLink(target: Link) {\n const {config, updateConfig, deferLoad} = this.props;\n\n if (target.defer && !target.loaded) {\n deferLoad(target);\n } else {\n updateConfig(\n mapTree(config, (link: Link) =>\n target === link\n ? {\n ...link,\n unfolded: !link.unfolded\n }\n : link\n ),\n 'toggle'\n );\n }\n }\n\n handleSelect(link: Link) {\n const {onSelect, env, data} = this.props;\n if (onSelect && onSelect(link) === false) {\n return;\n }\n\n if (\n !link.to &&\n ((link.children && link.children.length) ||\n (link.defer && !link.loaded))\n ) {\n this.toggleLink(link);\n return;\n }\n\n env?.jumpTo(filter(link.to as string, data), link as any);\n }\n\n render() {\n const {loading, config, deferLoad, updateConfig, ...rest} = this.props;\n\n return (\n <ThemedNavigation\n {...rest}\n loading={loading}\n links={config || rest.links || []}\n disabled={loading}\n onSelect={this.handleSelect}\n onToggle={this.toggleLink}\n />\n );\n }\n }\n);\n\nexport default ThemedNavigation;\n@Renderer({\n test: /(^|\\/)(?:nav|navigation)$/,\n name: 'nav'\n})\nexport class NavigationRenderer extends React.Component<RendererProps> {\n static contextType = ScopedContext;\n\n remoteRef:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined = undefined;\n\n @autobind\n remoteConfigRef(ref: any) {\n this.remoteRef = ref;\n }\n\n constructor(props: RendererProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n @autobind\n reload(target?: string, query?: any, values?: object) {\n if (query) {\n return this.receive(query);\n }\n\n const {data, env, source, translate: __} = this.props;\n const finalData = values ? createObject(data, values) : data;\n\n this.remoteRef?.loadConfig(finalData);\n }\n\n @autobind\n receive(values: object) {\n this.reload(undefined, undefined, values);\n }\n\n render() {\n const {...rest} = this.props;\n\n return (\n <ConditionBuilderWithRemoteOptions\n {...rest}\n remoteConfigRef={this.remoteConfigRef}\n />\n );\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport Sortable from 'sortablejs';\nimport {Renderer, RendererEnv, RendererProps} from '../factory';\nimport getExprProperties from '../utils/filter-schema';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {\n guid,\n autobind,\n createObject,\n findTree,\n isUnfolded,\n mapTree,\n someTree,\n spliceTree\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaApi, SchemaIcon, SchemaUrlPath, SchemaCollection} from '../Schema';\nimport {generateIcon} from '../utils/icon';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../components/WithRemoteConfig';\nimport {Payload} from '../types';\nimport Spinner from '../components/Spinner';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {isEffectiveApi} from '../utils/api';\nimport {Badge, BadgeSchema} from '../components/Badge';\n\nexport type NavItemSchema = {\n /**\n * 文字说明\n */\n label?: string | SchemaCollection;\n\n /**\n * 图标类名,参考 fontawesome 4。\n */\n icon?: SchemaIcon;\n\n to?: SchemaUrlPath;\n\n target?: string;\n\n unfolded?: boolean;\n active?: boolean;\n\n defer?: boolean;\n deferApi?: SchemaApi;\n\n children?: Array<NavItemSchema>;\n\n /**\n * 角标\n */\n badge?: BadgeSchema\n} & Omit<BaseSchema, 'type'>;\n\n/**\n * Nav 导航渲染器\n * 文档:https://baidu.gitee.io/amis/docs/components/nav\n */\nexport interface NavSchema extends BaseSchema {\n /**\n * 指定为 Nav 导航渲染器\n */\n type: 'nav';\n\n /**\n * 链接地址集合\n */\n links?: Array<NavItemSchema>;\n\n /**\n * @default 24\n */\n indentSize: number;\n\n /**\n * 可以通过 API 拉取。\n */\n source?: SchemaApi;\n\n /**\n * 懒加载 api,如果不配置复用 source 接口。\n */\n deferApi?: SchemaApi;\n\n /**\n * true 为垂直排列,false 为水平排列类似如 tabs。\n */\n stacked?: boolean;\n\n /**\n * 更多操作菜单列表\n */\n itemActions?: SchemaCollection;\n\n /**\n * 可拖拽\n */\n draggable?: boolean;\n\n /**\n * 保存排序的 api\n */\n saveOrderApi?: SchemaApi;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n}\n\nexport interface Link {\n className?: string;\n label?: string | SchemaCollection;\n to?: string;\n target?: string;\n icon?: string;\n active?: boolean;\n activeOn?: string;\n unfolded?: boolean;\n children?: Links;\n defer?: boolean;\n loading?: boolean;\n loaded?: boolean;\n [propName: string]: any;\n badge?: BadgeSchema\n}\nexport interface Links extends Array<Link> {}\n\nexport interface NavigationState {\n links: Links;\n error?: string;\n}\n\nexport interface NavigationProps\n extends ThemeProps,\n Omit<NavSchema, 'type' | 'className'> {\n onSelect?: (item: Link) => void | false;\n onToggle?: (item: Link) => void;\n togglerClassName?: string;\n links?: Array<Link>;\n loading?: boolean;\n render: RendererProps['render'];\n env: RendererEnv;\n reload?: any;\n}\n\nexport class Navigation extends React.Component<\n NavigationProps,\n NavigationState\n> {\n static defaultProps = {\n indentSize: 24\n };\n sortable: Sortable[] = [];\n id: string;\n dragRef?: HTMLElement;\n\n @autobind\n handleClick(link: Link) {\n this.props.onSelect?.(link);\n }\n\n @autobind\n toggleLink(target: Link) {\n this.props.onToggle?.(target);\n }\n\n @autobind\n dragRefFn(ref: any) {\n const {draggable} = this.props;\n if (ref && draggable) {\n this.id = guid();\n this.initDragging(ref);\n }\n }\n\n initDragging(ref: HTMLElement) {\n const ns = this.props.classPrefix;\n this.sortable.push(new Sortable(\n ref,\n {\n group: `nav-${this.id}`,\n animation: 150,\n handle: `.${ns}Nav-itemDrager`,\n ghostClass: `${ns}Nav-item--dragging`,\n onEnd: async (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n const id = e.item.getAttribute('data-id');\n const parentNode = e.to\n if (\n e.newIndex < e.oldIndex &&\n e.oldIndex < parentNode.childNodes.length - 1\n ) {\n parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex + 1]);\n } else if (e.oldIndex < parentNode.childNodes.length - 1) {\n parentNode.insertBefore(e.item, parentNode.childNodes[e.oldIndex]);\n } else {\n parentNode.appendChild(e.item);\n }\n const links = cloneDeep(this.props.links) as Link[];\n let parent = links;\n someTree(links, (item: Link, key, level, paths: Link[]) => {\n if (item.id === id) {\n const len = paths.length - 1;\n parent = (~len ? paths[len].children : links) as Link[];\n return true;\n }\n return false;\n });\n parent.splice(e.newIndex, 0, parent.splice(e.oldIndex, 1)[0]);\n const {saveOrderApi, env} = this.props;\n if (saveOrderApi && isEffectiveApi(saveOrderApi)) {\n await env.fetcher(saveOrderApi as SchemaApi, {data: links}, {method: 'post'});\n this.props.reload();\n } else {\n console.warn('请配置saveOrderApi');\n }\n }\n }\n ));\n }\n\n renderItem(link: Link, index: number, depth = 1) {\n if (link.hidden === true || link.visible === false) {\n return null;\n }\n const isActive: boolean = !!link.active;\n const {\n disabled,\n togglerClassName,\n classnames: cx,\n indentSize,\n render,\n itemActions,\n draggable,\n links,\n badge: defaultBadge\n } = this.props;\n const hasSub =\n (link.defer && !link.loaded) || (link.children && link.children.length);\n const id = guid();\n link.id = id;\n const badge = defaultBadge ? Object.assign(defaultBadge, link.badge) : link.badge;\n return (\n <li\n key={index}\n className={cx('Nav-item', link.className, {\n 'is-disabled': disabled || link.disabled || link.loading,\n 'is-active': isActive,\n 'is-unfolded': link.unfolded,\n 'has-sub': hasSub\n })}\n data-id={id}\n >\n <Badge classnames={cx} badge={badge} data={link}>\n <a\n onClick={this.handleClick.bind(this, link)}\n style={{paddingLeft: depth * (parseInt(indentSize as any, 10) ?? 24)}}\n >\n {!disabled && draggable && links && links.length > 1 ? (\n <div className={cx('Nav-itemDrager')} >\n <a\n key=\"drag\"\n data-position=\"bottom\"\n >\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </a>\n </div>\n ) : null}\n {link.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Nav-spinner')}\n />\n ) : hasSub ? (\n <span\n onClick={() => this.toggleLink(link)}\n className={cx('Nav-itemToggler', togglerClassName)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n {generateIcon(cx, link.icon, 'Nav-itemIcon')}\n {\n link.label && (typeof link.label === 'string'\n ? link.label\n : render('inline', link.label as SchemaCollection))\n }\n </a>\n {\n // 更多操作\n itemActions\n ? <div className={cx('Nav-item-atcions')}>\n {\n render('inline', itemActions, {data: link})\n }\n </div> : null\n }\n {Array.isArray(link.children) && link.children.length ? (\n <ul className={cx('Nav-subItems')} ref={this.dragRefFn}>\n {link.children.map((link, index) =>\n this.renderItem(link, index, depth + 1)\n )}\n </ul>\n ) : null}\n </Badge>\n </li>\n );\n }\n\n render(): JSX.Element {\n const {className, stacked, classnames: cx, links, loading} = this.props;\n\n return (\n <ul\n className={cx('Nav', className, stacked ? 'Nav--stacked' : 'Nav--tabs')}\n ref={this.dragRefFn}\n >\n {Array.isArray(links)\n ? links.map((item, index) => this.renderItem(item, index))\n : null}\n\n <Spinner show={!!loading} overlay icon=\"reload\" />\n </ul>\n );\n }\n}\n\nconst ThemedNavigation = themeable(Navigation);\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: (config: any, props: any) => {\n const links = Array.isArray(config)\n ? config\n : config.links || config.options || config.items || config.rows;\n\n if (!Array.isArray(links)) {\n throw new Error('\bpayload.data.options is not array.');\n }\n\n return links;\n },\n afterLoad: (response: any, config: any, props: any) => {\n if (response.value && !someTree(config, item => item.active)) {\n const {env} = props;\n\n env.jumpTo(filter(response.value as string, props.data));\n }\n },\n normalizeConfig(\n links: Array<Link>,\n origin: Array<Link> | undefined,\n props: any,\n motivation?: string\n ) {\n if (Array.isArray(links) && motivation !== 'toggle') {\n const {data, env, unfoldedField, foldedField} = props;\n\n links = mapTree(\n links,\n (link: Link) => {\n const item: any = {\n ...link,\n ...getExprProperties(link, data as object),\n active:\n (motivation !== 'location-change' && link.active) ||\n (link.activeOn\n ? evalExpression(link.activeOn as string, data)\n : !!(\n link.hasOwnProperty('to') &&\n env &&\n env.isCurrentUrl(filter(link.to as string, data))\n ))\n };\n\n item.unfolded =\n isUnfolded(item, {unfoldedField, foldedField}) ||\n (link.children && link.children.some(link => !!link.active));\n\n return item;\n },\n 1,\n true\n );\n }\n\n return links;\n },\n\n beforeDeferLoad(item: Link, indexes: Array<number>, links: Array<Link>) {\n return spliceTree(links, indexes, 1, {\n ...item,\n loading: true\n });\n },\n\n afterDeferLoad(\n item: Link,\n indexes: Array<number>,\n ret: Payload,\n links: Array<Link>\n ) {\n const newItem = {\n ...item,\n loading: false,\n loaded: true,\n error: ret.ok ? undefined : ret.msg\n };\n\n const children = Array.isArray(ret.data)\n ? ret.data\n : ret.data.links || ret.data.options || ret.data.items || ret.data.rows;\n\n if (Array.isArray(children)) {\n newItem.children = children.concat();\n newItem.unfolded = true;\n }\n\n return spliceTree(links, indexes, 1, newItem);\n }\n})(\n class extends React.Component<\n RemoteOptionsProps &\n React.ComponentProps<typeof ThemedNavigation> & {\n location?: any;\n env?: RendererEnv;\n data?: any;\n unfoldedField?: string;\n foldedField?: string;\n reload?: any;\n }\n > {\n constructor(props: any) {\n super(props);\n this.toggleLink = this.toggleLink.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n }\n\n componentDidMount() {\n if (Array.isArray(this.props.links)) {\n this.props.updateConfig(this.props.links, 'mount');\n }\n }\n\n componentDidUpdate(prevProps: any) {\n if (this.props.location !== prevProps.location) {\n this.props.updateConfig(this.props.config, 'location-change');\n } else if (this.props.links !== prevProps.links) {\n this.props.updateConfig(this.props.links, 'update');\n }\n }\n\n toggleLink(target: Link) {\n const {config, updateConfig, deferLoad} = this.props;\n\n if (target.defer && !target.loaded) {\n deferLoad(target);\n } else {\n updateConfig(\n mapTree(config, (link: Link) =>\n target === link\n ? {\n ...link,\n unfolded: !link.unfolded\n }\n : link\n ),\n 'toggle'\n );\n }\n }\n\n handleSelect(link: Link) {\n const {onSelect, env, data} = this.props;\n if (onSelect && onSelect(link) === false) {\n return;\n }\n\n if (\n !link.to &&\n ((link.children && link.children.length) ||\n (link.defer && !link.loaded))\n ) {\n this.toggleLink(link);\n return;\n }\n\n env?.jumpTo(filter(link.to as string, data), link as any);\n }\n\n render() {\n const {loading, config, deferLoad, updateConfig, ...rest} = this.props;\n\n return (\n <ThemedNavigation\n {...rest}\n loading={loading}\n links={config || rest.links || []}\n disabled={loading}\n onSelect={this.handleSelect}\n onToggle={this.toggleLink}\n />\n );\n }\n }\n);\n\nexport default ThemedNavigation;\n@Renderer({\n test: /(^|\\/)(?:nav|navigation)$/,\n name: 'nav'\n})\nexport class NavigationRenderer extends React.Component<RendererProps> {\n static contextType = ScopedContext;\n\n remoteRef:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined = undefined;\n\n @autobind\n remoteConfigRef(ref: any) {\n this.remoteRef = ref;\n }\n\n constructor(props: RendererProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n @autobind\n reload(target?: string, query?: any, values?: object) {\n if (query) {\n return this.receive(query);\n }\n\n const {data, env, source, translate: __} = this.props;\n const finalData = values ? createObject(data, values) : data;\n\n this.remoteRef?.loadConfig(finalData);\n }\n\n @autobind\n receive(values: object) {\n this.reload(undefined, undefined, values);\n }\n\n render() {\n const {...rest} = this.props;\n\n return (\n <ConditionBuilderWithRemoteOptions\n {...rest}\n reload={this.reload}\n remoteConfigRef={this.remoteConfigRef}\n />\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Page.js
CHANGED
@@ -129,6 +129,9 @@ var Page = /** @class */ (function (_super) {
|
|
129
129
|
else if (JSON.stringify(props.cssVars) !== JSON.stringify(prevProps.cssVars)) {
|
130
130
|
this.updateVarStyle();
|
131
131
|
}
|
132
|
+
else if (props.defaultData !== prevProps.defaultData) {
|
133
|
+
store.reInitData(props.defaultData);
|
134
|
+
}
|
132
135
|
};
|
133
136
|
Page.prototype.componentWillUnmount = function () {
|
134
137
|
this.mounted = false;
|
@@ -334,7 +337,7 @@ var Page = /** @class */ (function (_super) {
|
|
334
337
|
onAction: this.handleAction,
|
335
338
|
onQuery: initApi ? this.handleQuery : undefined,
|
336
339
|
onChange: this.handleChange,
|
337
|
-
|
340
|
+
pageLoading: store.loading
|
338
341
|
};
|
339
342
|
var hasAside = Array.isArray(regions)
|
340
343
|
? ~regions.indexOf('aside')
|