@flatbiz/antd 4.2.54 → 4.2.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/index.js CHANGED
@@ -84,5 +84,5 @@ import './tree-selector-wrapper/index.css';
84
84
  import './tree-wrapper/index.css';
85
85
  import './index.css';
86
86
  /*! @flatjs/forge MIT @flatbiz/antd */
87
- export{A as AnchorSteps}from"./anchor-steps-fba86c87.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-fb40320e.js";export{B as ButtonWrapper}from"./button-wrapper-125fce50.js";export{C as CascaderWrapper}from"./cascader-wrapper-a965eef5.js";export{CheckList}from"./check-list/index.js";export{C as CheckboxWrapper}from"./checkbox-wrapper-018a5c59.js";export{C as ConfigProviderWrapper}from"./config-provider-wrapper-dfe8f592.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{C as CssNodeHover}from"./css-node-hover-ed7b9860.js";export{D as DataRender}from"./data-render-07c0ab6b.js";export{D as DatePickerWrapper}from"./date-picker-wrapper-ba650858.js";export{D as DateRangePickerWrapper}from"./date-range-picker-wrapper-fb15c592.js";export{D as DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item-688cf465.js";export{d as dialogAlert}from"./dialog-alert-89d37729.js";export{d as dialogConfirm}from"./dialog-confirm-74fc9337.js";export{d as dialogDrawer}from"./dialog-drawer-7cb5c6df.js";export{d as dialogLoading}from"./dialog-loading-16bd1baa.js";export{d as dialogModal}from"./dialog-modal-4a0c72c5.js";export{D as DragCollapse}from"./drag-collapse-8d751c2b.js";export{DragDrop}from"./drag-drop/index.js";export{D as DragDropMulti}from"./drag-drop-multi-e8cae136.js";export{D as DrawerWrapper}from"./drawer-wrapper-9af2f178.js";export{D as DropdownMenuWrapper}from"./dropdown-menu-wrapper-98347af8.js";export{d as dynamicNode}from"./dynamic-node-c7864af4.js";export{EasyTable}from"./easy-table/index.js";export{E as EditableField}from"./editable-field-6801d833.js";export{E as EditableFieldProvider}from"./editable-field-provider-20963c3e.js";export{E as EditableTable}from"./editable-table-53686ef4.js";export{E as EditorWrapper}from"./editor-wrapper-ff6e75b7.js";export{fbaHooks}from"./fba-hooks/index.js";export{f as fbaUtils}from"./fba-utils-f9e11d02.js";export{F as FileImport}from"./file-import-890a1df9.js";export{F as FlexLayout}from"./flex-layout-8d2b668b.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{F as FormItemHidden}from"./form-item-hidden-45541774.js";export{F as FormItemWrapper}from"./form-item-wrapper-dfe2ebd9.js";export{G as Gap}from"./gap-284e1f59.js";export{I as IconWrapper}from"./icon-wrapper-ed5fcacc.js";export{I as InputSearchWrapper}from"./input-search-wrapper-10d4a9b9.js";export{I as InputTextAreaWrapper}from"./input-text-area-wrapper-c958fba0.js";export{I as InputWrapper}from"./input-wrapper-b378eb5a.js";export{L as LabelValueLayout}from"./label-value-layout-beb35b0d.js";export{LocalLoading}from"./local-loading/index.js";export{M as ModalAction}from"./modal-action-5c5ca8a7.js";export{M as ModalWrapper}from"./modal-wrapper-ff8df98b.js";export{P as PageFixedFooter}from"./page-fixed-footer-9ec2b46c.js";export{P as Page404}from"./page404-f087129a.js";export{P as Permission}from"./permission-17ed4d0b.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{R as RadioGroupWrapper}from"./radio-group-wrapper-b34746d1.js";export{R as RelationTree}from"./relation-tree-7bec12bd.js";export{R as RequestStatus}from"./request-status-03fc60e2.js";export{R as RichTextEditor}from"./rich-text-editor-c8bac6d2.js";export{R as RichTextViewer}from"./rich-text-viewer-3bf4569a.js";export{R as RollLocationCenter}from"./center-a4dfda6f.js";export{R as RollLocationInView}from"./in-view-448ba714.js";export{R as RuleDescribe}from"./rule-describe-b4a8e831.js";export{S as SelectorWrapper}from"./selector-wrapper-91427b7d.js";export{S as SelectorWrapperSearch}from"./selector-wrapper-search-5d87e3b9.js";export{S as SelectorWrapperSimple}from"./selector-wrapper-simple-1c0ceae7.js";export{S as SimpleLayout}from"./simple-layout-1cd0fefc.js";export{S as SmsCountDown}from"./sms-count-down-c2609386.js";export{styles}from"./styles/index.js";export{S as SwitchConfirmWrapper}from"./switch-confirm-wrapper-4857f2a9.js";export{S as SwitchWrapper}from"./switch-wrapper-f20b9a58.js";export{t as tableCellRender}from"./cell-render-2a3743af.js";export{T as TableScrollbar}from"./table-scrollbar-66c1682c.js";export{T as TableTitleTooltip}from"./title-render-2874a932.js";export{T as TabsWrapper}from"./tabs-wrapper-0a2da713.js";export{T as TagGroup}from"./tag-group-4fbcaa14.js";export{T as TagListSelect}from"./tag-list-select-066f682f.js";export{T as TagWrapper}from"./tag-wrapper-6d8b505e.js";export{T as TextCssEllipsis}from"./text-css-ellipsis-9135d4c5.js";export{T as TextOverflowRender}from"./text-overflow-render-7a6541f5.js";export{T as TimePickerWrapper}from"./time-picker-wrapper-f1d26d96.js";export{T as TimeRangePickerWrapper}from"./time-range-picker-wrapper-be9850b5.js";export{T as TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item-9df6c0f4.js";export{T as TreeSelectorWrapper}from"./tree-selector-wrapper-9cd9da23.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{U as UploadWrapper}from"./upload-wrapper-bd9ef592.js";import"@dimjs/utils/cjs/class-names";import"antd";import"react";import"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"./_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/DragOutlined";import"@flatbiz/antd";import"@hello-pangea/dnd";import"./droppable-item-708ec229.js";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
87
+ export{A as AnchorSteps}from"./anchor-steps-fba86c87.js";export{a as ButtonOperate,B as ButtonOperateItemContent}from"./button-operate-fb40320e.js";export{B as ButtonWrapper}from"./button-wrapper-125fce50.js";export{C as CascaderWrapper}from"./cascader-wrapper-a965eef5.js";export{CheckList}from"./check-list/index.js";export{C as CheckboxWrapper}from"./checkbox-wrapper-018a5c59.js";export{C as ConfigProviderWrapper}from"./config-provider-wrapper-dfe8f592.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{C as CssNodeHover}from"./css-node-hover-ed7b9860.js";export{D as DataRender}from"./data-render-07c0ab6b.js";export{D as DatePickerWrapper}from"./date-picker-wrapper-ba650858.js";export{D as DateRangePickerWrapper}from"./date-range-picker-wrapper-fb15c592.js";export{D as DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item-688cf465.js";export{d as dialogAlert}from"./dialog-alert-89d37729.js";export{d as dialogConfirm}from"./dialog-confirm-74fc9337.js";export{d as dialogDrawer}from"./dialog-drawer-7cb5c6df.js";export{d as dialogLoading}from"./dialog-loading-16bd1baa.js";export{d as dialogModal}from"./dialog-modal-4a0c72c5.js";export{D as DragCollapse}from"./drag-collapse-8d751c2b.js";export{DragDrop}from"./drag-drop/index.js";export{D as DragDropMulti}from"./drag-drop-multi-e8cae136.js";export{D as DrawerWrapper}from"./drawer-wrapper-9af2f178.js";export{D as DropdownMenuWrapper}from"./dropdown-menu-wrapper-98347af8.js";export{d as dynamicNode}from"./dynamic-node-c7864af4.js";export{EasyTable}from"./easy-table/index.js";export{E as EditableField}from"./editable-field-6801d833.js";export{E as EditableFieldProvider}from"./editable-field-provider-20963c3e.js";export{E as EditableTable}from"./editable-table-53686ef4.js";export{E as EditorWrapper}from"./editor-wrapper-ff6e75b7.js";export{fbaHooks}from"./fba-hooks/index.js";export{f as fbaUtils}from"./fba-utils-f9e11d02.js";export{F as FileImport}from"./file-import-890a1df9.js";export{F as FlexLayout}from"./flex-layout-8d2b668b.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{F as FormItemHidden}from"./form-item-hidden-45541774.js";export{F as FormItemWrapper}from"./form-item-wrapper-dfe2ebd9.js";export{G as Gap}from"./gap-284e1f59.js";export{I as IconWrapper}from"./icon-wrapper-ed5fcacc.js";export{I as InputSearchWrapper}from"./input-search-wrapper-10d4a9b9.js";export{I as InputTextAreaWrapper}from"./input-text-area-wrapper-c958fba0.js";export{I as InputWrapper}from"./input-wrapper-b378eb5a.js";export{L as LabelValueLayout}from"./label-value-layout-beb35b0d.js";export{LocalLoading}from"./local-loading/index.js";export{M as ModalAction}from"./modal-action-5c5ca8a7.js";export{M as ModalWrapper}from"./modal-wrapper-ff8df98b.js";export{P as PageFixedFooter}from"./page-fixed-footer-9ec2b46c.js";export{P as Page404}from"./page404-f087129a.js";export{P as Permission}from"./permission-17ed4d0b.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{R as RadioGroupWrapper}from"./radio-group-wrapper-b34746d1.js";export{R as RelationTree}from"./relation-tree-7bec12bd.js";export{R as RequestStatus}from"./request-status-03fc60e2.js";export{R as RichTextEditor}from"./rich-text-editor-c8bac6d2.js";export{R as RichTextViewer}from"./rich-text-viewer-3bf4569a.js";export{R as RollLocationCenter}from"./center-a4dfda6f.js";export{R as RollLocationInView}from"./in-view-448ba714.js";export{R as RuleDescribe}from"./rule-describe-b4a8e831.js";export{S as SelectorWrapper}from"./selector-wrapper-91427b7d.js";export{S as SelectorWrapperSearch}from"./selector-wrapper-search-dade1b6b.js";export{S as SelectorWrapperSimple}from"./selector-wrapper-simple-1c0ceae7.js";export{S as SimpleLayout}from"./simple-layout-1cd0fefc.js";export{S as SmsCountDown}from"./sms-count-down-c2609386.js";export{styles}from"./styles/index.js";export{S as SwitchConfirmWrapper}from"./switch-confirm-wrapper-4857f2a9.js";export{S as SwitchWrapper}from"./switch-wrapper-f20b9a58.js";export{t as tableCellRender}from"./cell-render-2a3743af.js";export{T as TableScrollbar}from"./table-scrollbar-66c1682c.js";export{T as TableTitleTooltip}from"./title-render-2874a932.js";export{T as TabsWrapper}from"./tabs-wrapper-0a2da713.js";export{T as TagGroup}from"./tag-group-4fbcaa14.js";export{T as TagListSelect}from"./tag-list-select-066f682f.js";export{T as TagWrapper}from"./tag-wrapper-6d8b505e.js";export{T as TextCssEllipsis}from"./text-css-ellipsis-9135d4c5.js";export{T as TextOverflowRender}from"./text-overflow-render-7a6541f5.js";export{T as TimePickerWrapper}from"./time-picker-wrapper-f1d26d96.js";export{T as TimeRangePickerWrapper}from"./time-range-picker-wrapper-be9850b5.js";export{T as TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item-9df6c0f4.js";export{T as TreeSelectorWrapper}from"./tree-selector-wrapper-9cd9da23.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{U as UploadWrapper}from"./upload-wrapper-bd9ef592.js";import"@dimjs/utils/cjs/class-names";import"antd";import"react";import"react/jsx-runtime";import"@ant-design/icons/es/icons/MoreOutlined";import"./_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@flatbiz/utils";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./time-53b3f55f.js";import"@dimjs/lang/cjs/is-array";import"react-dom/client";import"./dom-4d04aa64.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@ant-design/icons/es/icons/DragOutlined";import"@flatbiz/antd";import"@hello-pangea/dnd";import"./droppable-item-708ec229.js";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
88
88
  //# sourceMappingURL=index.js.map
@@ -2,5 +2,5 @@
2
2
  import './../request-status/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- export{S as SelectorWrapperSearch}from"../selector-wrapper-search-5d87e3b9.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"antd";import"react";import"../request-status-03fc60e2.js";import"@dimjs/utils/cjs/extend";import"@flatbiz/utils";import"react/jsx-runtime";
5
+ export{S as SelectorWrapperSearch}from"../selector-wrapper-search-dade1b6b.js";import"@ant-design/icons/es/icons/RedoOutlined";import"@wove/react/cjs/hooks";import"../_rollupPluginBabelHelpers-1f4d8910.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"antd";import"react";import"../request-status-03fc60e2.js";import"@dimjs/utils/cjs/extend";import"@flatbiz/utils";import"react/jsx-runtime";
6
6
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ /*! @flatjs/forge MIT @flatbiz/antd */
2
+ import e from"@ant-design/icons/es/icons/RedoOutlined";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t,a as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{get as a}from"@dimjs/utils/cjs/get";import{Select as i,Button as s}from"antd";import{useState as l,useMemo as u}from"react";import{R as c}from"./request-status-03fc60e2.js";import{jsx as d}from"react/jsx-runtime";var f=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter"];var v=function v(m){var p=m.showAllOption,h=m.serviceConfig,g=m.onSelectorListChange,q=m.onSelectorRequestError,b=m.requestMessageConfig,C=m.fieldNames,R=m.onLabelRenderAdapter,y=t(m,f);var w=l("request-init"),j=w[0],S=w[1];var A=l(),k=A[0],L=A[1];var O=(C==null?void 0:C.label)||"label";var x=(C==null?void 0:C.value)||"value";var E=(C==null?void 0:C.disabled)||"disabled";var M=(C==null?void 0:C.searchKeyword)||"searchKeyword";var P=h.params;var B=u((function(){var e=p===true;if(p){return{label:e?"全部":p.label,value:e?"":p.value}}return null}),[p]);var I=function e(r){if(h.onRequestResultAdapter){return h.onRequestResultAdapter(r)}if(C!=null&&C.list){var t=a(r,C==null?void 0:C.list);return o(t)?t:[]}return o(r)?r:[]};var K=function e(r){return new Promise((function(e,t){var o,a,i;var s=function(){try{return e()}catch(e){return t(e)}};var l=function(e){try{S("request-error");q==null?void 0:q(e);return s()}catch(e){return t(e)}};try{S("request-progress");return Promise.resolve(h.onRequest==null?void 0:h.onRequest(n({},P,(o={},o[M]=r,o)))).then((function(e){try{a=e;i=I(a);g==null?void 0:g(i);if(O&&x){i=i.map((function(e){return n({},e,{label:e[O],value:e[x],disabled:e[E||"disabled"]})}))}i.forEach((function(e){if(R){e.label=R(e)}}));if(B){i.unshift(B)}L(i);S("request-success");return s()}catch(e){return l(e)}}),l)}catch(e){l(e)}}))};var N=r.useDebounceCallback((function(e){L([]);void K(e)}),300);var _=j==="request-progress";return d(i,n({showSearch:true,allowClear:true,dropdownMatchSelectWidth:false},y,{style:n({width:"100%"},m.style),options:k,filterOption:false,onSearch:N,notFoundContent:d(c,{status:j,loading:_,messageConfig:n({"request-init":"请输入搜索条件"},b),errorButton:d(s,{type:"primary",onClick:K,children:"重新获取数据"})}),suffixIcon:j==="request-error"?d(e,{spin:_,onClick:K}):undefined,loading:_}))};export{v as S};
3
+ //# sourceMappingURL=selector-wrapper-search-dade1b6b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selector-wrapper-search-dade1b6b.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: { label: string; value: string; disabled?: string; searchKeyword?: string; list?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /** 通过服务获取数据异常回调 */\n onSelectorRequestError?: (error: Error) => void;\n /** 交互文案配置 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 只支持 search + 服务 功能\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n onLabelRenderAdapter,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n label: isTrue ? '全部' : (showAllOption.label as string),\n value: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return isArray(respData) ? respData : [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\n let respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (optionsItemLabelField && optionsItemValueField) {\n respAdapterData = respAdapterData.map((item) => {\n return {\n ...item,\n label: item[optionsItemLabelField],\n value: item[optionsItemValueField],\n disabled: item[optionsItemDisabledField || 'disabled'],\n };\n });\n }\n\n respAdapterData.forEach((item) => {\n if (onLabelRenderAdapter) {\n item.label = onLabelRenderAdapter(item);\n }\n });\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n void startDataSourceRequest(value);\n }, 300);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索条件',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n />\n );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","_extends","then","$await_2","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -2019,10 +2019,6 @@ export type SelectorWrapperSearchProps = Omit<SelectProps, "onSearch" | "notFoun
2019
2019
  onSelectorRequestError?: (error: Error) => void;
2020
2020
  /** 交互文案配置 */
2021
2021
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
2022
- /** 是否显示Option Icon,与 icon 属性配合使用 */
2023
- showIcon?: boolean;
2024
- /** select option添加图标;与showIcon组合使用 */
2025
- icon?: (data: TPlainObject, index: number) => ReactElement;
2026
2022
  onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;
2027
2023
  };
2028
2024
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.54",
3
+ "version": "4.2.55",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t,a as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{get as i}from"@dimjs/utils/cjs/get";import{Select as s,Button as a}from"antd";import{useState as l,useMemo as u}from"react";import{R as c}from"./request-status-03fc60e2.js";import{jsx as d,jsxs as v}from"react/jsx-runtime";var f=["showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","showIcon","icon"];var m=function m(p){var h=p.showAllOption,g=p.serviceConfig,q=p.onSelectorListChange,b=p.onSelectorRequestError,w=p.requestMessageConfig,C=p.fieldNames,R=p.onLabelRenderAdapter,y=p.showIcon,j=p.icon,S=t(p,f);var A=l("request-init"),O=A[0],k=A[1];var I=l([]),L=I[0],x=I[1];var M=(C==null?void 0:C.label)||"label";var N=(C==null?void 0:C.value)||"value";var P=(C==null?void 0:C.disabled)||"disabled";var B=(C==null?void 0:C.searchKeyword)||"searchKeyword";var E=g.params;var K=u((function(){var e=h===true;if(h){var r;return r={},r[M]=e?"全部":h.label,r[N]=e?"":h.value,r}return null}),[M,N,h]);var _=function e(r){if(g.onRequestResultAdapter){return g.onRequestResultAdapter(r)}if(C!=null&&C.list){var t=i(r,C==null?void 0:C.list);return o(t)?t:[]}return o(r)?r:[]};var D=function e(r){return new Promise((function(e,t){var o,i,s;var a=function(){try{return e()}catch(e){return t(e)}};var l=function(e){try{k("request-error");b==null?void 0:b(e);return a()}catch(e){return t(e)}};try{k("request-progress");return Promise.resolve(g.onRequest==null?void 0:g.onRequest(n({},E,(o={},o[B]=r,o)))).then((function(e){try{i=e;s=_(i);q==null?void 0:q(s);if(K){s.unshift(K)}x(s);k("request-success");return a()}catch(e){return l(e)}}),l)}catch(e){l(e)}}))};var F=r.useDebounceCallback((function(e){x([]);if(e){void D(e)}else{k("request-init")}}),300);var H=O==="request-progress";return d(s,n({showSearch:true,allowClear:true,dropdownMatchSelectWidth:false},S,{style:n({width:"100%"},p.style),filterOption:false,onSearch:F,notFoundContent:d(c,{status:O,loading:H,messageConfig:n({"request-init":"请输入搜索关键字"},w),errorButton:d(a,{type:"primary",onClick:D,children:"重新获取数据"})}),suffixIcon:O==="request-error"?d(e,{spin:H,onClick:D}):undefined,loading:H,children:L.map((function(e,r){var t=e[N];var n=e[M];return v(s.Option,{value:t,label:n,disabled:e[P],children:[y?d("span",{className:"v-selector-item-icon",children:j==null?void 0:j(e,r)}):null,R?R(e):n]},t+"-"+r)}))}))};export{m as S};
3
- //# sourceMappingURL=selector-wrapper-search-5d87e3b9.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selector-wrapper-search-5d87e3b9.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select, SelectProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { RequestStatus, TRequestStatus, TRequestStatusProps } from '../request-status';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: { label: string; value: string; disabled?: string; searchKeyword?: string; list?: string };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /** 通过服务获取数据异常回调 */\n onSelectorRequestError?: (error: Error) => void;\n /** 交互文案配置 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /** 是否显示Option Icon,与 icon 属性配合使用 */\n showIcon?: boolean;\n /** select option添加图标;与showIcon组合使用 */\n icon?: (data: TPlainObject, index: number) => ReactElement;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 只支持 search + 服务 功能\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n onLabelRenderAdapter,\n showIcon,\n icon,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>([]);\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\n const serviceParams = serviceConfig.params;\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n [optionsItemLabelField]: isTrue ? '全部' : (showAllOption.label as string),\n [optionsItemValueField]: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n const result = get(respData, fieldNames?.list);\n return isArray(result) ? result : [];\n }\n return isArray(respData) ? respData : [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n if (value) {\n void startDataSourceRequest(value);\n } else {\n setRequestStatus('request-init');\n }\n }, 300);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n dropdownMatchSelectWidth={false}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索关键字',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n >\n {dataSource.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {showIcon ? <span className=\"v-selector-item-icon\">{icon?.(item, index)}</span> : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","showIcon","icon","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","requestStatus","setRequestStatus","_useState2","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","allOptionConfig","useMemo","isTrue","_ref","serviceRespDataAdapter","respData","onRequestResultAdapter","list","result","_get","_isArray","startDataSourceRequest","keyword","Promise","$return","$error","_extends2","_respData","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","_extends","then","$await_2","unshift","onSearch","_hooks","useDebounceCallback","loading","_jsx","Select","showSearch","allowClear","dropdownMatchSelectWidth","style","width","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined","map","item","index","_jsxs","Option","className"],"mappings":"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"}