amis 1.8.0-beta.5 → 1.8.0-beta.9
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/Schema.d.ts +9 -2
- package/lib/Schema.js.map +1 -1
- package/lib/actions/PageAction.d.ts +32 -0
- package/lib/actions/PageAction.js +72 -0
- package/lib/actions/PageAction.js.map +13 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Cascader.d.ts +2 -0
- package/lib/components/Cascader.js +28 -12
- package/lib/components/Cascader.js.map +2 -2
- package/lib/components/Checkbox.js +2 -2
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +5 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -0
- package/lib/components/Overlay.js +4 -3
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/PullRefresh.d.ts +86 -0
- package/lib/components/PullRefresh.js +135 -0
- package/lib/components/PullRefresh.js.map +13 -0
- package/lib/components/Spinner.d.ts +200 -107
- package/lib/components/Spinner.js +30 -26
- package/lib/components/Spinner.js.map +2 -2
- package/lib/components/Tooltip.d.ts +4 -0
- package/lib/components/Tooltip.js +6 -4
- package/lib/components/Tooltip.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +60 -4
- package/lib/components/TooltipWrapper.js +27 -8
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +87 -85
- package/lib/components/Tree.js +13 -5
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/TimeView.d.ts +1 -0
- package/lib/components/calendar/TimeView.js +7 -0
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +1 -0
- package/lib/components/condition-builder/Expression.js +4 -4
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Field.d.ts +1 -0
- package/lib/components/condition-builder/Field.js +3 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.d.ts +1 -0
- package/lib/components/condition-builder/Item.js +9 -8
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +1 -0
- package/lib/components/condition-builder/Value.js +5 -5
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +87 -85
- package/lib/components/formula/Editor.js +10 -6
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.js +3 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +5 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +5 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +5 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/CRUD.js +1 -1
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +2 -1
- package/lib/renderers/Form/Combo.js +51 -14
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +1 -0
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputDate.js +10 -3
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +12 -3
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +13 -5
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +12 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +5 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputText.js +8 -4
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +5 -0
- package/lib/renderers/Form/InputTree.js +51 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +68 -70
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +4 -0
- package/lib/renderers/Form/NestedSelect.js +14 -5
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +61 -27
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +4 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +11 -2
- package/lib/renderers/Form/TreeSelect.js +56 -10
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +3 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.d.ts +82 -67
- package/lib/renderers/Nav.js +47 -11
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +20 -0
- package/lib/renderers/Page.js +51 -14
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +2 -0
- package/lib/renderers/Service.js +52 -20
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Spinner.d.ts +58 -2
- package/lib/renderers/Spinner.js +8 -1
- package/lib/renderers/Spinner.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
- package/lib/renderers/Table/ColumnToggler.js +11 -6
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +27 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +1 -0
- package/lib/renderers/Table/index.js +19 -11
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +31 -6
- package/lib/renderers/TooltipWrapper.js +18 -8
- package/lib/renderers/TooltipWrapper.js.map +2 -2
- package/lib/renderers/Wizard.js +23 -14
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/crud.js +23 -13
- package/lib/store/crud.js.map +2 -2
- package/lib/themes/ang-ie11.css +313 -100
- package/lib/themes/ang.css +322 -103
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +429 -216
- package/lib/themes/antd.css +323 -104
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +424 -211
- package/lib/themes/cxd.css +324 -105
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +313 -100
- package/lib/themes/dark.css +322 -103
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +424 -211
- package/lib/themes/default.css +324 -105
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/ColorScale.d.ts +19 -0
- package/lib/utils/ColorScale.js +104 -0
- package/lib/utils/ColorScale.js.map +13 -0
- package/lib/utils/api.js +20 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/dom.d.ts +1 -1
- package/lib/utils/dom.js +7 -5
- package/lib/utils/dom.js.map +2 -2
- package/package.json +3 -2
- package/schema.json +29645 -29137
- package/scss/_properties.scss +33 -15
- package/scss/components/_column-toggler.scss +21 -11
- package/scss/components/_formula.scss +1 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_pull-refresh.scss +25 -0
- package/scss/components/_spinner.scss +134 -56
- package/scss/components/_tooltip.scss +4 -9
- package/scss/components/form/_checks.scss +1 -0
- package/scss/components/form/_combo.scss +13 -1
- package/scss/components/form/_date-range.scss +11 -2
- package/scss/components/form/_date.scss +11 -0
- package/scss/components/form/_file.scss +4 -0
- package/scss/components/form/_form.scss +15 -8
- package/scss/components/form/_transfer.scss +3 -2
- package/scss/themes/_antd-variables.scss +1 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +2 -2
- package/sdk/ang-ie11.css +286 -80
- package/sdk/ang.css +294 -82
- package/sdk/antd-ie11.css +402 -196
- package/sdk/antd.css +295 -83
- 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 +397 -191
- package/sdk/cxd.css +296 -84
- package/sdk/dark-ie11.css +286 -80
- package/sdk/dark.css +294 -82
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +5 -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 +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +397 -191
- package/sdk/sdk.css +296 -84
- package/sdk/sdk.js +1300 -1260
- 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/Schema.ts +10 -0
- package/src/actions/PageAction.ts +62 -0
- package/src/actions/index.ts +1 -0
- package/src/components/Cascader.tsx +37 -11
- package/src/components/Checkbox.tsx +1 -1
- package/src/components/DatePicker.tsx +7 -5
- package/src/components/Drawer.tsx +1 -0
- package/src/components/Modal.tsx +1 -0
- package/src/components/Overlay.tsx +6 -3
- package/src/components/PullRefresh.tsx +197 -0
- package/src/components/Spinner.tsx +77 -42
- package/src/components/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +120 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/TimeView.tsx +12 -0
- package/src/components/condition-builder/Expression.tsx +6 -1
- package/src/components/condition-builder/Field.tsx +5 -1
- package/src/components/condition-builder/Group.tsx +4 -1
- package/src/components/condition-builder/GroupOrItem.tsx +4 -1
- package/src/components/condition-builder/InputSwitch.tsx +4 -1
- package/src/components/condition-builder/Item.tsx +28 -4
- package/src/components/condition-builder/Value.tsx +7 -1
- package/src/components/condition-builder/index.tsx +4 -2
- package/src/components/formula/Editor.tsx +20 -15
- package/src/components/formula/Picker.tsx +9 -5
- package/src/locale/de-DE.ts +5 -1
- package/src/locale/en-US.ts +5 -1
- package/src/locale/zh-CN.ts +5 -1
- package/src/renderers/CRUD.tsx +1 -1
- package/src/renderers/Form/Combo.tsx +102 -46
- package/src/renderers/Form/InputDate.tsx +18 -4
- package/src/renderers/Form/InputDateRange.tsx +19 -2
- package/src/renderers/Form/InputFile.tsx +16 -4
- package/src/renderers/Form/InputImage.tsx +15 -3
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputText.tsx +14 -2
- package/src/renderers/Form/InputTree.tsx +40 -2
- package/src/renderers/Form/Item.tsx +6 -0
- package/src/renderers/Form/NestedSelect.tsx +23 -4
- package/src/renderers/Form/Options.tsx +26 -7
- package/src/renderers/Form/Select.tsx +5 -3
- package/src/renderers/Form/TreeSelect.tsx +47 -9
- package/src/renderers/Form/wrapControl.tsx +2 -2
- package/src/renderers/Nav.tsx +230 -32
- package/src/renderers/Page.tsx +89 -33
- package/src/renderers/Service.tsx +62 -27
- package/src/renderers/Spinner.tsx +85 -3
- package/src/renderers/Table/ColumnToggler.tsx +36 -11
- package/src/renderers/Table/TableCell.tsx +39 -1
- package/src/renderers/Table/index.tsx +34 -21
- package/src/renderers/TooltipWrapper.tsx +64 -28
- package/src/renderers/Wizard.tsx +36 -25
- package/src/store/crud.ts +10 -0
- package/src/types.ts +4 -0
- package/src/utils/ColorScale.ts +138 -0
- package/src/utils/api.ts +26 -4
- package/src/utils/dom.tsx +7 -6
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Service.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {autobind, isEmpty, isVisible, qsstringify} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(dataProvider, 'data', 'setData')!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange} = this.props;\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore} = this.props;\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n const parentStore = store.parentStore;\n\n // 暂时自己不支持弹出 dialog\n if (parentStore && parentStore.openDialog) {\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\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\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 && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return (\n <div className={cx('Service-body')}>\n {\n render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element\n }\n </div>\n );\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {autobind, isEmpty, isVisible, qsstringify} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(\n dataProvider,\n 'data',\n 'setData',\n 'env'\n )!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData,\n this.props.env\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange} = this.props;\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore} = this.props;\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n @autobind\n handleDialogConfirm(\n values: object[],\n action: Action,\n ctx: any,\n targets: Array<any>\n ) {\n const {store} = this.props;\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n\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 handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\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 && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {render(\n // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗\n 'modal',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1,8 +1,64 @@
|
|
1
1
|
import { RendererProps } from '../factory';
|
2
2
|
import React from 'react';
|
3
|
-
|
3
|
+
import { BaseSchema, SchemaCollection } from '../Schema';
|
4
|
+
export interface SpinnerSchema extends BaseSchema {
|
5
|
+
/**
|
6
|
+
* 组件类型
|
7
|
+
*/
|
8
|
+
type: 'spinner';
|
9
|
+
/**
|
10
|
+
* 控制Spinner显示与隐藏
|
11
|
+
*/
|
12
|
+
show: boolean;
|
13
|
+
/**
|
14
|
+
* 自定义spinner的class
|
15
|
+
*/
|
16
|
+
className?: string;
|
17
|
+
/**
|
18
|
+
* spin图标位置包裹元素的自定义class
|
19
|
+
*/
|
20
|
+
spinnerClassName?: string;
|
21
|
+
/**
|
22
|
+
* 作为容器使用时最外层元素的class
|
23
|
+
*/
|
24
|
+
spinnerWrapClassName?: string;
|
25
|
+
/**
|
26
|
+
* @deprecated 已废弃,没有作用
|
27
|
+
*/
|
28
|
+
mode?: string;
|
29
|
+
/**
|
30
|
+
* spinner Icon 大小
|
31
|
+
*/
|
32
|
+
size?: 'sm' | 'lg' | '';
|
33
|
+
/**
|
34
|
+
* 自定义icon
|
35
|
+
*/
|
36
|
+
icon?: string;
|
37
|
+
/**
|
38
|
+
* spinner文案
|
39
|
+
*/
|
40
|
+
tip?: string;
|
41
|
+
/**
|
42
|
+
* spinner文案位置
|
43
|
+
*/
|
44
|
+
tipPlacement?: 'top' | 'right' | 'bottom' | 'left';
|
45
|
+
/**
|
46
|
+
* 延迟显示
|
47
|
+
*/
|
48
|
+
delay?: number;
|
49
|
+
/**
|
50
|
+
* 是否显示遮罩层
|
51
|
+
*/
|
52
|
+
overlay?: boolean;
|
53
|
+
/**
|
54
|
+
* 作为容器使用时内容
|
55
|
+
*/
|
56
|
+
body?: SchemaCollection;
|
4
57
|
}
|
5
|
-
|
58
|
+
interface SpinnerRenderProps extends RendererProps, Omit<SpinnerSchema, 'className'> {
|
59
|
+
}
|
60
|
+
export declare class SpinnerRenderer extends React.Component<SpinnerRenderProps> {
|
61
|
+
renderBody(): JSX.Element | null;
|
6
62
|
render(): JSX.Element;
|
7
63
|
}
|
8
64
|
export {};
|
package/lib/renderers/Spinner.js
CHANGED
@@ -10,8 +10,15 @@ var SpinnerRenderer = /** @class */ (function (_super) {
|
|
10
10
|
function SpinnerRenderer() {
|
11
11
|
return _super !== null && _super.apply(this, arguments) || this;
|
12
12
|
}
|
13
|
+
SpinnerRenderer.prototype.renderBody = function () {
|
14
|
+
var _a = this.props, body = _a.body, render = _a.render;
|
15
|
+
return body ? render('body', body) : null;
|
16
|
+
};
|
13
17
|
SpinnerRenderer.prototype.render = function () {
|
14
|
-
|
18
|
+
var _a = this.props, cx = _a.classnames, spinnerWrapClassName = _a.spinnerWrapClassName, body = _a.body, rest = (0, tslib_1.__rest)(_a, ["classnames", "spinnerWrapClassName", "body"]);
|
19
|
+
return body ? (react_1.default.createElement("div", { className: cx("Spinner-wrap", spinnerWrapClassName) },
|
20
|
+
react_1.default.createElement(Spinner_1.default, (0, tslib_1.__assign)({}, rest)),
|
21
|
+
this.renderBody())) : (react_1.default.createElement(Spinner_1.default, (0, tslib_1.__assign)({}, rest)));
|
15
22
|
};
|
16
23
|
SpinnerRenderer = (0, tslib_1.__decorate)([
|
17
24
|
(0, factory_1.Renderer)({
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Spinner.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,+EAA4C;AAC5C,sCAAmD;AACnD,6DAA0B;
|
9
|
+
"mappings": ";;;;AAAA,+EAA4C;AAC5C,sCAAmD;AACnD,6DAA0B;AA6E1B;IAAqC,gDAAmC;IAAxE;;IAgBA,CAAC;IAfC,oCAAU,GAAV;QACQ,IAAA,KAAiB,IAAI,CAAC,KAAK,EAA1B,IAAI,UAAA,EAAE,MAAM,YAAc,CAAC;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,gCAAM,GAAN;QACE,IAAM,KAAwD,IAAI,CAAC,KAAK,EAArD,EAAE,gBAAA,EAAE,oBAAoB,0BAAA,EAAE,IAAI,UAAA,EAAK,IAAI,2BAApD,8CAAqD,CAAa,CAAC;QACzE,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC;YACtD,8BAAC,iBAAO,4BAAK,IAAI,EAAY;YAC5B,IAAI,CAAC,UAAU,EAAE,CACd,CACP,CAAC,CAAC,CAAC,CACF,8BAAC,iBAAO,4BAAK,IAAI,EAAY,CAC9B,CAAC;IACJ,CAAC;IAfU,eAAe;QAH3B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,SAAS;SAChB,CAAC;OACW,eAAe,CAgB3B;IAAD,sBAAC;CAAA,AAhBD,CAAqC,eAAK,CAAC,SAAS,GAgBnD;AAhBY,0CAAe",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import Spinner from '../components/Spinner';\nimport {Renderer, RendererProps} from '../factory';\nimport React from 'react';\n\
|
11
|
+
"import Spinner from '../components/Spinner';\nimport {Renderer, RendererProps} from '../factory';\nimport React from 'react';\nimport {BaseSchema, SchemaCollection} from '../Schema';\n\nexport interface SpinnerSchema extends BaseSchema {\n /**\n * 组件类型\n */\n type: 'spinner';\n\n /**\n * 控制Spinner显示与隐藏\n */\n show: boolean;\n\n /**\n * 自定义spinner的class\n */\n className?: string;\n\n /**\n * spin图标位置包裹元素的自定义class\n */\n spinnerClassName?: string;\n\n /**\n * 作为容器使用时最外层元素的class\n */\n spinnerWrapClassName?: string;\n\n /**\n * @deprecated 已废弃,没有作用\n */\n mode?: string;\n\n /**\n * spinner Icon 大小\n */\n size?: 'sm' | 'lg' | '';\n\n /**\n * 自定义icon\n */\n icon?: string;\n\n /**\n * spinner文案\n */\n tip?: string;\n\n /**\n * spinner文案位置\n */\n tipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n\n /**\n * 延迟显示\n */\n delay?: number;\n\n /**\n * 是否显示遮罩层\n */\n overlay?: boolean;\n\n /**\n * 作为容器使用时内容\n */\n body?: SchemaCollection;\n}\n\ninterface SpinnerRenderProps\n extends RendererProps,\n Omit<SpinnerSchema, 'className'> {}\n\n@Renderer({\n type: 'spinner'\n})\nexport class SpinnerRenderer extends React.Component<SpinnerRenderProps> {\n renderBody() {\n const {body, render} = this.props;\n return body ? render('body', body) : null;\n }\n render() {\n const {classnames: cx, spinnerWrapClassName, body, ...rest} = this.props;\n return body ? (\n <div className={cx(`Spinner-wrap`, spinnerWrapClassName)}>\n <Spinner {...rest}></Spinner>\n {this.renderBody()}\n </div>\n ) : (\n <Spinner {...rest}></Spinner>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -80,6 +80,10 @@ export interface ColumnTogglerProps extends RendererProps {
|
|
80
80
|
* 列数据
|
81
81
|
*/
|
82
82
|
columns: Array<IColumn>;
|
83
|
+
/**
|
84
|
+
* 弹窗底部按钮大小
|
85
|
+
*/
|
86
|
+
footerBtnSize?: 'xs' | 'sm' | 'md' | 'lg';
|
83
87
|
onColumnToggle: (columns: Array<IColumn>) => void;
|
84
88
|
modalContainer?: () => HTMLElement;
|
85
89
|
}
|
@@ -14,6 +14,8 @@ var TooltipWrapper_1 = (0, tslib_1.__importDefault)(require("../../components/To
|
|
14
14
|
var helper_1 = require("../../utils/helper");
|
15
15
|
var tpl_1 = require("../../utils/tpl");
|
16
16
|
var icons_1 = require("../../components/icons");
|
17
|
+
var icons_2 = require("../../components/icons");
|
18
|
+
var icon_1 = require("../../utils/icon");
|
17
19
|
var RootClose_1 = require("../../utils/RootClose");
|
18
20
|
var ColumnToggler = /** @class */ (function (_super) {
|
19
21
|
(0, tslib_1.__extends)(ColumnToggler, _super);
|
@@ -130,7 +132,7 @@ var ColumnToggler = /** @class */ (function (_super) {
|
|
130
132
|
};
|
131
133
|
ColumnToggler.prototype.renderModal = function () {
|
132
134
|
var _this = this;
|
133
|
-
var _a = this.props, render = _a.render, cx = _a.classnames, ns = _a.classPrefix, modalContainer = _a.modalContainer, draggable = _a.draggable, overlay = _a.overlay, __ = _a.translate;
|
135
|
+
var _a = this.props, render = _a.render, cx = _a.classnames, ns = _a.classPrefix, modalContainer = _a.modalContainer, draggable = _a.draggable, overlay = _a.overlay, __ = _a.translate, footerBtnSize = _a.footerBtnSize;
|
134
136
|
var _b = this.state, enableSorting = _b.enableSorting, tempColumns = _b.tempColumns;
|
135
137
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
136
138
|
react_1.default.createElement(Modal_1.default, { closeOnEsc: true, onHide: this.close, show: this.state.isOpened, contentClassName: cx('ColumnToggler-modal'), container: modalContainer || this.target, overlay: typeof overlay === 'boolean' ? overlay : false },
|
@@ -143,8 +145,9 @@ var ColumnToggler = /** @class */ (function (_super) {
|
|
143
145
|
react_1.default.createElement("li", { className: cx('ColumnToggler-menuItem'), key: column.index }, enableSorting && draggable && tempColumns.length > 1 ? (react_1.default.createElement(react_1.default.Fragment, null,
|
144
146
|
react_1.default.createElement("a", { className: cx('ColumnToggler-menuItem-dragBar') },
|
145
147
|
react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: cx('icon') })),
|
146
|
-
react_1.default.createElement("span",
|
147
|
-
|
148
|
+
react_1.default.createElement("span", { className: cx('ColumnToggler-menuItem-label') },
|
149
|
+
react_1.default.createElement("span", null, column.label || '-')))) : (react_1.default.createElement(Checkbox_1.default, { size: "sm", labelClassName: cx('ColumnToggler-menuItem-label'), classPrefix: ns, checked: column.toggled, disabled: !column.toggable || enableSorting, onChange: _this.updateToggledColumn.bind(_this, column, index) },
|
150
|
+
react_1.default.createElement("span", null, column.label || '-')))))); })
|
148
151
|
: null),
|
149
152
|
react_1.default.createElement("footer", { className: cx('ColumnToggler-modal-footer') },
|
150
153
|
react_1.default.createElement("div", null,
|
@@ -161,8 +164,8 @@ var ColumnToggler = /** @class */ (function (_super) {
|
|
161
164
|
});
|
162
165
|
}, level: "link", disabled: tempColumns.length < 2 }, __('sort'))),
|
163
166
|
react_1.default.createElement("div", null,
|
164
|
-
react_1.default.createElement(Button_1.default, { className: "mr-
|
165
|
-
react_1.default.createElement(Button_1.default, { level: "primary", onClick: this.onConfirm }, __('confirm')))))));
|
167
|
+
react_1.default.createElement(Button_1.default, { size: footerBtnSize, className: "mr-3", onClick: this.close }, __('cancel')),
|
168
|
+
react_1.default.createElement(Button_1.default, { size: footerBtnSize, level: "primary", onClick: this.onConfirm }, __('confirm')))))));
|
166
169
|
};
|
167
170
|
ColumnToggler.prototype.render = function () {
|
168
171
|
var _a = this.props, tooltip = _a.tooltip, placement = _a.placement, tooltipContainer = _a.tooltipContainer, tooltipTrigger = _a.tooltipTrigger, tooltipRootClose = _a.tooltipRootClose, disabledTip = _a.disabledTip, block = _a.block, disabled = _a.disabled, btnDisabled = _a.btnDisabled, btnClassName = _a.btnClassName, size = _a.size, label = _a.label, level = _a.level, primary = _a.primary, className = _a.className, cx = _a.classnames, align = _a.align, iconOnly = _a.iconOnly, icon = _a.icon, isActived = _a.isActived, data = _a.data, draggable = _a.draggable, hideExpandIcon = _a.hideExpandIcon;
|
@@ -175,7 +178,9 @@ var ColumnToggler = /** @class */ (function (_super) {
|
|
175
178
|
'Button--primary': primary,
|
176
179
|
'Button--iconOnly': iconOnly
|
177
180
|
}, size ? "Button--".concat(size) : '') },
|
178
|
-
icon ? (typeof icon === 'string' ? (react_1.default.createElement(
|
181
|
+
icon ? (typeof icon === 'string' ? ((0, icons_2.getIcon)(icon) ? (react_1.default.createElement(icons_1.Icon, { icon: icon, className: cx('icon', { 'm-r-xs': !!label }) })) : ((0, icon_1.generateIcon)(cx, icon, label ? 'm-r-xs' : ''))) : react_1.default.isValidElement(icon) ? (react_1.default.cloneElement(icon, {
|
182
|
+
className: cx({ 'm-r-xs': !!label })
|
183
|
+
})) : (react_1.default.createElement(icons_1.Icon, { icon: "columns", className: "icon m-r-none" }))) : (react_1.default.createElement(icons_1.Icon, { icon: "columns", className: "icon m-r-none" })),
|
179
184
|
typeof label === 'string' ? (0, tpl_1.filter)(label, data) : label,
|
180
185
|
hideExpandIcon || draggable ? null : (react_1.default.createElement("span", { className: cx('ColumnToggler-caret') },
|
181
186
|
react_1.default.createElement(icons_1.Icon, { icon: "caret", className: "icon" })))));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/ColumnToggler.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA,6DAA0B;AAC1B,uCAAsC;AACtC,uEAAkC;AAClC,4EAAyC;AAEzC,kFAA+C;AAC/C,kFAA+C;AAC/C,8EAA2C;AAC3C,gFAA6C;AAC7C,oFAAiD;AACjD,gGAA6D;AAE7D,6CAAkD;AAClD,uCAAuC;AACvC,gDAA4C;AAC5C,mDAAgD;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport Sortable from 'sortablejs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {RendererProps} from '../../factory';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport Modal from '../../components/Modal';\nimport Button from '../../components/Button';\nimport Checkbox from '../../components/Checkbox';\nimport TooltipWrapper from '../../components/TooltipWrapper';\nimport type {TooltipObject} from '../../components/TooltipWrapper';\nimport {noop, autobind} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {Icon} from '../../components/icons';\nimport {RootClose} from '../../utils/RootClose';\nimport {IColumn} from '../../store/table';\n\nexport interface ColumnTogglerProps extends RendererProps {\n /**\n * 按钮文字\n */\n label?: string | React.ReactNode;\n\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n\n /**\n * 禁用状态下的提示\n */\n disabledTip?: string | TooltipObject;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 下拉菜单对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * ColumnToggler的CSS类名\n */\n className?: string;\n\n /**\n * 按钮的CSS类名\n */\n btnClassName?: string;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 是否可通过拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 默认是否展开\n */\n defaultIsOpened?: boolean;\n\n /**\n * 激活状态\n */\n isActived?: boolean;\n\n /**\n * ICON名称\n */\n icon?: string | React.ReactNode;\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 是否隐藏展开的Icon\n */\n hideExpandIcon?: boolean;\n\n /**\n * 是否显示遮罩层\n */\n overlay?: boolean;\n\n /**\n * 列数据\n */\n columns: Array<IColumn>;\n\n onColumnToggle: (columns: Array<IColumn>) => void;\n modalContainer?: () => HTMLElement;\n}\n\nexport interface ColumnTogglerState {\n isOpened: boolean;\n enableSorting: boolean;\n tempColumns: any[];\n}\n\nexport default class ColumnToggler extends React.Component<\n ColumnTogglerProps,\n ColumnTogglerState\n> {\n state: ColumnTogglerState = {\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n };\n\n static defaultProps: Pick<\n ColumnTogglerProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose' | 'draggable'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false,\n draggable: false\n };\n\n target: any;\n sortable?: Sortable;\n dragRefDOM: HTMLElement;\n\n constructor(props: ColumnTogglerProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toggle = this.toggle.bind(this);\n this.domRef = this.domRef.bind(this);\n this.dragRef = this.dragRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n componentWillUnmount() {\n this.destroyDragging();\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toggle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n });\n }\n\n swapColumnPosition(oldIndex: number, newIndex: number) {\n const columns = this.state.tempColumns;\n\n columns[oldIndex] = columns.splice(newIndex, 1, columns[oldIndex])[0];\n this.setState({tempColumns: columns});\n }\n\n updateToggledColumn(\n column: IColumn,\n index: number,\n value: any,\n shift?: boolean\n ) {\n const tempColumns = this.state.tempColumns.concat();\n\n tempColumns.splice(index, 1, {\n ...column,\n toggled: value\n });\n this.setState({tempColumns});\n }\n\n @autobind\n dragRef(ref: any) {\n const {enableSorting} = this.state;\n const {draggable} = this.props;\n\n if (enableSorting && draggable && ref) {\n this.initDragging();\n }\n }\n\n initDragging() {\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}ColumnToggler-modal-content`) as HTMLElement,\n {\n group: `ColumnToggler-modal-content`,\n animation: 150,\n handle: `.${ns}ColumnToggler-menuItem-dragBar`,\n ghostClass: `${ns}ColumnToggler-menuItem--dragging`,\n onEnd: (e: any) => {\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n this.swapColumnPosition(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n onConfirm() {\n const {tempColumns} = this.state;\n const {onColumnToggle} = this.props;\n\n onColumnToggle && onColumnToggle([...tempColumns]);\n this.setState({\n isOpened: false,\n enableSorting: false\n });\n }\n\n renderOuter() {\n const {\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n closeOnClick,\n closeOnOutside\n } = this.props;\n const body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx('ColumnToggler-menu')}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('ColumnToggler-popover')}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n renderModal() {\n const {\n render,\n classnames: cx,\n classPrefix: ns,\n modalContainer,\n draggable,\n overlay,\n translate: __\n } = this.props;\n\n const {enableSorting, tempColumns} = this.state;\n\n return (\n <>\n <Modal\n closeOnEsc\n onHide={this.close}\n show={this.state.isOpened}\n contentClassName={cx('ColumnToggler-modal')}\n container={modalContainer || this.target}\n overlay={typeof overlay === 'boolean' ? overlay : false}\n >\n <header className={cx('ColumnToggler-modal-header')}>\n <span className={cx('ColumnToggler-modal-title')}>列设置</span>\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n className={cx('Modal-close')}\n onClick={this.close}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </header>\n\n <ul className={cx('ColumnToggler-modal-content')} ref={this.dragRef}>\n {Array.isArray(tempColumns)\n ? tempColumns.map((column, index) => (\n <TooltipWrapper\n tooltipClassName={cx('ColumnToggler-tooltip')}\n placement=\"top\"\n tooltip={column.label || ''}\n trigger={enableSorting ? [] : 'hover'}\n key={column.index}\n >\n <li\n className={cx('ColumnToggler-menuItem')}\n key={column.index}\n >\n {enableSorting && draggable && tempColumns.length > 1 ? (\n <>\n <a className={cx('ColumnToggler-menuItem-dragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n <span>\n {column.label ? render('tpl', column.label) : null}\n </span>\n </>\n ) : (\n <Checkbox\n size=\"sm\"\n classPrefix={ns}\n checked={column.toggled}\n disabled={!column.toggable || enableSorting}\n onChange={this.updateToggledColumn.bind(\n this,\n column,\n index\n )}\n >\n <span>\n {column.label ? render('tpl', column.label) : null}\n </span>\n </Checkbox>\n )}\n </li>\n </TooltipWrapper>\n ))\n : null}\n </ul>\n\n <footer className={cx('ColumnToggler-modal-footer')}>\n <div>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': !enableSorting\n })}\n onClick={() => this.setState({enableSorting: false})}\n level=\"link\"\n >\n {__('Table.toggleColumn')}\n </Button>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': enableSorting\n })}\n onClick={() =>\n this.setState(\n {enableSorting: true},\n () =>\n this.state.enableSorting &&\n this.props.draggable &&\n this.initDragging()\n )\n }\n level=\"link\"\n disabled={tempColumns.length < 2}\n >\n {__('sort')}\n </Button>\n </div>\n <div>\n <Button className=\"mr-4\" onClick={this.close}>\n {__('cancel')}\n </Button>\n <Button level=\"primary\" onClick={this.onConfirm}>\n {__('confirm')}\n </Button>\n </div>\n </footer>\n </Modal>\n </>\n );\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n isActived,\n data,\n draggable,\n hideExpandIcon\n } = this.props;\n\n const button = (\n <button\n onClick={this.toggle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {icon ? (\n typeof icon === 'string' ? (\n <i className={cx(icon, 'm-r-xs')} />\n ) : (\n icon\n )\n ) : null}\n {typeof label === 'string' ? filter(label, data) : label}\n {hideExpandIcon || draggable ? null : (\n <span className={cx('ColumnToggler-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n )}\n </button>\n );\n\n return (\n <div\n className={cx(\n 'ColumnToggler',\n {\n 'ColumnToggler-block': block,\n 'ColumnToggler--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n ref={this.domRef}\n >\n {draggable ? (\n button\n ) : (\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n {button}\n </TooltipWrapper>\n )}\n {this.state.isOpened\n ? draggable\n ? this.renderModal()\n : this.renderOuter()\n : null}\n </div>\n );\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport Sortable from 'sortablejs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {RendererProps} from '../../factory';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport Modal from '../../components/Modal';\nimport Button from '../../components/Button';\nimport Checkbox from '../../components/Checkbox';\nimport TooltipWrapper from '../../components/TooltipWrapper';\nimport type {TooltipObject} from '../../components/TooltipWrapper';\nimport {noop, autobind} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {Icon} from '../../components/icons';\nimport {getIcon} from '../../components/icons';\nimport {generateIcon} from '../../utils/icon';\nimport {RootClose} from '../../utils/RootClose';\nimport {IColumn} from '../../store/table';\n\nexport interface ColumnTogglerProps extends RendererProps {\n /**\n * 按钮文字\n */\n label?: string | React.ReactNode;\n\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n\n /**\n * 禁用状态下的提示\n */\n disabledTip?: string | TooltipObject;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 下拉菜单对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * ColumnToggler的CSS类名\n */\n className?: string;\n\n /**\n * 按钮的CSS类名\n */\n btnClassName?: string;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 是否可通过拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 默认是否展开\n */\n defaultIsOpened?: boolean;\n\n /**\n * 激活状态\n */\n isActived?: boolean;\n\n /**\n * ICON名称\n */\n icon?: string | React.ReactNode;\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 是否隐藏展开的Icon\n */\n hideExpandIcon?: boolean;\n\n /**\n * 是否显示遮罩层\n */\n overlay?: boolean;\n\n /**\n * 列数据\n */\n columns: Array<IColumn>;\n\n /**\n * 弹窗底部按钮大小\n */\n footerBtnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n onColumnToggle: (columns: Array<IColumn>) => void;\n modalContainer?: () => HTMLElement;\n}\n\nexport interface ColumnTogglerState {\n isOpened: boolean;\n enableSorting: boolean;\n tempColumns: any[];\n}\n\nexport default class ColumnToggler extends React.Component<\n ColumnTogglerProps,\n ColumnTogglerState\n> {\n state: ColumnTogglerState = {\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n };\n\n static defaultProps: Pick<\n ColumnTogglerProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose' | 'draggable'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false,\n draggable: false\n };\n\n target: any;\n sortable?: Sortable;\n dragRefDOM: HTMLElement;\n\n constructor(props: ColumnTogglerProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toggle = this.toggle.bind(this);\n this.domRef = this.domRef.bind(this);\n this.dragRef = this.dragRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n componentWillUnmount() {\n this.destroyDragging();\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toggle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false,\n enableSorting: false,\n tempColumns: cloneDeep(this.props.columns)\n });\n }\n\n swapColumnPosition(oldIndex: number, newIndex: number) {\n const columns = this.state.tempColumns;\n\n columns[oldIndex] = columns.splice(newIndex, 1, columns[oldIndex])[0];\n this.setState({tempColumns: columns});\n }\n\n updateToggledColumn(\n column: IColumn,\n index: number,\n value: any,\n shift?: boolean\n ) {\n const tempColumns = this.state.tempColumns.concat();\n\n tempColumns.splice(index, 1, {\n ...column,\n toggled: value\n });\n this.setState({tempColumns});\n }\n\n @autobind\n dragRef(ref: any) {\n const {enableSorting} = this.state;\n const {draggable} = this.props;\n\n if (enableSorting && draggable && ref) {\n this.initDragging();\n }\n }\n\n initDragging() {\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}ColumnToggler-modal-content`) as HTMLElement,\n {\n group: `ColumnToggler-modal-content`,\n animation: 150,\n handle: `.${ns}ColumnToggler-menuItem-dragBar`,\n ghostClass: `${ns}ColumnToggler-menuItem--dragging`,\n onEnd: (e: any) => {\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n this.swapColumnPosition(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n onConfirm() {\n const {tempColumns} = this.state;\n const {onColumnToggle} = this.props;\n\n onColumnToggle && onColumnToggle([...tempColumns]);\n this.setState({\n isOpened: false,\n enableSorting: false\n });\n }\n\n renderOuter() {\n const {\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n closeOnClick,\n closeOnOutside\n } = this.props;\n const body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx('ColumnToggler-menu')}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('ColumnToggler-popover')}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n renderModal() {\n const {\n render,\n classnames: cx,\n classPrefix: ns,\n modalContainer,\n draggable,\n overlay,\n translate: __,\n footerBtnSize\n } = this.props;\n\n const {enableSorting, tempColumns} = this.state;\n\n return (\n <>\n <Modal\n closeOnEsc\n onHide={this.close}\n show={this.state.isOpened}\n contentClassName={cx('ColumnToggler-modal')}\n container={modalContainer || this.target}\n overlay={typeof overlay === 'boolean' ? overlay : false}\n >\n <header className={cx('ColumnToggler-modal-header')}>\n <span className={cx('ColumnToggler-modal-title')}>列设置</span>\n <a\n data-tooltip={__('Dialog.close')}\n data-position=\"left\"\n className={cx('Modal-close')}\n onClick={this.close}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </header>\n\n <ul className={cx('ColumnToggler-modal-content')} ref={this.dragRef}>\n {Array.isArray(tempColumns)\n ? tempColumns.map((column, index) => (\n <TooltipWrapper\n tooltipClassName={cx('ColumnToggler-tooltip')}\n placement=\"top\"\n tooltip={column.label || ''}\n trigger={enableSorting ? [] : 'hover'}\n key={column.index}\n >\n <li\n className={cx('ColumnToggler-menuItem')}\n key={column.index}\n >\n {enableSorting && draggable && tempColumns.length > 1 ? (\n <>\n <a className={cx('ColumnToggler-menuItem-dragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n <span className={cx('ColumnToggler-menuItem-label')}>\n <span>{column.label || '-'}</span>\n </span>\n </>\n ) : (\n <Checkbox\n size=\"sm\"\n labelClassName={cx('ColumnToggler-menuItem-label')}\n classPrefix={ns}\n checked={column.toggled}\n disabled={!column.toggable || enableSorting}\n onChange={this.updateToggledColumn.bind(\n this,\n column,\n index\n )}\n >\n <span>{column.label || '-'}</span>\n </Checkbox>\n )}\n </li>\n </TooltipWrapper>\n ))\n : null}\n </ul>\n\n <footer className={cx('ColumnToggler-modal-footer')}>\n <div>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': !enableSorting\n })}\n onClick={() => this.setState({enableSorting: false})}\n level=\"link\"\n >\n {__('Table.toggleColumn')}\n </Button>\n <Button\n className={cx(`ColumnToggler-modeSelect`, {\n 'is-actived': enableSorting\n })}\n onClick={() =>\n this.setState(\n {enableSorting: true},\n () =>\n this.state.enableSorting &&\n this.props.draggable &&\n this.initDragging()\n )\n }\n level=\"link\"\n disabled={tempColumns.length < 2}\n >\n {__('sort')}\n </Button>\n </div>\n <div>\n <Button\n size={footerBtnSize}\n className=\"mr-3\"\n onClick={this.close}\n >\n {__('cancel')}\n </Button>\n <Button\n size={footerBtnSize}\n level=\"primary\"\n onClick={this.onConfirm}\n >\n {__('confirm')}\n </Button>\n </div>\n </footer>\n </Modal>\n </>\n );\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n isActived,\n data,\n draggable,\n hideExpandIcon\n } = this.props;\n\n const button = (\n <button\n onClick={this.toggle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {icon ? (\n typeof icon === 'string' ? (\n getIcon(icon!) ? (\n <Icon icon={icon} className={cx('icon', {'m-r-xs': !!label})} />\n ) : (\n generateIcon(cx, icon, label ? 'm-r-xs' : '')\n )\n ) : React.isValidElement(icon) ? (\n React.cloneElement(icon, {\n className: cx({'m-r-xs': !!label})\n })\n ) : (\n <Icon icon=\"columns\" className=\"icon m-r-none\" />\n )\n ) : (\n <Icon icon=\"columns\" className=\"icon m-r-none\" />\n )}\n {typeof label === 'string' ? filter(label, data) : label}\n {hideExpandIcon || draggable ? null : (\n <span className={cx('ColumnToggler-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n )}\n </button>\n );\n\n return (\n <div\n className={cx(\n 'ColumnToggler',\n {\n 'ColumnToggler-block': block,\n 'ColumnToggler--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n ref={this.domRef}\n >\n {draggable ? (\n button\n ) : (\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n {button}\n </TooltipWrapper>\n )}\n {this.state.isOpened\n ? draggable\n ? this.renderModal()\n : this.renderOuter()\n : null}\n </div>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -11,13 +11,15 @@ var mobx_react_1 = require("mobx-react");
|
|
11
11
|
var omit = require("lodash/omit");
|
12
12
|
var tpl_1 = require("../../utils/tpl");
|
13
13
|
var Badge_1 = require("../../components/Badge");
|
14
|
+
var ColorScale_1 = (0, tslib_1.__importDefault)(require("../../utils/ColorScale"));
|
15
|
+
var tpl_builtin_1 = require("../../utils/tpl-builtin");
|
14
16
|
var TableCell = /** @class */ (function (_super) {
|
15
17
|
(0, tslib_1.__extends)(TableCell, _super);
|
16
18
|
function TableCell() {
|
17
19
|
return _super !== null && _super.apply(this, arguments) || this;
|
18
20
|
}
|
19
21
|
TableCell.prototype.render = function () {
|
20
|
-
var _a = this.props, cx = _a.classnames, className = _a.className, classNameExpr = _a.classNameExpr, render = _a.render,
|
22
|
+
var _a = this.props, cx = _a.classnames, className = _a.className, classNameExpr = _a.classNameExpr, render = _a.render, _b = _a.style, style = _b === void 0 ? {} : _b, Component = _a.wrapperComponent, column = _a.column, value = _a.value, data = _a.data, children = _a.children, width = _a.width, align = _a.align, innerClassName = _a.innerClassName, label = _a.label, tabIndex = _a.tabIndex, onKeyUp = _a.onKeyUp, rowSpan = _a.rowSpan, _body = _a.body, tpl = _a.tpl, remark = _a.remark, prefix = _a.prefix, affix = _a.affix, isHead = _a.isHead, colIndex = _a.colIndex, row = _a.row, showBadge = _a.showBadge, itemBadge = _a.itemBadge, rest = (0, tslib_1.__rest)(_a, ["classnames", "className", "classNameExpr", "render", "style", "wrapperComponent", "column", "value", "data", "children", "width", "align", "innerClassName", "label", "tabIndex", "onKeyUp", "rowSpan", "body", "tpl", "remark", "prefix", "affix", "isHead", "colIndex", "row", "showBadge", "itemBadge"]);
|
21
23
|
var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, column), { className: innerClassName, type: (column && column.type) || 'plain' });
|
22
24
|
// 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。
|
23
25
|
if (schema.type !== 'button' && schema.type !== 'dropdown-button') {
|
@@ -41,6 +43,30 @@ var TableCell = /** @class */ (function (_super) {
|
|
41
43
|
if (align) {
|
42
44
|
style = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, style), { textAlign: align });
|
43
45
|
}
|
46
|
+
if (column.backgroundScale) {
|
47
|
+
var backgroundScale = column.backgroundScale;
|
48
|
+
var min = backgroundScale.min;
|
49
|
+
var max = backgroundScale.max;
|
50
|
+
if ((0, tpl_builtin_1.isPureVariable)(min)) {
|
51
|
+
min = (0, tpl_builtin_1.resolveVariableAndFilter)(min, data, '| raw');
|
52
|
+
}
|
53
|
+
if ((0, tpl_builtin_1.isPureVariable)(max)) {
|
54
|
+
max = (0, tpl_builtin_1.resolveVariableAndFilter)(max, data, '| raw');
|
55
|
+
}
|
56
|
+
if (typeof min === 'undefined') {
|
57
|
+
min = Math.min.apply(Math, data.rows.map(function (r) { return r[column.name]; }));
|
58
|
+
}
|
59
|
+
if (typeof max === 'undefined') {
|
60
|
+
max = Math.max.apply(Math, data.rows.map(function (r) { return r[column.name]; }));
|
61
|
+
}
|
62
|
+
var colorScale = new ColorScale_1.default(min, max, backgroundScale.colors || ['#FFEF9C', '#FF7127']);
|
63
|
+
var value_1 = data[column.name];
|
64
|
+
if ((0, tpl_builtin_1.isPureVariable)(backgroundScale.source)) {
|
65
|
+
value_1 = (0, tpl_builtin_1.resolveVariableAndFilter)(backgroundScale.source, data, '| raw');
|
66
|
+
}
|
67
|
+
var color = colorScale.getColor(Number(value_1)).toHexString();
|
68
|
+
style.background = color;
|
69
|
+
}
|
44
70
|
if (!Component) {
|
45
71
|
return body;
|
46
72
|
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Table/TableCell.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,yCAAsD;AACtD,wEAAqC;AACrC,sEAAmC;AACnC,oEAAqC;AACrC,yCAAoC;AACpC,kCAAqC;AACrC,uCAAuC;AACvC,gDAA6C;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,yCAAsD;AACtD,wEAAqC;AACrC,sEAAmC;AACnC,oEAAqC;AACrC,yCAAoC;AACpC,kCAAqC;AACrC,uCAAuC;AACvC,gDAA6C;AAC7C,mFAAgD;AAChD,uDAGiC;AAOjC;IAA+B,0CAA8B;IAA7D;;IAiKA,CAAC;IAlJC,0BAAM,GAAN;QACE,IAAI,KA6BA,IAAI,CAAC,KAAK,EA5BA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACQ,SAAS,sBAAA,EAC3B,MAAM,YAAA,EACN,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,KAAK,WAAA,EACL,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,OAAO,aAAA,EACD,KAAK,UAAA,EACX,GAAG,SAAA,EACH,MAAM,YAAA,EACN,MAAM,YAAA,EACN,KAAK,WAAA,EACL,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,GAAG,SAAA,EACH,SAAS,eAAA,EACT,SAAS,eAAA,EACN,IAAI,2BA5BL,4SA6BH,CAAa,CAAC;QACf,IAAM,MAAM,mDACP,MAAM,KACT,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,GACzC,CAAC;QAEF,wCAAwC;QACxC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACjE,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;QAED,IAAI,IAAI,GAAG,QAAQ;YACjB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,kDACjB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAClC,SAAS,EAAE,IAAI,EACf,KAAK,OAAA,EACL,IAAI,MAAA,IACJ,CAAC;QAEP,IAAI,KAAK,EAAE;YACT,KAAK,mDACA,KAAK,KACR,KAAK,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GACvC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnC,IAAI,GAAG,CACL,uCAAK,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAC;oBAC7B,MAAM;oBACN,IAAI;oBACJ,KAAK,CACF,CACP,CAAC;gBACF,MAAM,GAAG,IAAI,CAAC;gBACd,KAAK,GAAG,IAAI,CAAC;gBACb,sBAAsB;aACvB;SACF;QAED,IAAI,KAAK,EAAE;YACT,KAAK,mDACA,KAAK,KACR,SAAS,EAAE,KAAK,GACjB,CAAC;SACH;QAED,IAAI,MAAM,CAAC,eAAe,EAAE;YAC1B,IAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;YAC/C,IAAI,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC;YAC9B,IAAI,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC;YAE9B,IAAI,IAAA,4BAAc,EAAC,GAAG,CAAC,EAAE;gBACvB,GAAG,GAAG,IAAA,sCAAwB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aACpD;YACD,IAAI,IAAA,4BAAc,EAAC,GAAG,CAAC,EAAE;gBACvB,GAAG,GAAG,IAAA,sCAAwB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aACpD;YAED,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;gBAC9B,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAd,CAAc,CAAC,CAAC,CAAC;aAC9D;YACD,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;gBAC9B,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAd,CAAc,CAAC,CAAC,CAAC;aAC9D;YAED,IAAM,UAAU,GAAG,IAAI,oBAAU,CAC/B,GAAG,EACH,GAAG,EACH,eAAe,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CACjD,CAAC;YACF,IAAI,OAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAA,4BAAc,EAAC,eAAe,CAAC,MAAM,CAAC,EAAE;gBAC1C,OAAK,GAAG,IAAA,sCAAwB,EAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;aACzE;YAED,IAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/D,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;SAC1B;QAED,IAAI,CAAC,SAAS,EAAE;YACd,OAAO,IAAmB,CAAC;SAC5B;QAED,IAAI,MAAM,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;SAClB;QAED,OAAO,CACL,8BAAC,SAAS,IACR,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC1C,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CACX,SAAS,EACT,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,YAAM,EAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACjE,EACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO;YAEf,SAAS,CAAC,CAAC,CAAC,CACX,8BAAC,aAAK,IACJ,UAAU,EAAE,EAAE,EACd,KAAK,kDACA,SAAS,KACZ,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC,KAEpD,IAAI,EAAE,GAAG,CAAC,IAAI,GACd,CACH,CAAC,CAAC,CAAC,IAAI;YACP,MAAM;YACN,IAAI;YACJ,KAAK,CACI,CACb,CAAC;IACJ,CAAC;IA/JM,sBAAY,GAAG;QACpB,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEK,mBAAS,GAAkB;QAChC,MAAM;QACN,OAAO;QACP,QAAQ;QACR,MAAM;QACN,KAAK;QACL,SAAS;QACT,QAAQ;KACT,CAAC;IAoJJ,gBAAC;CAAA,AAjKD,CAA+B,eAAK,CAAC,SAAS,GAiK7C;AAjKY,8BAAS;AA6KtB;IAAuC,kDAAS;IAAhD;;IASA,CAAC;IARQ,2BAAS;QACd,WAAW;QACX,oBAAoB;QACpB,SAAS;QACT,UAAU;QACV,QAAQ;OACL,SAAS,CAAC,SAAS,QACtB;IARS,iBAAiB;QAV7B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,YAAY;SACnB,CAAC;QACD,IAAA,mBAAS,GAAE;QACX,IAAA,iBAAW,EAAC;YACX,YAAY,EAAE,IAAI;SACnB,CAAC;QACD,IAAA,kBAAQ,GAAE;QACV,qBAAQ;OACI,iBAAiB,CAS7B;IAAD,wBAAC;CAAA,AATD,CAAuC,SAAS,GAS/C;AATY,8CAAiB;AAiB9B;IAAmC,8CAAS;IAA5C;;IAKA,CAAC;IAJQ,0BAAY,mDACd,SAAS,CAAC,YAAY,KACzB,gBAAgB,EAAE,KAAK,IACvB;IAJS,aAAa;QANzB,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;SACd,CAAC;QACD,IAAA,iBAAW,GAAE;QACb,IAAA,kBAAQ,GAAE;OACE,aAAa,CAKzB;IAAD,oBAAC;CAAA,AALD,CAAmC,SAAS,GAK3C;AALY,sCAAa",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {RendererProps, Renderer} from '../../factory';\nimport QuickEdit from '../QuickEdit';\nimport Copyable from '../Copyable';\nimport PopOverable from '../PopOver';\nimport {observer} from 'mobx-react';\nimport omit = require('lodash/omit');\nimport {filter} from '../../utils/tpl';\nimport {Badge} from '../../components/Badge';\n\nexport interface TableCellProps extends RendererProps {\n wrapperComponent?: React.ReactType;\n column: object;\n}\n\nexport class TableCell extends React.Component<RendererProps> {\n static defaultProps = {\n wrapperComponent: 'td'\n };\n\n static propsList: Array<string> = [\n 'type',\n 'label',\n 'column',\n 'body',\n 'tpl',\n 'rowSpan',\n 'remark'\n ];\n\n render() {\n let {\n classnames: cx,\n className,\n classNameExpr,\n render,\n style,\n wrapperComponent: Component,\n column,\n value,\n data,\n children,\n width,\n align,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n rowSpan,\n body: _body,\n tpl,\n remark,\n prefix,\n affix,\n isHead,\n colIndex,\n row,\n showBadge,\n itemBadge,\n ...rest\n } = this.props;\n const schema = {\n ...column,\n className: innerClassName,\n type: (column && column.type) || 'plain'\n };\n\n // 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。\n if (schema.type !== 'button' && schema.type !== 'dropdown-button') {\n delete schema.label;\n }\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n inputOnly: true,\n value,\n data\n });\n\n if (width) {\n style = {\n ...style,\n width: (style && style.width) || width\n };\n\n if (!/%$/.test(String(style.width))) {\n body = (\n <div style={{width: style.width}}>\n {prefix}\n {body}\n {affix}\n </div>\n );\n prefix = null;\n affix = null;\n // delete style.width;\n }\n }\n\n if (align) {\n style = {\n ...style,\n textAlign: align\n };\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n if (isHead) {\n Component = 'th';\n }\n\n return (\n <Component\n rowSpan={rowSpan > 1 ? rowSpan : undefined}\n style={style}\n className={cx(\n className,\n column.classNameExpr ? filter(column.classNameExpr, data) : null\n )}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {showBadge ? (\n <Badge\n classnames={cx}\n badge={{\n ...itemBadge,\n className: cx(`Table-badge`, itemBadge?.className)\n }}\n data={row.data}\n />\n ) : null}\n {prefix}\n {body}\n {affix}\n </Component>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)table\\/(?:.*\\/)?cell$/,\n name: 'table-cell'\n})\n@QuickEdit()\n@PopOverable({\n targetOutter: true\n})\n@Copyable()\n@observer\nexport class TableCellRenderer extends TableCell {\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n}\n\n@Renderer({\n type: 'field',\n name: 'field'\n})\n@PopOverable()\n@Copyable()\nexport class FieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport {RendererProps, Renderer} from '../../factory';\nimport QuickEdit from '../QuickEdit';\nimport Copyable from '../Copyable';\nimport PopOverable from '../PopOver';\nimport {observer} from 'mobx-react';\nimport omit = require('lodash/omit');\nimport {filter} from '../../utils/tpl';\nimport {Badge} from '../../components/Badge';\nimport ColorScale from '../../utils/ColorScale';\nimport {\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\n\nexport interface TableCellProps extends RendererProps {\n wrapperComponent?: React.ReactType;\n column: object;\n}\n\nexport class TableCell extends React.Component<RendererProps> {\n static defaultProps = {\n wrapperComponent: 'td'\n };\n\n static propsList: Array<string> = [\n 'type',\n 'label',\n 'column',\n 'body',\n 'tpl',\n 'rowSpan',\n 'remark'\n ];\n\n render() {\n let {\n classnames: cx,\n className,\n classNameExpr,\n render,\n style = {},\n wrapperComponent: Component,\n column,\n value,\n data,\n children,\n width,\n align,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n rowSpan,\n body: _body,\n tpl,\n remark,\n prefix,\n affix,\n isHead,\n colIndex,\n row,\n showBadge,\n itemBadge,\n ...rest\n } = this.props;\n const schema = {\n ...column,\n className: innerClassName,\n type: (column && column.type) || 'plain'\n };\n\n // 如果本来就是 type 为 button,不要删除,其他情况下都应该删除。\n if (schema.type !== 'button' && schema.type !== 'dropdown-button') {\n delete schema.label;\n }\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n inputOnly: true,\n value,\n data\n });\n\n if (width) {\n style = {\n ...style,\n width: (style && style.width) || width\n };\n\n if (!/%$/.test(String(style.width))) {\n body = (\n <div style={{width: style.width}}>\n {prefix}\n {body}\n {affix}\n </div>\n );\n prefix = null;\n affix = null;\n // delete style.width;\n }\n }\n\n if (align) {\n style = {\n ...style,\n textAlign: align\n };\n }\n\n if (column.backgroundScale) {\n const backgroundScale = column.backgroundScale;\n let min = backgroundScale.min;\n let max = backgroundScale.max;\n\n if (isPureVariable(min)) {\n min = resolveVariableAndFilter(min, data, '| raw');\n }\n if (isPureVariable(max)) {\n max = resolveVariableAndFilter(max, data, '| raw');\n }\n\n if (typeof min === 'undefined') {\n min = Math.min(...data.rows.map((r: any) => r[column.name]));\n }\n if (typeof max === 'undefined') {\n max = Math.max(...data.rows.map((r: any) => r[column.name]));\n }\n\n const colorScale = new ColorScale(\n min,\n max,\n backgroundScale.colors || ['#FFEF9C', '#FF7127']\n );\n let value = data[column.name];\n if (isPureVariable(backgroundScale.source)) {\n value = resolveVariableAndFilter(backgroundScale.source, data, '| raw');\n }\n\n const color = colorScale.getColor(Number(value)).toHexString();\n style.background = color;\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n if (isHead) {\n Component = 'th';\n }\n\n return (\n <Component\n rowSpan={rowSpan > 1 ? rowSpan : undefined}\n style={style}\n className={cx(\n className,\n column.classNameExpr ? filter(column.classNameExpr, data) : null\n )}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {showBadge ? (\n <Badge\n classnames={cx}\n badge={{\n ...itemBadge,\n className: cx(`Table-badge`, itemBadge?.className)\n }}\n data={row.data}\n />\n ) : null}\n {prefix}\n {body}\n {affix}\n </Component>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)table\\/(?:.*\\/)?cell$/,\n name: 'table-cell'\n})\n@QuickEdit()\n@PopOverable({\n targetOutter: true\n})\n@Copyable()\n@observer\nexport class TableCellRenderer extends TableCell {\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n}\n\n@Renderer({\n type: 'field',\n name: 'field'\n})\n@PopOverable()\n@Copyable()\nexport class FieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -260,6 +260,7 @@ export interface TableProps extends RendererProps {
|
|
260
260
|
declare type ExportExcelToolbar = SchemaNode & {
|
261
261
|
api?: SchemaApi;
|
262
262
|
columns?: string[];
|
263
|
+
exportColumns?: any[];
|
263
264
|
filename?: string;
|
264
265
|
};
|
265
266
|
export default class Table extends React.Component<TableProps, object> {
|