amis 1.10.1-beta.0 → 1.10.2
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/Schema.d.ts +1 -1
- package/lib/Schema.js.map +1 -1
- package/lib/components/Avatar.d.ts +10 -10
- package/lib/components/ListGroup.d.ts +10 -10
- package/lib/components/Range.js +8 -2
- package/lib/components/Range.js.map +2 -2
- package/lib/components/ResultBox.d.ts +41 -40
- package/lib/components/ResultBox.js +23 -19
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/Select.js +5 -3
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Steps.d.ts +1 -0
- package/lib/components/Steps.js +8 -6
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +12 -2
- package/lib/components/condition-builder/index.js +40 -4
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.js +1 -1
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/VariableList.js +2 -2
- package/lib/components/formula/VariableList.js.map +2 -2
- package/lib/components/table/index.d.ts +9 -7
- package/lib/components/table/index.js +102 -102
- package/lib/components/table/index.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/renderers/Action.js +18 -11
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/CRUD.js +2 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/CRUD2.d.ts +213 -0
- package/lib/renderers/CRUD2.js +724 -0
- package/lib/renderers/CRUD2.js.map +13 -0
- package/lib/renderers/Card2.d.ts +1 -1
- package/lib/renderers/Card2.js +1 -2
- package/lib/renderers/Card2.js.map +2 -2
- package/lib/renderers/Cards.d.ts +3 -0
- package/lib/renderers/Cards.js +52 -5
- package/lib/renderers/Cards.js.map +2 -2
- package/lib/renderers/Form/ConditionBuilder.d.ts +10 -0
- package/lib/renderers/Form/ConditionBuilder.js +6 -2
- package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +66 -20
- package/lib/renderers/Form/Editor.d.ts +66 -20
- package/lib/renderers/Form/Item.d.ts +4 -0
- package/lib/renderers/Form/Item.js +1 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +0 -1
- package/lib/renderers/Form/TreeSelect.js +1 -9
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +8 -4
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Icon.d.ts +1 -1
- package/lib/renderers/Icon.js +13 -8
- package/lib/renderers/Icon.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +1 -0
- package/lib/renderers/Table/index.js +19 -5
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Table-v2/index.d.ts +8 -5
- package/lib/renderers/Table-v2/index.js +83 -54
- package/lib/renderers/Table-v2/index.js.map +2 -2
- package/lib/store/combo.d.ts +72 -22
- package/lib/store/crud.d.ts +2 -0
- package/lib/store/crud.js +21 -1
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +30 -9
- package/lib/store/form.js +28 -10
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.d.ts +3 -1
- package/lib/store/formItem.js +3 -5
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/list.d.ts +2 -0
- package/lib/store/list.js +8 -0
- package/lib/store/list.js.map +2 -2
- package/lib/store/table.d.ts +60 -18
- package/lib/themes/ang-ie11.css +166 -19
- package/lib/themes/ang.css +166 -19
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +166 -19
- package/lib/themes/antd.css +166 -19
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +166 -19
- package/lib/themes/cxd.css +166 -19
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +166 -19
- package/lib/themes/dark.css +166 -19
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +166 -19
- package/lib/themes/default.css +166 -19
- 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/icon.js +7 -0
- package/lib/utils/icon.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +28 -25
- package/scss/_mixins.scss +1 -1
- package/scss/components/_condition-builder.scss +11 -0
- package/scss/components/_crud.scss +8 -3
- package/scss/components/_crud2.scss +148 -0
- package/scss/components/_result-box.scss +27 -8
- package/scss/components/_steps.scss +21 -26
- package/scss/components/_table-v2.scss +1 -3
- package/scss/components/form/_select.scss +4 -0
- package/scss/themes/_common.scss +1 -0
- package/sdk/ang-ie11.css +203 -20
- package/sdk/ang.css +203 -20
- package/sdk/antd-ie11.css +203 -20
- package/sdk/antd.css +203 -20
- 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 +203 -20
- package/sdk/cxd.css +203 -20
- package/sdk/dark-ie11.css +203 -20
- package/sdk/dark.css +203 -20
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +203 -20
- package/sdk/sdk.css +203 -20
- package/sdk/sdk.js +1344 -1340
- 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 +1 -0
- package/src/components/Range.tsx +14 -7
- package/src/components/ResultBox.tsx +65 -54
- package/src/components/Select.tsx +6 -5
- package/src/components/Steps.tsx +60 -18
- package/src/components/condition-builder/index.tsx +107 -8
- package/src/components/formula/Editor.tsx +1 -1
- package/src/components/formula/VariableList.tsx +2 -2
- package/src/components/table/index.tsx +190 -193
- package/src/index.tsx +1 -0
- package/src/renderers/Action.tsx +22 -11
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/CRUD.tsx +2 -1
- package/src/renderers/CRUD2.tsx +1213 -0
- package/src/renderers/Card2.tsx +2 -3
- package/src/renderers/Cards.tsx +55 -10
- package/src/renderers/Form/ConditionBuilder.tsx +19 -2
- package/src/renderers/Form/Item.tsx +11 -1
- package/src/renderers/Form/TreeSelect.tsx +14 -16
- package/src/renderers/Form/index.tsx +11 -2
- package/src/renderers/Icon.tsx +8 -1
- package/src/renderers/Table/index.tsx +21 -5
- package/src/renderers/Table-v2/index.tsx +92 -72
- package/src/store/crud.ts +23 -1
- package/src/store/form.ts +31 -24
- package/src/store/formItem.ts +65 -52
- package/src/store/list.ts +10 -0
- package/src/types.ts +2 -1
- package/src/utils/icon.tsx +9 -0
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "CRUD2.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/renderers/CRUD2.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"import React from 'react';\n\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action, PlainObject} from '../types';\nimport {CRUDStore, ICRUDStore} from '../store/crud';\nimport {\n createObject,\n extendObject,\n anyChanged,\n isObjectShallowModified,\n isVisible,\n getPropValue,\n getVariable,\n qsstringify,\n qsparse,\n isArrayChildrenModified,\n findTree,\n isObject,\n autobind,\n mapTree\n} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport Button from '../components/Button';\nimport Select from '../components/Select';\nimport getExprProperties from '../utils/filter-schema';\nimport pick from 'lodash/pick';\nimport {findDOMNode} from 'react-dom';\nimport {evalExpression, filter} from '../utils/tpl';\nimport {isEffectiveApi, isApiOutdated, str2function} from '../utils/api';\nimport omit from 'lodash/omit';\nimport find from 'lodash/find';\nimport findIndex from 'lodash/findIndex';\nimport Html from '../components/Html';\nimport {Spinner} from '../components';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaExpression,\n SchemaMessage,\n SchemaName,\n SchemaObject,\n SchemaTokenizeableString,\n SchemaTpl\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {CardsSchema} from './Cards';\nimport {ListSchema} from './List';\nimport {TableSchema} from './Table';\nimport {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport {SchemaCollection} from '..';\nimport {PaginationSchema} from './Pagination';\nimport {upperCase, upperFirst} from 'lodash';\n\nexport type CRUDRendererEvent = 'search';\n\nexport interface CRUD2CommonSchema extends BaseSchema {\n /**\n * 指定为 CRUD2 渲染器。\n */\n type: 'crud2';\n\n /**\n * 指定内容区的展示模式。\n */\n mode?: 'table' | 'grid' | 'cards' | /* grid 的别名*/ 'list';\n\n /**\n * 初始化数据 API\n */\n api?: SchemaApi;\n\n /**\n * 也可以直接从环境变量中读取,但是不太推荐。\n */\n source?: SchemaTokenizeableString;\n\n /**\n * 静默拉取\n */\n silentPolling?: boolean;\n /**\n * 设置自动刷新时间\n */\n interval?: number;\n stopAutoRefreshWhen?: SchemaExpression;\n\n /**\n * 数据展示模式 无限加载 or 分页\n */\n loadType?: 'more' | 'pagination';\n\n /**\n * 无限加载时,根据此项设置其每页加载数量,可以不限制\n */\n perPage?: number;\n\n /**\n * 是否为前端单次加载模式,可以用来实现前端分页。\n */\n loadDataOnce?: boolean;\n\n /**\n * 是否可以选择数据,外部事件动作\n */\n selectable?: boolean;\n\n /**\n * 是否可以多选数据,仅当selectable为 true 时生效\n */\n multiple?: boolean;\n\n /**\n * 是否展示已选数据区域,仅当selectable为 true 时生效\n */\n showSelection?: boolean;\n\n /**\n * 快速编辑后用来批量保存的 API\n */\n quickSaveApi?: SchemaApi;\n\n /**\n * 快速编辑配置成及时保存时使用的 API\n */\n quickSaveItemApi?: SchemaApi;\n\n /**\n * 保存排序的 api\n */\n saveOrderApi?: SchemaApi;\n\n /**\n * 是否将过滤条件的参数同步到地址栏,默认为true\n * @default true\n */\n syncLocation?: boolean;\n\n /**\n * 设置分页页码字段名。\n * @default page\n */\n pageField?: string;\n\n /**\n * 设置分页一页显示的多少条数据的字段名。\n * @default perPage\n */\n perPageField?: string;\n\n name?: SchemaName;\n\n /**\n * 是否隐藏快速编辑的按钮。\n */\n hideQuickSaveBtn?: boolean;\n\n /**\n * 是否自动跳顶部,当切分页的时候。\n */\n autoJumpToTopOnPagerChange?: boolean;\n\n /**\n * 顶部区域\n */\n headerToolbar?: SchemaCollection;\n\n /**\n * 底部区域\n */\n footerToolbar?: SchemaCollection;\n\n /**\n * 是否将接口返回的内容自动同步到地址栏,前提是开启了同步地址栏。\n */\n syncResponse2Query?: boolean;\n\n /**\n * 翻页时是否保留用户已选的数据\n */\n keepItemSelectionOnPageChange?: boolean;\n\n /**\n * 内容区域占满屏幕剩余空间\n */\n autoFillHeight?: boolean;\n}\n\nexport type CRUDCardsSchema = CRUD2CommonSchema & {\n mode: 'cards';\n} & Omit<CardsSchema, 'type'>;\n\nexport type CRUDListSchema = CRUD2CommonSchema & {\n mode: 'list';\n} & Omit<ListSchema, 'type'>;\n\nexport type CRUDTableSchema = CRUD2CommonSchema & {\n mode?: 'table';\n} & Omit<TableSchema, 'type'>;\n\nexport type CRUD2Schema = CRUDCardsSchema | CRUDListSchema | CRUDTableSchema;\n\nexport interface CRUDProps\n extends RendererProps,\n Omit<CRUD2CommonSchema, 'type' | 'className'> {\n store: ICRUDStore;\n pickerMode?: boolean; // 选择模式,用做表单中的选择操作\n}\n\nexport default class CRUD2 extends React.Component<CRUDProps, any> {\n static propsList: Array<keyof CRUDProps> = [\n 'mode',\n 'syncLocation',\n 'value',\n 'multiple',\n 'valueField',\n 'pageField',\n 'perPageField',\n 'hideQuickSaveBtn',\n 'autoJumpToTopOnPagerChange',\n 'interval',\n 'silentPolling',\n 'stopAutoRefreshWhen',\n 'stopAutoRefreshWhenModalIsOpen',\n 'api',\n 'headerToolbar',\n 'footerToolbar',\n 'autoGenerateFilter',\n 'syncResponse2Query',\n 'keepItemSelectionOnPageChange',\n 'source',\n 'onChange',\n 'onInit',\n 'onSaved',\n 'onQuery',\n 'autoFillHeight',\n 'showSelection'\n ];\n static defaultProps = {\n toolbarInline: true,\n syncLocation: true,\n hideQuickSaveBtn: false,\n autoJumpToTopOnPagerChange: true,\n silentPolling: false,\n autoFillHeight: false,\n showSelection: true,\n perPage: 10\n };\n\n control: any;\n\n lastQuery: any;\n lastData: any;\n\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n stopingAutoRefresh: boolean = false;\n\n constructor(props: CRUDProps) {\n super(props);\n\n const {location, store, syncLocation, pageField, perPageField} = props;\n\n this.mounted = true;\n\n if (syncLocation && location && (location.query || location.search)) {\n store.updateQuery(\n qsparse(location.search.substring(1)),\n undefined,\n pageField,\n perPageField\n );\n } else if (syncLocation && !location && window.location.search) {\n store.updateQuery(\n qsparse(window.location.search.substring(1)) as object,\n undefined,\n pageField,\n perPageField\n );\n }\n\n // 如果有 api,data 里面先写个 空数组,面得继承外层的 items\n // 比如 crud 打开一个弹框,里面也是个 crud,默认一开始其实显示\n // 的是外层 crud 的数据,等接口回来后就会变成新的。\n // 加上这个就是为了解决这种情况\n if (this.props.api) {\n this.props.store.updateData({\n items: []\n });\n }\n }\n\n componentDidMount() {\n const {store, pickerMode, loadType, loadDataOnce, perPage} = this.props;\n\n // 初始化分页\n let pagination = loadType && !!loadDataOnce;\n if (pagination) {\n store.changePage(store.page, perPage);\n }\n\n // 初始化筛选条件\n this.initQuery({});\n\n if (pickerMode) {\n // 解析picker组件默认值\n const val = getPropValue(this.props);\n val && store.setSelectedItems(val);\n }\n }\n\n componentDidUpdate(prevProps: CRUDProps) {\n const props = this.props;\n const store = prevProps.store;\n\n // picker外部引起的值变化处理\n let val: any;\n if (\n this.props.pickerMode &&\n isArrayChildrenModified(\n (val = getPropValue(this.props)),\n getPropValue(prevProps)\n )\n ) {\n store.setSelectedItems(val);\n }\n\n let dataInvalid = false;\n if (\n prevProps.syncLocation &&\n prevProps.location &&\n prevProps.location.search !== props.location.search\n ) {\n // 同步地址栏,那么直接检测 query 是否变了,变了就重新拉数据\n store.updateQuery(\n qsparse(props.location.search.substring(1)),\n undefined,\n props.pageField,\n props.perPageField\n );\n dataInvalid = !!(\n props.api && isObjectShallowModified(store.query, this.lastQuery, false)\n );\n }\n\n if (dataInvalid) {\n // 要同步数据\n } else if (\n prevProps.api &&\n props.api &&\n isApiOutdated(\n prevProps.api,\n props.api,\n store.fetchCtxOf(prevProps.data, {\n pageField: prevProps.pageField,\n perPageField: prevProps.perPageField\n }),\n store.fetchCtxOf(props.data, {\n pageField: props.pageField,\n perPageField: props.perPageField\n })\n )\n ) {\n dataInvalid = true;\n } else if (!props.api && isPureVariable(props.source)) {\n const next = resolveVariableAndFilter(props.source, props.data, '| raw');\n\n if (!this.lastData || this.lastData !== next) {\n store.initFromScope(props.data, props.source);\n this.lastData = next;\n }\n }\n\n if (dataInvalid) {\n this.getData();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n clearTimeout(this.timer);\n }\n\n @autobind\n controlRef(control: any) {\n // 因为 control 有可能被 n 层 hoc 包裹。\n while (control && control.getWrappedInstance) {\n control = control.getWrappedInstance();\n }\n\n this.control = control;\n }\n\n initQuery(values: object) {\n const {store, orderBy, orderDir} = this.props;\n const params: any = {};\n\n if (orderBy) {\n params['orderBy'] = orderBy;\n params['orderDir'] = orderDir || 'asc';\n }\n\n this.handleSearch({\n query: {\n ...params,\n ...values,\n ...store.query\n },\n replaceQuery: this.props.initFetch !== false\n });\n\n // 保留一次用于重置查询条件\n store.setPristineQuery();\n }\n\n /**\n * 加载更多动作处理器\n */\n handleLoadMore() {\n this.getData(undefined, undefined, undefined, true);\n }\n\n /**\n * 发起一次新的查询,查询条件不同,需要从第一页数据加载\n */\n handleSearch(data: {\n query?: object; // 查询条件,没有将使用当前的\n resetQuery?: boolean;\n replaceQuery?: boolean;\n }) {\n const {store, syncLocation, env, pageField, perPageField} = this.props;\n let {query, resetQuery, replaceQuery} = data;\n\n query = syncLocation ? qsparse(qsstringify(query, undefined, true)) : query;\n\n store.updateQuery(\n resetQuery ? this.props.store.pristineQuery : query,\n syncLocation && env && env.updateLocation\n ? (location: any) => env.updateLocation(location, true)\n : undefined,\n pageField,\n perPageField,\n replaceQuery\n );\n\n this.lastQuery = store.query;\n this.getData(undefined, undefined, undefined);\n }\n\n handleStopAutoRefresh() {\n this.timer && clearTimeout(this.timer);\n this.stopingAutoRefresh = true;\n }\n\n handleStartAutoRefresh() {\n this.stopingAutoRefresh = false;\n this.reload();\n }\n\n reloadTarget(target: string, data: any) {\n // implement this.\n }\n\n closeTarget(target: string) {\n // implement this.\n }\n\n updateQuery(newQuery: any = {}) {\n this.props.store;\n }\n\n /**\n * 更新列表数据\n */\n getData(\n /** 静默更新,不显示加载状态 */\n silent?: boolean,\n /** 清空已选择数据 */\n clearSelection?: boolean,\n /** 强制重新加载 */\n forceReload = false,\n /** 加载更多数据,默认模式取props中的配置,只有事件动作需要直接触发 */\n loadMore?: boolean\n ) {\n const {\n store,\n api,\n messages,\n pageField,\n perPageField,\n interval,\n stopAutoRefreshWhen,\n silentPolling,\n syncLocation,\n syncResponse2Query,\n keepItemSelectionOnPageChange,\n stopAutoRefreshWhenModalIsOpen,\n pickerMode,\n env,\n loadType,\n loadDataOnce,\n loadDataOnceFetchOnFilter,\n source,\n columns\n } = this.props;\n\n // reload 需要清空用户选择\n if (\n !loadMore &&\n keepItemSelectionOnPageChange &&\n clearSelection &&\n !pickerMode\n ) {\n store.setSelectedItems([]);\n store.setUnSelectedItems([]);\n }\n\n clearTimeout(this.timer);\n this.lastQuery = store.query;\n const loadDataMode = loadMore ?? loadType === 'more';\n\n const data = createObject(store.data, store.query);\n isEffectiveApi(api, data)\n ? store\n .fetchInitData(api, data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed,\n autoAppend: true,\n forceReload,\n loadDataOnce,\n loadDataOnceFetchOnFilter,\n source,\n silent,\n pageField,\n perPageField,\n loadDataMode,\n syncResponse2Query,\n columns: store.columns ?? columns\n })\n .then(value => {\n interval &&\n !this.stopingAutoRefresh &&\n this.mounted &&\n (!stopAutoRefreshWhen ||\n !(\n stopAutoRefreshWhen &&\n evalExpression(\n stopAutoRefreshWhen,\n createObject(store.data, store.query)\n )\n )) &&\n // 弹窗期间不进行刷新\n (!stopAutoRefreshWhenModalIsOpen || !store.dialogOpen) &&\n (this.timer = setTimeout(\n this.getData.bind(this, silentPolling, undefined, true),\n Math.max(interval, 1000)\n ));\n return value;\n })\n : source && store.initFromScope(data, source);\n }\n\n @autobind\n handleChangePage(page: number, perPage?: number) {\n const {\n store,\n syncLocation,\n env,\n pageField,\n perPageField,\n autoJumpToTopOnPagerChange,\n affixOffsetTop\n } = this.props;\n\n let query: any = {\n [pageField || 'page']: page\n };\n\n if (perPage) {\n query[perPageField || 'perPage'] = perPage;\n }\n\n store.updateQuery(\n query,\n syncLocation && env?.updateLocation ? env.updateLocation : undefined,\n pageField,\n perPageField\n );\n\n this.getData();\n\n if (autoJumpToTopOnPagerChange && this.control) {\n (findDOMNode(this.control) as HTMLElement).scrollIntoView();\n const scrolledY = window.scrollY;\n const offsetTop = affixOffsetTop ?? env?.affixOffsetTop ?? 0;\n scrolledY && window.scroll(0, scrolledY - offsetTop);\n }\n }\n\n handleSave(\n rows: Array<object> | object,\n diff: Array<object> | object,\n indexes: Array<string>,\n unModifiedItems?: Array<any>,\n rowsOrigin?: Array<object> | object,\n resetOnFailed?: boolean\n ) {\n const {\n store,\n quickSaveApi,\n quickSaveItemApi,\n primaryField,\n env,\n messages,\n reload\n } = this.props;\n\n if (Array.isArray(rows)) {\n if (!isEffectiveApi(quickSaveApi)) {\n env && env.alert('CRUD quickSaveApi is required');\n return;\n }\n\n const data: any = createObject(store.data, {\n rows,\n rowsDiff: diff,\n indexes: indexes,\n rowsOrigin\n });\n\n if (rows.length && rows[0].hasOwnProperty(primaryField || 'id')) {\n data.ids = rows\n .map(item => (item as any)[primaryField || 'id'])\n .join(',');\n }\n\n if (unModifiedItems) {\n data.unModifiedItems = unModifiedItems;\n }\n\n store\n .saveRemote(quickSaveApi, data, {\n successMessage: messages && messages.saveFailed,\n errorMessage: messages && messages.saveSuccess\n })\n .then(() => {\n reload && this.reloadTarget(reload, data);\n this.getData(undefined, undefined, true, true);\n })\n .catch(() => {});\n } else {\n if (!isEffectiveApi(quickSaveItemApi)) {\n env && env.alert('CRUD quickSaveItemApi is required!');\n return;\n }\n\n const data = createObject(store.data, {\n item: rows,\n modified: diff,\n origin: rowsOrigin\n });\n\n const sendData = createObject(data, rows);\n store\n .saveRemote(quickSaveItemApi, sendData)\n .then(() => {\n reload && this.reloadTarget(reload, data);\n this.getData(undefined, undefined, true, true);\n })\n .catch(() => {\n resetOnFailed && this.control.reset();\n });\n }\n }\n\n handleSaveOrder(moved: Array<object>, rows: Array<object>) {\n const {store, saveOrderApi, orderField, primaryField, env, reload} =\n this.props;\n\n if (!saveOrderApi) {\n env && env.alert('CRUD saveOrderApi is required!');\n return;\n }\n\n const model: {\n insertAfter?: any;\n insertBefore?: any;\n idMap?: any;\n rows?: any;\n ids?: any;\n order?: any;\n } = createObject(store.data);\n\n let insertAfter: any;\n let insertBefore: any;\n const holding: Array<object> = [];\n const hasIdField =\n primaryField &&\n rows[0] &&\n (rows[0] as object).hasOwnProperty(primaryField);\n\n hasIdField || (model.idMap = {});\n\n model.insertAfter = {};\n rows.forEach((item: any) => {\n if (~moved.indexOf(item)) {\n if (insertAfter) {\n let insertAfterId = hasIdField\n ? (insertAfter as any)[primaryField as string]\n : rows.indexOf(insertAfter);\n model.insertAfter[insertAfterId] =\n (model as any).insertAfter[insertAfterId] || [];\n\n hasIdField || (model.idMap[insertAfterId] = insertAfter);\n model.insertAfter[insertAfterId].push(\n hasIdField ? item[primaryField as string] : item\n );\n } else {\n holding.push(item);\n }\n } else {\n insertAfter = item;\n insertBefore = insertBefore || item;\n }\n });\n\n if (insertBefore && holding.length) {\n let insertBeforeId = hasIdField\n ? insertBefore[primaryField as string]\n : rows.indexOf(insertBefore);\n hasIdField || (model.idMap[insertBeforeId] = insertBefore);\n model.insertBefore = {};\n model.insertBefore[insertBeforeId] = holding.map((item: any) =>\n hasIdField ? item[primaryField as string] : item\n );\n } else if (holding.length) {\n const first: any = holding[0];\n const firstId = hasIdField\n ? first[primaryField as string]\n : rows.indexOf(first);\n\n hasIdField || (model.idMap[firstId] = first);\n model.insertAfter[firstId] = holding\n .slice(1)\n .map((item: any) => (hasIdField ? item[primaryField as string] : item));\n }\n\n if (orderField) {\n const start = (store.page - 1) * store.perPage || 0;\n rows = rows.map((item, key) =>\n extendObject(item, {\n [orderField]: start + key + 1\n })\n );\n }\n\n model.rows = rows.concat();\n hasIdField &&\n (model.ids = rows\n .map((item: any) => item[primaryField as string])\n .join(','));\n hasIdField &&\n orderField &&\n (model.order = rows.map(item =>\n pick(item, [primaryField as string, orderField])\n ));\n\n isEffectiveApi(saveOrderApi, model) &&\n store\n .saveRemote(saveOrderApi, model)\n .then(() => {\n reload && this.reloadTarget(reload, model);\n this.getData(undefined, undefined, true, true);\n })\n .catch(() => {});\n }\n\n @autobind\n handleSelect(items: Array<any>, unSelectedItems: Array<any>) {\n const {\n store,\n keepItemSelectionOnPageChange,\n primaryField,\n multiple,\n pickerMode,\n onSelect\n } = this.props;\n\n let newItems = items;\n let newUnSelectedItems = unSelectedItems;\n\n // cards等组件初始化的时候也会抛出来,感觉不太合理,但是只能用这个先暂时规避一下了\n if (!isArrayChildrenModified(store.selectedItemsAsArray, newItems)) {\n return;\n }\n\n if (keepItemSelectionOnPageChange && store.selectedItems.length) {\n const oldItems = store.selectedItems.concat();\n const oldUnselectedItems = store.unSelectedItems.concat();\n\n items.forEach(item => {\n const idx = findIndex(\n oldItems,\n a =>\n a === item ||\n (a[primaryField || 'id'] &&\n a[primaryField || 'id'] == item[primaryField || 'id'])\n );\n\n if (~idx) {\n oldItems[idx] = item;\n } else {\n oldItems.push(item);\n }\n\n const idx2 = findIndex(\n oldUnselectedItems,\n a =>\n a === item ||\n (a[primaryField || 'id'] &&\n a[primaryField || 'id'] == item[primaryField || 'id'])\n );\n\n if (~idx2) {\n oldUnselectedItems.splice(idx2, 1);\n }\n });\n\n unSelectedItems.forEach(item => {\n const idx = findIndex(\n oldUnselectedItems,\n a =>\n a === item ||\n (a[primaryField || 'id'] &&\n a[primaryField || 'id'] == item[primaryField || 'id'])\n );\n\n const idx2 = findIndex(\n oldItems,\n a =>\n a === item ||\n (a[primaryField || 'id'] &&\n a[primaryField || 'id'] == item[primaryField || 'id'])\n );\n\n if (~idx) {\n oldUnselectedItems[idx] = item;\n } else {\n oldUnselectedItems.push(item);\n }\n\n ~idx2 && oldItems.splice(idx2, 1);\n });\n\n newItems = oldItems;\n newUnSelectedItems = oldUnselectedItems;\n\n // const thisBatch = items.concat(unSelectedItems);\n // let notInThisBatch = (item: any) =>\n // !find(\n // thisBatch,\n // a => a[primaryField || 'id'] == item[primaryField || 'id']\n // );\n\n // newItems = store.selectedItems.filter(notInThisBatch);\n // newUnSelectedItems = store.unSelectedItems.filter(notInThisBatch);\n\n // newItems.push(...items);\n // newUnSelectedItems.push(...unSelectedItems);\n }\n\n if (pickerMode && multiple === false && newItems.length > 1) {\n newUnSelectedItems.push.apply(\n newUnSelectedItems,\n newItems.splice(0, newItems.length - 1)\n );\n }\n\n store.updateSelectData(newItems, newUnSelectedItems);\n onSelect && onSelect(newItems);\n }\n\n /**\n * 表格列上的筛选触发\n */\n handleTableQuery(values: object, forceReload: boolean = false) {\n const {store, syncLocation, env, pageField, perPageField} = this.props;\n\n store.updateQuery(\n {\n ...values,\n [pageField || 'page']: 1\n },\n syncLocation && env && env.updateLocation\n ? env.updateLocation\n : undefined,\n pageField,\n perPageField\n );\n this.getData(undefined, undefined, undefined, forceReload);\n }\n\n reload(subpath?: string, query?: any) {\n if (query) {\n return this.receive(query);\n } else {\n this.getData(undefined, undefined, true, true);\n }\n }\n\n receive(values: object) {\n this.handleTableQuery(values, true);\n }\n\n @autobind\n doAction(action: Action, data: object, throwErrors: boolean = false) {\n if (\n action.actionType &&\n ~['stopAutoRefresh', 'reload', 'search', 'startAutoRefresh'].includes(\n action.actionType\n )\n ) {\n // @ts-ignore\n return this[`handle${upperFirst(action.actionType)}`](data);\n }\n // const {onAction, data: ctx} = this.props;\n // return this.props.onAction?.(\n // undefined,\n // action,\n // ctx,\n // throwErrors,\n // undefined\n // );\n }\n\n unSelectItem(item: any, index: number) {\n const {store} = this.props;\n const selected = store.selectedItems.concat();\n const unSelected = store.unSelectedItems.concat();\n\n const idx = selected.indexOf(item);\n ~idx && unSelected.push.apply(unSelected, selected.splice(idx, 1));\n\n store.setSelectedItems(selected);\n store.setUnSelectedItems(unSelected);\n }\n\n clearSelection() {\n const {store} = this.props;\n const selected = store.selectedItems.concat();\n const unSelected = store.unSelectedItems.concat();\n\n store.setSelectedItems([]);\n store.setUnSelectedItems(unSelected.concat(selected));\n }\n\n @autobind\n renderChild(region: string, schema: any, props: object = {}) {\n const {render, store} = this.props;\n\n // 覆盖所有分页组件\n const childProps = {\n activePage: store.page,\n lastPage: store.lastPage,\n perPage: store.perPage,\n total: store.total,\n onPageChange: this.handleChangePage\n // onAction: onAction\n };\n\n return render(region, schema, {\n ...props,\n // 包两层,主要是为了处理以下 case\n // 里面放了个 form,form 提交过来的时候不希望把 items 这些发送过来。\n // 因为会把数据呈现在地址栏上。\n data: createObject(\n createObject(store.filterData, store.getData(this.props.data)),\n {}\n ),\n render: this.renderChild,\n ...childProps\n });\n }\n\n renderToolbar(region: string, toolbar?: SchemaCollection) {\n if (!toolbar) {\n return null;\n }\n\n toolbar = ([] as any).concat(toolbar) as any[];\n\n return toolbar.map((item, index) =>\n this.renderChild(`${region}/${index}`, item, {\n key: index + ''\n })\n );\n }\n\n renderFilter(filter: SchemaObject[]) {\n if (!filter || filter.length === 0) {\n return null;\n }\n\n return filter.map((item, index) =>\n this.renderChild(`filter/${index}`, item, {\n key: index + '',\n onSubmit: (data: any) => this.handleSearch({query: data})\n })\n );\n }\n\n renderSelection(): React.ReactNode {\n const {\n store,\n classnames: cx,\n labelField,\n labelTpl,\n primaryField,\n translate: __\n } = this.props;\n\n if (!store.selectedItems.length) {\n return null;\n }\n\n return (\n <div className={cx('Crud-selection')}>\n <div className={cx('Crud-selectionLabel')}>\n {__('CRUD.selected', {total: store.selectedItems.length})}\n </div>\n {store.selectedItems.map((item, index) => (\n <div key={index} className={cx(`Crud-value`)}>\n <span\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n className={cx('Crud-valueIcon')}\n onClick={this.unSelectItem.bind(this, item, index)}\n >\n ×\n </span>\n <span className={cx('Crud-valueLabel')}>\n {labelTpl ? (\n <Html html={filter(labelTpl, item)} />\n ) : (\n getVariable(item, labelField || 'label') ||\n getVariable(item, primaryField || 'id')\n )}\n </span>\n </div>\n ))}\n <a onClick={this.clearSelection} className={cx('Crud-selectionClear')}>\n {__('clear')}\n </a>\n </div>\n );\n }\n\n render() {\n const {\n columns,\n className,\n bodyClassName,\n filter,\n render,\n store,\n mode = 'table-v2',\n syncLocation,\n children,\n bulkActions,\n pickerMode,\n selectable,\n multiple,\n valueField,\n primaryField,\n value,\n hideQuickSaveBtn,\n itemActions,\n classnames: cx,\n keepItemSelectionOnPageChange,\n maxKeepItemSelectionLength,\n onAction,\n popOverContainer,\n translate: __,\n onQuery,\n autoGenerateFilter,\n onSelect,\n autoFillHeight,\n showSelection,\n headerToolbar,\n footerToolbar,\n ...rest\n } = this.props;\n\n return (\n <div\n className={cx('Crud2', className, {\n 'is-loading': store.loading\n })}\n >\n <div className={cx('Crud2-filter')}>{this.renderFilter(filter)}</div>\n\n <div className={cx('Crud2-toolbar')}>\n {this.renderToolbar('headerToolbar', headerToolbar)}\n </div>\n\n {showSelection && keepItemSelectionOnPageChange && multiple !== false\n ? this.renderSelection()\n : null}\n\n {render(\n 'body',\n {\n ...rest,\n type: mode,\n columns: mode.startsWith('table')\n ? store.columns || columns\n : undefined\n },\n {\n key: 'body',\n className: cx('Crud2-body', bodyClassName),\n ref: this.controlRef,\n autoGenerateFilter: !filter && autoGenerateFilter,\n autoFillHeight: autoFillHeight,\n checkAll: false, // 不使用组件的全选,因为不在工具栏里\n selectable: !!(selectable ?? pickerMode),\n itemActions,\n multiple: multiple,\n selected:\n pickerMode || keepItemSelectionOnPageChange\n ? store.selectedItemsAsArray\n : undefined,\n keepItemSelectionOnPageChange,\n maxKeepItemSelectionLength,\n valueField: valueField || primaryField,\n primaryField: primaryField,\n items: store.data.items,\n query: store.query,\n orderBy: store.query.orderBy,\n orderDir: store.query.orderDir,\n popOverContainer,\n onSave: this.handleSave,\n onSaveOrder: this.handleSaveOrder,\n onQuery: this.handleTableQuery,\n onSelect: this.handleSelect,\n data: store.mergedData\n }\n )}\n\n <Spinner overlay size=\"lg\" key=\"info\" show={store.loading} />\n\n <div className={cx('Crud2-toolbar')}>\n {this.renderToolbar('footerToolbar', footerToolbar)}\n </div>\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'crud2',\n storeType: CRUDStore.name,\n isolateScope: true\n})\nexport class CRUD2Renderer extends CRUD2 {\n static contextType = ScopedContext;\n\n constructor(props: CRUDProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n reload(subpath?: string, query?: any, ctx?: any) {\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);\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 reloadTarget(target: string, data: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n closeTarget(target: string) {\n const scoped = this.context as IScopedContext;\n scoped.close(target);\n }\n}\n"
|
12
|
+
]
|
13
|
+
}
|
package/lib/renderers/Card2.d.ts
CHANGED
package/lib/renderers/Card2.js
CHANGED
@@ -21,8 +21,7 @@ var Card2 = /** @class */ (function (_super) {
|
|
21
21
|
// TODO 触发事件动作
|
22
22
|
};
|
23
23
|
Card2.prototype.handleCheck = function () {
|
24
|
-
|
25
|
-
this.props.onCheck && this.props.onCheck(!selected, item);
|
24
|
+
this.props.onCheck && this.props.onCheck();
|
26
25
|
};
|
27
26
|
Card2.prototype.renderCheckbox = function () {
|
28
27
|
var _a = this.props, selectable = _a.selectable, cx = _a.classnames, multiple = _a.multiple, disabled = _a.disabled, selected = _a.selected, hideCheckToggler = _a.hideCheckToggler, checkOnItemClick = _a.checkOnItemClick, checkboxClassname = _a.checkboxClassname;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Card2.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,4CAAuC;AACvC,sCAAmD;AAEnD,0CAAyC;AACzC,wCAA0C;AA0E1C;IAAsC,sCAAuC;IAA7E;;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Checkbox} from '../components';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaClassName, SchemaCollection} from '../Schema';\nimport {autobind} from '../utils/helper';\nimport {buildStyle} from '../utils/style';\n\n/**\n * Card2 新卡片渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card2\n */\nexport interface Card2Schema extends BaseSchema {\n /**\n * 指定为 card2 类型\n */\n type: 'card2';\n\n /**\n * 内容\n */\n body: SchemaCollection;\n\n /**\n * body 类名\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 隐藏选框\n */\n hideCheckToggler?: boolean;\n\n /**\n * 不配置href且cards容器下生效,点击整个卡片触发选中\n */\n checkOnItemClick: boolean;\n\n /**\n * 渲染标签\n */\n wrapperComponent?: string;\n}\n\nexport interface Card2Props\n extends RendererProps,\n Omit<Card2Schema, 'type' | 'className'> {\n /**\n * 选择事件\n */\n onCheck: (
|
11
|
+
"import React from 'react';\nimport {Checkbox} from '../components';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaClassName, SchemaCollection} from '../Schema';\nimport {autobind} from '../utils/helper';\nimport {buildStyle} from '../utils/style';\n\n/**\n * Card2 新卡片渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card2\n */\nexport interface Card2Schema extends BaseSchema {\n /**\n * 指定为 card2 类型\n */\n type: 'card2';\n\n /**\n * 内容\n */\n body: SchemaCollection;\n\n /**\n * body 类名\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 隐藏选框\n */\n hideCheckToggler?: boolean;\n\n /**\n * 不配置href且cards容器下生效,点击整个卡片触发选中\n */\n checkOnItemClick: boolean;\n\n /**\n * 渲染标签\n */\n wrapperComponent?: string;\n}\n\nexport interface Card2Props\n extends RendererProps,\n Omit<Card2Schema, 'type' | 'className'> {\n /**\n * 选择事件\n */\n onCheck: () => void;\n\n /**\n * 数据\n */\n item: any;\n\n /**\n * 是否可选,当disabled时,将禁用\n */\n selectable?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否默认选中\n */\n selected?: boolean;\n}\n\nexport default class Card2<T> extends React.Component<Card2Props & T, object> {\n static propsList: Array<string> = ['body', 'className'];\n static defaultProps = {\n className: ''\n };\n\n @autobind\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n const {checkOnItemClick, selectable} = this.props;\n\n // 控制选中\n if (checkOnItemClick && selectable) {\n this.handleCheck();\n }\n\n // TODO 触发事件动作\n }\n\n @autobind\n handleCheck() {\n this.props.onCheck && this.props.onCheck();\n }\n\n renderCheckbox(): JSX.Element | null {\n const {\n selectable,\n classnames: cx,\n multiple,\n disabled,\n selected,\n hideCheckToggler,\n checkOnItemClick,\n checkboxClassname\n } = this.props;\n\n if (!selectable || (checkOnItemClick && hideCheckToggler)) {\n return null;\n }\n\n return (\n <Checkbox\n className={cx('Card2-checkbox', checkboxClassname)}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={disabled}\n checked={selected}\n onChange={this.handleCheck}\n />\n );\n }\n\n /**\n * 渲染内容区\n */\n renderBody(): JSX.Element | null {\n const {body, render, classnames: cx, bodyClassName, ...rest} = this.props;\n\n return (\n <div\n className={cx('Card2-body', bodyClassName)}\n onClick={this.handleClick}\n >\n {body ? (render('body', body as any, rest) as JSX.Element) : null}\n </div>\n );\n }\n\n render() {\n const {\n className,\n wrapperComponent,\n classnames: cx,\n style,\n item,\n selected,\n checkOnItemClick\n } = this.props;\n\n const Component =\n (wrapperComponent as keyof JSX.IntrinsicElements) || 'div';\n\n return (\n <Component\n className={cx('Card2', className, {\n 'checkOnItem': checkOnItemClick,\n 'is-checked': selected\n })}\n style={buildStyle(style, item)}\n >\n {this.renderBody()}\n {this.renderCheckbox()}\n </Component>\n );\n }\n}\n\n@Renderer({\n type: 'card2'\n})\nexport class Card2Renderer extends Card2<{}> {}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/renderers/Cards.d.ts
CHANGED
@@ -127,9 +127,12 @@ export default class Cards extends React.Component<GridProps, object> {
|
|
127
127
|
bodyRef(ref: HTMLDivElement): void;
|
128
128
|
itemsRef(ref: HTMLDivElement): void;
|
129
129
|
affixDetect(): void;
|
130
|
+
doAction(action: Action, data: object, throwErrors?: boolean): void;
|
130
131
|
handleAction(e: React.UIEvent<any>, action: Action, ctx: object): void;
|
131
132
|
handleCheck(item: IItem): void;
|
132
133
|
handleCheckAll(): void;
|
134
|
+
handleSelectAll(): void;
|
135
|
+
handleClearAll(): void;
|
133
136
|
syncSelected(): void;
|
134
137
|
handleQuickChange(item: IItem, values: object, saveImmediately?: boolean | any, saveSilent?: boolean, resetOnFailed?: boolean): void;
|
135
138
|
handleSave(): void;
|
package/lib/renderers/Cards.js
CHANGED
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var react_dom_1 = require("react-dom");
|
7
7
|
var factory_1 = require("../factory");
|
8
|
+
var types_1 = require("../types");
|
8
9
|
var Button_1 = (0, tslib_1.__importDefault)(require("../components/Button"));
|
9
10
|
var list_1 = require("../store/list");
|
10
11
|
var helper_1 = require("../utils/helper");
|
@@ -166,6 +167,25 @@ var Cards = /** @class */ (function (_super) {
|
|
166
167
|
affixed ? afixedDom.classList.add('in') : afixedDom.classList.remove('in');
|
167
168
|
// store.markHeaderAffix(clip.top < offsetY && (clip.top + clip.height - 40) > offsetY);
|
168
169
|
};
|
170
|
+
Cards.prototype.doAction = function (action, data, throwErrors) {
|
171
|
+
if (throwErrors === void 0) { throwErrors = false; }
|
172
|
+
if (action.actionType) {
|
173
|
+
switch (action.actionType) {
|
174
|
+
case 'toggleSelectAll':
|
175
|
+
this.handleCheckAll();
|
176
|
+
break;
|
177
|
+
case 'selectAll':
|
178
|
+
this.handleSelectAll();
|
179
|
+
break;
|
180
|
+
case 'clearAll':
|
181
|
+
this.handleClearAll();
|
182
|
+
break;
|
183
|
+
// case 'dragStart':
|
184
|
+
// this.initDragging();
|
185
|
+
// case 'dragStop':
|
186
|
+
}
|
187
|
+
}
|
188
|
+
};
|
169
189
|
Cards.prototype.handleAction = function (e, action, ctx) {
|
170
190
|
var onAction = this.props.onAction;
|
171
191
|
// 需要支持特殊事件吗?
|
@@ -180,10 +200,25 @@ var Cards = /** @class */ (function (_super) {
|
|
180
200
|
store.toggleAll();
|
181
201
|
this.syncSelected();
|
182
202
|
};
|
203
|
+
Cards.prototype.handleSelectAll = function () {
|
204
|
+
var store = this.props.store;
|
205
|
+
store.selectAll();
|
206
|
+
this.syncSelected();
|
207
|
+
};
|
208
|
+
Cards.prototype.handleClearAll = function () {
|
209
|
+
var store = this.props.store;
|
210
|
+
store.clearAll();
|
211
|
+
this.syncSelected();
|
212
|
+
};
|
183
213
|
Cards.prototype.syncSelected = function () {
|
184
|
-
var _a = this.props, store = _a.store, onSelect = _a.onSelect;
|
185
|
-
|
186
|
-
|
214
|
+
var _a = this.props, store = _a.store, onSelect = _a.onSelect, dispatchEvent = _a.dispatchEvent;
|
215
|
+
var selectItems = store.selectedItems.map(function (item) { return item.data; });
|
216
|
+
var unSelectItems = store.unSelectedItems.map(function (item) { return item.data; });
|
217
|
+
dispatchEvent('selected', (0, helper_1.createObject)(store.data, {
|
218
|
+
selectItems: selectItems,
|
219
|
+
unSelectItems: unSelectItems
|
220
|
+
}));
|
221
|
+
onSelect && onSelect(selectItems, unSelectItems);
|
187
222
|
};
|
188
223
|
Cards.prototype.handleQuickChange = function (item, values, saveImmediately, saveSilent, resetOnFailed) {
|
189
224
|
item.change(values, saveSilent);
|
@@ -248,6 +283,8 @@ var Cards = /** @class */ (function (_super) {
|
|
248
283
|
this.dragTip = ref;
|
249
284
|
};
|
250
285
|
Cards.prototype.initDragging = function () {
|
286
|
+
if (this.sortable)
|
287
|
+
return;
|
251
288
|
var store = this.props.store;
|
252
289
|
var dom = (0, react_dom_1.findDOMNode)(this);
|
253
290
|
var ns = this.props.classPrefix;
|
@@ -395,6 +432,7 @@ var Cards = /** @class */ (function (_super) {
|
|
395
432
|
};
|
396
433
|
// editor中重写,请勿更改前两个参数
|
397
434
|
Cards.prototype.renderCard = function (index, card, item, itemClassName) {
|
435
|
+
var _this = this;
|
398
436
|
var _a = this.props, render = _a.render, cx = _a.classnames, store = _a.store, multiple = _a.multiple, checkOnItemClick = _a.checkOnItemClick, hideCheckToggler = _a.hideCheckToggler;
|
399
437
|
var cardProps = {
|
400
438
|
className: cx((card && card.className) || '', {
|
@@ -409,7 +447,7 @@ var Cards = /** @class */ (function (_super) {
|
|
409
447
|
checkable: item.checkable,
|
410
448
|
draggable: item.draggable,
|
411
449
|
selected: item.checked,
|
412
|
-
onSelect:
|
450
|
+
onSelect: this.handleCheck,
|
413
451
|
dragging: store.dragging,
|
414
452
|
data: item.locals,
|
415
453
|
onAction: this.handleAction,
|
@@ -418,7 +456,9 @@ var Cards = /** @class */ (function (_super) {
|
|
418
456
|
};
|
419
457
|
// card2属性与card有区别
|
420
458
|
if ((card === null || card === void 0 ? void 0 : card.type) === 'card2') {
|
421
|
-
cardProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, cardProps), { item: item.locals, onCheck:
|
459
|
+
cardProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, cardProps), { item: item.locals, onCheck: function () {
|
460
|
+
_this.handleCheck(item);
|
461
|
+
} });
|
422
462
|
}
|
423
463
|
return (react_1.default.createElement("div", { key: item.index, className: cx(itemClassName) }, render("card/".concat(index), (0, tslib_1.__assign)({
|
424
464
|
// @ts-ignore
|
@@ -461,6 +501,7 @@ var Cards = /** @class */ (function (_super) {
|
|
461
501
|
}))) : (react_1.default.createElement("div", { className: cx('Cards-placeholder') }, render('placeholder', __(placeholder)))),
|
462
502
|
footer));
|
463
503
|
};
|
504
|
+
var _a;
|
464
505
|
Cards.propsList = [
|
465
506
|
'header',
|
466
507
|
'headerToolbarRender',
|
@@ -495,6 +536,12 @@ var Cards = /** @class */ (function (_super) {
|
|
495
536
|
itemsClassName: '',
|
496
537
|
checkAll: true
|
497
538
|
};
|
539
|
+
(0, tslib_1.__decorate)([
|
540
|
+
helper_1.autobind,
|
541
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
542
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof types_1.Action !== "undefined" && types_1.Action) === "function" ? _a : Object, Object, Boolean]),
|
543
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
544
|
+
], Cards.prototype, "doAction", null);
|
498
545
|
return Cards;
|
499
546
|
}(react_1.default.Component));
|
500
547
|
exports.default = Cards;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Cards.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React, {Fragment} from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport Button from '../components/Button';\nimport {ListStore, IListStore, IItem} from '../store/list';\nimport {observer} from 'mobx-react';\nimport {\n anyChanged,\n getScrollParent,\n difference,\n ucFirst,\n noop\n} from '../utils/helper';\nimport {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport Sortable from 'sortablejs';\nimport {filter} from '../utils/tpl';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaTpl,\n SchemaTokenizeableString\n} from '../Schema';\nimport {CardProps, CardSchema} from './Card';\nimport {Card2Props, Card2Schema} from './Card2';\n\n/**\n * Cards 卡片集合渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface CardsSchema extends BaseSchema {\n /**\n * 指定为 cards 类型\n */\n type: 'cards';\n\n card?: Partial<CardSchema> | Card2Schema;\n\n /**\n * 头部 CSS 类名\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 底部 CSS 类名\n */\n footerClassName?: SchemaClassName;\n\n /**\n * 卡片 CSS 类名\n *\n * @default Grid-col--sm6 Grid-col--md4 Grid-col--lg3\n */\n itemClassName?: SchemaClassName;\n\n /**\n * 无数据提示\n *\n * @default 暂无数据\n */\n placeholder?: SchemaTpl;\n\n /**\n * 是否显示底部\n */\n showFooter?: boolean;\n\n /**\n * 是否显示头部\n */\n showHeader?: boolean;\n\n /**\n * 数据源: 绑定当前环境变量\n *\n * @default ${items}\n */\n source?: SchemaTokenizeableString;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 是否隐藏勾选框\n */\n hideCheckToggler?: boolean;\n\n /**\n * 是否固顶\n */\n affixHeader?: boolean;\n\n /**\n * 顶部区域\n */\n header?: SchemaCollection;\n\n /**\n * 底部区域\n */\n footer?: SchemaCollection;\n\n /**\n * 配置某项是否可以点选\n */\n itemCheckableOn?: SchemaExpression;\n\n /**\n * 配置某项是否可拖拽排序,前提是要开启拖拽功能\n */\n itemDraggableOn?: SchemaExpression;\n\n /**\n * 点击卡片的时候是否勾选卡片。\n */\n checkOnItemClick?: boolean;\n\n /**\n * 是否为瀑布流布局?\n */\n masonryLayout?: boolean;\n\n /**\n * 可以用来作为值的字段\n */\n valueField?: string;\n}\n\nexport interface Column {\n type: string;\n [propName: string]: any;\n}\n\nexport type CardsRendererEvent = 'change';\nexport type CardsRendererAction = 'check-all';\n\nexport interface GridProps\n extends RendererProps,\n Omit<CardsSchema, 'className' | 'itemClassName'> {\n store: IListStore;\n selectable?: boolean;\n selected?: Array<any>;\n checkAll?: boolean;\n multiple?: boolean;\n valueField?: string;\n draggable?: boolean;\n onSelect: (\n selectedItems: Array<object>,\n unSelectedItems: Array<object>\n ) => void;\n onSave?: (\n items: Array<object> | object,\n diff: Array<object> | object,\n rowIndexes: Array<number> | number,\n unModifiedItems?: Array<object>,\n rowOrigins?: Array<object> | object,\n resetOnFailed?: boolean\n ) => void;\n onSaveOrder?: (moved: Array<object>, items: Array<object>) => void;\n onQuery: (values: object) => void;\n}\n\nexport default class Cards extends React.Component<GridProps, object> {\n static propsList: Array<string> = [\n 'header',\n 'headerToolbarRender',\n 'footer',\n 'footerToolbarRender',\n 'placeholder',\n 'source',\n 'selectable',\n 'headerClassName',\n 'footerClassName',\n 'fixAlignment',\n 'hideQuickSaveBtn',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn',\n 'masonryLayout',\n 'items',\n 'valueField'\n ];\n static defaultProps: Partial<GridProps> = {\n className: '',\n placeholder: 'placeholder.noData',\n source: '$items',\n selectable: false,\n headerClassName: '',\n footerClassName: '',\n itemClassName: 'Grid-col--sm6 Grid-col--md4 Grid-col--lg3',\n // fixAlignment: false,\n hideCheckToggler: false,\n masonryLayout: false,\n affixHeader: true,\n itemsClassName: '',\n checkAll: true\n };\n\n dragTip?: HTMLElement;\n sortable?: Sortable;\n parentNode?: any;\n body?: any;\n // fixAlignmentLazy: Function;\n unSensor: Function;\n renderedToolbars: Array<string>;\n\n constructor(props: GridProps) {\n super(props);\n\n this.handleAction = this.handleAction.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n this.handleCheckAll = this.handleCheckAll.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleSave = this.handleSave.bind(this);\n this.handleSaveOrder = this.handleSaveOrder.bind(this);\n this.reset = this.reset.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.bodyRef = this.bodyRef.bind(this);\n this.affixDetect = this.affixDetect.bind(this);\n this.itemsRef = this.itemsRef.bind(this);\n this.renderToolbar = this.renderToolbar.bind(this);\n // this.fixAlignmentLazy = debounce(this.fixAlignment.bind(this), 250, {\n // trailing: true,\n // leading: false\n // })\n\n const {\n store,\n selectable,\n draggable,\n orderBy,\n orderDir,\n multiple,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n } = props;\n\n store.update({\n selectable,\n draggable,\n orderBy,\n orderDir,\n multiple,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n });\n\n Cards.syncItems(store, this.props) && this.syncSelected();\n }\n\n static syncItems(store: IListStore, props: GridProps, prevProps?: GridProps) {\n const source = props.source;\n const value = props.value || props.items;\n let items: Array<object> = [];\n let updateItems = false;\n\n if (\n Array.isArray(value) &&\n (!prevProps || (prevProps.value || prevProps.items) !== value)\n ) {\n items = value;\n updateItems = true;\n } else if (typeof source === 'string') {\n const resolved = resolveVariableAndFilter(source, props.data, '| raw');\n const prev = prevProps\n ? resolveVariableAndFilter(source, prevProps.data, '| raw')\n : null;\n\n if (prev && prev === resolved) {\n updateItems = false;\n } else if (Array.isArray(resolved)) {\n items = resolved;\n updateItems = true;\n }\n }\n\n updateItems && store.initItems(items);\n typeof props.selected !== 'undefined' &&\n store.updateSelected(props.selected, props.valueField);\n return updateItems;\n }\n\n componentDidMount() {\n let parent: HTMLElement | Window | null = getScrollParent(\n findDOMNode(this) as HTMLElement\n );\n if (!parent || parent === document.body) {\n parent = window;\n }\n\n this.parentNode = parent;\n this.affixDetect();\n parent.addEventListener('scroll', this.affixDetect);\n window.addEventListener('resize', this.affixDetect);\n }\n\n componentDidUpdate(prevProps: GridProps) {\n const props = this.props;\n const store = props.store;\n\n if (\n anyChanged(\n [\n 'selectable',\n 'draggable',\n 'orderBy',\n 'orderDir',\n 'multiple',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn'\n ],\n prevProps,\n props\n )\n ) {\n store.update({\n selectable: props.selectable,\n draggable: props.draggable,\n orderBy: props.orderBy,\n orderDir: props.orderDir,\n multiple: props.multiple,\n hideCheckToggler: props.hideCheckToggler,\n itemCheckableOn: props.itemCheckableOn,\n itemDraggableOn: props.itemDraggableOn\n });\n }\n\n if (\n anyChanged(['source', 'value', 'items'], prevProps, props) ||\n (!props.value &&\n !props.items &&\n (props.data !== prevProps.data ||\n (typeof props.source === 'string' && isPureVariable(props.source))))\n ) {\n Cards.syncItems(store, props, prevProps) && this.syncSelected();\n } else if (prevProps.selected !== props.selected) {\n store.updateSelected(props.selected || [], props.valueField);\n }\n }\n\n componentWillUnmount() {\n const parent = this.parentNode;\n parent && parent.removeEventListener('scroll', this.affixDetect);\n window.removeEventListener('resize', this.affixDetect);\n }\n\n // fixAlignment() {\n // if (!this.props.fixAlignment || this.props.masonryLayout) {\n // return;\n // }\n\n // const dom = this.body as HTMLElement;\n // const ns = this.props.classPrefix;\n // const cards = [].slice.apply(dom.querySelectorAll(`.${ns}Cards-body > div`));\n\n // if (!cards.length) {\n // return;\n // }\n\n // let maxHeight = cards.reduce((maxHeight:number, item:HTMLElement) => Math.max(item.offsetHeight, maxHeight), 0);\n // cards.forEach((item: HTMLElement) => item.style.cssText += `min-height: ${maxHeight}px;`);\n // }\n\n bodyRef(ref: HTMLDivElement) {\n this.body = ref;\n }\n\n itemsRef(ref: HTMLDivElement) {\n if (ref) {\n // this.unSensor = resizeSensor(ref.parentNode as HTMLElement, this.fixAlignmentLazy);\n } else {\n this.unSensor && this.unSensor();\n\n // @ts-ignore;\n delete this.unSensor;\n }\n }\n\n affixDetect() {\n if (!this.props.affixHeader || !this.body) {\n return;\n }\n\n const ns = this.props.classPrefix;\n const dom = findDOMNode(this) as HTMLElement;\n const clip = (this.body as HTMLElement).getBoundingClientRect();\n const offsetY =\n this.props.affixOffsetTop ?? this.props.env.affixOffsetTop ?? 0;\n const affixed =\n clip.top - 10 < offsetY && clip.top + clip.height - 40 > offsetY;\n const afixedDom = dom.querySelector(`.${ns}Cards-fixedTop`) as HTMLElement;\n\n this.body.offsetWidth &&\n (afixedDom.style.cssText = `top: ${offsetY}px;width: ${this.body.offsetWidth}px;`);\n affixed ? afixedDom.classList.add('in') : afixedDom.classList.remove('in');\n // store.markHeaderAffix(clip.top < offsetY && (clip.top + clip.height - 40) > offsetY);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction} = this.props;\n\n // 需要支持特殊事件吗?\n onAction(e, action, ctx);\n }\n\n handleCheck(item: IItem) {\n item.toggle();\n this.syncSelected();\n }\n\n handleCheckAll() {\n const {store} = this.props;\n\n store.toggleAll();\n this.syncSelected();\n }\n\n syncSelected() {\n const {store, onSelect} = this.props;\n\n onSelect &&\n onSelect(\n store.selectedItems.map(item => item.data),\n store.unSelectedItems.map(item => item.data)\n );\n }\n\n handleQuickChange(\n item: IItem,\n values: object,\n saveImmediately?: boolean | any,\n saveSilent?: boolean,\n resetOnFailed?: boolean\n ) {\n item.change(values, saveSilent);\n\n if (!saveImmediately || saveSilent) {\n return;\n }\n\n if (saveImmediately && saveImmediately.api) {\n this.props.onAction(\n null,\n {\n actionType: 'ajax',\n api: saveImmediately.api\n },\n values\n );\n return;\n }\n\n const {onSave, primaryField} = this.props;\n\n if (!onSave) {\n return;\n }\n\n onSave(\n item.data,\n difference(item.data, item.pristine, ['id', primaryField]),\n item.index,\n undefined,\n item.pristine,\n resetOnFailed\n );\n }\n\n handleSave() {\n const {store, onSave, primaryField} = this.props;\n\n if (!onSave || !store.modifiedItems.length) {\n return;\n }\n\n const items = store.modifiedItems.map(item => item.data);\n const itemIndexes = store.modifiedItems.map(item => item.index);\n const diff = store.modifiedItems.map(item =>\n difference(item.data, item.pristine, ['id', primaryField])\n );\n const unModifiedItems = store.items\n .filter(item => !item.modified)\n .map(item => item.data);\n onSave(\n items,\n diff,\n itemIndexes,\n unModifiedItems,\n store.modifiedItems.map(item => item.pristine)\n );\n }\n\n handleSaveOrder() {\n const {store, onSaveOrder} = this.props;\n\n if (!onSaveOrder || !store.movedItems.length) {\n return;\n }\n\n onSaveOrder(\n store.movedItems.map(item => item.data),\n store.items.map(item => item.data)\n );\n }\n\n reset() {\n const {store} = this.props;\n\n store.reset();\n }\n\n bulkUpdate(value: object, items: Array<object>) {\n const {store} = this.props;\n\n const items2 = store.items.filter(item => ~items.indexOf(item.pristine));\n items2.forEach(item => item.change(value));\n }\n\n getSelected() {\n const {store} = this.props;\n\n return store.selectedItems.map(item => item.data);\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const store = this.props.store;\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Cards-body`) as HTMLElement,\n {\n group: 'table',\n animation: 150,\n handle: `.${ns}Card-dragBtn`,\n ghostClass: `is-dragging`,\n onEnd: (e: any) => {\n // 没有移动\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 store.exchange(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n renderActions(region: string) {\n let {actions, render, store, classnames: cx} = this.props;\n let btn;\n actions = Array.isArray(actions) ? actions.concat() : [];\n\n if (\n !~this.renderedToolbars.indexOf('check-all') &&\n (btn = this.renderCheckAll())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n if (\n region === 'header' &&\n !~this.renderedToolbars.indexOf('drag-toggler') &&\n (btn = this.renderDragToggler())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n return Array.isArray(actions) && actions.length ? (\n <div className={cx('Cards-actions')}>\n {actions.map((action, key) =>\n render(\n `action/${key}`,\n {\n type: 'button',\n ...action\n },\n {\n onAction: this.handleAction,\n key,\n btnDisabled: store.dragging\n }\n )\n )}\n </div>\n ) : null;\n }\n\n renderHeading() {\n let {title, store, hideQuickSaveBtn, classnames: cx, data} = this.props;\n\n if (title || (store.modified && !hideQuickSaveBtn) || store.moved) {\n return (\n <div className={cx('Cards-heading')}>\n {store.modified && !hideQuickSaveBtn ? (\n <span>\n {`当前有 ${store.modified} 条记录修改了内容, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSave}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : store.moved ? (\n <span>\n {`当前有 ${store.moved} 条记录修改了顺序, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSaveOrder}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : title ? (\n filter(title, data)\n ) : (\n ''\n )}\n </div>\n );\n }\n\n return null;\n }\n\n renderHeader() {\n const {\n header,\n headerClassName,\n headerToolbar,\n headerToolbarRender,\n showHeader,\n render,\n store,\n classnames: cx,\n translate: __\n } = this.props;\n\n if (showHeader === false) {\n return null;\n }\n\n const child = headerToolbarRender\n ? headerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('header');\n const toolbarNode =\n actions || child || store.dragging ? (\n <div className={cx('Cards-toolbar')} key=\"header-toolbar\">\n {actions}\n {child}\n {store.dragging ? (\n <div className={cx('Cards-dragTip')} ref={this.dragTipRef}>\n {__('Card.dragTip')}\n </div>\n ) : null}\n </div>\n ) : null;\n const headerNode = header ? (\n <div className={cx('Cards-header', headerClassName)} key=\"header\">\n {render('header', header)}\n </div>\n ) : null;\n return headerNode && toolbarNode\n ? [headerNode, toolbarNode]\n : headerNode || toolbarNode || null;\n }\n\n renderFooter() {\n const {\n footer,\n footerClassName,\n footerToolbar,\n footerToolbarRender,\n render,\n showFooter,\n store,\n classnames: cx\n } = this.props;\n\n if (showFooter === false) {\n return null;\n }\n\n const child = footerToolbarRender\n ? footerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('footer');\n\n const toolbarNode =\n actions || child ? (\n <div className={cx('Cards-toolbar')} key=\"footer-toolbar\">\n {actions}\n {child}\n </div>\n ) : null;\n const footerNode = footer ? (\n <div className={cx('Cards-footer', footerClassName)} key=\"footer\">\n {render('footer', footer)}\n </div>\n ) : null;\n return footerNode && toolbarNode\n ? [toolbarNode, footerNode]\n : footerNode || toolbarNode || null;\n }\n\n renderCheckAll() {\n const {store, multiple, selectable, checkAll} = this.props;\n\n if (\n !store.selectable ||\n !multiple ||\n !selectable ||\n store.dragging ||\n !store.items.length ||\n !checkAll\n ) {\n return null;\n }\n\n return (\n <Button\n key=\"checkall\"\n tooltip=\"切换全选\"\n onClick={this.handleCheckAll}\n size=\"sm\"\n level={store.allChecked ? 'info' : 'default'}\n >\n 全选\n </Button>\n );\n }\n\n renderDragToggler() {\n const {store, multiple, selectable, env, translate: __} = this.props;\n\n if (!store.draggable || store.items.length < 2) {\n return null;\n }\n\n return (\n <Button\n iconOnly\n key=\"dragging-toggle\"\n tooltip={__('Card.toggleDrag')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n size=\"sm\"\n active={store.dragging}\n onClick={(e: React.MouseEvent<any>) => {\n e.preventDefault();\n store.toggleDragging();\n store.dragging && store.clear();\n }}\n >\n <Icon icon=\"exchange\" className=\"icon r90\" />\n </Button>\n );\n }\n\n renderToolbar(toolbar: SchemaNode, index: number) {\n const type = (toolbar as Schema).type || (toolbar as string);\n\n if (type === 'drag-toggler') {\n this.renderedToolbars.push(type);\n return this.renderDragToggler();\n } else if (type === 'check-all') {\n this.renderedToolbars.push(type);\n return this.renderCheckAll();\n }\n\n return void 0;\n }\n\n // editor中重写,请勿更改前两个参数\n renderCard(index: number, card: any, item: IItem, itemClassName: string) {\n const {\n render,\n classnames: cx,\n store,\n multiple,\n checkOnItemClick,\n hideCheckToggler\n } = this.props;\n\n let cardProps: Partial<CardProps | Card2Props> = {\n className: cx((card && card.className) || '', {\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved\n }),\n item,\n itemIndex: item.index,\n multiple,\n selectable: store.selectable,\n checkable: item.checkable,\n draggable: item.draggable,\n selected: item.checked,\n onSelect: item.toggle,\n dragging: store.dragging,\n data: item.locals,\n onAction: this.handleAction,\n onCheck: this.handleCheck,\n onQuickChange: store.dragging ? null : this.handleQuickChange\n };\n\n // card2属性与card有区别\n if (card?.type === 'card2') {\n cardProps = {\n ...cardProps,\n item: item.locals,\n onCheck: item.toggle\n };\n }\n\n return (\n <div key={item.index} className={cx(itemClassName)}>\n {render(\n `card/${index}`,\n {\n // @ts-ignore\n type: card.type || 'card',\n hideCheckToggler,\n checkOnItemClick,\n ...card\n },\n cardProps\n )}\n </div>\n );\n }\n\n render() {\n const {\n className,\n store,\n columnsCount,\n itemClassName,\n placeholder,\n card,\n render,\n affixHeader,\n masonryLayout,\n itemsClassName,\n classnames: cx,\n translate: __\n } = this.props;\n\n this.renderedToolbars = []; // 用来记录哪些 toolbar 已经渲染了,已经渲染了就不重复渲染了。\n const itemFinalClassName: string = columnsCount\n ? `Grid-col--sm${Math.round(12 / columnsCount)}`\n : itemClassName || '';\n\n const header = this.renderHeader();\n const heading = this.renderHeading();\n const footer = this.renderFooter();\n let masonryClassName = '';\n\n if (masonryLayout) {\n masonryClassName =\n 'Cards--masonry ' +\n itemFinalClassName\n .split(/\\s/)\n .map(item => {\n if (/^Grid-col--(xs|sm|md|lg)(\\d+)/.test(item)) {\n return `Cards--masonry${ucFirst(RegExp.$1)}${RegExp.$2}`;\n }\n\n return item;\n })\n .join(' ');\n }\n\n return (\n <div\n ref={this.bodyRef}\n className={cx('Cards', className, {\n 'Cards--unsaved': !!store.modified || !!store.moved\n })}\n >\n {affixHeader ? (\n <div className={cx('Cards-fixedTop')}>\n {header}\n {heading}\n </div>\n ) : null}\n {header}\n {heading}\n {store.items.length ? (\n <div\n ref={this.itemsRef}\n className={cx('Cards-body Grid', itemsClassName, masonryClassName)}\n >\n {store.items.map((item, index) =>\n this.renderCard(index, card, item, itemFinalClassName)\n )}\n </div>\n ) : (\n <div className={cx('Cards-placeholder')}>\n {render('placeholder', __(placeholder))}\n </div>\n )}\n\n {footer}\n </div>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)(?:crud\\/body\\/grid|cards)$/,\n name: 'cards',\n storeType: ListStore.name,\n weight: -100 // 默认的 grid 不是这样,这个只识别 crud 下面的 grid\n})\nexport class CardsRenderer extends Cards {\n dragging: boolean;\n selectable: boolean;\n selected: boolean;\n onSelect: boolean;\n title?: string;\n subTitle?: string;\n desc?: string;\n avatar?: string;\n avatarClassName?: string;\n body?: SchemaNode;\n actions?: Array<Action>;\n}\n"
|
11
|
+
"import React, {Fragment} from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport Button from '../components/Button';\nimport {ListStore, IListStore, IItem} from '../store/list';\nimport {\n anyChanged,\n getScrollParent,\n difference,\n ucFirst,\n noop,\n autobind,\n createObject\n} from '../utils/helper';\nimport {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport Sortable from 'sortablejs';\nimport {filter} from '../utils/tpl';\nimport {Icon} from '../components/icons';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaTpl,\n SchemaTokenizeableString\n} from '../Schema';\nimport {CardProps, CardSchema} from './Card';\nimport {Card2Props, Card2Schema} from './Card2';\n\n/**\n * Cards 卡片集合渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface CardsSchema extends BaseSchema {\n /**\n * 指定为 cards 类型\n */\n type: 'cards';\n\n card?: Partial<CardSchema> | Card2Schema;\n\n /**\n * 头部 CSS 类名\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 底部 CSS 类名\n */\n footerClassName?: SchemaClassName;\n\n /**\n * 卡片 CSS 类名\n *\n * @default Grid-col--sm6 Grid-col--md4 Grid-col--lg3\n */\n itemClassName?: SchemaClassName;\n\n /**\n * 无数据提示\n *\n * @default 暂无数据\n */\n placeholder?: SchemaTpl;\n\n /**\n * 是否显示底部\n */\n showFooter?: boolean;\n\n /**\n * 是否显示头部\n */\n showHeader?: boolean;\n\n /**\n * 数据源: 绑定当前环境变量\n *\n * @default ${items}\n */\n source?: SchemaTokenizeableString;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 是否隐藏勾选框\n */\n hideCheckToggler?: boolean;\n\n /**\n * 是否固顶\n */\n affixHeader?: boolean;\n\n /**\n * 顶部区域\n */\n header?: SchemaCollection;\n\n /**\n * 底部区域\n */\n footer?: SchemaCollection;\n\n /**\n * 配置某项是否可以点选\n */\n itemCheckableOn?: SchemaExpression;\n\n /**\n * 配置某项是否可拖拽排序,前提是要开启拖拽功能\n */\n itemDraggableOn?: SchemaExpression;\n\n /**\n * 点击卡片的时候是否勾选卡片。\n */\n checkOnItemClick?: boolean;\n\n /**\n * 是否为瀑布流布局?\n */\n masonryLayout?: boolean;\n\n /**\n * 可以用来作为值的字段\n */\n valueField?: string;\n}\n\nexport interface Column {\n type: string;\n [propName: string]: any;\n}\n\nexport type CardsRendererEvent = 'change';\nexport type CardsRendererAction = 'check-all';\n\nexport interface GridProps\n extends RendererProps,\n Omit<CardsSchema, 'className' | 'itemClassName'> {\n store: IListStore;\n selectable?: boolean;\n selected?: Array<any>;\n checkAll?: boolean;\n multiple?: boolean;\n valueField?: string;\n draggable?: boolean;\n onSelect: (\n selectedItems: Array<object>,\n unSelectedItems: Array<object>\n ) => void;\n onSave?: (\n items: Array<object> | object,\n diff: Array<object> | object,\n rowIndexes: Array<number> | number,\n unModifiedItems?: Array<object>,\n rowOrigins?: Array<object> | object,\n resetOnFailed?: boolean\n ) => void;\n onSaveOrder?: (moved: Array<object>, items: Array<object>) => void;\n onQuery: (values: object) => void;\n}\n\nexport default class Cards extends React.Component<GridProps, object> {\n static propsList: Array<string> = [\n 'header',\n 'headerToolbarRender',\n 'footer',\n 'footerToolbarRender',\n 'placeholder',\n 'source',\n 'selectable',\n 'headerClassName',\n 'footerClassName',\n 'fixAlignment',\n 'hideQuickSaveBtn',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn',\n 'masonryLayout',\n 'items',\n 'valueField'\n ];\n static defaultProps: Partial<GridProps> = {\n className: '',\n placeholder: 'placeholder.noData',\n source: '$items',\n selectable: false,\n headerClassName: '',\n footerClassName: '',\n itemClassName: 'Grid-col--sm6 Grid-col--md4 Grid-col--lg3',\n // fixAlignment: false,\n hideCheckToggler: false,\n masonryLayout: false,\n affixHeader: true,\n itemsClassName: '',\n checkAll: true\n };\n\n dragTip?: HTMLElement;\n sortable?: Sortable;\n parentNode?: any;\n body?: any;\n // fixAlignmentLazy: Function;\n unSensor: Function;\n renderedToolbars: Array<string>;\n\n constructor(props: GridProps) {\n super(props);\n\n this.handleAction = this.handleAction.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n this.handleCheckAll = this.handleCheckAll.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleSave = this.handleSave.bind(this);\n this.handleSaveOrder = this.handleSaveOrder.bind(this);\n this.reset = this.reset.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.bodyRef = this.bodyRef.bind(this);\n this.affixDetect = this.affixDetect.bind(this);\n this.itemsRef = this.itemsRef.bind(this);\n this.renderToolbar = this.renderToolbar.bind(this);\n // this.fixAlignmentLazy = debounce(this.fixAlignment.bind(this), 250, {\n // trailing: true,\n // leading: false\n // })\n\n const {\n store,\n selectable,\n draggable,\n orderBy,\n orderDir,\n multiple,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n } = props;\n\n store.update({\n selectable,\n draggable,\n orderBy,\n orderDir,\n multiple,\n hideCheckToggler,\n itemCheckableOn,\n itemDraggableOn\n });\n\n Cards.syncItems(store, this.props) && this.syncSelected();\n }\n\n static syncItems(store: IListStore, props: GridProps, prevProps?: GridProps) {\n const source = props.source;\n const value = props.value || props.items;\n let items: Array<object> = [];\n let updateItems = false;\n\n if (\n Array.isArray(value) &&\n (!prevProps || (prevProps.value || prevProps.items) !== value)\n ) {\n items = value;\n updateItems = true;\n } else if (typeof source === 'string') {\n const resolved = resolveVariableAndFilter(source, props.data, '| raw');\n const prev = prevProps\n ? resolveVariableAndFilter(source, prevProps.data, '| raw')\n : null;\n\n if (prev && prev === resolved) {\n updateItems = false;\n } else if (Array.isArray(resolved)) {\n items = resolved;\n updateItems = true;\n }\n }\n\n updateItems && store.initItems(items);\n typeof props.selected !== 'undefined' &&\n store.updateSelected(props.selected, props.valueField);\n return updateItems;\n }\n\n componentDidMount() {\n let parent: HTMLElement | Window | null = getScrollParent(\n findDOMNode(this) as HTMLElement\n );\n if (!parent || parent === document.body) {\n parent = window;\n }\n\n this.parentNode = parent;\n this.affixDetect();\n parent.addEventListener('scroll', this.affixDetect);\n window.addEventListener('resize', this.affixDetect);\n }\n\n componentDidUpdate(prevProps: GridProps) {\n const props = this.props;\n const store = props.store;\n\n if (\n anyChanged(\n [\n 'selectable',\n 'draggable',\n 'orderBy',\n 'orderDir',\n 'multiple',\n 'hideCheckToggler',\n 'itemCheckableOn',\n 'itemDraggableOn'\n ],\n prevProps,\n props\n )\n ) {\n store.update({\n selectable: props.selectable,\n draggable: props.draggable,\n orderBy: props.orderBy,\n orderDir: props.orderDir,\n multiple: props.multiple,\n hideCheckToggler: props.hideCheckToggler,\n itemCheckableOn: props.itemCheckableOn,\n itemDraggableOn: props.itemDraggableOn\n });\n }\n\n if (\n anyChanged(['source', 'value', 'items'], prevProps, props) ||\n (!props.value &&\n !props.items &&\n (props.data !== prevProps.data ||\n (typeof props.source === 'string' && isPureVariable(props.source))))\n ) {\n Cards.syncItems(store, props, prevProps) && this.syncSelected();\n } else if (prevProps.selected !== props.selected) {\n store.updateSelected(props.selected || [], props.valueField);\n }\n }\n\n componentWillUnmount() {\n const parent = this.parentNode;\n parent && parent.removeEventListener('scroll', this.affixDetect);\n window.removeEventListener('resize', this.affixDetect);\n }\n\n // fixAlignment() {\n // if (!this.props.fixAlignment || this.props.masonryLayout) {\n // return;\n // }\n\n // const dom = this.body as HTMLElement;\n // const ns = this.props.classPrefix;\n // const cards = [].slice.apply(dom.querySelectorAll(`.${ns}Cards-body > div`));\n\n // if (!cards.length) {\n // return;\n // }\n\n // let maxHeight = cards.reduce((maxHeight:number, item:HTMLElement) => Math.max(item.offsetHeight, maxHeight), 0);\n // cards.forEach((item: HTMLElement) => item.style.cssText += `min-height: ${maxHeight}px;`);\n // }\n\n bodyRef(ref: HTMLDivElement) {\n this.body = ref;\n }\n\n itemsRef(ref: HTMLDivElement) {\n if (ref) {\n // this.unSensor = resizeSensor(ref.parentNode as HTMLElement, this.fixAlignmentLazy);\n } else {\n this.unSensor && this.unSensor();\n\n // @ts-ignore;\n delete this.unSensor;\n }\n }\n\n affixDetect() {\n if (!this.props.affixHeader || !this.body) {\n return;\n }\n\n const ns = this.props.classPrefix;\n const dom = findDOMNode(this) as HTMLElement;\n const clip = (this.body as HTMLElement).getBoundingClientRect();\n const offsetY =\n this.props.affixOffsetTop ?? this.props.env.affixOffsetTop ?? 0;\n const affixed =\n clip.top - 10 < offsetY && clip.top + clip.height - 40 > offsetY;\n const afixedDom = dom.querySelector(`.${ns}Cards-fixedTop`) as HTMLElement;\n\n this.body.offsetWidth &&\n (afixedDom.style.cssText = `top: ${offsetY}px;width: ${this.body.offsetWidth}px;`);\n affixed ? afixedDom.classList.add('in') : afixedDom.classList.remove('in');\n // store.markHeaderAffix(clip.top < offsetY && (clip.top + clip.height - 40) > offsetY);\n }\n\n @autobind\n doAction(action: Action, data: object, throwErrors: boolean = false) {\n if (action.actionType) {\n switch (action.actionType as string) {\n case 'toggleSelectAll':\n this.handleCheckAll();\n break;\n case 'selectAll':\n this.handleSelectAll();\n break;\n case 'clearAll':\n this.handleClearAll();\n break;\n // case 'dragStart':\n // this.initDragging();\n // case 'dragStop':\n }\n }\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction} = this.props;\n\n // 需要支持特殊事件吗?\n onAction(e, action, ctx);\n }\n\n handleCheck(item: IItem) {\n item.toggle();\n this.syncSelected();\n }\n\n handleCheckAll() {\n const {store} = this.props;\n\n store.toggleAll();\n this.syncSelected();\n }\n\n handleSelectAll() {\n const {store} = this.props;\n\n store.selectAll();\n this.syncSelected();\n }\n\n handleClearAll() {\n const {store} = this.props;\n\n store.clearAll();\n this.syncSelected();\n }\n\n syncSelected() {\n const {store, onSelect, dispatchEvent} = this.props;\n const selectItems = store.selectedItems.map(item => item.data);\n const unSelectItems = store.unSelectedItems.map(item => item.data);\n\n dispatchEvent(\n 'selected',\n createObject(store.data, {\n selectItems,\n unSelectItems\n })\n );\n\n onSelect && onSelect(selectItems, unSelectItems);\n }\n\n handleQuickChange(\n item: IItem,\n values: object,\n saveImmediately?: boolean | any,\n saveSilent?: boolean,\n resetOnFailed?: boolean\n ) {\n item.change(values, saveSilent);\n\n if (!saveImmediately || saveSilent) {\n return;\n }\n\n if (saveImmediately && saveImmediately.api) {\n this.props.onAction(\n null,\n {\n actionType: 'ajax',\n api: saveImmediately.api\n },\n values\n );\n return;\n }\n\n const {onSave, primaryField} = this.props;\n\n if (!onSave) {\n return;\n }\n\n onSave(\n item.data,\n difference(item.data, item.pristine, ['id', primaryField]),\n item.index,\n undefined,\n item.pristine,\n resetOnFailed\n );\n }\n\n handleSave() {\n const {store, onSave, primaryField} = this.props;\n\n if (!onSave || !store.modifiedItems.length) {\n return;\n }\n\n const items = store.modifiedItems.map(item => item.data);\n const itemIndexes = store.modifiedItems.map(item => item.index);\n const diff = store.modifiedItems.map(item =>\n difference(item.data, item.pristine, ['id', primaryField])\n );\n const unModifiedItems = store.items\n .filter(item => !item.modified)\n .map(item => item.data);\n onSave(\n items,\n diff,\n itemIndexes,\n unModifiedItems,\n store.modifiedItems.map(item => item.pristine)\n );\n }\n\n handleSaveOrder() {\n const {store, onSaveOrder} = this.props;\n\n if (!onSaveOrder || !store.movedItems.length) {\n return;\n }\n\n onSaveOrder(\n store.movedItems.map(item => item.data),\n store.items.map(item => item.data)\n );\n }\n\n reset() {\n const {store} = this.props;\n\n store.reset();\n }\n\n bulkUpdate(value: object, items: Array<object>) {\n const {store} = this.props;\n\n const items2 = store.items.filter(item => ~items.indexOf(item.pristine));\n items2.forEach(item => item.change(value));\n }\n\n getSelected() {\n const {store} = this.props;\n\n return store.selectedItems.map(item => item.data);\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n if (this.sortable) return;\n\n const store = this.props.store;\n const dom = findDOMNode(this) as HTMLElement;\n const ns = this.props.classPrefix;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Cards-body`) as HTMLElement,\n {\n group: 'table',\n animation: 150,\n handle: `.${ns}Card-dragBtn`,\n ghostClass: `is-dragging`,\n onEnd: (e: any) => {\n // 没有移动\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 store.exchange(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n renderActions(region: string) {\n let {actions, render, store, classnames: cx} = this.props;\n let btn;\n actions = Array.isArray(actions) ? actions.concat() : [];\n\n if (\n !~this.renderedToolbars.indexOf('check-all') &&\n (btn = this.renderCheckAll())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n if (\n region === 'header' &&\n !~this.renderedToolbars.indexOf('drag-toggler') &&\n (btn = this.renderDragToggler())\n ) {\n actions.unshift({\n type: 'button',\n children: btn\n });\n }\n\n return Array.isArray(actions) && actions.length ? (\n <div className={cx('Cards-actions')}>\n {actions.map((action, key) =>\n render(\n `action/${key}`,\n {\n type: 'button',\n ...action\n },\n {\n onAction: this.handleAction,\n key,\n btnDisabled: store.dragging\n }\n )\n )}\n </div>\n ) : null;\n }\n\n renderHeading() {\n let {title, store, hideQuickSaveBtn, classnames: cx, data} = this.props;\n\n if (title || (store.modified && !hideQuickSaveBtn) || store.moved) {\n return (\n <div className={cx('Cards-heading')}>\n {store.modified && !hideQuickSaveBtn ? (\n <span>\n {`当前有 ${store.modified} 条记录修改了内容, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSave}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : store.moved ? (\n <span>\n {`当前有 ${store.moved} 条记录修改了顺序, 但并没有提交。请选择:`}\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--success m-l-sm')}\n onClick={this.handleSaveOrder}\n >\n <Icon icon=\"check\" className=\"icon m-r-xs\" />\n 提交\n </button>\n <button\n type=\"button\"\n className={cx('Button Button--xs Button--danger m-l-sm')}\n onClick={this.reset}\n >\n <Icon icon=\"close\" className=\"icon m-r-xs\" />\n 放弃\n </button>\n </span>\n ) : title ? (\n filter(title, data)\n ) : (\n ''\n )}\n </div>\n );\n }\n\n return null;\n }\n\n renderHeader() {\n const {\n header,\n headerClassName,\n headerToolbar,\n headerToolbarRender,\n showHeader,\n render,\n store,\n classnames: cx,\n translate: __\n } = this.props;\n\n if (showHeader === false) {\n return null;\n }\n\n const child = headerToolbarRender\n ? headerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('header');\n const toolbarNode =\n actions || child || store.dragging ? (\n <div className={cx('Cards-toolbar')} key=\"header-toolbar\">\n {actions}\n {child}\n {store.dragging ? (\n <div className={cx('Cards-dragTip')} ref={this.dragTipRef}>\n {__('Card.dragTip')}\n </div>\n ) : null}\n </div>\n ) : null;\n const headerNode = header ? (\n <div className={cx('Cards-header', headerClassName)} key=\"header\">\n {render('header', header)}\n </div>\n ) : null;\n return headerNode && toolbarNode\n ? [headerNode, toolbarNode]\n : headerNode || toolbarNode || null;\n }\n\n renderFooter() {\n const {\n footer,\n footerClassName,\n footerToolbar,\n footerToolbarRender,\n render,\n showFooter,\n store,\n classnames: cx\n } = this.props;\n\n if (showFooter === false) {\n return null;\n }\n\n const child = footerToolbarRender\n ? footerToolbarRender(\n {\n ...this.props,\n selectedItems: store.selectedItems.map(item => item.data),\n items: store.items.map(item => item.data),\n unSelectedItems: store.unSelectedItems.map(item => item.data)\n },\n this.renderToolbar\n )\n : null;\n const actions = this.renderActions('footer');\n\n const toolbarNode =\n actions || child ? (\n <div className={cx('Cards-toolbar')} key=\"footer-toolbar\">\n {actions}\n {child}\n </div>\n ) : null;\n const footerNode = footer ? (\n <div className={cx('Cards-footer', footerClassName)} key=\"footer\">\n {render('footer', footer)}\n </div>\n ) : null;\n return footerNode && toolbarNode\n ? [toolbarNode, footerNode]\n : footerNode || toolbarNode || null;\n }\n\n renderCheckAll() {\n const {store, multiple, selectable, checkAll} = this.props;\n\n if (\n !store.selectable ||\n !multiple ||\n !selectable ||\n store.dragging ||\n !store.items.length ||\n !checkAll\n ) {\n return null;\n }\n\n return (\n <Button\n key=\"checkall\"\n tooltip=\"切换全选\"\n onClick={this.handleCheckAll}\n size=\"sm\"\n level={store.allChecked ? 'info' : 'default'}\n >\n 全选\n </Button>\n );\n }\n\n renderDragToggler() {\n const {store, multiple, selectable, env, translate: __} = this.props;\n\n if (!store.draggable || store.items.length < 2) {\n return null;\n }\n\n return (\n <Button\n iconOnly\n key=\"dragging-toggle\"\n tooltip={__('Card.toggleDrag')}\n tooltipContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n size=\"sm\"\n active={store.dragging}\n onClick={(e: React.MouseEvent<any>) => {\n e.preventDefault();\n store.toggleDragging();\n store.dragging && store.clear();\n }}\n >\n <Icon icon=\"exchange\" className=\"icon r90\" />\n </Button>\n );\n }\n\n renderToolbar(toolbar: SchemaNode, index: number) {\n const type = (toolbar as Schema).type || (toolbar as string);\n\n if (type === 'drag-toggler') {\n this.renderedToolbars.push(type);\n return this.renderDragToggler();\n } else if (type === 'check-all') {\n this.renderedToolbars.push(type);\n return this.renderCheckAll();\n }\n\n return void 0;\n }\n\n // editor中重写,请勿更改前两个参数\n renderCard(index: number, card: any, item: IItem, itemClassName: string) {\n const {\n render,\n classnames: cx,\n store,\n multiple,\n checkOnItemClick,\n hideCheckToggler\n } = this.props;\n\n let cardProps: Partial<CardProps | Card2Props> = {\n className: cx((card && card.className) || '', {\n 'is-checked': item.checked,\n 'is-modified': item.modified,\n 'is-moved': item.moved\n }),\n item,\n itemIndex: item.index,\n multiple,\n selectable: store.selectable,\n checkable: item.checkable,\n draggable: item.draggable,\n selected: item.checked,\n onSelect: this.handleCheck,\n dragging: store.dragging,\n data: item.locals,\n onAction: this.handleAction,\n onCheck: this.handleCheck,\n onQuickChange: store.dragging ? null : this.handleQuickChange\n };\n\n // card2属性与card有区别\n if (card?.type === 'card2') {\n cardProps = {\n ...cardProps,\n item: item.locals,\n onCheck: () => {\n this.handleCheck(item);\n }\n };\n }\n\n return (\n <div key={item.index} className={cx(itemClassName)}>\n {render(\n `card/${index}`,\n {\n // @ts-ignore\n type: card.type || 'card',\n hideCheckToggler,\n checkOnItemClick,\n ...card\n },\n cardProps\n )}\n </div>\n );\n }\n\n render() {\n const {\n className,\n store,\n columnsCount,\n itemClassName,\n placeholder,\n card,\n render,\n affixHeader,\n masonryLayout,\n itemsClassName,\n classnames: cx,\n translate: __\n } = this.props;\n\n this.renderedToolbars = []; // 用来记录哪些 toolbar 已经渲染了,已经渲染了就不重复渲染了。\n const itemFinalClassName: string = columnsCount\n ? `Grid-col--sm${Math.round(12 / columnsCount)}`\n : itemClassName || '';\n\n const header = this.renderHeader();\n const heading = this.renderHeading();\n const footer = this.renderFooter();\n let masonryClassName = '';\n\n if (masonryLayout) {\n masonryClassName =\n 'Cards--masonry ' +\n itemFinalClassName\n .split(/\\s/)\n .map(item => {\n if (/^Grid-col--(xs|sm|md|lg)(\\d+)/.test(item)) {\n return `Cards--masonry${ucFirst(RegExp.$1)}${RegExp.$2}`;\n }\n\n return item;\n })\n .join(' ');\n }\n\n return (\n <div\n ref={this.bodyRef}\n className={cx('Cards', className, {\n 'Cards--unsaved': !!store.modified || !!store.moved\n })}\n >\n {affixHeader ? (\n <div className={cx('Cards-fixedTop')}>\n {header}\n {heading}\n </div>\n ) : null}\n {header}\n {heading}\n {store.items.length ? (\n <div\n ref={this.itemsRef}\n className={cx('Cards-body Grid', itemsClassName, masonryClassName)}\n >\n {store.items.map((item, index) =>\n this.renderCard(index, card, item, itemFinalClassName)\n )}\n </div>\n ) : (\n <div className={cx('Cards-placeholder')}>\n {render('placeholder', __(placeholder))}\n </div>\n )}\n\n {footer}\n </div>\n );\n }\n}\n\n@Renderer({\n test: /(^|\\/)(?:crud\\/body\\/grid|cards)$/,\n name: 'cards',\n storeType: ListStore.name,\n weight: -100 // 默认的 grid 不是这样,这个只识别 crud 下面的 grid\n})\nexport class CardsRenderer extends Cards {\n dragging: boolean;\n selectable: boolean;\n selected: boolean;\n onSelect: boolean;\n title?: string;\n subTitle?: string;\n desc?: string;\n avatar?: string;\n avatarClassName?: string;\n body?: SchemaNode;\n actions?: Array<Action>;\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -4,6 +4,7 @@ import { Funcs, Fields } from '../../components/condition-builder/types';
|
|
4
4
|
import { Config } from '../../components/condition-builder/config';
|
5
5
|
import { SchemaApi, SchemaTokenizeableString } from '../../Schema';
|
6
6
|
import { Schema } from '../../types';
|
7
|
+
import { IconSchema } from '../Icon';
|
7
8
|
/**
|
8
9
|
* 条件组合控件
|
9
10
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder
|
@@ -13,6 +14,14 @@ export interface ConditionBuilderControlSchema extends FormBaseControl {
|
|
13
14
|
* 指定为
|
14
15
|
*/
|
15
16
|
type: 'condition-builder';
|
17
|
+
/**
|
18
|
+
* 内嵌模式,默认为 true
|
19
|
+
*/
|
20
|
+
embed?: boolean;
|
21
|
+
/**
|
22
|
+
* 非内嵌模式时 弹窗触发icon
|
23
|
+
*/
|
24
|
+
pickerIcon?: IconSchema;
|
16
25
|
/**
|
17
26
|
* 函数集合
|
18
27
|
*/
|
@@ -42,6 +51,7 @@ export interface ConditionBuilderProps extends FormControlProps, Omit<ConditionB
|
|
42
51
|
}
|
43
52
|
export default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {
|
44
53
|
renderEtrValue(schema: Schema, data: any): JSX.Element;
|
54
|
+
renderPickerIcon(): JSX.Element | undefined;
|
45
55
|
render(): JSX.Element;
|
46
56
|
}
|
47
57
|
export declare class ConditionBuilderRenderer extends ConditionBuilderControl {
|