amis 1.9.1-beta.0 → 1.9.1-beta.4
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/RootRenderer.js +10 -2
- package/lib/RootRenderer.js.map +2 -2
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +6 -9
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/actions/CmptAction.js +4 -4
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/components/Button.d.ts +11 -10
- package/lib/components/Button.js +2 -2
- package/lib/components/Button.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +40 -40
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/ContextMenu.d.ts +4 -0
- package/lib/components/ContextMenu.js +23 -7
- package/lib/components/ContextMenu.js.map +2 -2
- package/lib/components/DatePicker.d.ts +40 -40
- package/lib/components/DateRangePicker.d.ts +40 -40
- package/lib/components/Form.d.ts +22 -0
- package/lib/components/Form.js +44 -0
- package/lib/components/Form.js.map +13 -0
- package/lib/components/FormField.d.ts +65 -0
- package/lib/components/FormField.js +48 -0
- package/lib/components/FormField.js.map +13 -0
- package/lib/components/InputBox.d.ts +10 -10
- package/lib/components/InputBox.js +4 -3
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
- package/lib/components/InputBoxWithSuggestion.js +65 -0
- package/lib/components/InputBoxWithSuggestion.js.map +13 -0
- package/lib/components/ListGroup.d.ts +10 -10
- package/lib/components/PickerContainer.d.ts +4 -2
- package/lib/components/PickerContainer.js +28 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/Radios.d.ts +10 -10
- package/lib/components/ResultBox.d.ts +40 -40
- package/lib/components/Select.d.ts +195 -202
- package/lib/components/Select.js +7 -3
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Textarea.d.ts +568 -2
- package/lib/components/Textarea.js +129 -1
- package/lib/components/Textarea.js.map +2 -2
- package/lib/components/Toast.js +11 -9
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/UserSelect.d.ts +500 -0
- package/lib/components/UserSelect.js +559 -0
- package/lib/components/UserSelect.js.map +13 -0
- package/lib/components/UserTabSelect.d.ts +320 -0
- package/lib/components/UserTabSelect.js +163 -0
- package/lib/components/UserTabSelect.js.map +13 -0
- package/lib/components/WithRemoteConfig.d.ts +7 -0
- package/lib/components/WithRemoteConfig.js +22 -13
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +26 -1
- package/lib/components/calendar/DaysView.js +60 -19
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -1
- package/lib/components/calendar/TimeView.js +10 -3
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/formula/Picker.js +4 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.d.ts +7 -1
- package/lib/components/icons.js +17 -1
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +3 -1
- package/lib/components/index.js.map +2 -2
- package/lib/components/json-schema/Array.d.ts +3 -0
- package/lib/components/json-schema/Array.js +125 -0
- package/lib/components/json-schema/Array.js.map +13 -0
- package/lib/components/json-schema/Item.d.ts +3 -0
- package/lib/components/json-schema/Item.js +34 -0
- package/lib/components/json-schema/Item.js.map +13 -0
- package/lib/components/json-schema/Object.d.ts +3 -0
- package/lib/components/json-schema/Object.js +178 -0
- package/lib/components/json-schema/Object.js.map +13 -0
- package/lib/components/json-schema/index.d.ts +279 -0
- package/lib/components/json-schema/index.js +16 -0
- package/lib/components/json-schema/index.js.map +13 -0
- package/lib/components/schema-editor/Array.js +2 -2
- package/lib/components/schema-editor/Array.js.map +2 -2
- package/lib/components/schema-editor/Common.d.ts +2 -0
- package/lib/components/schema-editor/Common.js +39 -3
- package/lib/components/schema-editor/Common.js.map +2 -2
- package/lib/components/schema-editor/Object.js +2 -2
- package/lib/components/schema-editor/Object.js.map +2 -2
- package/lib/components/schema-editor/index.d.ts +45 -41
- package/lib/components/schema-editor/index.js +5 -5
- package/lib/components/schema-editor/index.js.map +2 -2
- package/lib/components/table/ItemActionsWrapper.d.ts +10 -0
- package/lib/components/table/ItemActionsWrapper.js +25 -0
- package/lib/components/table/ItemActionsWrapper.js.map +13 -0
- package/lib/components/table/index.d.ts +48 -41
- package/lib/components/table/index.js +46 -18
- package/lib/components/table/index.js.map +2 -2
- package/lib/helper.css +125 -124
- package/lib/helper.css.map +1 -1
- package/lib/hooks/use-validation-resolver.d.ts +1 -0
- package/lib/hooks/use-validation-resolver.js +49 -0
- package/lib/hooks/use-validation-resolver.js.map +13 -0
- package/lib/icons/department.js +17 -0
- package/lib/icons/menu.js +9 -0
- package/lib/icons/post.js +15 -0
- package/lib/icons/role.js +14 -0
- package/lib/icons/user-remove.js +12 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +11 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +12 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +14 -3
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.js +25 -11
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.js +5 -1
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Dialog.js +9 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +5 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/Form/InputDate.d.ts +2 -2
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/JSONSchema.d.ts +23 -0
- package/lib/renderers/Form/JSONSchema.js +44 -0
- package/lib/renderers/Form/JSONSchema.js.map +13 -0
- package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
- package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
- package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
- package/lib/renderers/Form/Options.js +11 -5
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Textarea.d.ts +1 -8
- package/lib/renderers/Form/Textarea.js +11 -75
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/UserSelect.d.ts +54 -0
- package/lib/renderers/Form/UserSelect.js +197 -0
- package/lib/renderers/Form/UserSelect.js.map +13 -0
- package/lib/renderers/Form/index.d.ts +1 -1
- package/lib/renderers/Form/index.js +88 -42
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Log.d.ts +28 -0
- package/lib/renderers/Log.js +110 -20
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Page.js +5 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.js +5 -1
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Table-v2/index.d.ts +14 -2
- package/lib/renderers/Table-v2/index.js +33 -3
- package/lib/renderers/Table-v2/index.js.map +2 -2
- package/lib/renderers/Wizard.js +37 -14
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/form.js +65 -45
- package/lib/store/form.js.map +2 -2
- package/lib/themes/ang-ie11.css +576 -24
- package/lib/themes/ang.css +553 -12
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +576 -24
- package/lib/themes/antd.css +553 -12
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +576 -24
- package/lib/themes/cxd.css +553 -12
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +576 -24
- package/lib/themes/dark.css +553 -12
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +576 -24
- package/lib/themes/default.css +553 -12
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +1 -1
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/renderer-event.js.map +2 -2
- package/package.json +2 -1
- package/schema.json +552 -5
- package/scss/_properties.scss +20 -8
- package/scss/components/_input-box.scss +22 -1
- package/scss/components/_json-schema.scss +124 -0
- package/scss/components/_log.scss +37 -5
- package/scss/components/form/_date-range.scss +1 -0
- package/scss/components/form/_select.scss +9 -0
- package/scss/components/form/_transfer.scss +19 -3
- package/scss/components/form/_user-select.scss +422 -0
- package/scss/helper/background/_background-color.scss +125 -124
- package/scss/themes/_common.scss +2 -0
- package/sdk/ang-ie11.css +670 -24
- package/sdk/ang.css +647 -12
- package/sdk/antd-ie11.css +670 -24
- package/sdk/antd.css +647 -12
- 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 +670 -24
- package/sdk/cxd.css +647 -12
- package/sdk/dark-ie11.css +670 -24
- package/sdk/dark.css +647 -12
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +125 -124
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +11 -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 +670 -24
- package/sdk/sdk.css +647 -12
- package/sdk/sdk.js +1653 -1637
- 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/RootRenderer.tsx +27 -15
- package/src/Schema.ts +5 -1
- package/src/SchemaRenderer.tsx +1 -4
- package/src/actions/CmptAction.ts +4 -4
- package/src/components/Button.tsx +3 -0
- package/src/components/Checkbox.tsx +2 -1
- package/src/components/ContextMenu.tsx +25 -7
- package/src/components/Form.tsx +70 -0
- package/src/components/FormField.tsx +127 -0
- package/src/components/InputBox.tsx +4 -1
- package/src/components/InputBoxWithSuggestion.tsx +113 -0
- package/src/components/PickerContainer.tsx +20 -5
- package/src/components/Select.tsx +18 -10
- package/src/components/Textarea.tsx +234 -2
- package/src/components/Toast.tsx +19 -18
- package/src/components/UserSelect.tsx +850 -0
- package/src/components/UserTabSelect.tsx +261 -0
- package/src/components/WithRemoteConfig.tsx +35 -11
- package/src/components/calendar/DaysView.tsx +117 -49
- package/src/components/calendar/TimeView.tsx +11 -6
- package/src/components/formula/Picker.tsx +2 -1
- package/src/components/icons.tsx +17 -1
- package/src/components/index.tsx +3 -1
- package/src/components/json-schema/Array.tsx +216 -0
- package/src/components/json-schema/Item.tsx +47 -0
- package/src/components/json-schema/Object.tsx +339 -0
- package/src/components/json-schema/index.tsx +44 -0
- package/src/components/schema-editor/Array.tsx +3 -1
- package/src/components/schema-editor/Common.tsx +61 -4
- package/src/components/schema-editor/Object.tsx +3 -1
- package/src/components/schema-editor/index.tsx +12 -5
- package/src/components/table/ItemActionsWrapper.tsx +32 -0
- package/src/components/table/index.tsx +115 -58
- package/src/hooks/use-validation-resolver.ts +45 -0
- package/src/icons/department.svg +17 -0
- package/src/icons/menu.svg +2 -0
- package/src/icons/post.svg +15 -0
- package/src/icons/role.svg +14 -0
- package/src/icons/user-remove.svg +12 -0
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +11 -1
- package/src/locale/en-US.ts +12 -1
- package/src/locale/zh-CN.ts +14 -3
- package/src/renderers/Action.tsx +10 -9
- package/src/renderers/CRUD.tsx +5 -1
- package/src/renderers/Dialog.tsx +9 -3
- package/src/renderers/Drawer.tsx +5 -1
- package/src/renderers/Form/InputDate.tsx +9 -4
- package/src/renderers/Form/JSONSchema.tsx +56 -0
- package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
- package/src/renderers/Form/Options.tsx +17 -7
- package/src/renderers/Form/Textarea.tsx +7 -117
- package/src/renderers/Form/UserSelect.tsx +263 -0
- package/src/renderers/Form/index.tsx +28 -18
- package/src/renderers/Form/wrapControl.tsx +0 -1
- package/src/renderers/Log.tsx +213 -19
- package/src/renderers/Page.tsx +6 -1
- package/src/renderers/Service.tsx +5 -1
- package/src/renderers/Table-v2/index.tsx +65 -2
- package/src/renderers/Wizard.tsx +24 -10
- package/src/store/form.ts +24 -17
- package/src/utils/api.ts +1 -1
- package/src/utils/renderer-event.ts +0 -2
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "UserSelect.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/components/UserSelect.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"/**\n * @file 移动端人员、部门、角色、岗位选择\n * @author fex\n */\n\nimport React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport {LocaleProps, localeable} from '../locale';\nimport {ResultBox} from '../components';\nimport {Option} from '../renderers/Form/Options';\nimport Sortable from 'sortablejs';\nimport PopUp from '../components/PopUp';\nimport InputBox from '../components/InputBox';\nimport {Icon} from '../components/icons';\nimport debounce from 'lodash/debounce';\nimport {autobind, findTree} from '../utils/helper';\nimport Checkbox from '../components/Checkbox';\nimport {optionValueCompare, value2array} from './Select';\nimport Spinner from '../components/Spinner';\nimport flatten from 'lodash/flatten';\nimport {findDOMNode} from 'react-dom';\nimport {Api, PlainObject} from '../types';\nimport {Payload} from 'echarts';\n\nexport interface UserSelectProps extends ThemeProps, LocaleProps {\n showNav?: boolean;\n navTitle?: string;\n options: Array<any>;\n value?: Array<Option> | Option | string;\n selection?: Array<Option>;\n valueField?: string;\n labelField?: string;\n multi?: boolean;\n multiple?: boolean;\n isDep?: boolean;\n isRef?: boolean;\n searchable?: boolean;\n // 选项卡模式开关\n showResultBox?: boolean;\n placeholder?: string;\n searchPlaceholder?: string;\n controlled?: boolean;\n fetcher?: (\n api: Api,\n data?: any,\n options?: PlainObject | undefined\n ) => Promise<Payload>;\n onSearch?: (\n term: string,\n cancelExecutor: Function\n ) => Promise<any[]> | undefined;\n deferLoad: (\n data?: PlainObject,\n isRef?: boolean,\n param?: PlainObject\n ) => Promise<Option[]>;\n onChange: (value: Array<Option> | Option, isReplace?: boolean) => void;\n}\n\nexport interface UserSelectState {\n isOpened: boolean;\n isSearch: boolean;\n isSelectOpened: boolean;\n inputValue: string;\n breadList: Array<any>;\n options: Array<Option>;\n tempSelection: Array<Option>;\n selection: Array<Option>;\n searchList: Array<Option>;\n searchLoading: boolean;\n isEdit: boolean;\n}\n\nexport class UserSelect extends React.Component<\n UserSelectProps,\n UserSelectState\n> {\n cancelSearch?: Function;\n sortable?: Sortable;\n unmounted = false;\n\n constructor(props: UserSelectProps) {\n super(props);\n this.state = {\n isOpened: false,\n isSelectOpened: false,\n inputValue: '',\n options: this.props.options || [],\n breadList: [],\n searchList: [],\n tempSelection: [],\n selection: props.selection || [],\n isSearch: false,\n searchLoading: false,\n isEdit: false\n };\n }\n\n static defaultProps = {\n showResultBox: true,\n labelField: 'label',\n valueField: 'value'\n };\n\n componentDidMount() {}\n\n componentDidUpdate(prevProps: UserSelectProps) {\n let {options, value} = this.props;\n if (prevProps.options !== options) {\n if (\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n let leftOptions = options[0].leftOptions as Option[];\n this.setState({\n options: leftOptions\n });\n } else {\n // 部门选择\n this.setState({\n options: options\n });\n }\n }\n if (\n JSON.stringify(value) !== JSON.stringify(prevProps.value) ||\n JSON.stringify(options) !== JSON.stringify(prevProps.options)\n ) {\n const selection: Array<Option> = value2array(value, this.props);\n this.setState({\n selection\n });\n }\n }\n\n componentWillUnmount() {\n this.unmounted = true;\n }\n\n @autobind\n onClose() {\n this.setState({\n isOpened: false,\n isSearch: false,\n inputValue: '',\n searchList: [],\n searchLoading: false\n });\n }\n\n @autobind\n handleSearch(text: string) {\n if (text) {\n this.setState(\n {\n isSearch: true,\n searchLoading: true,\n inputValue: text\n },\n () => {\n // 如果有取消搜索,先取消掉。\n this.cancelSearch && this.cancelSearch();\n this.lazySearch(text);\n }\n );\n } else {\n this.handleSeachCancel();\n }\n }\n\n @autobind\n handleSeachCancel() {\n this.setState({\n isSearch: false,\n searchLoading: false,\n inputValue: ''\n });\n }\n\n lazySearch = debounce(\n (text: string) => {\n (async (text: string) => {\n const onSearch = this.props.onSearch!;\n let result = await onSearch(\n text,\n (cancelExecutor: () => void) => (this.cancelSearch = cancelExecutor)\n );\n if (this.unmounted) {\n return;\n }\n\n if (!Array.isArray(result)) {\n throw new Error('onSearch 需要返回数组');\n }\n\n this.setState({\n searchList: result,\n searchLoading: false\n });\n })(text).catch(e => {\n this.setState({searchLoading: false});\n console.error(e);\n });\n },\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n swapSelectPosition(oldIndex: number, newIndex: number) {\n const tempSelection = this.state.tempSelection;\n tempSelection.splice(newIndex, 0, tempSelection.splice(oldIndex, 1)[0]);\n this.setState({tempSelection});\n }\n\n @autobind\n dragRef(ref: any) {\n if (ref) {\n this.initDragging();\n }\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n this.sortable = new Sortable(\n document.querySelector(`.${ns}UserSelect-checkContent`) as HTMLElement,\n {\n group: `UserSelect-checkContent`,\n animation: 150,\n handle: `.${ns}UserSelect-dragBar`,\n ghostClass: `${ns}UserSelect--dragging`,\n onEnd: (e: any) => {\n if (!this.state.isEdit || e.newIndex === e.oldIndex) {\n return;\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 this.swapSelectPosition(e.oldIndex, e.newIndex);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n onOpen() {\n const {selection} = this.state;\n this.setState({\n isOpened: true,\n tempSelection: selection.slice()\n });\n }\n\n @autobind\n handleBack() {\n this.setState({\n isOpened: false,\n inputValue: '',\n isSearch: false,\n searchList: [],\n breadList: []\n });\n }\n\n @autobind\n async handleExpand(option: Option) {\n const {deferLoad, isRef, isDep} = this.props;\n if (!option.isLoaded || (!isRef && isDep && !option.children?.length)) {\n option.isLoaded = true;\n let deferParam = option.deferApi ? {deferApi: option.deferApi} : {};\n if (isRef) {\n // 部门、人员一起加载\n const res = await Promise.all([\n deferLoad(option, false, deferParam),\n deferLoad({...option, ref: option.value}, true, deferParam)\n ]);\n option.children = flatten(res);\n } else {\n // 只加载部门\n const res = await deferLoad(option, false, deferParam);\n option.children = res || [];\n }\n }\n\n const breadList = this.state.breadList;\n breadList.push(option);\n this.setState({\n breadList\n });\n }\n\n @autobind\n handleSelectChange(option: Option, isReplace?: boolean) {\n const {multiple, onChange, valueField = 'value', controlled} = this.props;\n if (controlled) {\n onChange(option);\n return;\n }\n let selection = this.state.selection.slice();\n // 直接替换的option 肯定是数组\n if (isReplace) {\n selection = option as Option[];\n } else {\n let selectionVals = selection.map((option: Option) => option[valueField]);\n let pos = selectionVals.indexOf(option[valueField]);\n if (pos !== -1) {\n selection.splice(selection.indexOf(option), 1);\n } else {\n if (multiple) {\n selection.push(option);\n } else {\n selection = [option];\n }\n }\n }\n\n onChange(multiple ? selection : selection?.[0]);\n this.setState({\n selection\n });\n return false;\n }\n\n @autobind\n onDelete(option: Option, isTemp: boolean = false) {\n const {valueField = 'value'} = this.props;\n const {tempSelection, selection} = this.state;\n let _selection = isTemp ? tempSelection : selection;\n _selection = _selection.filter(\n (item: Option) => item[valueField] !== option[valueField]\n );\n if (isTemp) {\n this.setState({tempSelection: _selection});\n } else {\n this.setState({selection: _selection});\n }\n }\n\n @autobind\n handleBreadChange(option: Option, index: number) {\n const breadList = this.state.breadList.slice(0, index);\n this.setState({\n breadList\n });\n }\n\n @autobind\n handleEdit() {\n const {multiple, onChange, controlled} = this.props;\n const {isEdit, tempSelection} = this.state;\n if (isEdit) {\n if (controlled) {\n onChange(multiple ? tempSelection : tempSelection?.[0], true);\n this.setState({\n isSelectOpened: false,\n isEdit: false\n });\n return;\n } else {\n this.setState({\n isSelectOpened: false,\n isEdit: false,\n selection: tempSelection\n });\n }\n } else {\n this.setState({\n isEdit: true\n });\n }\n }\n\n renderIcon(option: Option, isSelect?: boolean) {\n const {labelField = 'label', classnames: cx, isRef} = this.props;\n const {isSearch} = this.state;\n\n if (!option.icon) {\n if (option.isRef || ((isSearch || isSelect) && isRef)) {\n return (\n <span className={cx('UserSelect-text-userPic')}>\n {option[labelField].slice(0, 1)}\n </span>\n );\n } else {\n // 没有icon默认返回部门图标\n return (\n <span className={cx('icon', 'UserSelect-icon-box', 'department')}>\n <Icon icon=\"department\" className=\"icon\" />\n </span>\n );\n }\n }\n // 支持角色、岗位等图标配置\n let IconHtml;\n switch (option.icon) {\n case 'user-default-department':\n IconHtml = (\n <span className={cx('icon', 'UserSelect-icon-box', 'department')}>\n <Icon icon=\"department\" className=\"icon\" />\n </span>\n );\n break;\n case 'user-default-role':\n IconHtml = (\n <span className={cx('icon', 'UserSelect-icon-box', 'role')}>\n <Icon icon=\"role\" className=\"icon\" />\n </span>\n );\n break;\n case 'user-default-post':\n IconHtml = (\n <span className={cx('icon', 'UserSelect-icon-box', 'post')}>\n <Icon icon=\"post\" className=\"icon\" />\n </span>\n );\n break;\n case '':\n IconHtml = (\n <span className={cx('UserSelect-text-userPic')}>\n {option[labelField].slice(0, 1)}\n </span>\n );\n break;\n default:\n IconHtml = (\n <img src={option.icon} className={cx('UserSelect-userPic')} />\n );\n }\n return IconHtml;\n }\n\n renderList(\n options: Array<object> = [],\n key?: number | string,\n isSearch?: boolean\n ) {\n const {\n classnames: cx,\n valueField = 'value',\n labelField = 'label',\n isDep,\n isRef,\n translate: __,\n controlled\n } = this.props;\n\n let selection = controlled\n ? this.props.selection || []\n : this.state.selection;\n const checkValues = selection.map((item: Option) => item[valueField]);\n\n return options.length ? (\n <div className={cx('UserSelect-memberList-box')} key={key}>\n <ul className={cx(`UserSelect-memberList`)} key={key}>\n {options.map((option: Option, index: number) => {\n const hasChildren =\n (isRef && !option.isRef) ||\n (isDep && (option.defer || option.children?.length));\n const checkVisible =\n (isDep && isRef) ||\n (isRef && option.isRef) ||\n (isDep && !isRef) ||\n isSearch;\n\n const userIcon = this.renderIcon(option);\n\n return (\n <li key={index}>\n {checkVisible ? (\n <Checkbox\n size=\"sm\"\n checked={checkValues.includes(option[valueField])}\n label={''}\n onChange={() => this.handleSelectChange(option)}\n />\n ) : null}\n <span\n className={cx('UserSelect-memberName')}\n onClick={() =>\n checkVisible\n ? this.handleSelectChange(option)\n : hasChildren && this.handleExpand(option)\n }\n >\n {userIcon ? (\n <span className={cx('UserSelect-userPic-box')}>\n {userIcon}\n </span>\n ) : null}\n\n <span className={cx('UserSelect-label')}>\n {option[labelField]}\n </span>\n </span>\n\n {!isSearch && hasChildren ? (\n <span\n className={cx(`UserSelect-more`)}\n onClick={() => this.handleExpand(option)}\n >\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n </li>\n );\n })}\n </ul>\n </div>\n ) : (\n <div className={cx(`UserSelect-noRecord`)}>\n {__('placeholder.noOption')}~\n </div>\n );\n }\n\n renderselectList(options: Array<object> = []) {\n const {\n classnames: cx,\n labelField = 'label',\n valueField = 'value',\n translate: __\n } = this.props;\n const {isEdit} = this.state;\n\n return options.length ? (\n <div className={cx('UserSelect-selection-wrap')}>\n <ul\n className={cx(`UserSelect-selection`, `UserSelect-checkContent`)}\n ref={this.dragRef}\n >\n {options.map((option: Option, index: number) => {\n const userIcon = this.renderIcon(option, true);\n const options = this.state.options;\n const originOption = findTree(\n options,\n (item: Option) => item[valueField] === option[valueField]\n );\n return (\n <li key={index}>\n {isEdit ? (\n <span\n className={cx(`UserSelect-del`)}\n onClick={() => this.onDelete(option, true)}\n >\n <Icon icon=\"user-remove\" className=\"icon\" />\n </span>\n ) : null}\n\n <span className={cx(`UserSelect-memberName`)}>\n {userIcon ? (\n <span className={cx('UserSelect-userPic-box')}>\n {userIcon}\n </span>\n ) : null}\n\n <span className={cx('UserSelect-label')}>\n {originOption\n ? originOption[labelField]\n : option[labelField]}\n </span>\n </span>\n {isEdit ? (\n <a className={cx('UserSelect-dragBar')}>\n <Icon icon=\"drag-bar\" className={cx('icon')} />\n </a>\n ) : null}\n </li>\n );\n })}\n </ul>\n </div>\n ) : (\n <div className={cx(`UserSelect-noRecord`)}>\n {__('placeholder.noOption')}~\n </div>\n );\n }\n\n renderContent() {\n let {\n navTitle,\n showNav,\n searchable,\n searchPlaceholder,\n controlled,\n labelField = 'label',\n valueField = 'value',\n classnames: cx,\n translate: __\n } = this.props;\n\n const {breadList, options, isSearch, searchList, searchLoading} =\n this.state;\n let selection = controlled\n ? this.props.selection || []\n : this.state.selection;\n\n return (\n <div className={cx(`UserSelect-wrap`)}>\n {showNav ? (\n <div className={cx('UserSelect-navbar')}>\n <span className=\"left-arrow-box\" onClick={this.handleBack}>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </span>\n <div className={cx('UserSelect-navbar-title')}>{navTitle}</div>\n </div>\n ) : null}\n\n {/* 搜索 */}\n {searchable ? (\n <div className={cx('UserSelect-searchBox')}>\n <InputBox\n className={cx(`UserSelect-search`)}\n value={this.state.inputValue}\n onChange={this.handleSearch}\n placeholder={searchPlaceholder}\n clearable={false}\n >\n {this.state.isSearch ? (\n <a onClick={this.handleSeachCancel}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : (\n <Icon icon=\"search\" className=\"icon\" />\n )}\n </InputBox>\n </div>\n ) : null}\n\n {/* 面包屑 */}\n {breadList.length ? (\n <div className={cx('UserSelect-breadcrumb')}>\n {breadList\n .map<React.ReactNode>((item, index) => (\n <span\n className={cx('UserSelect-breadcrumb-item')}\n key={index}\n onClick={() => this.handleBreadChange(item, index)}\n >\n {item[labelField]}\n </span>\n ))\n .reduce((prev, curr, index) => [\n prev,\n <Icon\n icon=\"caret\"\n className={cx('UserSelect-breadcrumb-separator', 'icon')}\n key={`separator-${index}`}\n />,\n curr\n ])}\n </div>\n ) : null}\n\n {selection?.length ? (\n <div className={cx(`UserSelect-resultBox`)}>\n <ul className={cx(`UserSelect-selectList`)}>\n {selection.map((item: Option, index) => {\n const originOption = findTree(\n options,\n (op: Option) => op[valueField] === item[valueField]\n );\n return (\n <li key={index} className={cx('UserSelect-selectList-item')}>\n <span>\n {originOption\n ? originOption[labelField]\n : item[labelField]}\n </span>\n <span\n className={cx('UserSelect-selectList-item-closeBox')}\n onClick={() => this.onDelete(item)}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </span>\n </li>\n );\n })}\n </ul>\n <span\n className={cx('UserSelect-selectSort-box')}\n onClick={() =>\n this.setState({\n isSelectOpened: true,\n tempSelection: selection.slice()\n })\n }\n >\n <Icon\n icon=\"menu\"\n className={cx('UserSelect-selectSort', 'icon')}\n />\n </span>\n </div>\n ) : null}\n\n {isSearch ? (\n searchLoading ? (\n <div className={cx(`UserSelect-searchLoadingBox`)}>\n <Spinner />\n </div>\n ) : (\n <div className={cx('UserSelect-searchResult')}>\n {this.renderList(searchList, -1, true)}\n </div>\n )\n ) : (\n <div className={cx(`UserSelect-contentBox`)}>\n <div\n className={cx(`UserSelect-scroll`)}\n style={{\n width: 100 * (breadList.length + 1) + 'vw',\n left: -breadList.length * 100 + 'vw'\n }}\n >\n {this.renderList(options)}\n\n {breadList.map((option: Option, index: number) => {\n const treeOption = findTree(\n options,\n optionValueCompare(option[valueField], valueField || 'value')\n ) as Option;\n const children = treeOption.children;\n const hasChildren = Array.isArray(children) && children;\n\n return hasChildren ? (\n this.renderList(children, option[valueField])\n ) : (\n <div className={cx(`UserSelect-spinnerBox`)} key={index}>\n <Spinner />\n </div>\n );\n })}\n </div>\n </div>\n )}\n </div>\n );\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n placeholder = '请选择',\n showResultBox,\n controlled,\n onChange\n } = this.props;\n\n const {isOpened, tempSelection, isSelectOpened, isEdit} = this.state;\n let selection = controlled ? this.props.selection : this.state.selection;\n\n return (\n <div className={cx('UserSelect')}>\n {showResultBox ? (\n <ResultBox\n className={cx('UserSelect-input', isOpened ? 'is-active' : '')}\n allowInput={false}\n result={selection}\n onResultChange={value => this.handleSelectChange(value, true)}\n onResultClick={this.onOpen}\n placeholder={placeholder}\n useMobileUI\n />\n ) : null}\n\n {showResultBox ? (\n <PopUp\n isShow={isOpened}\n className={cx(`UserSelect-popup`)}\n onHide={this.onClose}\n showClose={false}\n >\n {this.renderContent()}\n </PopUp>\n ) : (\n this.renderContent()\n )}\n\n <PopUp\n isShow={isSelectOpened}\n className={cx(`UserSelect-selectPopup`)}\n onHide={() =>\n this.setState({\n isSelectOpened: false,\n isEdit: false\n })\n }\n showClose={false}\n >\n <div className={cx('UserSelect-selectBody')}>\n <div className={cx('UserSelect-navbar')}>\n <span\n className=\"left-arrow-box\"\n onClick={() =>\n this.setState({\n isSelectOpened: false,\n isEdit: false\n })\n }\n >\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </span>\n <div className={cx('UserSelect-navbar-title')}>\n {__('UserSelect.resultSort')}\n </div>\n <span\n className={cx('UserSelect-navbar-btnEdit')}\n onClick={this.handleEdit}\n >\n {isEdit ? __('UserSelect.save') : __('UserSelect.edit')}\n </span>\n </div>\n\n <div className={cx('UserSelect-selectList-box')}>\n <div className={cx('UserSelect-select-head')}>\n <span className={cx('UserSelect-select-head-text')}>\n {__('UserSelect.selected')}\n </span>\n {isEdit ? (\n <span\n className={cx('UserSelect-select-head-btnClear')}\n onClick={() => this.setState({tempSelection: []})}\n >\n {__('UserSelect.clear')}\n </span>\n ) : null}\n </div>\n {this.renderselectList(tempSelection)}\n </div>\n </div>\n </PopUp>\n </div>\n );\n }\n}\n\nexport default themeable(localeable(UserSelect));\n"
|
12
|
+
]
|
13
|
+
}
|
@@ -0,0 +1,320 @@
|
|
1
|
+
/**
|
2
|
+
* @file 移动端人员、部门、角色、岗位选择
|
3
|
+
* @author fex
|
4
|
+
*/
|
5
|
+
/// <reference types="hoist-non-react-statics" />
|
6
|
+
import React from 'react';
|
7
|
+
import { ThemeProps } from '../theme';
|
8
|
+
import { LocaleProps } from '../locale';
|
9
|
+
import { Option } from '../renderers/Form/Options';
|
10
|
+
import Sortable from 'sortablejs';
|
11
|
+
import { UserSelectProps } from './UserSelect';
|
12
|
+
import { PlainObject } from '../types';
|
13
|
+
export interface UserSelectTop extends UserSelectProps {
|
14
|
+
title: string;
|
15
|
+
deferApi?: string;
|
16
|
+
searchApi?: string;
|
17
|
+
searchable?: boolean;
|
18
|
+
searchParam?: PlainObject;
|
19
|
+
searchTerm?: string;
|
20
|
+
}
|
21
|
+
export interface UserTabSelectProps extends ThemeProps, LocaleProps {
|
22
|
+
tabOptions?: Array<UserSelectTop>;
|
23
|
+
multiple?: boolean;
|
24
|
+
placeholder?: string;
|
25
|
+
valueField?: string;
|
26
|
+
labelField?: string;
|
27
|
+
selection?: Array<Option>;
|
28
|
+
data?: PlainObject;
|
29
|
+
onChange: (value: Array<Option> | Option) => void;
|
30
|
+
onSearch?: (term: string, cancelExecutor: Function, paramObj?: PlainObject) => Promise<any[]> | undefined;
|
31
|
+
deferLoad: (data?: Object, isRef?: boolean, param?: PlainObject) => Promise<Option[]>;
|
32
|
+
}
|
33
|
+
export interface UserTabSelectState {
|
34
|
+
isOpened: boolean;
|
35
|
+
isSearch: boolean;
|
36
|
+
isSelectOpened: boolean;
|
37
|
+
inputValue: string;
|
38
|
+
breadList: Array<any>;
|
39
|
+
options: Array<Option>;
|
40
|
+
tempSelection: Array<Option>;
|
41
|
+
selection: Array<Option>;
|
42
|
+
searchList: Array<Option>;
|
43
|
+
searchLoading: boolean;
|
44
|
+
isEdit: boolean;
|
45
|
+
activeKey: number;
|
46
|
+
}
|
47
|
+
export declare class UserTabSelect extends React.Component<UserTabSelectProps, UserTabSelectState> {
|
48
|
+
cancelSearch?: Function;
|
49
|
+
sortable?: Sortable;
|
50
|
+
unmounted: boolean;
|
51
|
+
constructor(props: UserTabSelectProps);
|
52
|
+
static defaultProps: {};
|
53
|
+
componentDidMount(): void;
|
54
|
+
componentDidUpdate(prevProps: UserTabSelectProps): void;
|
55
|
+
componentWillUnmount(): void;
|
56
|
+
onClose(): void;
|
57
|
+
onOpen(): void;
|
58
|
+
handleBack(): void;
|
59
|
+
handleSelectChange(option: Option | Array<Option>, isReplace?: boolean): boolean;
|
60
|
+
handleTabChange(key: number): void;
|
61
|
+
render(): JSX.Element;
|
62
|
+
}
|
63
|
+
declare const _default: {
|
64
|
+
new (props: Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
65
|
+
locale?: string | undefined;
|
66
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
67
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps): {
|
68
|
+
ref: any;
|
69
|
+
childRef(ref: any): void;
|
70
|
+
getWrappedInstance(): any;
|
71
|
+
render(): JSX.Element;
|
72
|
+
context: any;
|
73
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
74
|
+
locale?: string | undefined;
|
75
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
76
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
77
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
78
|
+
readonly props: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
79
|
+
locale?: string | undefined;
|
80
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
81
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
|
82
|
+
children?: React.ReactNode;
|
83
|
+
}>;
|
84
|
+
state: Readonly<{}>;
|
85
|
+
refs: {
|
86
|
+
[key: string]: React.ReactInstance;
|
87
|
+
};
|
88
|
+
componentDidMount?(): void;
|
89
|
+
shouldComponentUpdate?(nextProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
90
|
+
locale?: string | undefined;
|
91
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
92
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
93
|
+
componentWillUnmount?(): void;
|
94
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
95
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
96
|
+
locale?: string | undefined;
|
97
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
98
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
99
|
+
componentDidUpdate?(prevProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
100
|
+
locale?: string | undefined;
|
101
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
102
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
103
|
+
componentWillMount?(): void;
|
104
|
+
UNSAFE_componentWillMount?(): void;
|
105
|
+
componentWillReceiveProps?(nextProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
106
|
+
locale?: string | undefined;
|
107
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
108
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
109
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
110
|
+
locale?: string | undefined;
|
111
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
112
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
113
|
+
componentWillUpdate?(nextProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
114
|
+
locale?: string | undefined;
|
115
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
116
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
117
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
118
|
+
locale?: string | undefined;
|
119
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
120
|
+
}, keyof ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
121
|
+
};
|
122
|
+
displayName: string;
|
123
|
+
contextType: React.Context<string>;
|
124
|
+
ComposedComponent: React.ComponentType<{
|
125
|
+
new (props: Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
126
|
+
locale?: string | undefined;
|
127
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
128
|
+
}): {
|
129
|
+
ref: any;
|
130
|
+
childRef(ref: any): void;
|
131
|
+
getWrappedInstance(): any;
|
132
|
+
render(): JSX.Element;
|
133
|
+
context: any;
|
134
|
+
setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
135
|
+
locale?: string | undefined;
|
136
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
137
|
+
}>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
|
138
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
139
|
+
readonly props: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
140
|
+
locale?: string | undefined;
|
141
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
142
|
+
}> & Readonly<{
|
143
|
+
children?: React.ReactNode;
|
144
|
+
}>;
|
145
|
+
state: Readonly<{}>;
|
146
|
+
refs: {
|
147
|
+
[key: string]: React.ReactInstance;
|
148
|
+
};
|
149
|
+
componentDidMount?(): void;
|
150
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
151
|
+
locale?: string | undefined;
|
152
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
153
|
+
}>, nextState: Readonly<{}>, nextContext: any): boolean;
|
154
|
+
componentWillUnmount?(): void;
|
155
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
156
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
157
|
+
locale?: string | undefined;
|
158
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
159
|
+
}>, prevState: Readonly<{}>): any;
|
160
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
161
|
+
locale?: string | undefined;
|
162
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
163
|
+
}>, prevState: Readonly<{}>, snapshot?: any): void;
|
164
|
+
componentWillMount?(): void;
|
165
|
+
UNSAFE_componentWillMount?(): void;
|
166
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
167
|
+
locale?: string | undefined;
|
168
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
169
|
+
}>, nextContext: any): void;
|
170
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
171
|
+
locale?: string | undefined;
|
172
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
173
|
+
}>, nextContext: any): void;
|
174
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
175
|
+
locale?: string | undefined;
|
176
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
177
|
+
}>, nextState: Readonly<{}>, nextContext: any): void;
|
178
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
179
|
+
locale?: string | undefined;
|
180
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
181
|
+
}>, nextState: Readonly<{}>, nextContext: any): void;
|
182
|
+
};
|
183
|
+
displayName: string;
|
184
|
+
contextType: React.Context<string>;
|
185
|
+
ComposedComponent: React.ComponentType<typeof UserTabSelect>;
|
186
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof UserTabSelect, {}> & {
|
187
|
+
ComposedComponent: typeof UserTabSelect;
|
188
|
+
}>;
|
189
|
+
} & import("hoist-non-react-statics").NonReactStatics<{
|
190
|
+
new (props: Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
191
|
+
locale?: string | undefined;
|
192
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
193
|
+
}): {
|
194
|
+
ref: any;
|
195
|
+
childRef(ref: any): void;
|
196
|
+
getWrappedInstance(): any;
|
197
|
+
render(): JSX.Element;
|
198
|
+
context: any;
|
199
|
+
setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
200
|
+
locale?: string | undefined;
|
201
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
202
|
+
}>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
|
203
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
204
|
+
readonly props: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
205
|
+
locale?: string | undefined;
|
206
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
207
|
+
}> & Readonly<{
|
208
|
+
children?: React.ReactNode;
|
209
|
+
}>;
|
210
|
+
state: Readonly<{}>;
|
211
|
+
refs: {
|
212
|
+
[key: string]: React.ReactInstance;
|
213
|
+
};
|
214
|
+
componentDidMount?(): void;
|
215
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
216
|
+
locale?: string | undefined;
|
217
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
218
|
+
}>, nextState: Readonly<{}>, nextContext: any): boolean;
|
219
|
+
componentWillUnmount?(): void;
|
220
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
221
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
222
|
+
locale?: string | undefined;
|
223
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
224
|
+
}>, prevState: Readonly<{}>): any;
|
225
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
226
|
+
locale?: string | undefined;
|
227
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
228
|
+
}>, prevState: Readonly<{}>, snapshot?: any): void;
|
229
|
+
componentWillMount?(): void;
|
230
|
+
UNSAFE_componentWillMount?(): void;
|
231
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
232
|
+
locale?: string | undefined;
|
233
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
234
|
+
}>, nextContext: any): void;
|
235
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
236
|
+
locale?: string | undefined;
|
237
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
238
|
+
}>, nextContext: any): void;
|
239
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
240
|
+
locale?: string | undefined;
|
241
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
242
|
+
}>, nextState: Readonly<{}>, nextContext: any): void;
|
243
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
244
|
+
locale?: string | undefined;
|
245
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
246
|
+
}>, nextState: Readonly<{}>, nextContext: any): void;
|
247
|
+
};
|
248
|
+
displayName: string;
|
249
|
+
contextType: React.Context<string>;
|
250
|
+
ComposedComponent: React.ComponentType<typeof UserTabSelect>;
|
251
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof UserTabSelect, {}> & {
|
252
|
+
ComposedComponent: typeof UserTabSelect;
|
253
|
+
}, {}> & {
|
254
|
+
ComposedComponent: {
|
255
|
+
new (props: Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
256
|
+
locale?: string | undefined;
|
257
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
258
|
+
}): {
|
259
|
+
ref: any;
|
260
|
+
childRef(ref: any): void;
|
261
|
+
getWrappedInstance(): any;
|
262
|
+
render(): JSX.Element;
|
263
|
+
context: any;
|
264
|
+
setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
265
|
+
locale?: string | undefined;
|
266
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
267
|
+
}>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
|
268
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
269
|
+
readonly props: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
270
|
+
locale?: string | undefined;
|
271
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
272
|
+
}> & Readonly<{
|
273
|
+
children?: React.ReactNode;
|
274
|
+
}>;
|
275
|
+
state: Readonly<{}>;
|
276
|
+
refs: {
|
277
|
+
[key: string]: React.ReactInstance;
|
278
|
+
};
|
279
|
+
componentDidMount?(): void;
|
280
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
281
|
+
locale?: string | undefined;
|
282
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
283
|
+
}>, nextState: Readonly<{}>, nextContext: any): boolean;
|
284
|
+
componentWillUnmount?(): void;
|
285
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
286
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
287
|
+
locale?: string | undefined;
|
288
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
289
|
+
}>, prevState: Readonly<{}>): any;
|
290
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
291
|
+
locale?: string | undefined;
|
292
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
293
|
+
}>, prevState: Readonly<{}>, snapshot?: any): void;
|
294
|
+
componentWillMount?(): void;
|
295
|
+
UNSAFE_componentWillMount?(): void;
|
296
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
297
|
+
locale?: string | undefined;
|
298
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
299
|
+
}>, nextContext: any): void;
|
300
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
301
|
+
locale?: string | undefined;
|
302
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
303
|
+
}>, nextContext: any): void;
|
304
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
305
|
+
locale?: string | undefined;
|
306
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
307
|
+
}>, nextState: Readonly<{}>, nextContext: any): void;
|
308
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, "classPrefix" | "classnames" | "data" | "className" | "theme" | "multiple" | "valueField" | "labelField" | "placeholder" | "onChange" | "deferLoad" | "selection" | "onSearch" | "tabOptions"> & Partial<Pick<Omit<UserTabSelectProps, keyof LocaleProps>, never>> & Partial<Pick<{}, never>> & {
|
309
|
+
locale?: string | undefined;
|
310
|
+
translate?: ((str: string, ...args: any[]) => string) | undefined;
|
311
|
+
}>, nextState: Readonly<{}>, nextContext: any): void;
|
312
|
+
};
|
313
|
+
displayName: string;
|
314
|
+
contextType: React.Context<string>;
|
315
|
+
ComposedComponent: React.ComponentType<typeof UserTabSelect>;
|
316
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof UserTabSelect, {}> & {
|
317
|
+
ComposedComponent: typeof UserTabSelect;
|
318
|
+
};
|
319
|
+
};
|
320
|
+
export default _default;
|
@@ -0,0 +1,163 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* @file 移动端人员、部门、角色、岗位选择
|
4
|
+
* @author fex
|
5
|
+
*/
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
+
exports.UserTabSelect = void 0;
|
8
|
+
var tslib_1 = require("tslib");
|
9
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
10
|
+
var theme_1 = require("../theme");
|
11
|
+
var locale_1 = require("../locale");
|
12
|
+
var components_1 = require("../components");
|
13
|
+
var UserSelect_1 = (0, tslib_1.__importDefault)(require("./UserSelect"));
|
14
|
+
var PopUp_1 = (0, tslib_1.__importDefault)(require("../components/PopUp"));
|
15
|
+
var icons_1 = require("../components/icons");
|
16
|
+
var helper_1 = require("../utils/helper");
|
17
|
+
var Tabs_1 = tslib_1.__importStar(require("./Tabs"));
|
18
|
+
var tpl_builtin_1 = require("../utils/tpl-builtin");
|
19
|
+
var UserTabSelect = /** @class */ (function (_super) {
|
20
|
+
(0, tslib_1.__extends)(UserTabSelect, _super);
|
21
|
+
function UserTabSelect(props) {
|
22
|
+
var _this = _super.call(this, props) || this;
|
23
|
+
_this.unmounted = false;
|
24
|
+
_this.state = {
|
25
|
+
isOpened: false,
|
26
|
+
isSelectOpened: false,
|
27
|
+
inputValue: '',
|
28
|
+
options: [],
|
29
|
+
breadList: [],
|
30
|
+
searchList: [],
|
31
|
+
tempSelection: [],
|
32
|
+
selection: props.selection ? props.selection : [],
|
33
|
+
isSearch: false,
|
34
|
+
searchLoading: false,
|
35
|
+
isEdit: false,
|
36
|
+
activeKey: 0
|
37
|
+
};
|
38
|
+
return _this;
|
39
|
+
}
|
40
|
+
UserTabSelect.prototype.componentDidMount = function () { };
|
41
|
+
UserTabSelect.prototype.componentDidUpdate = function (prevProps) { };
|
42
|
+
UserTabSelect.prototype.componentWillUnmount = function () {
|
43
|
+
this.unmounted = true;
|
44
|
+
};
|
45
|
+
UserTabSelect.prototype.onClose = function () {
|
46
|
+
this.setState({
|
47
|
+
isOpened: false,
|
48
|
+
isSearch: false,
|
49
|
+
inputValue: '',
|
50
|
+
searchList: [],
|
51
|
+
searchLoading: false,
|
52
|
+
activeKey: 0
|
53
|
+
});
|
54
|
+
};
|
55
|
+
UserTabSelect.prototype.onOpen = function () {
|
56
|
+
var selection = this.state.selection;
|
57
|
+
this.setState({
|
58
|
+
isOpened: true,
|
59
|
+
tempSelection: selection.slice()
|
60
|
+
});
|
61
|
+
};
|
62
|
+
UserTabSelect.prototype.handleBack = function () {
|
63
|
+
this.onClose();
|
64
|
+
var onChange = this.props.onChange;
|
65
|
+
onChange(this.state.selection);
|
66
|
+
};
|
67
|
+
UserTabSelect.prototype.handleSelectChange = function (option, isReplace) {
|
68
|
+
var _a = this.props, multiple = _a.multiple, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b;
|
69
|
+
var selection = this.state.selection.slice();
|
70
|
+
var selectionVals = selection.map(function (option) { return option[valueField]; });
|
71
|
+
if (isReplace && Array.isArray(option)) {
|
72
|
+
selection = option.slice();
|
73
|
+
}
|
74
|
+
else if (!Array.isArray(option)) {
|
75
|
+
var pos = selectionVals.indexOf(option[valueField]);
|
76
|
+
if (pos !== -1) {
|
77
|
+
selection.splice(selection.indexOf(option), 1);
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
if (multiple) {
|
81
|
+
selection.push(option);
|
82
|
+
}
|
83
|
+
else {
|
84
|
+
selection = [option];
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
this.setState({
|
89
|
+
selection: selection
|
90
|
+
});
|
91
|
+
return false;
|
92
|
+
};
|
93
|
+
UserTabSelect.prototype.handleTabChange = function (key) {
|
94
|
+
this.setState({
|
95
|
+
activeKey: key
|
96
|
+
});
|
97
|
+
};
|
98
|
+
UserTabSelect.prototype.render = function () {
|
99
|
+
var _this = this;
|
100
|
+
var _a = this.props, cx = _a.classnames, __ = _a.translate, onChange = _a.onChange, _b = _a.placeholder, placeholder = _b === void 0 ? '请选择' : _b, tabOptions = _a.tabOptions, onSearch = _a.onSearch, deferLoad = _a.deferLoad, data = _a.data;
|
101
|
+
var _c = this.state, activeKey = _c.activeKey, isOpened = _c.isOpened, selection = _c.selection;
|
102
|
+
return (react_1.default.createElement("div", { className: cx('UserTabSelect') },
|
103
|
+
react_1.default.createElement(components_1.ResultBox, { className: cx('UserTabSelect-input', isOpened ? 'is-active' : ''), allowInput: false, result: selection, onResultChange: function (value) { return _this.handleSelectChange(value, true); }, onResultClick: this.onOpen, placeholder: placeholder, useMobileUI: true }),
|
104
|
+
react_1.default.createElement(PopUp_1.default, { isShow: isOpened, className: cx("UserTabSelect-popup"), onHide: this.onClose, showClose: false },
|
105
|
+
react_1.default.createElement("div", { className: cx('UserTabSelect-wrap') },
|
106
|
+
react_1.default.createElement("div", { className: cx('UserSelect-navbar') },
|
107
|
+
react_1.default.createElement("span", { className: "left-arrow-box", onClick: this.handleBack },
|
108
|
+
react_1.default.createElement(icons_1.Icon, { icon: "left-arrow", className: "icon" })),
|
109
|
+
react_1.default.createElement("div", { className: cx('UserSelect-navbar-title') }, "\u4EBA\u5458\u9009\u62E9")),
|
110
|
+
react_1.default.createElement(Tabs_1.default, { mode: "tiled", className: cx('UserTabSelect-tabs'), onSelect: this.handleTabChange, activeKey: activeKey }, tabOptions === null || tabOptions === void 0 ? void 0 : tabOptions.map(function (item, index) {
|
111
|
+
return (react_1.default.createElement(Tabs_1.Tab, (0, tslib_1.__assign)({}, _this.props, { eventKey: index, key: index, title: item.title, className: "TabsTransfer-tab" }),
|
112
|
+
react_1.default.createElement(UserSelect_1.default, (0, tslib_1.__assign)({ selection: selection, showResultBox: false }, item, { options: typeof item.options === 'string' && data
|
113
|
+
? (0, tpl_builtin_1.resolveVariableAndFilter)(item.options, data, '| raw')
|
114
|
+
: item.options, multiple: true, controlled: true, onChange: _this.handleSelectChange, onSearch: function (input, cancelExecutor) {
|
115
|
+
return item.searchable && onSearch
|
116
|
+
? onSearch(input, cancelExecutor, {
|
117
|
+
searchApi: item.searchApi,
|
118
|
+
searchParam: item.searchParam,
|
119
|
+
searchTerm: item.searchTerm
|
120
|
+
})
|
121
|
+
: undefined;
|
122
|
+
}, deferLoad: function (data, isRef, param) {
|
123
|
+
return deferLoad(data, isRef, (0, tslib_1.__assign)({ deferApi: item.deferApi }, (param || {})));
|
124
|
+
} }))));
|
125
|
+
}))))));
|
126
|
+
};
|
127
|
+
var _a, _b;
|
128
|
+
UserTabSelect.defaultProps = {};
|
129
|
+
(0, tslib_1.__decorate)([
|
130
|
+
helper_1.autobind,
|
131
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
132
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
133
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
134
|
+
], UserTabSelect.prototype, "onClose", null);
|
135
|
+
(0, tslib_1.__decorate)([
|
136
|
+
helper_1.autobind,
|
137
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
138
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
139
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
140
|
+
], UserTabSelect.prototype, "onOpen", null);
|
141
|
+
(0, tslib_1.__decorate)([
|
142
|
+
helper_1.autobind,
|
143
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
144
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
145
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
146
|
+
], UserTabSelect.prototype, "handleBack", null);
|
147
|
+
(0, tslib_1.__decorate)([
|
148
|
+
helper_1.autobind,
|
149
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
150
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, Boolean]),
|
151
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
152
|
+
], UserTabSelect.prototype, "handleSelectChange", null);
|
153
|
+
(0, tslib_1.__decorate)([
|
154
|
+
helper_1.autobind,
|
155
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
156
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
|
157
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
158
|
+
], UserTabSelect.prototype, "handleTabChange", null);
|
159
|
+
return UserTabSelect;
|
160
|
+
}(react_1.default.Component));
|
161
|
+
exports.UserTabSelect = UserTabSelect;
|
162
|
+
exports.default = (0, theme_1.themeable)((0, locale_1.localeable)(UserTabSelect));
|
163
|
+
//# sourceMappingURL=./components/UserTabSelect.js.map
|