amis 1.5.3 → 1.5.6-beta.4
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/README.md +5 -0
- package/lib/Root.js +1 -1
- package/lib/Root.js.map +2 -2
- package/lib/RootRenderer.d.ts +1 -1
- package/lib/RootRenderer.js +4 -3
- package/lib/RootRenderer.js.map +2 -2
- package/lib/SchemaRenderer.js +4 -4
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/components/Card.d.ts +96 -0
- package/lib/components/Card.js +85 -0
- package/lib/components/Card.js.map +13 -0
- package/lib/components/Collapse.js +4 -6
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/CollapseGroup.d.ts +20 -20
- package/lib/components/CollapseGroup.js +5 -3
- package/lib/components/CollapseGroup.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/DatePicker.d.ts +85 -84
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/LocationPicker.d.ts +84 -84
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Picker.d.ts +503 -0
- package/lib/components/Picker.js +65 -0
- package/lib/components/Picker.js.map +13 -0
- package/lib/components/PickerColumn.d.ts +29 -459
- package/lib/components/PickerColumn.js +35 -44
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/Progress.js +1 -1
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/Select.d.ts +238 -238
- package/lib/components/Select.js +9 -2
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.js +1 -4
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Switch.d.ts +6 -6
- package/lib/components/Switch.js.map +2 -2
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/calendar/Calendar.js +15 -0
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.js +4 -4
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +10 -0
- package/lib/components/calendar/TimeView.js +55 -2
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.d.ts +9 -0
- package/lib/components/calendar/YearsView.js +19 -0
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/renderers/CRUD.d.ts +1 -1
- package/lib/renderers/CRUD.js +4 -3
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +81 -13
- package/lib/renderers/Card.js +178 -81
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Collapse.js +8 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/CollapseGroup.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +2 -2
- package/lib/renderers/Dialog.js +7 -7
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +2 -2
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +145 -37
- package/lib/renderers/Form/Editor.d.ts +144 -36
- package/lib/renderers/Form/Formula.js +5 -5
- package/lib/renderers/Form/Formula.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputFile.js +3 -3
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +1 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js +4 -3
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +1 -1
- package/lib/renderers/Form/index.js +13 -2
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +3 -2
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Page.d.ts +3 -3
- package/lib/renderers/Page.js +4 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +1 -1
- package/lib/renderers/Wizard.js +93 -36
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/combo.d.ts +160 -40
- package/lib/store/form.d.ts +64 -16
- package/lib/store/formItem.d.ts +4 -2
- package/lib/store/formItem.js +22 -7
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.d.ts +128 -32
- package/lib/themes/ang-ie11.css +177 -30
- package/lib/themes/ang.css +177 -30
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +177 -30
- package/lib/themes/antd.css +177 -30
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +177 -30
- package/lib/themes/cxd.css +177 -30
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +177 -30
- package/lib/themes/dark.css +177 -30
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +177 -30
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/helper.d.ts +7 -0
- package/lib/utils/helper.js +34 -7
- package/lib/utils/helper.js.map +2 -2
- package/package.json +2 -2
- package/schema.json +157 -13
- package/scss/_properties.scss +13 -2
- package/scss/components/_card.scss +155 -15
- package/scss/components/_nav.scss +1 -1
- package/scss/components/_picker-columns.scss +20 -14
- package/scss/components/form/_file.scss +2 -2
- package/scss/components/form/_selection.scss +4 -0
- package/scss/components/form/_switch.scss +6 -0
- package/sdk/ang-ie11.css +214 -40
- package/sdk/ang.css +216 -32
- package/sdk/antd-ie11.css +214 -40
- package/sdk/antd.css +216 -32
- package/sdk/charts.js +17 -17
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +206 -32
- package/sdk/cxd.css +216 -32
- package/sdk/dark-ie11.css +214 -40
- package/sdk/dark.css +216 -32
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +206 -32
- package/sdk/sdk.css +216 -32
- package/sdk/sdk.js +1302 -1208
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Root.tsx +1 -0
- package/src/RootRenderer.tsx +3 -3
- package/src/SchemaRenderer.tsx +4 -0
- package/src/components/Card.tsx +203 -0
- package/src/components/Collapse.tsx +19 -12
- package/src/components/CollapseGroup.tsx +9 -11
- package/src/components/DatePicker.tsx +3 -0
- package/src/components/Picker.tsx +145 -0
- package/src/components/PickerColumn.tsx +58 -95
- package/src/components/Progress.tsx +1 -1
- package/src/components/Select.tsx +17 -12
- package/src/components/Selection.tsx +1 -4
- package/src/components/Switch.tsx +7 -7
- package/src/components/calendar/Calendar.tsx +18 -0
- package/src/components/calendar/DaysView.tsx +6 -4
- package/src/components/calendar/TimeView.tsx +80 -5
- package/src/components/calendar/YearsView.tsx +44 -1
- package/src/components/index.tsx +2 -0
- package/src/renderers/CRUD.tsx +3 -3
- package/src/renderers/Card.tsx +299 -191
- package/src/renderers/Collapse.tsx +27 -27
- package/src/renderers/CollapseGroup.tsx +13 -12
- package/src/renderers/Dialog.tsx +8 -8
- package/src/renderers/Drawer.tsx +2 -2
- package/src/renderers/Form/Formula.tsx +7 -5
- package/src/renderers/Form/InputFile.tsx +7 -3
- package/src/renderers/Form/InputImage.tsx +1 -1
- package/src/renderers/Form/Item.tsx +2 -2
- package/src/renderers/Form/index.tsx +14 -2
- package/src/renderers/Form/wrapControl.tsx +5 -2
- package/src/renderers/Page.tsx +11 -10
- package/src/renderers/Wizard.tsx +52 -12
- package/src/store/formItem.ts +27 -6
- package/src/utils/helper.ts +35 -10
package/README.md
CHANGED
@@ -80,6 +80,11 @@ npm run update-snapshot
|
|
80
80
|
- [RickCole21](https://github.com/RickCole21)
|
81
81
|
- [catchonme](https://github.com/catchonme)
|
82
82
|
- [nwind](https://github.com/nwind)
|
83
|
+
- [zhangtao07](https://github.com/zhangtao07)
|
84
|
+
- [hsm-lv](https://github.com/hsm-lv)
|
85
|
+
- [RUNZE LU](https://github.com/lurunze1226)
|
86
|
+
- [ucasliyuan](https://github.com/ucasliyuan)
|
87
|
+
- [yangwei9012](https://github.com/yangwei9012)
|
83
88
|
|
84
89
|
## 低代码平台
|
85
90
|
|
package/lib/Root.js
CHANGED
@@ -73,7 +73,7 @@ function renderChild(prefix, node, props) {
|
|
73
73
|
delete props.propsTransform;
|
74
74
|
props = transform(props);
|
75
75
|
}
|
76
|
-
return (react_1.default.createElement(SchemaRenderer_1.SchemaRenderer, (0, tslib_1.__assign)({}, props, { schema: schema, "$path": "" + (prefix ? prefix + "/" : '') + ((schema && schema.type) || '') })));
|
76
|
+
return (react_1.default.createElement(SchemaRenderer_1.SchemaRenderer, (0, tslib_1.__assign)({}, props, { schema: schema, propKey: schema.key, "$path": "" + (prefix ? prefix + "/" : '') + ((schema && schema.type) || '') })));
|
77
77
|
}
|
78
78
|
exports.renderChild = renderChild;
|
79
79
|
exports.default = (0, Scoped_1.default)(Root);
|
package/lib/Root.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/Root.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import isPlainObject from 'lodash/isPlainObject';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport ImageGallery from './components/ImageGallery';\nimport {RendererEnv} from './env';\nimport {RendererProps} from './factory';\nimport {LocaleContext, TranslateFn} from './locale';\nimport {RootRenderer} from './RootRenderer';\nimport {SchemaRenderer} from './SchemaRenderer';\nimport Scoped from './Scoped';\nimport {IRendererStore} from './store';\nimport {ThemeContext} from './theme';\nimport {Schema, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {autobind, createObject, isEmpty} from './utils/helper';\nimport {RootStoreContext} from './WithRootStore';\n\nexport interface RootRenderProps {\n location?: Location;\n theme?: string;\n [propName: string]: any;\n}\n\nexport interface RootProps {\n schema: SchemaNode;\n rootStore: IRendererStore;\n env: RendererEnv;\n theme: string;\n pathPrefix?: string;\n locale?: string;\n translate?: TranslateFn;\n [propName: string]: any;\n}\n\nexport class Root extends React.Component<RootProps> {\n @autobind\n resolveDefinitions(name: string) {\n const definitions = (this.props.schema as Schema).definitions;\n if (!name || isEmpty(definitions)) {\n return {};\n }\n return definitions && definitions[name];\n }\n\n render() {\n const {\n schema,\n rootStore,\n env,\n pathPrefix,\n location,\n data,\n locale,\n translate,\n ...rest\n } = this.props;\n\n const theme = env.theme;\n let themeName = this.props.theme || 'cxd';\n if (themeName === 'default') {\n themeName = 'cxd';\n }\n\n return (\n <RootStoreContext.Provider value={rootStore}>\n <ThemeContext.Provider value={themeName}>\n <LocaleContext.Provider value={this.props.locale!}>\n <ImageGallery modalContainer={env.getModalContainer}>\n <RootRenderer\n pathPrefix={pathPrefix || ''}\n schema={\n isPlainObject(schema)\n ? {\n type: 'page',\n ...(schema as any)\n }\n : schema\n }\n {...rest}\n rootStore={rootStore}\n resolveDefinitions={this.resolveDefinitions}\n location={location}\n data={data}\n env={env}\n classnames={theme.classnames}\n classPrefix={theme.classPrefix}\n locale={locale}\n translate={translate}\n />\n </ImageGallery>\n </LocaleContext.Provider>\n </ThemeContext.Provider>\n </RootStoreContext.Provider>\n );\n }\n}\n\nexport interface renderChildProps extends Partial<RendererProps> {\n env: RendererEnv;\n}\nexport type ReactElement = React.ReactNode[] | JSX.Element | null | false;\n\nexport function renderChildren(\n prefix: string,\n node: SchemaNode,\n props: renderChildProps\n): ReactElement {\n if (Array.isArray(node)) {\n return node.map((node, index) =>\n renderChild(`${prefix}/${index}`, node, {\n ...props,\n key: `${props.key ? `${props.key}-` : ''}${index}`\n })\n );\n }\n\n return renderChild(prefix, node, props);\n}\n\nexport function renderChild(\n prefix: string,\n node: SchemaNode,\n props: renderChildProps\n): ReactElement {\n if (Array.isArray(node)) {\n return renderChildren(prefix, node, props);\n }\n\n const typeofnode = typeof node;\n\n if (typeofnode === 'undefined' || node === null) {\n return null;\n }\n\n let schema: Schema =\n typeofnode === 'string' || typeofnode === 'number'\n ? {type: 'tpl', tpl: String(node)}\n : (node as Schema);\n\n const transform = props.propsTransform;\n\n if (transform) {\n props = {...props};\n delete props.propsTransform;\n\n props = transform(props);\n }\n\n return (\n <SchemaRenderer\n {...props}\n schema={schema}\n $path={`${prefix ? `${prefix}/` : ''}${(schema && schema.type) || ''}`}\n />\n );\n}\n\nexport default Scoped(Root);\n"
|
11
|
+
"import isPlainObject from 'lodash/isPlainObject';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport ImageGallery from './components/ImageGallery';\nimport {RendererEnv} from './env';\nimport {RendererProps} from './factory';\nimport {LocaleContext, TranslateFn} from './locale';\nimport {RootRenderer} from './RootRenderer';\nimport {SchemaRenderer} from './SchemaRenderer';\nimport Scoped from './Scoped';\nimport {IRendererStore} from './store';\nimport {ThemeContext} from './theme';\nimport {Schema, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {autobind, createObject, isEmpty} from './utils/helper';\nimport {RootStoreContext} from './WithRootStore';\n\nexport interface RootRenderProps {\n location?: Location;\n theme?: string;\n [propName: string]: any;\n}\n\nexport interface RootProps {\n schema: SchemaNode;\n rootStore: IRendererStore;\n env: RendererEnv;\n theme: string;\n pathPrefix?: string;\n locale?: string;\n translate?: TranslateFn;\n [propName: string]: any;\n}\n\nexport class Root extends React.Component<RootProps> {\n @autobind\n resolveDefinitions(name: string) {\n const definitions = (this.props.schema as Schema).definitions;\n if (!name || isEmpty(definitions)) {\n return {};\n }\n return definitions && definitions[name];\n }\n\n render() {\n const {\n schema,\n rootStore,\n env,\n pathPrefix,\n location,\n data,\n locale,\n translate,\n ...rest\n } = this.props;\n\n const theme = env.theme;\n let themeName = this.props.theme || 'cxd';\n if (themeName === 'default') {\n themeName = 'cxd';\n }\n\n return (\n <RootStoreContext.Provider value={rootStore}>\n <ThemeContext.Provider value={themeName}>\n <LocaleContext.Provider value={this.props.locale!}>\n <ImageGallery modalContainer={env.getModalContainer}>\n <RootRenderer\n pathPrefix={pathPrefix || ''}\n schema={\n isPlainObject(schema)\n ? {\n type: 'page',\n ...(schema as any)\n }\n : schema\n }\n {...rest}\n rootStore={rootStore}\n resolveDefinitions={this.resolveDefinitions}\n location={location}\n data={data}\n env={env}\n classnames={theme.classnames}\n classPrefix={theme.classPrefix}\n locale={locale}\n translate={translate}\n />\n </ImageGallery>\n </LocaleContext.Provider>\n </ThemeContext.Provider>\n </RootStoreContext.Provider>\n );\n }\n}\n\nexport interface renderChildProps extends Partial<RendererProps> {\n env: RendererEnv;\n}\nexport type ReactElement = React.ReactNode[] | JSX.Element | null | false;\n\nexport function renderChildren(\n prefix: string,\n node: SchemaNode,\n props: renderChildProps\n): ReactElement {\n if (Array.isArray(node)) {\n return node.map((node, index) =>\n renderChild(`${prefix}/${index}`, node, {\n ...props,\n key: `${props.key ? `${props.key}-` : ''}${index}`\n })\n );\n }\n\n return renderChild(prefix, node, props);\n}\n\nexport function renderChild(\n prefix: string,\n node: SchemaNode,\n props: renderChildProps\n): ReactElement {\n if (Array.isArray(node)) {\n return renderChildren(prefix, node, props);\n }\n\n const typeofnode = typeof node;\n\n if (typeofnode === 'undefined' || node === null) {\n return null;\n }\n\n let schema: Schema =\n typeofnode === 'string' || typeofnode === 'number'\n ? {type: 'tpl', tpl: String(node)}\n : (node as Schema);\n\n const transform = props.propsTransform;\n\n if (transform) {\n props = {...props};\n delete props.propsTransform;\n\n props = transform(props);\n }\n\n return (\n <SchemaRenderer\n {...props}\n schema={schema}\n propKey={schema.key}\n $path={`${prefix ? `${prefix}/` : ''}${(schema && schema.type) || ''}`}\n />\n );\n}\n\nexport default Scoped(Root);\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/RootRenderer.d.ts
CHANGED
@@ -15,7 +15,7 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
15
15
|
componentWillUnmount(): void;
|
16
16
|
handleAction(e: React.UIEvent<any> | void, action: Action, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): void;
|
17
17
|
handleDialogConfirm(values: object[], action: Action, ...args: Array<any>): void;
|
18
|
-
handleDialogClose(): void;
|
18
|
+
handleDialogClose(confirmed?: boolean): void;
|
19
19
|
handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>): void;
|
20
20
|
handleDrawerClose(): void;
|
21
21
|
openFeedback(dialog: any, ctx: any): Promise<unknown>;
|
package/lib/RootRenderer.js
CHANGED
@@ -147,11 +147,12 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
147
147
|
dialog.onConfirm.apply(dialog, (0, tslib_1.__spreadArray)([values, action], args, false)) === false) {
|
148
148
|
return;
|
149
149
|
}
|
150
|
-
store.closeDialog();
|
150
|
+
store.closeDialog(true);
|
151
151
|
};
|
152
|
-
RootRenderer.prototype.handleDialogClose = function () {
|
152
|
+
RootRenderer.prototype.handleDialogClose = function (confirmed) {
|
153
|
+
if (confirmed === void 0) { confirmed = false; }
|
153
154
|
var store = this.store;
|
154
|
-
store.closeDialog();
|
155
|
+
store.closeDialog(confirmed);
|
155
156
|
};
|
156
157
|
RootRenderer.prototype.handleDrawerConfirm = function (values, action) {
|
157
158
|
var args = [];
|
package/lib/RootRenderer.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/RootRenderer.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport Spinner from './components/Spinner';\nimport {renderChild, RootProps} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {IRootStore, RootStore} from './store/root';\nimport {Action} from './types';\nimport {bulkBindFunctions, guid, isVisible} from './utils/helper';\nimport {filter} from './utils/tpl';\nimport qs from 'qs';\nimport pick from 'lodash/pick';\nimport mapValues from 'lodash/mapValues';\n\nexport interface RootRendererProps extends RootProps {\n location?: any;\n}\n\n@observer\nexport class RootRenderer extends React.Component<RootRendererProps> {\n store: IRootStore;\n static contextType = ScopedContext;\n\n constructor(props: RootRendererProps) {\n super(props);\n\n this.store = props.rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: RootStore.name,\n parentId: ''\n }) as IRootStore;\n\n this.store.initData(props.data);\n this.store.updateLocation(props.location);\n\n bulkBindFunctions<RootRenderer /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose'\n ]);\n }\n\n componentDidUpdate(prevProps: RootRendererProps) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n this.store.initData(props.data);\n }\n\n if (props.location !== prevProps.location) {\n this.store.updateLocation(props.location);\n }\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n this.store.setRuntimeError(error, errorInfo);\n }\n\n componentWillUnmount() {\n this.props.rootStore.removeStore(this.store);\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {env, messages, onAction} = this.props;\n const store = this.store;\n\n if (\n onAction?.(e, action, ctx, throwErrors, delegate || this.context) ===\n false\n ) {\n return;\n }\n\n const scoped = delegate || this.context;\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else if (\n action.actionType === 'url' ||\n action.actionType === 'link' ||\n action.actionType === 'jump'\n ) {\n if (!env || !env.jumpTo) {\n throw new Error('env.jumpTo is required!');\n }\n\n env.jumpTo(\n filter(\n (action.to || action.url || action.link) as string,\n ctx,\n '| raw'\n ),\n action,\n ctx\n );\n } else if (action.actionType === 'email') {\n const mailTo = filter(action.to, ctx);\n const mailInfo = mapValues(\n pick(action, 'to', 'cc', 'bcc', 'subject', 'body'),\n val => filter(val, ctx)\n );\n const mailStr = qs.stringify(mailInfo);\n const mailto = `mailto:${mailTo}?${mailStr}`;\n\n window.open(mailto);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload &&\n this.reloadTarget(\n delegate || this.context,\n action.reload,\n store.data\n );\n })\n .catch(() => {});\n } else if (\n action.actionType === 'copy' &&\n (action.content || action.copy)\n ) {\n env.copy &&\n env.copy(filter(action.content || action.copy, ctx, '| raw'), {\n format: action.copyFormat\n });\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog();\n }\n\n handleDialogClose() {\n const store = this.store;\n store.closeDialog();\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const store = this.store;\n store.closeDrawer();\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const store = this.store;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reloadTarget(scoped: IScopedContext, target: string, data?: any) {\n scoped.reload(target, data);\n }\n\n render() {\n const {pathPrefix, schema, ...rest} = this.props;\n const store = this.store;\n\n if (store.runtimeError) {\n return (\n <Alert level=\"danger\">\n <h3>{this.store.runtimeError?.toString()}</h3>\n <pre>\n <code>{this.store.runtimeErrorStack.componentStack}</code>\n </pre>\n </Alert>\n );\n }\n\n return (\n <>\n {\n renderChild(pathPrefix!, schema, {\n ...rest,\n data: this.store.downStream,\n onAction: this.handleAction\n }) as JSX.Element\n }\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error ? (\n <Alert level=\"danger\" showCloseButton onClose={store.clearMessage}>\n {store.msg}\n </Alert>\n ) : null}\n\n {renderChild(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n ...rest,\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )}\n\n {renderChild(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n ...rest,\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n}\n"
|
11
|
+
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport Spinner from './components/Spinner';\nimport {renderChild, RootProps} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {IRootStore, RootStore} from './store/root';\nimport {Action} from './types';\nimport {bulkBindFunctions, guid, isVisible} from './utils/helper';\nimport {filter} from './utils/tpl';\nimport qs from 'qs';\nimport pick from 'lodash/pick';\nimport mapValues from 'lodash/mapValues';\n\nexport interface RootRendererProps extends RootProps {\n location?: any;\n}\n\n@observer\nexport class RootRenderer extends React.Component<RootRendererProps> {\n store: IRootStore;\n static contextType = ScopedContext;\n\n constructor(props: RootRendererProps) {\n super(props);\n\n this.store = props.rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: RootStore.name,\n parentId: ''\n }) as IRootStore;\n\n this.store.initData(props.data);\n this.store.updateLocation(props.location);\n\n bulkBindFunctions<RootRenderer /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose'\n ]);\n }\n\n componentDidUpdate(prevProps: RootRendererProps) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n this.store.initData(props.data);\n }\n\n if (props.location !== prevProps.location) {\n this.store.updateLocation(props.location);\n }\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n this.store.setRuntimeError(error, errorInfo);\n }\n\n componentWillUnmount() {\n this.props.rootStore.removeStore(this.store);\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {env, messages, onAction} = this.props;\n const store = this.store;\n\n if (\n onAction?.(e, action, ctx, throwErrors, delegate || this.context) ===\n false\n ) {\n return;\n }\n\n const scoped = delegate || this.context;\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else if (\n action.actionType === 'url' ||\n action.actionType === 'link' ||\n action.actionType === 'jump'\n ) {\n if (!env || !env.jumpTo) {\n throw new Error('env.jumpTo is required!');\n }\n\n env.jumpTo(\n filter(\n (action.to || action.url || action.link) as string,\n ctx,\n '| raw'\n ),\n action,\n ctx\n );\n } else if (action.actionType === 'email') {\n const mailTo = filter(action.to, ctx);\n const mailInfo = mapValues(\n pick(action, 'to', 'cc', 'bcc', 'subject', 'body'),\n val => filter(val, ctx)\n );\n const mailStr = qs.stringify(mailInfo);\n const mailto = `mailto:${mailTo}?${mailStr}`;\n\n window.open(mailto);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload &&\n this.reloadTarget(\n delegate || this.context,\n action.reload,\n store.data\n );\n })\n .catch(() => {});\n } else if (\n action.actionType === 'copy' &&\n (action.content || action.copy)\n ) {\n env.copy &&\n env.copy(filter(action.content || action.copy, ctx, '| raw'), {\n format: action.copyFormat\n });\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const store = this.store;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const store = this.store;\n store.closeDrawer();\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const store = this.store;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reloadTarget(scoped: IScopedContext, target: string, data?: any) {\n scoped.reload(target, data);\n }\n\n render() {\n const {pathPrefix, schema, ...rest} = this.props;\n const store = this.store;\n\n if (store.runtimeError) {\n return (\n <Alert level=\"danger\">\n <h3>{this.store.runtimeError?.toString()}</h3>\n <pre>\n <code>{this.store.runtimeErrorStack.componentStack}</code>\n </pre>\n </Alert>\n );\n }\n\n return (\n <>\n {\n renderChild(pathPrefix!, schema, {\n ...rest,\n data: this.store.downStream,\n onAction: this.handleAction\n }) as JSX.Element\n }\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error ? (\n <Alert level=\"danger\" showCloseButton onClose={store.clearMessage}>\n {store.msg}\n </Alert>\n ) : null}\n\n {renderChild(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n ...rest,\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )}\n\n {renderChild(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n ...rest,\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/SchemaRenderer.js
CHANGED
@@ -167,10 +167,10 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
167
167
|
}
|
168
168
|
else if (typeof schema.component === 'function') {
|
169
169
|
var isSFC = !(schema.component.prototype instanceof react_1.default.Component);
|
170
|
-
var defaultData_1 = schema.data, defaultValue_1 = schema.value, defaultActiveKey_1 = schema.activeKey, restSchema_1 = (0, tslib_1.__rest)(schema, ["data", "value", "activeKey"]);
|
170
|
+
var defaultData_1 = schema.data, defaultValue_1 = schema.value, defaultActiveKey_1 = schema.activeKey, propKey_1 = schema.key, restSchema_1 = (0, tslib_1.__rest)(schema, ["data", "value", "activeKey", "key"]);
|
171
171
|
return rest.invisible
|
172
172
|
? null
|
173
|
-
: react_1.default.createElement(schema.component, (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, rest), restSchema_1), exprProps), { defaultData: defaultData_1, defaultValue: defaultValue_1, defaultActiveKey: defaultActiveKey_1, $path: $path, $schema: schema, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, render: this.renderChild }));
|
173
|
+
: react_1.default.createElement(schema.component, (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, rest), restSchema_1), exprProps), { defaultData: defaultData_1, defaultValue: defaultValue_1, defaultActiveKey: defaultActiveKey_1, propKey: propKey_1, $path: $path, $schema: schema, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, render: this.renderChild }));
|
174
174
|
}
|
175
175
|
else if (Object.keys(schema).length === 0) {
|
176
176
|
return null;
|
@@ -197,7 +197,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
197
197
|
}
|
198
198
|
var renderer = this.renderer;
|
199
199
|
schema = (0, factory_1.filterSchema)(schema, renderer, rest);
|
200
|
-
var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = (0, tslib_1.__rest)(schema, ["data", "value", "activeKey"]);
|
200
|
+
var defaultData = schema.data, defaultValue = schema.value, propKey = schema.key, defaultActiveKey = schema.activeKey, restSchema = (0, tslib_1.__rest)(schema, ["data", "value", "key", "activeKey"]);
|
201
201
|
var Component = renderer.component;
|
202
202
|
// 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
|
203
203
|
// 而 visibleOn 和 hiddenOn 是无效的,
|
@@ -210,7 +210,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
210
210
|
(schema.visible !== false && !schema.hidden))) {
|
211
211
|
return null;
|
212
212
|
}
|
213
|
-
return (react_1.default.createElement(Component, (0, tslib_1.__assign)({}, theme.getRendererConfig(renderer.name), restSchema, (0, helper_1.chainEvents)(rest, restSchema), exprProps, { defaultData: (_a = restSchema.defaultData) !== null && _a !== void 0 ? _a : defaultData, defaultValue: (_b = restSchema.defaultValue) !== null && _b !== void 0 ? _b : defaultValue, defaultActiveKey: defaultActiveKey, "$path": $path, "$schema": (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema), exprProps), ref: this.refFn, render: this.renderChild })));
|
213
|
+
return (react_1.default.createElement(Component, (0, tslib_1.__assign)({}, theme.getRendererConfig(renderer.name), restSchema, (0, helper_1.chainEvents)(rest, restSchema), exprProps, { defaultData: (_a = restSchema.defaultData) !== null && _a !== void 0 ? _a : defaultData, defaultValue: (_b = restSchema.defaultValue) !== null && _b !== void 0 ? _b : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, "$path": $path, "$schema": (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema), exprProps), ref: this.refFn, render: this.renderChild })));
|
214
214
|
};
|
215
215
|
SchemaRenderer.displayName = 'Renderer';
|
216
216
|
return SchemaRenderer;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/SchemaRenderer.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": ";;;;AAAA,8EAA2C;AAC3C,kEAA+B;AAC/B,6DAA0B;AAC1B,0FAAuD;AACvD,qCAOmB;AACnB,8CAAiD;AACjD,+BAAmD;AAEnD,qFAAsD;AACtD,yCAAuD;AACvD,+CAA4C;AAQ5C,IAAM,eAAe,GAAG;IACtB,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,MAAM;IACN,UAAU;IACV,KAAK;IACL,SAAS;IACT,WAAW;IACX,QAAQ;IACR,UAAU;IACV,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,cAAc;IACd,aAAa;IACb,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,MAAM;CACP,CAAC;AAEF,IAAM,cAAc,GAAc,IAAI,qBAAS,EAAE,CAAC;AAElD;IAAoC,+CAAyC;IAU3E,wBAAY,KAA0B;QAAtC,YACE,kBAAM,KAAK,CAAC,SAKb;QAbD,iBAAW,GAAG,EAAE,CAAC;QASf,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;;IACnC,CAAC;IAED,uDAAuD;IACvD,8CAAqB,GAArB,UAAsB,SAA8B;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,IAAI,GAAkB,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC7D,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;QAEH,IACE,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM;YACxD,IAAI,CAAC,MAAM;YACb,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAM,MAAI,GAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE1D,IACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAI,CAAC,MAAM;gBAChD,IAAA,mBAAU,EAAC,MAAI,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAChD;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAe,GAAf,UAAgB,KAA0B,EAAE,KAAa;QAAb,sBAAA,EAAA,aAAa;QACvD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAEvB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YACzB,MAAM,mDACD,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GACrC,MAAM,CACV,CAAC;YAEF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SAChD;QAED,IACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;YACZ,CAAC,KAAK;gBACJ,CAAC,IAAI,CAAC,QAAQ;gBACd,IAAI,CAAC,WAAW,KAAQ,MAAM,CAAC,IAAI,SAAI,MAAM,CAAC,IAAM,CAAC,EACvD;YACA,IAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAe,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,GAAM,MAAM,CAAC,IAAI,SAAI,MAAM,CAAC,IAAM,CAAC;SACpD;aAAM;YACL,+CAA+C;YAC/C,+CAA+C;YAC/C,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC7D,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;gBACxC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACxC,OAAO,MAAM,CAAC,QAAQ,CAAC;aACxB;YAED,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB;gBAClC,MAAM,CAAC,UAAU,EACjB;gBACA,IAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEnD,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;iBAC1B;qBAAM;oBACL,IAAM,OAAK,GAAG,IAAA,iBAAU,0BACtB,UAAU,EAAE,KAAK,IACd,MAAM,CAAC,UAAU,EACpB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAK,CAAC,CAAC;oBAC5C,OAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC9B,MAAM,CAAC,SAAS,GAAG,OAAK,CAAC;iBAC1B;aACF;SACF;QAED,OAAO,EAAC,IAAI,MAAA,EAAE,MAAM,QAAA,EAAC,CAAC;IACxB,CAAC;IAED,2CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,8BAAK,GAAL,UAAM,GAAQ;QACZ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,oCAAW,GAAX,UACE,MAAc,EACd,IAAiB,EACjB,QAGM;QAHN,yBAAA,EAAA,aAGM;QAEN,IAAI,KAAuC,IAAI,CAAC,KAAK,EAAxC,CAAC,YAAA,EAAS,EAAE,WAAA,EAAE,GAAG,SAAA,EAAK,IAAI,2BAAnC,0BAAoC,CAAa,CAAC;QACjD,IAAM,KAAK,GAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAApC,CAAqC;QAErD,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,SAAS,CAAC,SAAS;gBACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,SAA0B,CAAC,CAAC;SACvE;QAED,OAAO,IAAA,kBAAW,EAAC,KAAG,KAAK,IAAG,MAAM,CAAC,CAAC,CAAC,MAAI,MAAQ,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,IAAI,IAAI,EAAE,wEACjE,IAAA,cAAI,EAAC,IAAI,EAAE,QAAQ,CAAC,GACpB,QAAQ,KACX,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAChC,GAAG,EAAE,GAAG,IACR,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,+BAAM,GAAN;QAAA,iBA6IC;;QA5IC,IAAI,KAAkC,IAAI,CAAC,KAAK,EAApC,CAAC,WAAA,EAAU,EAAE,YAAA,EAAK,IAAI,2BAA9B,mBAA+B,CAAa,CAAC;QAEjD,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QAEG,IAAA,KAAwB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAjD,KAAK,UAAA,EAAE,MAAM,YAAoC,CAAC;QAC7D,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAEnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,IAAA,qBAAc,EAAC,KAAK,EAAE,MAAa,EAAE,IAAI,CAAgB,CAAC;SAClE;QAED,IAAM,UAAU,GACd,MAAM;YACN,CAAC,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC;QAC3E,IAAM,SAAS,GAAQ,UAAU;YAC/B,CAAC,CAAC,IAAA,uBAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;YACxD,CAAC,CAAC,EAAE,CAAC;QAEP,IACE,SAAS;YACT,CAAC,SAAS,CAAC,MAAM;gBACf,SAAS,CAAC,OAAO,KAAK,KAAK;gBAC3B,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,OAAO,KAAK,KAAK;gBACxB,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,EACzB;YACC,IAAY,CAAC,SAAS,GAAG,IAAI,CAAC;SAChC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,MAAM,CAAC,QAAQ;oBACjB,CAAC,CAAE,MAAM,CAAC,QAAqB,uEACxB,IAAI,GACJ,SAAS,KACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,WAAW,EACxB,YAAY,EAAE,IAAI,CAAC,KAAK,IACxB,CAAC;SACR;aAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;YACjD,IAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,YAAY,eAAK,CAAC,SAAS,CAAC,CAAC;YAErE,IAAM,aAAW,GAKf,MAAM,KALS,EACV,cAAY,GAIjB,MAAM,MAJW,EACR,kBAAgB,GAGzB,MAAM,UAHmB,EACtB,SAAO,GAEV,MAAM,IAFI,EACT,YAAU,uBACX,MAAM,EANJ,qCAML,CADc,CACJ;YACX,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAK,CAAC,aAAa,CAAC,MAAM,CAAC,SAAgB,8FACtC,IAAI,GACJ,YAAU,GACV,SAAS,KACZ,WAAW,eAAA,EACX,YAAY,gBAAA,EACZ,gBAAgB,oBAAA,EAChB,OAAO,WAAA,EACP,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EACnC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC5C,MAAM,EAAE,IAAI,CAAC,WAAW,IACxB,CAAC;SACR;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7B,8BAAC,uBAAa,4BACR,IAAI,EACJ,SAAS,IACb,YAAY,EAAE;;;;oCACG,qBAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CACxC,MAAM,EACN,KAAK,EACL,IAAI,CAAC,QAAQ,CACd,EAAA;;gCAJK,MAAM,GAAG,SAId;gCACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;oCAC1C,sBAAO,MAAM,EAAC;iCACf;qCAAM,IAAI,MAAM,IAAI,eAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;oCACjD,sBAAO,cAAM,OAAA,MAAM,EAAN,CAAM,EAAC;iCACrB;gCAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gCAChB,sBAAO,cAAM,OAAA,IAAA,sBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,EAA3B,CAA2B,EAAC;;;qBAC1C,WACM,KAAK,aACH,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,QAAQ,IACpB,CACH,CAAC;SACH;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,QAA0B,CAAC;QACjD,MAAM,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE5C,IAAM,WAAW,GAKf,MAAM,KALS,EACV,YAAY,GAIjB,MAAM,MAJW,EACd,OAAO,GAGV,MAAM,IAHI,EACD,gBAAgB,GAEzB,MAAM,UAFmB,EACxB,UAAU,uBACX,MAAM,EANJ,qCAML,CADc,CACJ;QACX,IAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAErC,oDAAoD;QACpD,+BAA+B;QAC/B,wBAAwB;QACxB,gBAAgB;QAChB,IACE,IAAI,CAAC,SAAS;YACd,CAAC,SAAS,CAAC,MAAM;gBACf,SAAS,CAAC,OAAO,KAAK,KAAK;gBAC3B,CAAC,QAAQ,CAAC,UAAU;gBACpB,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC/C;YACA,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,8BAAC,SAAS,4BACJ,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EACtC,UAAU,EACV,IAAA,oBAAW,EAAC,IAAI,EAAE,UAAU,CAAC,EAC7B,SAAS,IACb,WAAW,EAAE,MAAA,UAAU,CAAC,WAAW,mCAAI,WAAW,EAClD,YAAY,EAAE,MAAA,UAAU,CAAC,YAAY,mCAAI,YAAY,EACrD,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,WACT,KAAK,6DACC,MAAM,GAAK,SAAS,GACjC,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,MAAM,EAAE,IAAI,CAAC,WAAW,IACxB,CACH,CAAC;IACJ,CAAC;IAxRM,0BAAW,GAAW,UAAU,CAAC;IAyR1C,qBAAC;CAAA,AA1RD,CAAoC,eAAK,CAAC,SAAS,GA0RlD;AA1RY,wCAAc;AA4R3B;IAAmC,qDAAe;IAAlD;;IAUA,CAAC;IATC,qCAAM,GAAN;QACE,IAAM,KAA4B,IAAI,CAAC,KAAY,EAA5C,cAAc,oBAAA,EAAK,IAAI,2BAAxB,kBAAyB,CAAoB,CAAC;QAEpD,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;YACxC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACH,2BAAC;AAAD,CAAC,AAVD,CAAmC,eAAK,CAAC,SAAS,GAUjD",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import difference from 'lodash/difference';\nimport omit from 'lodash/omit';\nimport React from 'react';\nimport LazyComponent from './components/LazyComponent';\nimport {\n filterSchema,\n loadRenderer,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {Schema, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\nconst defaultOmitList = [\n 'type',\n 'name',\n '$ref',\n 'className',\n 'data',\n 'children',\n 'ref',\n 'visible',\n 'visibleOn',\n 'hidden',\n 'hiddenOn',\n 'disabled',\n 'disabledOn',\n 'component',\n 'detectField',\n 'defaultValue',\n 'defaultData',\n 'required',\n 'requiredOn',\n 'syncSuperStore',\n 'mode',\n 'body'\n];\n\nconst componentCache: SimpleMap = new SimpleMap();\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n\n schema: any;\n path: string;\n\n constructor(props: SchemaRendererProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n this.renderChild = this.renderChild.bind(this);\n this.reRender = this.reRender.bind(this);\n this.resolveRenderer(this.props);\n }\n\n // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。\n shouldComponentUpdate(nextProps: SchemaRendererProps) {\n const props = this.props;\n const list: Array<string> = difference(Object.keys(nextProps), [\n 'schema',\n 'scope'\n ]);\n\n if (\n difference(Object.keys(props), ['schema', 'scope']).length !==\n list.length ||\n anyChanged(list, this.props, nextProps)\n ) {\n return true;\n } else {\n const list: Array<string> = Object.keys(nextProps.schema);\n\n if (\n Object.keys(props.schema).length !== list.length ||\n anyChanged(list, props.schema, nextProps.schema)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n resolveRenderer(props: SchemaRendererProps, force = false): any {\n let schema = props.schema;\n let path = props.$path;\n\n if (schema && schema.$ref) {\n schema = {\n ...props.resolveDefinitions(schema.$ref),\n ...schema\n };\n\n path = path.replace(/(?!.*\\/).*/, schema.type);\n }\n\n if (\n schema?.type &&\n (force ||\n !this.renderer ||\n this.rendererKey !== `${schema.type}-${schema.$$id}`)\n ) {\n const rendererResolver = props.env.rendererResolver || resolveRenderer;\n this.renderer = rendererResolver(path, schema, props);\n this.rendererKey = `${schema.type}-${schema.$$id}`;\n } else {\n // 自定义组件如果在节点设置了 label name 什么的,就用 formItem 包一层\n // 至少自动支持了 valdiations, label, description 等逻辑。\n if (schema.children && !schema.component && schema.asFormItem) {\n schema.component = PlaceholderComponent;\n schema.renderChildren = schema.children;\n delete schema.children;\n }\n\n if (\n schema.component &&\n !schema.component.wrapedAsFormItem &&\n schema.asFormItem\n ) {\n const cache = componentCache.get(schema.component);\n\n if (cache) {\n schema.component = cache;\n } else {\n const cache = asFormItem({\n strictMode: false,\n ...schema.asFormItem\n })(schema.component);\n componentCache.set(schema.component, cache);\n cache.wrapedAsFormItem = true;\n schema.component = cache;\n }\n }\n }\n\n return {path, schema};\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderChild(\n region: string,\n node?: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {schema: _, $path: __, env, ...rest} = this.props;\n let {path: $path} = this.resolveRenderer(this.props);\n\n const omitList = defaultOmitList.concat();\n if (this.renderer) {\n const Component = this.renderer.component;\n Component.propsList &&\n omitList.push.apply(omitList, Component.propsList as Array<string>);\n }\n\n return renderChild(`${$path}${region ? `/${region}` : ''}`, node || '', {\n ...omit(rest, omitList),\n ...subProps,\n data: subProps.data || rest.data,\n env: env\n });\n }\n\n reRender() {\n this.resolveRenderer(this.props, true);\n this.forceUpdate();\n }\n\n render(): JSX.Element | null {\n let {$path: _, schema: __, ...rest} = this.props;\n\n if (__ == null) {\n return null;\n }\n\n let {path: $path, schema} = this.resolveRenderer(this.props);\n const theme = this.props.env.theme;\n\n if (Array.isArray(schema)) {\n return renderChildren($path, schema as any, rest) as JSX.Element;\n }\n\n const detectData =\n schema &&\n (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);\n const exprProps: any = detectData\n ? getExprProperties(schema, detectData, undefined, rest)\n : {};\n\n if (\n exprProps &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n schema.hidden ||\n schema.visible === false ||\n rest.hidden ||\n rest.visible === false)\n ) {\n (rest as any).invisible = true;\n }\n\n if (schema.children) {\n return rest.invisible\n ? null\n : React.isValidElement(schema.children)\n ? schema.children\n : (schema.children as Function)({\n ...rest,\n ...exprProps,\n $path: $path,\n $schema: schema,\n render: this.renderChild,\n forwardedRef: this.refFn\n });\n } else if (typeof schema.component === 'function') {\n const isSFC = !(schema.component.prototype instanceof React.Component);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n return rest.invisible\n ? null\n : React.createElement(schema.component as any, {\n ...rest,\n ...restSchema,\n ...exprProps,\n defaultData,\n defaultValue,\n defaultActiveKey,\n $path: $path,\n $schema: schema,\n ref: isSFC ? undefined : this.refFn,\n forwardedRef: isSFC ? this.refFn : undefined,\n render: this.renderChild\n });\n } else if (Object.keys(schema).length === 0) {\n return null;\n } else if (!this.renderer) {\n return rest.invisible ? null : (\n <LazyComponent\n {...rest}\n {...exprProps}\n getComponent={async () => {\n const result = await rest.env.loadRenderer(\n schema,\n $path,\n this.reRender\n );\n if (result && typeof result === 'function') {\n return result;\n } else if (result && React.isValidElement(result)) {\n return () => result;\n }\n\n this.reRender();\n return () => loadRenderer(schema, $path);\n }}\n $path={$path}\n $schema={schema}\n retry={this.reRender}\n />\n );\n }\n\n const renderer = this.renderer as RendererConfig;\n schema = filterSchema(schema, renderer, rest);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n const Component = renderer.component;\n\n // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的\n // 而 visibleOn 和 hiddenOn 是无效的,\n // 这个本来就是个bug,但是已经被广泛使用了\n // 我只能继续实现这个bug了\n if (\n rest.invisible &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n !renderer.isFormItem ||\n (schema.visible !== false && !schema.hidden))\n ) {\n return null;\n }\n\n return (\n <Component\n {...theme.getRendererConfig(renderer.name)}\n {...restSchema}\n {...chainEvents(rest, restSchema)}\n {...exprProps}\n defaultData={restSchema.defaultData ?? defaultData}\n defaultValue={restSchema.defaultValue ?? defaultValue}\n defaultActiveKey={defaultActiveKey}\n $path={$path}\n $schema={{...schema, ...exprProps}}\n ref={this.refFn}\n render={this.renderChild}\n />\n );\n }\n}\n\nclass PlaceholderComponent extends React.Component {\n render() {\n const {renderChildren, ...rest} = this.props as any;\n\n if (typeof renderChildren === 'function') {\n return renderChildren(rest);\n }\n\n return null;\n }\n}\n"
|
11
|
+
"import difference from 'lodash/difference';\nimport omit from 'lodash/omit';\nimport React from 'react';\nimport LazyComponent from './components/LazyComponent';\nimport {\n filterSchema,\n loadRenderer,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {Schema, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\nconst defaultOmitList = [\n 'type',\n 'name',\n '$ref',\n 'className',\n 'data',\n 'children',\n 'ref',\n 'visible',\n 'visibleOn',\n 'hidden',\n 'hiddenOn',\n 'disabled',\n 'disabledOn',\n 'component',\n 'detectField',\n 'defaultValue',\n 'defaultData',\n 'required',\n 'requiredOn',\n 'syncSuperStore',\n 'mode',\n 'body'\n];\n\nconst componentCache: SimpleMap = new SimpleMap();\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n\n schema: any;\n path: string;\n\n constructor(props: SchemaRendererProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n this.renderChild = this.renderChild.bind(this);\n this.reRender = this.reRender.bind(this);\n this.resolveRenderer(this.props);\n }\n\n // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。\n shouldComponentUpdate(nextProps: SchemaRendererProps) {\n const props = this.props;\n const list: Array<string> = difference(Object.keys(nextProps), [\n 'schema',\n 'scope'\n ]);\n\n if (\n difference(Object.keys(props), ['schema', 'scope']).length !==\n list.length ||\n anyChanged(list, this.props, nextProps)\n ) {\n return true;\n } else {\n const list: Array<string> = Object.keys(nextProps.schema);\n\n if (\n Object.keys(props.schema).length !== list.length ||\n anyChanged(list, props.schema, nextProps.schema)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n resolveRenderer(props: SchemaRendererProps, force = false): any {\n let schema = props.schema;\n let path = props.$path;\n\n if (schema && schema.$ref) {\n schema = {\n ...props.resolveDefinitions(schema.$ref),\n ...schema\n };\n\n path = path.replace(/(?!.*\\/).*/, schema.type);\n }\n\n if (\n schema?.type &&\n (force ||\n !this.renderer ||\n this.rendererKey !== `${schema.type}-${schema.$$id}`)\n ) {\n const rendererResolver = props.env.rendererResolver || resolveRenderer;\n this.renderer = rendererResolver(path, schema, props);\n this.rendererKey = `${schema.type}-${schema.$$id}`;\n } else {\n // 自定义组件如果在节点设置了 label name 什么的,就用 formItem 包一层\n // 至少自动支持了 valdiations, label, description 等逻辑。\n if (schema.children && !schema.component && schema.asFormItem) {\n schema.component = PlaceholderComponent;\n schema.renderChildren = schema.children;\n delete schema.children;\n }\n\n if (\n schema.component &&\n !schema.component.wrapedAsFormItem &&\n schema.asFormItem\n ) {\n const cache = componentCache.get(schema.component);\n\n if (cache) {\n schema.component = cache;\n } else {\n const cache = asFormItem({\n strictMode: false,\n ...schema.asFormItem\n })(schema.component);\n componentCache.set(schema.component, cache);\n cache.wrapedAsFormItem = true;\n schema.component = cache;\n }\n }\n }\n\n return {path, schema};\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderChild(\n region: string,\n node?: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {schema: _, $path: __, env, ...rest} = this.props;\n let {path: $path} = this.resolveRenderer(this.props);\n\n const omitList = defaultOmitList.concat();\n if (this.renderer) {\n const Component = this.renderer.component;\n Component.propsList &&\n omitList.push.apply(omitList, Component.propsList as Array<string>);\n }\n\n return renderChild(`${$path}${region ? `/${region}` : ''}`, node || '', {\n ...omit(rest, omitList),\n ...subProps,\n data: subProps.data || rest.data,\n env: env\n });\n }\n\n reRender() {\n this.resolveRenderer(this.props, true);\n this.forceUpdate();\n }\n\n render(): JSX.Element | null {\n let {$path: _, schema: __, ...rest} = this.props;\n\n if (__ == null) {\n return null;\n }\n\n let {path: $path, schema} = this.resolveRenderer(this.props);\n const theme = this.props.env.theme;\n\n if (Array.isArray(schema)) {\n return renderChildren($path, schema as any, rest) as JSX.Element;\n }\n\n const detectData =\n schema &&\n (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);\n const exprProps: any = detectData\n ? getExprProperties(schema, detectData, undefined, rest)\n : {};\n\n if (\n exprProps &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n schema.hidden ||\n schema.visible === false ||\n rest.hidden ||\n rest.visible === false)\n ) {\n (rest as any).invisible = true;\n }\n\n if (schema.children) {\n return rest.invisible\n ? null\n : React.isValidElement(schema.children)\n ? schema.children\n : (schema.children as Function)({\n ...rest,\n ...exprProps,\n $path: $path,\n $schema: schema,\n render: this.renderChild,\n forwardedRef: this.refFn\n });\n } else if (typeof schema.component === 'function') {\n const isSFC = !(schema.component.prototype instanceof React.Component);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n key: propKey,\n ...restSchema\n } = schema;\n return rest.invisible\n ? null\n : React.createElement(schema.component as any, {\n ...rest,\n ...restSchema,\n ...exprProps,\n defaultData,\n defaultValue,\n defaultActiveKey,\n propKey,\n $path: $path,\n $schema: schema,\n ref: isSFC ? undefined : this.refFn,\n forwardedRef: isSFC ? this.refFn : undefined,\n render: this.renderChild\n });\n } else if (Object.keys(schema).length === 0) {\n return null;\n } else if (!this.renderer) {\n return rest.invisible ? null : (\n <LazyComponent\n {...rest}\n {...exprProps}\n getComponent={async () => {\n const result = await rest.env.loadRenderer(\n schema,\n $path,\n this.reRender\n );\n if (result && typeof result === 'function') {\n return result;\n } else if (result && React.isValidElement(result)) {\n return () => result;\n }\n\n this.reRender();\n return () => loadRenderer(schema, $path);\n }}\n $path={$path}\n $schema={schema}\n retry={this.reRender}\n />\n );\n }\n\n const renderer = this.renderer as RendererConfig;\n schema = filterSchema(schema, renderer, rest);\n const {\n data: defaultData,\n value: defaultValue,\n key: propKey,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n const Component = renderer.component;\n\n // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的\n // 而 visibleOn 和 hiddenOn 是无效的,\n // 这个本来就是个bug,但是已经被广泛使用了\n // 我只能继续实现这个bug了\n if (\n rest.invisible &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n !renderer.isFormItem ||\n (schema.visible !== false && !schema.hidden))\n ) {\n return null;\n }\n\n return (\n <Component\n {...theme.getRendererConfig(renderer.name)}\n {...restSchema}\n {...chainEvents(rest, restSchema)}\n {...exprProps}\n defaultData={restSchema.defaultData ?? defaultData}\n defaultValue={restSchema.defaultValue ?? defaultValue}\n defaultActiveKey={defaultActiveKey}\n propKey={propKey}\n $path={$path}\n $schema={{...schema, ...exprProps}}\n ref={this.refFn}\n render={this.renderChild}\n />\n );\n }\n}\n\nclass PlaceholderComponent extends React.Component {\n render() {\n const {renderChildren, ...rest} = this.props as any;\n\n if (typeof renderChildren === 'function') {\n return renderChildren(rest);\n }\n\n return null;\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
/// <reference types="hoist-non-react-statics" />
|
2
|
+
import React from 'react';
|
3
|
+
import { ClassNamesFn, ThemeProps } from '../theme';
|
4
|
+
export interface CardProps extends ThemeProps {
|
5
|
+
className?: string;
|
6
|
+
headerClassName?: string;
|
7
|
+
titleClassName?: string;
|
8
|
+
subTitleClassName?: string;
|
9
|
+
descriptionClassName?: string;
|
10
|
+
avatarTextStyle?: object;
|
11
|
+
avatarTextClassName?: string;
|
12
|
+
avatarClassName?: string;
|
13
|
+
secondaryClassName?: string;
|
14
|
+
imageClassName?: string;
|
15
|
+
bodyClassName?: string;
|
16
|
+
footerClassName?: string;
|
17
|
+
media?: React.ReactNode;
|
18
|
+
mediaPosition?: 'top' | 'left' | 'right' | 'bottom';
|
19
|
+
toolbar?: React.ReactNode;
|
20
|
+
children?: React.ReactNode;
|
21
|
+
actions?: React.ReactNode;
|
22
|
+
title?: string | JSX.Element;
|
23
|
+
subTitle?: string | JSX.Element;
|
24
|
+
subTitlePlaceholder?: string | JSX.Element;
|
25
|
+
description?: string | JSX.Element;
|
26
|
+
descriptionPlaceholder?: string | JSX.Element;
|
27
|
+
avatar?: string;
|
28
|
+
avatarText?: string | JSX.Element;
|
29
|
+
secondary?: string | JSX.Element;
|
30
|
+
onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
31
|
+
classnames: ClassNamesFn;
|
32
|
+
}
|
33
|
+
export declare class Card extends React.Component<CardProps> {
|
34
|
+
static defaultProps: Partial<CardProps>;
|
35
|
+
constructor(props: CardProps);
|
36
|
+
handleClick(e: React.MouseEvent<HTMLDivElement>): void;
|
37
|
+
render(): JSX.Element;
|
38
|
+
}
|
39
|
+
declare const _default: {
|
40
|
+
new (props: (Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>): {
|
41
|
+
render(): JSX.Element;
|
42
|
+
context: any;
|
43
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
44
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
45
|
+
readonly props: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps> & Readonly<{
|
46
|
+
children?: React.ReactNode;
|
47
|
+
}>;
|
48
|
+
state: Readonly<{}>;
|
49
|
+
refs: {
|
50
|
+
[key: string]: React.ReactInstance;
|
51
|
+
};
|
52
|
+
componentDidMount?(): void;
|
53
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
54
|
+
componentWillUnmount?(): void;
|
55
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
56
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
57
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
58
|
+
componentWillMount?(): void;
|
59
|
+
UNSAFE_componentWillMount?(): void;
|
60
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
61
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
62
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
63
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
64
|
+
};
|
65
|
+
new (props: Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps, context: any): {
|
66
|
+
render(): JSX.Element;
|
67
|
+
context: any;
|
68
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
69
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
70
|
+
readonly props: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps> & Readonly<{
|
71
|
+
children?: React.ReactNode;
|
72
|
+
}>;
|
73
|
+
state: Readonly<{}>;
|
74
|
+
refs: {
|
75
|
+
[key: string]: React.ReactInstance;
|
76
|
+
};
|
77
|
+
componentDidMount?(): void;
|
78
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
79
|
+
componentWillUnmount?(): void;
|
80
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
81
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
82
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
83
|
+
componentWillMount?(): void;
|
84
|
+
UNSAFE_componentWillMount?(): void;
|
85
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
86
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
87
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
88
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CardProps, keyof ThemeProps>, never> & Partial<Pick<Omit<CardProps, keyof ThemeProps>, "title" | "children" | "toolbar" | "description" | "onClick" | "media" | "bodyClassName" | "avatar" | "headerClassName" | "footerClassName" | "subTitle" | "descriptionClassName" | "actions" | "titleClassName" | "subTitleClassName" | "avatarTextStyle" | "avatarTextClassName" | "avatarClassName" | "secondaryClassName" | "imageClassName" | "mediaPosition" | "subTitlePlaceholder" | "descriptionPlaceholder" | "avatarText" | "secondary">> & Partial<Pick<Partial<CardProps>, "classPrefix" | "classnames" | "className" | "theme">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
89
|
+
};
|
90
|
+
displayName: string;
|
91
|
+
contextType: React.Context<string>;
|
92
|
+
ComposedComponent: React.ComponentType<typeof Card>;
|
93
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof Card, {}> & {
|
94
|
+
ComposedComponent: typeof Card;
|
95
|
+
};
|
96
|
+
export default _default;
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Card = void 0;
|
4
|
+
var tslib_1 = require("tslib");
|
5
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
|
+
var helper_1 = require("../utils/helper");
|
7
|
+
var theme_1 = require("../theme");
|
8
|
+
var Card = /** @class */ (function (_super) {
|
9
|
+
(0, tslib_1.__extends)(Card, _super);
|
10
|
+
function Card(props) {
|
11
|
+
var _this = _super.call(this, props) || this;
|
12
|
+
_this.handleClick = _this.handleClick.bind(_this);
|
13
|
+
return _this;
|
14
|
+
}
|
15
|
+
Card.prototype.handleClick = function (e) {
|
16
|
+
if ((0, helper_1.isClickOnInput)(e)) {
|
17
|
+
return;
|
18
|
+
}
|
19
|
+
this.props.onClick && this.props.onClick(e);
|
20
|
+
};
|
21
|
+
Card.prototype.render = function () {
|
22
|
+
var _a = this.props, cx = _a.classnames, className = _a.className, headerClassName = _a.headerClassName, bodyClassName = _a.bodyClassName, titleClassName = _a.titleClassName, subTitleClassName = _a.subTitleClassName, descriptionClassName = _a.descriptionClassName, avatarClassName = _a.avatarClassName, avatarTextStyle = _a.avatarTextStyle, imageClassName = _a.imageClassName, avatarTextClassName = _a.avatarTextClassName, secondaryClassName = _a.secondaryClassName, footerClassName = _a.footerClassName, media = _a.media, mediaPosition = _a.mediaPosition, actions = _a.actions, children = _a.children, onClick = _a.onClick, toolbar = _a.toolbar, title = _a.title, subTitle = _a.subTitle, subTitlePlaceholder = _a.subTitlePlaceholder, description = _a.description, descriptionPlaceholder = _a.descriptionPlaceholder, secondary = _a.secondary, avatar = _a.avatar, avatarText = _a.avatarText;
|
23
|
+
var heading = null;
|
24
|
+
var isShowHeading = avatar ||
|
25
|
+
avatarText ||
|
26
|
+
title ||
|
27
|
+
subTitle ||
|
28
|
+
subTitlePlaceholder ||
|
29
|
+
description ||
|
30
|
+
descriptionPlaceholder ||
|
31
|
+
toolbar;
|
32
|
+
if (isShowHeading) {
|
33
|
+
heading = (react_1.default.createElement("div", { className: cx('Card-heading', headerClassName) },
|
34
|
+
avatar ? (react_1.default.createElement("span", { className: cx('Card-avtar', avatarClassName) },
|
35
|
+
react_1.default.createElement("img", { className: cx('Card-img', imageClassName), src: avatar }))) : avatarText ? (react_1.default.createElement("span", { className: cx('Card-avtarText', avatarTextClassName), style: avatarTextStyle }, avatarText)) : null,
|
36
|
+
react_1.default.createElement("div", { className: cx('Card-meta') },
|
37
|
+
title ? (react_1.default.createElement("div", { className: cx('Card-title', titleClassName) }, title)) : null,
|
38
|
+
subTitle || subTitlePlaceholder ? (react_1.default.createElement("div", { className: cx('Card-subTitle', subTitleClassName) }, subTitle
|
39
|
+
? subTitle
|
40
|
+
: subTitlePlaceholder
|
41
|
+
? subTitlePlaceholder
|
42
|
+
: null)) : null,
|
43
|
+
description || descriptionPlaceholder ? (react_1.default.createElement("div", { className: cx('Card-desc', descriptionClassName) }, description
|
44
|
+
? description
|
45
|
+
: descriptionPlaceholder
|
46
|
+
? descriptionPlaceholder
|
47
|
+
: null)) : null),
|
48
|
+
toolbar));
|
49
|
+
}
|
50
|
+
var body = children;
|
51
|
+
return (react_1.default.createElement("div", { onClick: this.handleClick, className: cx('Card', className, {
|
52
|
+
'Card--link': onClick
|
53
|
+
}) }, media ? (react_1.default.createElement("div", { className: cx("Card-multiMedia--" + mediaPosition) },
|
54
|
+
media,
|
55
|
+
react_1.default.createElement("div", { className: cx('Card-multiMedia-flex') },
|
56
|
+
heading,
|
57
|
+
body ? (react_1.default.createElement("div", { className: cx('Card-body', bodyClassName) }, body)) : null,
|
58
|
+
secondary || actions ? (react_1.default.createElement("div", { className: cx('Card-footer-wrapper', footerClassName) },
|
59
|
+
secondary ? (react_1.default.createElement("div", { className: cx('Card-secondary', secondaryClassName) }, secondary)) : null,
|
60
|
+
actions ? (react_1.default.createElement("div", { className: cx('Card-actions-wrapper') }, actions)) : null)) : null))) : (react_1.default.createElement("div", null,
|
61
|
+
heading,
|
62
|
+
body ? (react_1.default.createElement("div", { className: cx('Card-body', bodyClassName) }, body)) : null,
|
63
|
+
secondary || actions ? (react_1.default.createElement("div", { className: cx('Card-footer-wrapper', footerClassName) },
|
64
|
+
secondary ? (react_1.default.createElement("div", { className: cx('Card-secondary', secondaryClassName) }, secondary)) : null,
|
65
|
+
actions ? (react_1.default.createElement("div", { className: cx('Card-actions-wrapper') }, actions)) : null)) : null))));
|
66
|
+
};
|
67
|
+
Card.defaultProps = {
|
68
|
+
className: '',
|
69
|
+
avatarClassName: '',
|
70
|
+
headerClassName: '',
|
71
|
+
footerClassName: '',
|
72
|
+
secondaryClassName: '',
|
73
|
+
avatarTextClassName: '',
|
74
|
+
bodyClassName: '',
|
75
|
+
titleClassName: '',
|
76
|
+
subTitleClassName: '',
|
77
|
+
descriptionClassName: '',
|
78
|
+
imageClassName: '',
|
79
|
+
mediaPosition: 'left'
|
80
|
+
};
|
81
|
+
return Card;
|
82
|
+
}(react_1.default.Component));
|
83
|
+
exports.Card = Card;
|
84
|
+
exports.default = (0, theme_1.themeable)(Card);
|
85
|
+
//# sourceMappingURL=./components/Card.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "Card.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/components/Card.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import React from 'react';\nimport {isClickOnInput} from '../utils/helper';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nexport interface CardProps extends ThemeProps {\n className?: string;\n headerClassName?: string;\n titleClassName?: string;\n subTitleClassName?: string;\n descriptionClassName?: string;\n avatarTextStyle?: object;\n avatarTextClassName?: string;\n avatarClassName?: string;\n secondaryClassName?: string;\n imageClassName?: string;\n bodyClassName?: string;\n footerClassName?: string;\n media?: React.ReactNode;\n mediaPosition?: 'top' | 'left' | 'right' | 'bottom';\n toolbar?: React.ReactNode;\n children?: React.ReactNode;\n actions?: React.ReactNode;\n title?: string | JSX.Element;\n subTitle?: string | JSX.Element;\n subTitlePlaceholder?: string | JSX.Element;\n description?: string | JSX.Element;\n descriptionPlaceholder?: string | JSX.Element;\n avatar?: string;\n avatarText?: string | JSX.Element;\n secondary?: string | JSX.Element;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n classnames: ClassNamesFn;\n}\n\nexport class Card extends React.Component<CardProps> {\n static defaultProps: Partial<CardProps> = {\n className: '',\n avatarClassName: '',\n headerClassName: '',\n footerClassName: '',\n secondaryClassName: '',\n avatarTextClassName: '',\n bodyClassName: '',\n titleClassName: '',\n subTitleClassName: '',\n descriptionClassName: '',\n imageClassName: '',\n mediaPosition: 'left'\n };\n\n constructor(props: CardProps) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n\n this.props.onClick && this.props.onClick(e);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n headerClassName,\n bodyClassName,\n titleClassName,\n subTitleClassName,\n descriptionClassName,\n avatarClassName,\n avatarTextStyle,\n imageClassName,\n avatarTextClassName,\n secondaryClassName,\n footerClassName,\n media,\n mediaPosition,\n actions,\n children,\n onClick,\n toolbar,\n title,\n subTitle,\n subTitlePlaceholder,\n description,\n descriptionPlaceholder,\n secondary,\n avatar,\n avatarText\n } = this.props;\n\n let heading = null;\n const isShowHeading =\n avatar ||\n avatarText ||\n title ||\n subTitle ||\n subTitlePlaceholder ||\n description ||\n descriptionPlaceholder ||\n toolbar;\n if (isShowHeading) {\n heading = (\n <div className={cx('Card-heading', headerClassName)}>\n {avatar ? (\n <span className={cx('Card-avtar', avatarClassName)}>\n <img className={cx('Card-img', imageClassName)} src={avatar} />\n </span>\n ) : avatarText ? (\n <span\n className={cx('Card-avtarText', avatarTextClassName)}\n style={avatarTextStyle}\n >\n {avatarText}\n </span>\n ) : null}\n <div className={cx('Card-meta')}>\n {title ? (\n <div className={cx('Card-title', titleClassName)}>{title}</div>\n ) : null}\n {subTitle || subTitlePlaceholder ? (\n <div className={cx('Card-subTitle', subTitleClassName)}>\n {subTitle\n ? subTitle\n : subTitlePlaceholder\n ? subTitlePlaceholder\n : null}\n </div>\n ) : null}\n {description || descriptionPlaceholder ? (\n <div className={cx('Card-desc', descriptionClassName)}>\n {description\n ? description\n : descriptionPlaceholder\n ? descriptionPlaceholder\n : null}\n </div>\n ) : null}\n </div>\n {toolbar}\n </div>\n );\n }\n\n const body = children;\n\n return (\n <div\n onClick={this.handleClick}\n className={cx('Card', className, {\n 'Card--link': onClick\n })}\n >\n {media ? (\n <div className={cx(`Card-multiMedia--${mediaPosition}`)}>\n {media}\n <div className={cx('Card-multiMedia-flex')}>\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {secondary || actions ? (\n <div className={cx('Card-footer-wrapper', footerClassName)}>\n {secondary ? (\n <div className={cx('Card-secondary', secondaryClassName)}>\n {secondary}\n </div>\n ) : null}\n {actions ? (\n <div className={cx('Card-actions-wrapper')}>{actions}</div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n ) : (\n <div>\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {secondary || actions ? (\n <div className={cx('Card-footer-wrapper', footerClassName)}>\n {secondary ? (\n <div className={cx('Card-secondary', secondaryClassName)}>\n {secondary}\n </div>\n ) : null}\n {actions ? (\n <div className={cx('Card-actions-wrapper')}>{actions}</div>\n ) : null}\n </div>\n ) : null}\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(Card);\n"
|
12
|
+
]
|
13
|
+
}
|
@@ -76,14 +76,12 @@ var Collapse = /** @class */ (function (_super) {
|
|
76
76
|
var _a;
|
77
77
|
var _this = this;
|
78
78
|
var _b = this.props, cx = _b.classnames, mountOnEnter = _b.mountOnEnter, unmountOnExit = _b.unmountOnExit, ns = _b.classPrefix, size = _b.size, WrapperComponent = _b.wrapperComponent, HeadingComponent = _b.headingComponent, className = _b.className, headingClassName = _b.headingClassName, headerPosition = _b.headerPosition, collapseHeader = _b.collapseHeader, header = _b.header, body = _b.body, bodyClassName = _b.bodyClassName, collapsable = _b.collapsable, __ = _b.translate, showArrow = _b.showArrow, expandIcon = _b.expandIcon, disabled = _b.disabled, children = _b.children;
|
79
|
-
var finalHeader = this.state.collapsed
|
79
|
+
var finalHeader = this.state.collapsed
|
80
|
+
? header
|
81
|
+
: collapseHeader || header;
|
80
82
|
var dom = [
|
81
83
|
finalHeader ? (react_1.default.createElement(HeadingComponent, { key: "header", onClick: this.toggleCollapsed, className: cx("Collapse-header", headingClassName) },
|
82
|
-
showArrow && collapsable
|
83
|
-
? expandIcon
|
84
|
-
? react_1.default.cloneElement(expandIcon, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, expandIcon.props), { className: cx('Collapse-icon-tranform') }))
|
85
|
-
: react_1.default.createElement("span", { className: cx('Collapse-arrow') })
|
86
|
-
: '',
|
84
|
+
showArrow && collapsable ? (expandIcon ? (react_1.default.cloneElement(expandIcon, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, expandIcon.props), { className: cx('Collapse-icon-tranform') }))) : (react_1.default.createElement("span", { className: cx('Collapse-arrow') }))) : (''),
|
87
85
|
finalHeader)) : null,
|
88
86
|
react_1.default.createElement(Transition_1.default, { key: "body", mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, in: !this.state.collapsed, timeout: 300, onEnter: this.handleEnter, onEntering: this.handleEntering, onEntered: this.handleEntered, onExit: this.handleExit, onExiting: this.handleExiting }, function (status) {
|
89
87
|
if (status === Transition_1.ENTERING) {
|