amis 1.8.0-beta.0 → 1.8.0-beta.3
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/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +14 -3
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/DatePicker.d.ts +3 -0
- package/lib/components/DatePicker.js +56 -11
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +92 -84
- package/lib/components/DateRangePicker.js +198 -5
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Progress.js +12 -9
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/Radios.d.ts +1 -1
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/calendar/Calendar.js +16 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -1
- package/lib/components/formula/Editor.js +20 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +19 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/factory.d.ts +4 -0
- package/lib/factory.js +8 -2
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +13 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +13 -0
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +2 -0
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +4 -0
- package/lib/renderers/Dialog.js +4 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +13 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +2 -2
- package/lib/renderers/Form/Checkboxes.js +2 -6
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.js +3 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +3 -0
- package/lib/renderers/Form/InputCity.js +44 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +6 -3
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +6 -3
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.js +4 -2
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +11 -6
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +9 -0
- package/lib/renderers/Form/wrapControl.js +1 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.js +2 -2
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +2 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +1 -1
- package/lib/renderers/Progress.js +1 -1
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +7 -3
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +4 -0
- package/lib/renderers/Tabs.js +22 -6
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +6 -3
- package/lib/renderers/Wizard.js +257 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.js +4 -4
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +194 -23
- package/lib/themes/ang.css +193 -22
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +194 -23
- package/lib/themes/antd.css +193 -22
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +194 -23
- package/lib/themes/cxd.css +193 -22
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +194 -23
- package/lib/themes/dark.css +193 -22
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +194 -23
- package/lib/themes/default.css +193 -22
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +181 -30
- package/scss/_properties.scss +2 -2
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +18 -0
- package/scss/components/_progress.scss +3 -8
- package/scss/components/_steps.scss +199 -8
- package/scss/components/form/_date.scss +14 -0
- package/scss/components/form/_editor.scss +2 -1
- package/sdk/ang-ie11.css +234 -25
- package/sdk/ang.css +233 -24
- package/sdk/antd-ie11.css +234 -25
- package/sdk/antd.css +233 -24
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +234 -25
- package/sdk/cxd.css +233 -24
- package/sdk/dark-ie11.css +234 -25
- package/sdk/dark.css +233 -24
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +13 -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 +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +234 -25
- package/sdk/sdk.css +233 -24
- package/sdk/sdk.js +1290 -1288
- 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/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +18 -0
- package/src/components/BarCode.tsx +2 -2
- package/src/components/DatePicker.tsx +77 -22
- package/src/components/DateRangePicker.tsx +198 -4
- package/src/components/Progress.tsx +8 -12
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Steps.tsx +28 -27
- package/src/components/calendar/Calendar.tsx +17 -12
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/formula/Editor.tsx +34 -3
- package/src/components/formula/Picker.tsx +28 -1
- package/src/factory.tsx +15 -2
- package/src/locale/de-DE.ts +13 -0
- package/src/locale/en-US.ts +13 -0
- package/src/locale/zh-CN.ts +13 -0
- package/src/renderers/Action.tsx +22 -1
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Dialog.tsx +17 -3
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Checkboxes.tsx +5 -18
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +33 -4
- package/src/renderers/Form/InputDateRange.tsx +8 -1
- package/src/renderers/Form/InputFile.tsx +7 -3
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputImage.tsx +7 -3
- package/src/renderers/Form/InputRange.tsx +18 -16
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +1 -1
- package/src/renderers/Nav.tsx +1 -1
- package/src/renderers/Page.tsx +1 -2
- package/src/renderers/Progress.tsx +2 -2
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Table/index.tsx +11 -2
- package/src/renderers/Tabs.tsx +75 -28
- package/src/renderers/Wizard.tsx +154 -93
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +4 -4
- package/src/types.ts +3 -1
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
package/lib/SchemaRenderer.js
CHANGED
@@ -14,6 +14,8 @@ var debug_1 = require("./utils/debug");
|
|
14
14
|
var filter_schema_1 = (0, tslib_1.__importDefault)(require("./utils/filter-schema"));
|
15
15
|
var helper_1 = require("./utils/helper");
|
16
16
|
var SimpleMap_1 = require("./utils/SimpleMap");
|
17
|
+
var mobx_react_1 = require("mobx-react");
|
18
|
+
var mobx_state_tree_1 = require("mobx-state-tree");
|
17
19
|
var defaultOmitList = [
|
18
20
|
'type',
|
19
21
|
'name',
|
@@ -76,11 +78,21 @@ var BroadcastCmpt = /** @class */ (function (_super) {
|
|
76
78
|
};
|
77
79
|
BroadcastCmpt.prototype.render = function () {
|
78
80
|
var _a;
|
79
|
-
var _b = this.props, Component = _b.component, rest = (0, tslib_1.__rest)(_b, ["component"]);
|
81
|
+
var _b = this.props, Component = _b.component, rootStore = _b.rootStore, rest = (0, tslib_1.__rest)(_b, ["component", "rootStore"]);
|
82
|
+
var visible = (0, mobx_state_tree_1.isAlive)(rootStore)
|
83
|
+
? rootStore.visibleState[rest.$schema.id || rest.$path]
|
84
|
+
: true;
|
85
|
+
var disable = (0, mobx_state_tree_1.isAlive)(rootStore)
|
86
|
+
? rootStore.disableState[rest.$schema.id || rest.$path]
|
87
|
+
: false;
|
80
88
|
var isClassComponent = (_a = Component.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent;
|
89
|
+
if (disable) {
|
90
|
+
rest.disabled = true;
|
91
|
+
}
|
81
92
|
// 函数组件不支持 ref https://reactjs.org/docs/refs-and-the-dom.html#refs-and-function-components
|
82
|
-
return isClassComponent ? (react_1.default.createElement(Component, (0, tslib_1.__assign)({ ref: this.childRef }, rest, { dispatchEvent: this.dispatchEvent }))) : (react_1.default.createElement(Component, (0, tslib_1.__assign)({}, rest, { dispatchEvent: this.dispatchEvent })));
|
93
|
+
return visible !== false ? (isClassComponent ? (react_1.default.createElement(Component, (0, tslib_1.__assign)({ ref: this.childRef }, rest, { rootStore: rootStore, dispatchEvent: this.dispatchEvent }))) : (react_1.default.createElement(Component, (0, tslib_1.__assign)({}, rest, { rootStore: rootStore, dispatchEvent: this.dispatchEvent })))) : null;
|
83
94
|
};
|
95
|
+
var _a;
|
84
96
|
BroadcastCmpt.contextType = Scoped_1.ScopedContext;
|
85
97
|
(0, tslib_1.__decorate)([
|
86
98
|
helper_1.autobind,
|
@@ -88,6 +100,10 @@ var BroadcastCmpt = /** @class */ (function (_super) {
|
|
88
100
|
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
89
101
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
90
102
|
], BroadcastCmpt.prototype, "childRef", null);
|
103
|
+
BroadcastCmpt = (0, tslib_1.__decorate)([
|
104
|
+
mobx_react_1.observer,
|
105
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_a = typeof Scoped_1.IScopedContext !== "undefined" && Scoped_1.IScopedContext) === "function" ? _a : Object])
|
106
|
+
], BroadcastCmpt);
|
91
107
|
return BroadcastCmpt;
|
92
108
|
}(react_1.default.Component));
|
93
109
|
var SchemaRenderer = /** @class */ (function (_super) {
|
@@ -264,7 +280,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
264
280
|
return null;
|
265
281
|
}
|
266
282
|
var component = (react_1.default.createElement(BroadcastCmpt, (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, component: Component })));
|
267
|
-
return
|
283
|
+
return this.props.env.enableAMISDebug ? (react_1.default.createElement(debug_1.DebugWrapper, { renderer: renderer }, component)) : (component);
|
268
284
|
};
|
269
285
|
SchemaRenderer.displayName = 'Renderer';
|
270
286
|
return SchemaRenderer;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/SchemaRenderer.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
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 RendererComponent,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {Schema, SchemaNode} from './types';\nimport {DebugWrapper, enableAMISDebug} from './utils/debug';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents, autobind} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\nimport type {RendererEvent} from './utils/renderer-event';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\ninterface BroadcastCmptProps extends RendererProps {\n component: RendererComponent;\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\nclass BroadcastCmpt extends React.Component<BroadcastCmptProps> {\n ref: any;\n unbindEvent: (() => void) | undefined = undefined;\n static contextType = ScopedContext;\n\n constructor(props: BroadcastCmptProps, context: IScopedContext) {\n super(props);\n this.dispatchEvent = this.dispatchEvent.bind(this);\n }\n\n componentDidMount() {\n const {env} = this.props;\n this.unbindEvent = env.bindEvent(this.ref);\n }\n\n componentWillUnmount() {\n this.unbindEvent?.();\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n async dispatchEvent(\n e: React.MouseEvent<any>,\n data: any\n ): Promise<RendererEvent<any> | undefined> {\n return await this.props.env.dispatchEvent(e, this.ref, this.context, data);\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.ref = ref;\n }\n\n render() {\n const {component: Component, ...rest} = this.props;\n\n const isClassComponent = Component.prototype?.isReactComponent;\n\n // 函数组件不支持 ref https://reactjs.org/docs/refs-and-the-dom.html#refs-and-function-components\n\n return isClassComponent ? (\n <Component\n ref={this.childRef}\n {...rest}\n dispatchEvent={this.dispatchEvent}\n />\n ) : (\n <Component {...rest} dispatchEvent={this.dispatchEvent} />\n );\n }\n}\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 // 原来表单项的 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 const component = (\n <BroadcastCmpt\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 component={Component}\n />\n );\n\n return enableAMISDebug ? (\n <DebugWrapper renderer={renderer}>{component}</DebugWrapper>\n ) : (\n component\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 RendererComponent,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {Schema, SchemaNode} from './types';\nimport {DebugWrapper} from './utils/debug';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents, autobind} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\nimport type {RendererEvent} from './utils/renderer-event';\nimport {observer} from 'mobx-react';\nimport {isAlive} from 'mobx-state-tree';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\ninterface BroadcastCmptProps extends RendererProps {\n component: RendererComponent;\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\n@observer\nclass BroadcastCmpt extends React.Component<BroadcastCmptProps> {\n ref: any;\n unbindEvent: (() => void) | undefined = undefined;\n static contextType = ScopedContext;\n\n constructor(props: BroadcastCmptProps, context: IScopedContext) {\n super(props);\n this.dispatchEvent = this.dispatchEvent.bind(this);\n }\n\n componentDidMount() {\n const {env} = this.props;\n this.unbindEvent = env.bindEvent(this.ref);\n }\n\n componentWillUnmount() {\n this.unbindEvent?.();\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n async dispatchEvent(\n e: React.MouseEvent<any>,\n data: any\n ): Promise<RendererEvent<any> | undefined> {\n return await this.props.env.dispatchEvent(e, this.ref, this.context, data);\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.ref = ref;\n }\n\n render() {\n const {component: Component, rootStore, ...rest} = this.props;\n const visible = isAlive(rootStore)\n ? rootStore.visibleState[rest.$schema.id || rest.$path]\n : true;\n const disable = isAlive(rootStore)\n ? rootStore.disableState[rest.$schema.id || rest.$path]\n : false;\n const isClassComponent = Component.prototype?.isReactComponent;\n\n if (disable) {\n (rest as any).disabled = true;\n }\n\n // 函数组件不支持 ref https://reactjs.org/docs/refs-and-the-dom.html#refs-and-function-components\n return visible !== false ? (\n isClassComponent ? (\n <Component\n ref={this.childRef}\n {...rest}\n rootStore={rootStore}\n dispatchEvent={this.dispatchEvent}\n />\n ) : (\n <Component\n {...rest}\n rootStore={rootStore}\n dispatchEvent={this.dispatchEvent}\n />\n )\n ) : null;\n }\n}\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 // 原来表单项的 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 const component = (\n <BroadcastCmpt\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 component={Component}\n />\n );\n\n return this.props.env.enableAMISDebug ? (\n <DebugWrapper renderer={renderer}>{component}</DebugWrapper>\n ) : (\n component\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
|
}
|
package/lib/WithRootStore.d.ts
CHANGED
@@ -3,6 +3,8 @@ import { IRendererStore } from './store';
|
|
3
3
|
import hoistNonReactStatic from 'hoist-non-react-statics';
|
4
4
|
export declare const RootStoreContext: React.Context<{
|
5
5
|
storeType: string;
|
6
|
+
visibleState: any;
|
7
|
+
disableState: any;
|
6
8
|
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
7
9
|
readonly fetcher: any;
|
8
10
|
readonly notify: any;
|
@@ -165,8 +167,13 @@ export declare const RootStoreContext: React.Context<{
|
|
165
167
|
addChildId: (id: string) => void;
|
166
168
|
removeChildId: (id: string) => void;
|
167
169
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
170
|
+
setVisible(id: string, value: boolean): void;
|
171
|
+
setDisable(id: string, value: boolean): void;
|
168
172
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
169
173
|
storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
|
174
|
+
} & {
|
175
|
+
visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
176
|
+
disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
170
177
|
}, {
|
171
178
|
readonly fetcher: any;
|
172
179
|
readonly notify: any;
|
@@ -329,6 +336,8 @@ export declare const RootStoreContext: React.Context<{
|
|
329
336
|
addChildId: (id: string) => void;
|
330
337
|
removeChildId: (id: string) => void;
|
331
338
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
339
|
+
setVisible(id: string, value: boolean): void;
|
340
|
+
setDisable(id: string, value: boolean): void;
|
332
341
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
|
333
342
|
export declare function withRootStore<T extends React.ComponentType<React.ComponentProps<T> & {
|
334
343
|
rootStore: IRendererStore;
|
@@ -386,6 +395,8 @@ export declare function withRootStore<T extends React.ComponentType<React.Compon
|
|
386
395
|
displayName: string;
|
387
396
|
contextType: React.Context<{
|
388
397
|
storeType: string;
|
398
|
+
visibleState: any;
|
399
|
+
disableState: any;
|
389
400
|
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
390
401
|
readonly fetcher: any;
|
391
402
|
readonly notify: any;
|
@@ -548,8 +559,13 @@ export declare function withRootStore<T extends React.ComponentType<React.Compon
|
|
548
559
|
addChildId: (id: string) => void;
|
549
560
|
removeChildId: (id: string) => void;
|
550
561
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
562
|
+
setVisible(id: string, value: boolean): void;
|
563
|
+
setDisable(id: string, value: boolean): void;
|
551
564
|
} & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
|
552
565
|
storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
|
566
|
+
} & {
|
567
|
+
visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
568
|
+
disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
|
553
569
|
}, {
|
554
570
|
readonly fetcher: any;
|
555
571
|
readonly notify: any;
|
@@ -712,6 +728,8 @@ export declare function withRootStore<T extends React.ComponentType<React.Compon
|
|
712
728
|
addChildId: (id: string) => void;
|
713
729
|
removeChildId: (id: string) => void;
|
714
730
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
|
731
|
+
setVisible(id: string, value: boolean): void;
|
732
|
+
setDisable(id: string, value: boolean): void;
|
715
733
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
|
716
734
|
ComposedComponent: React.ComponentType<T>;
|
717
735
|
} & hoistNonReactStatic.NonReactStatics<T, {}> & {
|
package/lib/WithStore.js
CHANGED
@@ -4,6 +4,7 @@ exports.HocStoreFactory = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var hoist_non_react_statics_1 = (0, tslib_1.__importDefault)(require("hoist-non-react-statics"));
|
6
6
|
var mobx_react_1 = require("mobx-react");
|
7
|
+
var mobx_state_tree_1 = require("mobx-state-tree");
|
7
8
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
8
9
|
var filter_schema_1 = (0, tslib_1.__importDefault)(require("./utils/filter-schema"));
|
9
10
|
var helper_1 = require("./utils/helper");
|
@@ -125,7 +126,7 @@ function HocStoreFactory(renderer) {
|
|
125
126
|
StoreFactory.prototype.componentWillUnmount = function () {
|
126
127
|
var rootStore = this.context;
|
127
128
|
var store = this.store;
|
128
|
-
rootStore.removeStore(store);
|
129
|
+
(0, mobx_state_tree_1.isAlive)(store) && rootStore.removeStore(store);
|
129
130
|
// @ts-ignore
|
130
131
|
delete this.store;
|
131
132
|
};
|
package/lib/WithStore.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/WithStore.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import hoistNonReactStatic from 'hoist-non-react-statics';\nimport {observer} from 'mobx-react';\nimport React from 'react';\nimport {RendererProps} from './factory';\nimport {IIRendererStore, IRendererStore} from './store';\nimport {RendererData, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {\n createObject,\n extendObject,\n guid,\n isObjectShallowModified,\n syncDataFromSuper,\n isSuperDataModified\n} from './utils/helper';\nimport {dataMapping} from './utils/tpl-builtin';\nimport {RootStoreContext} from './WithRootStore';\n\nexport function HocStoreFactory(renderer: {\n storeType: string;\n extendsData?: boolean | ((props: any) => boolean);\n shouldSyncSuperStore?: (\n store: any,\n props: any,\n prevProps: any\n ) => boolean | undefined;\n}): any {\n return function <T extends React.ComponentType<RendererProps>>(Component: T) {\n type Props = Omit<\n RendererProps,\n 'store' | 'data' | 'dataUpdatedAt' | 'scope'\n > & {\n store?: IIRendererStore;\n data?: RendererData;\n scope?: RendererData;\n };\n\n @observer\n class StoreFactory extends React.Component<Props> {\n static displayName = `WithStore(${\n Component.displayName || Component.name\n })`;\n static ComposedComponent = Component;\n static contextType = RootStoreContext;\n store: IIRendererStore;\n context!: React.ContextType<typeof RootStoreContext>;\n ref: any;\n\n constructor(\n props: Props,\n context: React.ContextType<typeof RootStoreContext>\n ) {\n super(props);\n\n const rootStore = context;\n this.renderChild = this.renderChild.bind(this);\n this.refFn = this.refFn.bind(this);\n\n const store = rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: renderer.storeType,\n parentId: this.props.store ? this.props.store.id : ''\n }) as IIRendererStore;\n this.store = store;\n\n const extendsData =\n typeof renderer.extendsData === 'function'\n ? renderer.extendsData(props)\n : renderer.extendsData;\n\n if (extendsData === false) {\n store.initData(\n createObject(\n (this.props.data as any)\n ? (this.props.data as any).__super\n : null,\n {\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n ),\n ...this.formatData(this.props.data)\n }\n )\n );\n } else if (\n this.props.scope ||\n (this.props.data && (this.props.data as any).__super)\n ) {\n if (this.props.store && this.props.data === this.props.store.data) {\n store.initData(\n createObject(this.props.store.data, {\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n )\n })\n );\n } else {\n store.initData(\n createObject(\n (this.props.data as any).__super || this.props.scope,\n {\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n ),\n ...this.formatData(this.props.data)\n }\n )\n );\n }\n } else {\n store.initData({\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n ),\n ...this.formatData(this.props.data)\n });\n }\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n formatData(data: any): object {\n if (Array.isArray(data)) {\n return {\n items: data\n };\n }\n\n return data as object;\n }\n\n componentDidUpdate(prevProps: RendererProps) {\n const props = this.props;\n const store = this.store;\n const shouldSync = renderer.shouldSyncSuperStore?.(\n store,\n props,\n prevProps\n );\n\n if (shouldSync === false) {\n return;\n }\n\n const extendsData =\n typeof renderer.extendsData === 'function'\n ? renderer.extendsData(props)\n : renderer.extendsData;\n if (extendsData === false) {\n if (\n shouldSync === true ||\n prevProps.defaultData !== props.defaultData ||\n isObjectShallowModified(prevProps.data, props.data) ||\n //\n // 特殊处理 CRUD。\n // CRUD 中 toolbar 里面的 data 是空对象,但是 __super 会不一样\n (props.data &&\n prevProps.data &&\n props.data.__super !== prevProps.data.__super)\n ) {\n store.initData(\n extendObject(props.data, {\n ...(store.hasRemoteData ? store.data : null), // todo 只保留 remote 数据\n ...this.formatData(props.defaultData),\n ...this.formatData(props.data)\n })\n );\n }\n } else if (\n shouldSync === true ||\n isObjectShallowModified(prevProps.data, props.data) ||\n (props.syncSuperStore !== false &&\n isSuperDataModified(props.data, prevProps.data, store))\n ) {\n if (props.store && props.store.data === props.data) {\n store.initData(\n createObject(\n props.store.data,\n props.syncSuperStore === false\n ? {\n ...store.data\n }\n : syncDataFromSuper(\n store.data,\n props.store.data,\n prevProps.scope,\n store,\n props.syncSuperStore === true\n )\n )\n );\n } else if (props.data && (props.data as any).__super) {\n store.initData(\n extendObject(\n props.data,\n store.hasRemoteData\n ? {\n ...store.data,\n ...props.data\n }\n : undefined\n )\n );\n } else {\n store.initData(createObject(props.scope, props.data));\n }\n } else if (\n (shouldSync === true ||\n !props.store ||\n props.data !== props.store.data) &&\n props.data &&\n props.data.__super\n ) {\n // 这个用法很少,当 data.__super 值发生变化时,更新 store.data\n if (\n !prevProps.data ||\n isObjectShallowModified(\n props.data.__super,\n prevProps.data.__super,\n false\n )\n ) {\n store.initData(\n createObject(props.data.__super, {\n ...props.data,\n ...store.data\n }),\n\n store.storeType === 'FormStore' &&\n prevProps.store?.storeType === 'CRUDStore'\n );\n }\n // nextProps.data.__super !== props.data.__super) &&\n } else if (\n props.scope &&\n props.data === props.store!.data &&\n (shouldSync === true || prevProps.data !== props.data)\n ) {\n // 只有父级数据变动的时候才应该进来,\n // 目前看来这个 case 很少有情况下能进来\n store.initData(\n createObject(props.scope, {\n // ...nextProps.data,\n ...store.data\n })\n );\n }\n }\n\n componentWillUnmount() {\n const rootStore = this.context as IRendererStore;\n const store = this.store;\n rootStore.removeStore(store);\n\n // @ts-ignore\n delete this.store;\n }\n\n renderChild(\n region: string,\n node: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {render} = this.props;\n\n return render(region, node, {\n data: this.store.data,\n dataUpdatedAt: this.store.updatedAt,\n ...subProps,\n scope: this.store.data,\n store: this.store\n });\n }\n\n render() {\n const {detectField, ...rest} = this.props;\n\n let exprProps: any = {};\n if (!detectField || detectField === 'data') {\n exprProps = getExprProperties(rest, this.store.data, undefined, rest);\n\n if (exprProps.hidden || exprProps.visible === false) {\n return null;\n }\n }\n\n return (\n <Component\n {\n ...(rest as any) /* todo */\n }\n {...exprProps}\n ref={this.refFn}\n data={this.store.data}\n dataUpdatedAt={this.store.updatedAt}\n store={this.store}\n scope={this.store.data}\n render={this.renderChild}\n />\n );\n }\n }\n hoistNonReactStatic(StoreFactory, Component);\n\n return StoreFactory;\n };\n}\n"
|
11
|
+
"import hoistNonReactStatic from 'hoist-non-react-statics';\nimport {observer} from 'mobx-react';\nimport {isAlive} from 'mobx-state-tree';\nimport React from 'react';\nimport {RendererProps} from './factory';\nimport {IIRendererStore, IRendererStore} from './store';\nimport {RendererData, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {\n createObject,\n extendObject,\n guid,\n isObjectShallowModified,\n syncDataFromSuper,\n isSuperDataModified\n} from './utils/helper';\nimport {dataMapping} from './utils/tpl-builtin';\nimport {RootStoreContext} from './WithRootStore';\n\nexport function HocStoreFactory(renderer: {\n storeType: string;\n extendsData?: boolean | ((props: any) => boolean);\n shouldSyncSuperStore?: (\n store: any,\n props: any,\n prevProps: any\n ) => boolean | undefined;\n}): any {\n return function <T extends React.ComponentType<RendererProps>>(Component: T) {\n type Props = Omit<\n RendererProps,\n 'store' | 'data' | 'dataUpdatedAt' | 'scope'\n > & {\n store?: IIRendererStore;\n data?: RendererData;\n scope?: RendererData;\n };\n\n @observer\n class StoreFactory extends React.Component<Props> {\n static displayName = `WithStore(${\n Component.displayName || Component.name\n })`;\n static ComposedComponent = Component;\n static contextType = RootStoreContext;\n store: IIRendererStore;\n context!: React.ContextType<typeof RootStoreContext>;\n ref: any;\n\n constructor(\n props: Props,\n context: React.ContextType<typeof RootStoreContext>\n ) {\n super(props);\n\n const rootStore = context;\n this.renderChild = this.renderChild.bind(this);\n this.refFn = this.refFn.bind(this);\n\n const store = rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: renderer.storeType,\n parentId: this.props.store ? this.props.store.id : ''\n }) as IIRendererStore;\n this.store = store;\n\n const extendsData =\n typeof renderer.extendsData === 'function'\n ? renderer.extendsData(props)\n : renderer.extendsData;\n\n if (extendsData === false) {\n store.initData(\n createObject(\n (this.props.data as any)\n ? (this.props.data as any).__super\n : null,\n {\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n ),\n ...this.formatData(this.props.data)\n }\n )\n );\n } else if (\n this.props.scope ||\n (this.props.data && (this.props.data as any).__super)\n ) {\n if (this.props.store && this.props.data === this.props.store.data) {\n store.initData(\n createObject(this.props.store.data, {\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n )\n })\n );\n } else {\n store.initData(\n createObject(\n (this.props.data as any).__super || this.props.scope,\n {\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n ),\n ...this.formatData(this.props.data)\n }\n )\n );\n }\n } else {\n store.initData({\n ...this.formatData(\n dataMapping(this.props.defaultData, this.props.data)\n ),\n ...this.formatData(this.props.data)\n });\n }\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n formatData(data: any): object {\n if (Array.isArray(data)) {\n return {\n items: data\n };\n }\n\n return data as object;\n }\n\n componentDidUpdate(prevProps: RendererProps) {\n const props = this.props;\n const store = this.store;\n const shouldSync = renderer.shouldSyncSuperStore?.(\n store,\n props,\n prevProps\n );\n\n if (shouldSync === false) {\n return;\n }\n\n const extendsData =\n typeof renderer.extendsData === 'function'\n ? renderer.extendsData(props)\n : renderer.extendsData;\n if (extendsData === false) {\n if (\n shouldSync === true ||\n prevProps.defaultData !== props.defaultData ||\n isObjectShallowModified(prevProps.data, props.data) ||\n //\n // 特殊处理 CRUD。\n // CRUD 中 toolbar 里面的 data 是空对象,但是 __super 会不一样\n (props.data &&\n prevProps.data &&\n props.data.__super !== prevProps.data.__super)\n ) {\n store.initData(\n extendObject(props.data, {\n ...(store.hasRemoteData ? store.data : null), // todo 只保留 remote 数据\n ...this.formatData(props.defaultData),\n ...this.formatData(props.data)\n })\n );\n }\n } else if (\n shouldSync === true ||\n isObjectShallowModified(prevProps.data, props.data) ||\n (props.syncSuperStore !== false &&\n isSuperDataModified(props.data, prevProps.data, store))\n ) {\n if (props.store && props.store.data === props.data) {\n store.initData(\n createObject(\n props.store.data,\n props.syncSuperStore === false\n ? {\n ...store.data\n }\n : syncDataFromSuper(\n store.data,\n props.store.data,\n prevProps.scope,\n store,\n props.syncSuperStore === true\n )\n )\n );\n } else if (props.data && (props.data as any).__super) {\n store.initData(\n extendObject(\n props.data,\n store.hasRemoteData\n ? {\n ...store.data,\n ...props.data\n }\n : undefined\n )\n );\n } else {\n store.initData(createObject(props.scope, props.data));\n }\n } else if (\n (shouldSync === true ||\n !props.store ||\n props.data !== props.store.data) &&\n props.data &&\n props.data.__super\n ) {\n // 这个用法很少,当 data.__super 值发生变化时,更新 store.data\n if (\n !prevProps.data ||\n isObjectShallowModified(\n props.data.__super,\n prevProps.data.__super,\n false\n )\n ) {\n store.initData(\n createObject(props.data.__super, {\n ...props.data,\n ...store.data\n }),\n\n store.storeType === 'FormStore' &&\n prevProps.store?.storeType === 'CRUDStore'\n );\n }\n // nextProps.data.__super !== props.data.__super) &&\n } else if (\n props.scope &&\n props.data === props.store!.data &&\n (shouldSync === true || prevProps.data !== props.data)\n ) {\n // 只有父级数据变动的时候才应该进来,\n // 目前看来这个 case 很少有情况下能进来\n store.initData(\n createObject(props.scope, {\n // ...nextProps.data,\n ...store.data\n })\n );\n }\n }\n\n componentWillUnmount() {\n const rootStore = this.context as IRendererStore;\n const store = this.store;\n\n isAlive(store) && rootStore.removeStore(store);\n\n // @ts-ignore\n delete this.store;\n }\n\n renderChild(\n region: string,\n node: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {render} = this.props;\n\n return render(region, node, {\n data: this.store.data,\n dataUpdatedAt: this.store.updatedAt,\n ...subProps,\n scope: this.store.data,\n store: this.store\n });\n }\n\n render() {\n const {detectField, ...rest} = this.props;\n\n let exprProps: any = {};\n if (!detectField || detectField === 'data') {\n exprProps = getExprProperties(rest, this.store.data, undefined, rest);\n\n if (exprProps.hidden || exprProps.visible === false) {\n return null;\n }\n }\n\n return (\n <Component\n {\n ...(rest as any) /* todo */\n }\n {...exprProps}\n ref={this.refFn}\n data={this.store.data}\n dataUpdatedAt={this.store.updatedAt}\n store={this.store}\n scope={this.store.data}\n render={this.renderChild}\n />\n );\n }\n }\n hoistNonReactStatic(StoreFactory, Component);\n\n return StoreFactory;\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -14,15 +14,26 @@ var CmptAction = /** @class */ (function () {
|
|
14
14
|
function CmptAction() {
|
15
15
|
}
|
16
16
|
CmptAction.prototype.run = function (action, renderer, event) {
|
17
|
-
var _a, _b;
|
17
|
+
var _a, _b, _c;
|
18
18
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
19
19
|
var component;
|
20
|
-
return (0, tslib_1.__generator)(this, function (
|
20
|
+
return (0, tslib_1.__generator)(this, function (_d) {
|
21
|
+
// 显隐&状态控制
|
22
|
+
if (['show', 'hidden'].includes(action.actionType)) {
|
23
|
+
return [2 /*return*/, renderer.props.rootStore.setVisible(action.componentId, action.actionType === 'show')];
|
24
|
+
}
|
25
|
+
else if (['enabled', 'disabled'].includes(action.actionType)) {
|
26
|
+
return [2 /*return*/, renderer.props.rootStore.setDisable(action.componentId, action.actionType === 'disabled')];
|
27
|
+
}
|
21
28
|
component = action.componentId && renderer.props.$schema.id !== action.componentId
|
22
29
|
? (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a.getComponentById(action.componentId)
|
23
30
|
: renderer;
|
31
|
+
// 刷新
|
32
|
+
if (action.actionType === 'reload') {
|
33
|
+
return [2 /*return*/, (_b = component.reload) === null || _b === void 0 ? void 0 : _b.call(component, undefined, action.args)];
|
34
|
+
}
|
24
35
|
// 执行组件动作
|
25
|
-
return [2 /*return*/, (
|
36
|
+
return [2 /*return*/, (_c = component.doAction) === null || _c === void 0 ? void 0 : _c.call(component, action, action.args)];
|
26
37
|
});
|
27
38
|
});
|
28
39
|
};
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/actions/CmptAction.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAEA,mCAMkB;AAElB;;;;;;GAMG;AACH;IAAA;
|
9
|
+
"mappings": ";;;;AAEA,mCAMkB;AAElB;;;;;;GAMG;AACH;IAAA;IAoCA,CAAC;IAnCO,wBAAG,GAAT,UACE,MAAsB,EACtB,QAAyB,EACzB,KAAyB;;;;;gBAEzB,UAAU;gBACV,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBAClD,sBAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CACxC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,UAAU,KAAK,MAAM,CAC7B,EAAC;iBACH;qBAAM,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBAC9D,sBAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CACxC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,UAAU,KAAK,UAAU,CACjC,EAAC;iBACH;gBAMK,SAAS,GACb,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW;oBACpE,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,CAAC,MAAM,0CAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC5D,CAAC,CAAC,QAAQ,CAAC;gBAEf,KAAK;gBACL,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;oBAClC,sBAAO,MAAA,SAAS,CAAC,MAAM,+CAAhB,SAAS,EAAU,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAC;iBACnD;gBAED,SAAS;gBACT,sBAAO,MAAA,SAAS,CAAC,QAAQ,+CAAlB,SAAS,EAAY,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAC;;;KAClD;IACH,iBAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,gCAAU;AAsCvB,IAAA,uBAAc,EAAC,WAAW,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {RendererEvent} from '../utils/renderer-event';\nimport {dataMapping} from '../utils/tpl-builtin';\nimport {\n Action,\n ListenerAction,\n ListenerContext,\n LoopStatus,\n registerAction\n} from './Action';\n\n/**\n * 组件动作\n *\n * @export\n * @class CmptAction\n * @implements {Action}\n */\nexport class CmptAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n /**\n * 根据唯一ID查找指定组件\n * 触发组件未指定id或未指定响应组件componentId,则使用触发组件响应\n */\n const component =\n action.componentId && renderer.props.$schema.id !== action.componentId\n ? event.context.scoped?.getComponentById(action.componentId)\n : renderer;\n\n // 执行组件动作\n return component.doAction?.(action, action.args);\n }\n}\n\nregisterAction('component', new CmptAction());\n"
|
11
|
+
"import {RendererEvent} from '../utils/renderer-event';\nimport {dataMapping} from '../utils/tpl-builtin';\nimport {\n Action,\n ListenerAction,\n ListenerContext,\n LoopStatus,\n registerAction\n} from './Action';\n\n/**\n * 组件动作\n *\n * @export\n * @class CmptAction\n * @implements {Action}\n */\nexport class CmptAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n // 显隐&状态控制\n if (['show', 'hidden'].includes(action.actionType)) {\n return renderer.props.rootStore.setVisible(\n action.componentId,\n action.actionType === 'show'\n );\n } else if (['enabled', 'disabled'].includes(action.actionType)) {\n return renderer.props.rootStore.setDisable(\n action.componentId,\n action.actionType === 'disabled'\n );\n }\n\n /**\n * 根据唯一ID查找指定组件\n * 触发组件未指定id或未指定响应组件componentId,则使用触发组件响应\n */\n const component =\n action.componentId && renderer.props.$schema.id !== action.componentId\n ? event.context.scoped?.getComponentById(action.componentId)\n : renderer;\n\n // 刷新\n if (action.actionType === 'reload') {\n return component.reload?.(undefined, action.args);\n }\n\n // 执行组件动作\n return component.doAction?.(action, action.args);\n }\n}\n\nregisterAction('component', new CmptAction());\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -30,7 +30,7 @@ var BarCode = /** @class */ (function (_super) {
|
|
30
30
|
this.renderBarCode();
|
31
31
|
};
|
32
32
|
BarCode.prototype.render = function () {
|
33
|
-
return react_1.default.createElement("
|
33
|
+
return react_1.default.createElement("img", { ref: this.dom });
|
34
34
|
};
|
35
35
|
return BarCode;
|
36
36
|
}(react_1.default.Component));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/BarCode.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;GAEG;;;;AAEH,6DAA0B;AAC1B,kCAAiD;AAEjD,qEAAkC;AAUlC;IAA6B,wCAA6B;IAGxD,iBAAY,KAAmB;QAA/B,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,GAAG,GAAG,eAAK,CAAC,SAAS,
|
9
|
+
"mappings": ";AAAA;;GAEG;;;;AAEH,6DAA0B;AAC1B,kCAAiD;AAEjD,qEAAkC;AAUlC;IAA6B,wCAA6B;IAGxD,iBAAY,KAAmB;QAA/B,YACE,kBAAM,KAAK,CAAC,SAEb;QADC,KAAI,CAAC,GAAG,GAAG,eAAK,CAAC,SAAS,EAAoB,CAAC;;IACjD,CAAC;IAED,oCAAkB,GAAlB,UAAmB,SAAuB;QACxC,IACE,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EACxE;YACA,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,+BAAa,GAAb;QACE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACpB,IAAA,mBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACnE;IACH,CAAC;IAED,mCAAiB,GAAjB;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,wBAAM,GAAN;QACE,OAAO,uCAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CAAC;IAChC,CAAC;IACH,cAAC;AAAD,CAAC,AA9BD,CAA6B,eAAK,CAAC,SAAS,GA8B3C;AA9BY,0BAAO;AAgCpB,kBAAe,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file 基于实现 bar code\n */\n\nimport React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\n\nimport JsBarcode from 'jsbarcode';\n\nexport interface BarCodeProps {\n value: string;\n className?: string;\n classPrefix: string;\n options?: JsBarcode.Options;\n classnames: ClassNamesFn;\n}\n\nexport class BarCode extends React.Component<BarCodeProps> {\n private dom;\n\n constructor(props: BarCodeProps) {\n super(props);\n this.dom = React.createRef<
|
11
|
+
"/**\n * @file 基于实现 bar code\n */\n\nimport React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\n\nimport JsBarcode from 'jsbarcode';\n\nexport interface BarCodeProps {\n value: string;\n className?: string;\n classPrefix: string;\n options?: JsBarcode.Options;\n classnames: ClassNamesFn;\n}\n\nexport class BarCode extends React.Component<BarCodeProps> {\n private dom;\n\n constructor(props: BarCodeProps) {\n super(props);\n this.dom = React.createRef<HTMLImageElement>();\n }\n\n componentDidUpdate(prevProps: BarCodeProps) {\n if (\n this.props.value !== prevProps.value ||\n JSON.stringify(this.props.options) !== JSON.stringify(prevProps.options)\n ) {\n this.renderBarCode();\n }\n }\n\n renderBarCode() {\n if (this.dom.current) {\n JsBarcode(this.dom.current, this.props.value, this.props.options);\n }\n }\n\n componentDidMount() {\n this.renderBarCode();\n }\n\n render() {\n return <img ref={this.dom} />;\n }\n}\n\nexport default themeable(BarCode);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -80,6 +80,7 @@ export interface DatePickerState {
|
|
80
80
|
isOpened: boolean;
|
81
81
|
isFocused: boolean;
|
82
82
|
value: moment.Moment | undefined;
|
83
|
+
inputValue: string | undefined;
|
83
84
|
}
|
84
85
|
export declare class DatePicker extends React.Component<DateProps, DatePickerState> {
|
85
86
|
static defaultProps: {
|
@@ -92,6 +93,7 @@ export declare class DatePicker extends React.Component<DateProps, DatePickerSta
|
|
92
93
|
state: DatePickerState;
|
93
94
|
constructor(props: DateProps);
|
94
95
|
dom: HTMLDivElement;
|
96
|
+
inputRef: React.RefObject<HTMLInputElement>;
|
95
97
|
componentDidUpdate(prevProps: DateProps): void;
|
96
98
|
focus(): void;
|
97
99
|
handleFocus(e: React.SyntheticEvent<HTMLDivElement>): void;
|
@@ -103,6 +105,7 @@ export declare class DatePicker extends React.Component<DateProps, DatePickerSta
|
|
103
105
|
close(): void;
|
104
106
|
clearValue(e: React.MouseEvent<any>): void;
|
105
107
|
handleChange(value: moment.Moment): void;
|
108
|
+
inputChange(e: React.ChangeEvent<HTMLInputElement>): void;
|
106
109
|
selectRannge(item: any): void;
|
107
110
|
checkIsValidDate(currentDate: moment.Moment): boolean;
|
108
111
|
getTarget(): HTMLDivElement;
|
@@ -19,6 +19,7 @@ var Calendar_1 = (0, tslib_1.__importDefault)(require("./calendar/Calendar"));
|
|
19
19
|
var locale_1 = require("../locale");
|
20
20
|
var helper_1 = require("../utils/helper");
|
21
21
|
var CalendarMobile_1 = (0, tslib_1.__importDefault)(require("./CalendarMobile"));
|
22
|
+
var Input_1 = (0, tslib_1.__importDefault)(require("./Input"));
|
22
23
|
var availableShortcuts = {
|
23
24
|
now: {
|
24
25
|
label: 'Date.now',
|
@@ -215,15 +216,18 @@ function normalizeValue(value, format) {
|
|
215
216
|
var DatePicker = /** @class */ (function (_super) {
|
216
217
|
(0, tslib_1.__extends)(DatePicker, _super);
|
217
218
|
function DatePicker(props) {
|
219
|
+
var _a;
|
218
220
|
var _this = _super.call(this, props) || this;
|
219
221
|
_this.state = {
|
220
222
|
isOpened: false,
|
221
223
|
isFocused: false,
|
222
|
-
value: normalizeValue(_this.props.value, _this.props.format)
|
224
|
+
value: normalizeValue(_this.props.value, _this.props.format),
|
225
|
+
inputValue: ((_a = normalizeValue(_this.props.value, _this.props.format)) === null || _a === void 0 ? void 0 : _a.format(_this.props.inputFormat)) || ''
|
223
226
|
};
|
224
227
|
_this.domRef = function (ref) {
|
225
228
|
_this.dom = ref;
|
226
229
|
};
|
230
|
+
_this.inputRef = react_1.default.createRef();
|
227
231
|
_this.handleChange = _this.handleChange.bind(_this);
|
228
232
|
_this.selectRannge = _this.selectRannge.bind(_this);
|
229
233
|
_this.checkIsValidDate = _this.checkIsValidDate.bind(_this);
|
@@ -238,14 +242,26 @@ var DatePicker = /** @class */ (function (_super) {
|
|
238
242
|
_this.getTarget = _this.getTarget.bind(_this);
|
239
243
|
_this.handlePopOverClick = _this.handlePopOverClick.bind(_this);
|
240
244
|
_this.renderShortCuts = _this.renderShortCuts.bind(_this);
|
245
|
+
_this.inputChange = _this.inputChange.bind(_this);
|
241
246
|
return _this;
|
242
247
|
}
|
243
248
|
DatePicker.prototype.componentDidUpdate = function (prevProps) {
|
249
|
+
var _a;
|
244
250
|
var props = this.props;
|
245
|
-
|
246
|
-
|
251
|
+
var prevValue = prevProps.value;
|
252
|
+
if (prevValue !== props.value) {
|
253
|
+
var newState = {
|
247
254
|
value: normalizeValue(props.value, props.format)
|
248
|
-
}
|
255
|
+
};
|
256
|
+
// 相对值和公式是 didUpdate 的时候才更新
|
257
|
+
if (typeof prevValue === 'string' &&
|
258
|
+
(prevValue.startsWith('+') ||
|
259
|
+
prevValue.startsWith('-') ||
|
260
|
+
prevValue.startsWith('$'))) {
|
261
|
+
newState.inputValue =
|
262
|
+
((_a = normalizeValue(this.props.value, this.props.format)) === null || _a === void 0 ? void 0 : _a.format(this.props.inputFormat)) || '';
|
263
|
+
}
|
264
|
+
this.setState(newState);
|
249
265
|
}
|
250
266
|
};
|
251
267
|
DatePicker.prototype.focus = function () {
|
@@ -282,10 +298,14 @@ var DatePicker = /** @class */ (function (_super) {
|
|
282
298
|
e.preventDefault();
|
283
299
|
};
|
284
300
|
DatePicker.prototype.open = function (fn) {
|
285
|
-
this.props.disabled
|
286
|
-
|
287
|
-
|
288
|
-
|
301
|
+
if (this.props.disabled) {
|
302
|
+
return;
|
303
|
+
}
|
304
|
+
this.setState({
|
305
|
+
isOpened: true
|
306
|
+
}, fn);
|
307
|
+
var input = this.inputRef.current;
|
308
|
+
input && input.focus();
|
289
309
|
};
|
290
310
|
DatePicker.prototype.close = function () {
|
291
311
|
this.setState({
|
@@ -297,9 +317,10 @@ var DatePicker = /** @class */ (function (_super) {
|
|
297
317
|
e.stopPropagation();
|
298
318
|
var onChange = this.props.onChange;
|
299
319
|
onChange('');
|
320
|
+
this.setState({ inputValue: '' });
|
300
321
|
};
|
301
322
|
DatePicker.prototype.handleChange = function (value) {
|
302
|
-
var _a = this.props, onChange = _a.onChange, format = _a.format, minDate = _a.minDate, maxDate = _a.maxDate, dateFormat = _a.dateFormat, timeFormat = _a.timeFormat, closeOnSelect = _a.closeOnSelect, utc = _a.utc, viewMode = _a.viewMode;
|
323
|
+
var _a = this.props, onChange = _a.onChange, format = _a.format, minDate = _a.minDate, maxDate = _a.maxDate, dateFormat = _a.dateFormat, inputFormat = _a.inputFormat, timeFormat = _a.timeFormat, closeOnSelect = _a.closeOnSelect, utc = _a.utc, viewMode = _a.viewMode;
|
303
324
|
if (!moment_1.default.isMoment(value)) {
|
304
325
|
return;
|
305
326
|
}
|
@@ -313,6 +334,30 @@ var DatePicker = /** @class */ (function (_super) {
|
|
313
334
|
if (closeOnSelect && dateFormat && !timeFormat) {
|
314
335
|
this.close();
|
315
336
|
}
|
337
|
+
this.setState({
|
338
|
+
inputValue: utc
|
339
|
+
? moment_1.default.utc(value).format(inputFormat)
|
340
|
+
: value.format(inputFormat)
|
341
|
+
});
|
342
|
+
};
|
343
|
+
// 手动输入日期
|
344
|
+
DatePicker.prototype.inputChange = function (e) {
|
345
|
+
var _a = this.props, onChange = _a.onChange, inputFormat = _a.inputFormat, format = _a.format, utc = _a.utc;
|
346
|
+
var value = e.currentTarget.value;
|
347
|
+
this.setState({ inputValue: value });
|
348
|
+
if (value === '') {
|
349
|
+
onChange('');
|
350
|
+
}
|
351
|
+
else {
|
352
|
+
var newDate = (0, moment_1.default)(value, inputFormat);
|
353
|
+
var dateValue = utc
|
354
|
+
? moment_1.default.utc(newDate).format(format)
|
355
|
+
: newDate.format(format);
|
356
|
+
// 小于 0 的日期丢弃
|
357
|
+
if (!dateValue.startsWith('-')) {
|
358
|
+
onChange(dateValue);
|
359
|
+
}
|
360
|
+
}
|
316
361
|
};
|
317
362
|
DatePicker.prototype.selectRannge = function (item) {
|
318
363
|
var closeOnSelect = this.props.closeOnSelect;
|
@@ -419,12 +464,12 @@ var DatePicker = /** @class */ (function (_super) {
|
|
419
464
|
}
|
420
465
|
return (react_1.default.createElement("div", { tabIndex: 0, onKeyPress: this.handleKeyPress, onFocus: this.handleFocus, onBlur: this.handleBlur, className: cx("DatePicker", (_a = {
|
421
466
|
'is-disabled': disabled,
|
422
|
-
'is-focused': this.state.isFocused
|
467
|
+
'is-focused': !disabled && this.state.isFocused
|
423
468
|
},
|
424
469
|
_a["DatePicker--border".concat((0, helper_1.ucFirst)(borderMode))] = borderMode,
|
425
470
|
_a['is-mobile'] = useMobileUI && (0, helper_1.isMobile)(),
|
426
471
|
_a), className), ref: this.domRef, onClick: this.handleClick },
|
427
|
-
|
472
|
+
react_1.default.createElement(Input_1.default, { className: cx('DatePicker-input'), onChange: this.inputChange, ref: this.inputRef, placeholder: __(placeholder), autoComplete: "off", value: this.state.inputValue, disabled: disabled }),
|
428
473
|
clearable && !disabled && normalizeValue(value, format) ? (react_1.default.createElement("a", { className: cx("DatePicker-clear"), onClick: this.clearValue },
|
429
474
|
react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
|
430
475
|
react_1.default.createElement("a", { className: cx("DatePicker-toggler") },
|