@flatbiz/antd 5.0.16 → 5.0.18
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/dist/button-operate/index.d.ts +6 -2
- package/dist/button-operate/index.js +2 -2
- package/dist/{button-operate-C7NGikli.js → button-operate-3J_ml0DO.js} +19 -11
- package/dist/button-operate-3J_ml0DO.js.map +1 -0
- package/dist/{cell-render-D4e6I9eI.js → cell-render-ZmpHDPNW.js} +2 -2
- package/dist/{cell-render-D4e6I9eI.js.map → cell-render-ZmpHDPNW.js.map} +1 -1
- package/dist/dialog-modal-xt2uoEa-.js.map +1 -1
- package/dist/dialog-preview-image/index.css +0 -0
- package/dist/dialog-preview-image/index.d.ts +12 -0
- package/dist/dialog-preview-image/index.js +17 -0
- package/dist/dialog-preview-image/index.js.map +1 -0
- package/dist/{drag-C1CCBzbn.js → drag-CpN8Syvu.js} +2 -2
- package/dist/{drag-C1CCBzbn.js.map → drag-CpN8Syvu.js.map} +1 -1
- package/dist/drag-editable-table/index.css +1 -1
- package/dist/drag-editable-table/index.d.ts +14 -0
- package/dist/drag-editable-table/index.js +6 -5
- package/dist/editable-table/index.css +1 -1
- package/dist/editable-table/index.d.ts +14 -0
- package/dist/editable-table/index.js +5 -4
- package/dist/{editable-table-BgRLIKDS.js → editable-table-B79C_CpN.js} +3 -3
- package/dist/{editable-table-BgRLIKDS.js.map → editable-table-B79C_CpN.js.map} +1 -1
- package/dist/index.d.ts +36 -4
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/local-loading/index.css +1 -1
- package/dist/local-loading/index.d.ts +4 -2
- package/dist/local-loading/index.js +10 -5
- package/dist/local-loading/index.js.map +1 -1
- package/dist/preview-image-DP4umDzQ.js +80 -0
- package/dist/preview-image-DP4umDzQ.js.map +1 -0
- package/dist/selector-wrapper-simple/index.js +1 -1
- package/dist/{selector-wrapper-simple-CRqPexg2.js → selector-wrapper-simple-BRd4QhdQ.js} +4 -2
- package/dist/selector-wrapper-simple-BRd4QhdQ.js.map +1 -0
- package/dist/table-cell-render/index.d.ts +1 -1
- package/dist/table-cell-render/index.js +2 -2
- package/dist/{tabs-D2IfpmxW.js → tabs-CbMuUsXN.js} +5 -3
- package/dist/tabs-CbMuUsXN.js.map +1 -0
- package/dist/tabs-sticky/index.d.ts +3 -1
- package/dist/tabs-sticky/index.js +1 -1
- package/dist/tree-modal/index.d.ts +1 -1
- package/dist/tree-modal/index.js +1 -1
- package/dist/tree-modal-selector/index.d.ts +1 -1
- package/dist/tree-modal-selector/index.js +1 -1
- package/dist/tree-wrapper/index.d.ts +1 -1
- package/dist/tree-wrapper/index.js +1 -1
- package/dist/upload-wrapper/index.css +1 -1
- package/dist/upload-wrapper/index.d.ts +15 -0
- package/dist/upload-wrapper/index.js +21 -1
- package/dist/upload-wrapper/index.js.map +1 -1
- package/dist/{upload-wrapper-BUfwwddm.js → upload-wrapper-CwKeqggJ.js} +116 -20
- package/dist/upload-wrapper-CwKeqggJ.js.map +1 -0
- package/package.json +5 -1
- package/dist/button-operate-C7NGikli.js.map +0 -1
- package/dist/selector-wrapper-simple-CRqPexg2.js.map +0 -1
- package/dist/tabs-D2IfpmxW.js.map +0 -1
- package/dist/upload-wrapper-BUfwwddm.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -551,7 +551,7 @@ export interface ButtonOperateProps {
|
|
|
551
551
|
style?: CSSProperties;
|
|
552
552
|
/**
|
|
553
553
|
* 如果数组中元素为ReactElement类型
|
|
554
|
-
* 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
|
|
554
|
+
* 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
|
|
555
555
|
* 2. 可配置 v-permission 权限值,例如 v-permission="add"
|
|
556
556
|
* 3. 任何confirm、disabled等状态在外部控制
|
|
557
557
|
* 3. 不支持fold效果
|
|
@@ -576,7 +576,11 @@ export declare const ButtonOperateItemContent: (props: Pick<ButtonOperateItem, "
|
|
|
576
576
|
/**
|
|
577
577
|
* 按钮组合处理组件
|
|
578
578
|
* ```
|
|
579
|
-
*
|
|
579
|
+
* 1. operateList中存在ReactElement类型的元素,可通过配置 v-permission 属性来设置权限,例如 v-permission="add"
|
|
580
|
+
* 2. operateList中存在ReactElement类型的元素,如果有hidden、v-hidden属性,值为true会隐藏
|
|
581
|
+
*
|
|
582
|
+
*
|
|
583
|
+
* flatbiz/antd@4.2.49
|
|
580
584
|
* 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能
|
|
581
585
|
* 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题
|
|
582
586
|
* ```
|
|
@@ -1236,6 +1240,16 @@ export declare const dialogLoading: {
|
|
|
1236
1240
|
*/
|
|
1237
1241
|
close: () => void;
|
|
1238
1242
|
};
|
|
1243
|
+
export type DialogPreviewImageProps = {
|
|
1244
|
+
imageUrl: string;
|
|
1245
|
+
};
|
|
1246
|
+
/** 图片预览 */
|
|
1247
|
+
export declare const dialogPreviewImage: {
|
|
1248
|
+
show: (props: DialogPreviewImageProps) => {
|
|
1249
|
+
close: () => void;
|
|
1250
|
+
};
|
|
1251
|
+
hiden: () => void;
|
|
1252
|
+
};
|
|
1239
1253
|
export type DragCollapseItemKey = number | string;
|
|
1240
1254
|
export type DragCollapseItem = {
|
|
1241
1255
|
key: DragCollapseItemKey;
|
|
@@ -1883,6 +1897,20 @@ export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
|
|
|
1883
1897
|
* ```
|
|
1884
1898
|
*/
|
|
1885
1899
|
autoSubmit?: boolean;
|
|
1900
|
+
/** 图片预览开关, 重写 onPreview 方法后失效 */
|
|
1901
|
+
imagePreviewSwitch?: boolean;
|
|
1902
|
+
/** 图片预览文件类型,默认:['png', 'jpg', 'jpeg', 'gif'] */
|
|
1903
|
+
imagePreviewAccept?: string[];
|
|
1904
|
+
/**
|
|
1905
|
+
* 配置文件额外操作
|
|
1906
|
+
* ```
|
|
1907
|
+
* 额外操作超过两项后,listType为 picture-card、picture-circle 时会出现显示异常,需要自行修改覆盖样式
|
|
1908
|
+
* ```
|
|
1909
|
+
*/
|
|
1910
|
+
extraOperate?: {
|
|
1911
|
+
icon: ReactElement;
|
|
1912
|
+
onClick: (file: UploadFile, fileList: UploadFile[], e: any) => void;
|
|
1913
|
+
}[];
|
|
1886
1914
|
} & Omit<UploadProps, "onChange" | "fileList">;
|
|
1887
1915
|
/**
|
|
1888
1916
|
* 文件上传
|
|
@@ -4012,8 +4040,10 @@ export interface LocalLoadingProps {
|
|
|
4012
4040
|
showRequiredError?: boolean;
|
|
4013
4041
|
/** 自定义异常渲染处理 */
|
|
4014
4042
|
errorRender?: (error?: TAny) => ReactElement;
|
|
4015
|
-
/** 设置内部滚动,需要设置style.height 才能生效,@5.0.16 */
|
|
4043
|
+
/** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */
|
|
4016
4044
|
contentScroll?: boolean;
|
|
4045
|
+
/** 设置高度 */
|
|
4046
|
+
height?: number | string;
|
|
4017
4047
|
}
|
|
4018
4048
|
export type LocalLoadingRefApi = {
|
|
4019
4049
|
onRefresh: (params?: TPlainObject) => void;
|
|
@@ -4029,7 +4059,7 @@ export type LocalLoadingRefApi = {
|
|
|
4029
4059
|
* 5. 子组件通过下面方式主动发起服务调用
|
|
4030
4060
|
* const localLoadingApi = LocalLoading.useLocalLoading();
|
|
4031
4061
|
* localLoadingApi.onRequest();
|
|
4032
|
-
* 6. 如果内部需要滚动条,可设置 contentScroll = true
|
|
4062
|
+
* 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
|
|
4033
4063
|
* ```
|
|
4034
4064
|
*/
|
|
4035
4065
|
export declare const LocalLoading: import("react").ForwardRefExoticComponent<LocalLoadingProps & import("react").RefAttributes<LocalLoadingRefApi>> & {
|
|
@@ -5304,6 +5334,8 @@ export type TabsStickyProps = {
|
|
|
5304
5334
|
headerRender?: ReactElement;
|
|
5305
5335
|
/** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
|
|
5306
5336
|
clickTabToTop?: boolean;
|
|
5337
|
+
/** 设置tabItem 内容包裹元素的样式 */
|
|
5338
|
+
tabItemContentWrapperStyle?: (key: string) => CSSProperties;
|
|
5307
5339
|
};
|
|
5308
5340
|
/**
|
|
5309
5341
|
* Tabs吸顶组件
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ import './dialog-drawer-content/index.css';
|
|
|
32
32
|
import './dialog-drawer/index.css';
|
|
33
33
|
import './dialog-loading/index.css';
|
|
34
34
|
import './dialog-modal/index.css';
|
|
35
|
+
import './dialog-preview-image/index.css';
|
|
35
36
|
import './drag-collapse-form-list/index.css';
|
|
36
37
|
import './drag-collapse/index.css';
|
|
37
38
|
import './drag-editable-card/index.css';
|
|
@@ -142,7 +143,7 @@ export { A as AnchorSteps } from './anchor-steps-BQK32Pbd.js';
|
|
|
142
143
|
export { B as BlockLayout } from './layout-OPf8eBBY.js';
|
|
143
144
|
export { B as Bootstrap } from './bootstrap-BPinDEWu.js';
|
|
144
145
|
export { BoxGrid, useBoxBreakpoint } from './box-grid/index.js';
|
|
145
|
-
export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-operate-
|
|
146
|
+
export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-operate-3J_ml0DO.js';
|
|
146
147
|
export { B as ButtonWrapper } from './button-wrapper-l9FUsrWl.js';
|
|
147
148
|
export { C as CardLayout } from './card-layout-BNs6jF2K.js';
|
|
148
149
|
export { C as CardWrapper } from './card-wrapper-w-JbDJNk.js';
|
|
@@ -163,10 +164,11 @@ export { d as dialogDrawer } from './dialog-drawer-D7lYByyr.js';
|
|
|
163
164
|
export { D as DialogDrawerContent } from './content-CQdbAO0t.js';
|
|
164
165
|
export { d as dialogLoading } from './dialog-loading-DdKI0dnm.js';
|
|
165
166
|
export { d as dialogModal } from './dialog-modal-xt2uoEa-.js';
|
|
167
|
+
export { d as dialogPreviewImage } from './preview-image-DP4umDzQ.js';
|
|
166
168
|
export { D as DragCollapse } from './drag-collapse-wL7wIgVO.js';
|
|
167
169
|
export { D as DragCollapseFormList } from './drag-collapse-DU_JhQTz.js';
|
|
168
170
|
export { D as DragEditableCard } from './editable-card-Dc_9h_Qf.js';
|
|
169
|
-
export { D as DragEditableTable } from './drag-
|
|
171
|
+
export { D as DragEditableTable } from './drag-CpN8Syvu.js';
|
|
170
172
|
export { D as DragEditableTablePro } from './drag-CBosXqSQ.js';
|
|
171
173
|
export { D as DragFormList } from './drag-form-list-BGqbBKJM.js';
|
|
172
174
|
export { D as DragTable } from './drag-table-By85hEGF.js';
|
|
@@ -177,7 +179,7 @@ export { EasyTable } from './easy-table/index.js';
|
|
|
177
179
|
export { E as EditableCard } from './editable-card-D-JIgLVg.js';
|
|
178
180
|
export { E as EditableField } from './editable-field-XVZ1Rqdm.js';
|
|
179
181
|
export { E as EditableFieldProvider } from './editable-field-provider-DqKcZQYP.js';
|
|
180
|
-
export { E as EditableTable } from './editable-table-
|
|
182
|
+
export { E as EditableTable } from './editable-table-B79C_CpN.js';
|
|
181
183
|
export { E as EditableTablePro } from './editable-table-pro-D8Vt535W.js';
|
|
182
184
|
export { E as ErrorBoundaryWrapper } from './error-boundary-DtShAEtQ.js';
|
|
183
185
|
export { FbaApp } from './fba-app/index.js';
|
|
@@ -227,7 +229,7 @@ export { S as SearchForm } from './search-cwSkh4xF.js';
|
|
|
227
229
|
export { S as SearchMenu } from './search-menu-mRPEczbZ.js';
|
|
228
230
|
export { S as SelectorWrapper } from './selector-wrapper-DM2jRdkd.js';
|
|
229
231
|
export { S as SelectorWrapperSearch } from './selector-wrapper-search-CbRevSdB.js';
|
|
230
|
-
export { S as SelectorWrapperSimple } from './selector-wrapper-simple-
|
|
232
|
+
export { S as SelectorWrapperSimple } from './selector-wrapper-simple-BRd4QhdQ.js';
|
|
231
233
|
export { S as SimpleLayout } from './simple-layout-mSolkIZ5.js';
|
|
232
234
|
export { S as SmsCountDown } from './sms-count-down-DI31OzNh.js';
|
|
233
235
|
export { S as SplitWrapper } from './split-RLM37DOW.js';
|
|
@@ -235,10 +237,10 @@ export { styles } from './styles/index.js';
|
|
|
235
237
|
export { S as SvgHttpView } from './svg-DXIM5sfc.js';
|
|
236
238
|
export { S as SwitchConfirmWrapper } from './switch-confirm-wrapper-BW9G4u03.js';
|
|
237
239
|
export { S as SwitchWrapper } from './switch-wrapper-CfxaLAKg.js';
|
|
238
|
-
export { t as tableCellRender } from './cell-render-
|
|
240
|
+
export { t as tableCellRender } from './cell-render-ZmpHDPNW.js';
|
|
239
241
|
export { T as TableScrollbar } from './table-scrollbar-CBqQ4pYQ.js';
|
|
240
242
|
export { T as TableTitleTooltip } from './title-render-DGYUo6yV.js';
|
|
241
|
-
export { T as TabsSticky } from './tabs-
|
|
243
|
+
export { T as TabsSticky } from './tabs-CbMuUsXN.js';
|
|
242
244
|
export { T as TabsWrapper } from './tabs-wrapper-CAj9ErGH.js';
|
|
243
245
|
export { T as TagGroup } from './tag-group-BInmv_6s.js';
|
|
244
246
|
export { _ as TagListRender } from './tag-list-C9_bM06E.js';
|
|
@@ -256,7 +258,7 @@ export { T as TreeModalSelector } from './selector-dbYimxeI.js';
|
|
|
256
258
|
export { T as TreeSelectorWrapper } from './selector-D4LbM5wD.js';
|
|
257
259
|
export { TreeWrapper } from './tree-wrapper/index.js';
|
|
258
260
|
export { types } from './types/index.js';
|
|
259
|
-
export { U as UploadWrapper } from './upload-wrapper-
|
|
261
|
+
export { U as UploadWrapper } from './upload-wrapper-CwKeqggJ.js';
|
|
260
262
|
export { X as XMindPreview } from './x-mind-preview-BxHDc_lA.js';
|
|
261
263
|
import './_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
262
264
|
import '@dimjs/utils/class-names/class-names';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.local-loading-error{align-items:center;display:flex;height:100%;justify-content:center;position:relative}.local-loading-error .ant-result-icon{margin-bottom:10px!important}.local-loading-error .ant-result-icon .anticon{font-size:30px!important}.local-loading-error .ant-result-title{font-size:16px!important}.local-loading-error .ant-result-extra{margin-top:10px!important}.local-loading-error .ant-result-error{padding:24px 16px!important}.local-loading-area{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.fba-local-loading{position:relative}.local-loading-spin,.local-loading-spin-wrapper{align-items:center;background-color:var(--local-loading-spin-bgColor);border-radius:5px;display:flex;height:100%;justify-content:center;position:absolute;width:100%}.fll-content-scroll{height:100%;overflow:hidden}.fll-content-scroll .local-loading-content{
|
|
1
|
+
.local-loading-error{align-items:center;display:flex;height:100%;justify-content:center;position:relative}.local-loading-error .ant-result-icon{margin-bottom:10px!important}.local-loading-error .ant-result-icon .anticon{font-size:30px!important}.local-loading-error .ant-result-title{font-size:16px!important}.local-loading-error .ant-result-extra{margin-top:10px!important}.local-loading-error .ant-result-error{padding:24px 16px!important}.local-loading-area{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:9}.fba-local-loading{position:relative}.local-loading-spin,.local-loading-spin-wrapper{align-items:center;background-color:var(--local-loading-spin-bgColor);border-radius:5px;display:flex;height:100%;justify-content:center;position:absolute;width:100%}.local-loading-content{height:100%}.fll-content-scroll{height:100%;overflow:hidden}.fll-content-scroll .local-loading-content{overflow-y:auto}
|
|
@@ -44,8 +44,10 @@ export interface LocalLoadingProps {
|
|
|
44
44
|
showRequiredError?: boolean;
|
|
45
45
|
/** 自定义异常渲染处理 */
|
|
46
46
|
errorRender?: (error?: TAny) => ReactElement;
|
|
47
|
-
/** 设置内部滚动,需要设置style.height 才能生效,@5.0.16 */
|
|
47
|
+
/** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */
|
|
48
48
|
contentScroll?: boolean;
|
|
49
|
+
/** 设置高度 */
|
|
50
|
+
height?: number | string;
|
|
49
51
|
}
|
|
50
52
|
export type LocalLoadingRefApi = {
|
|
51
53
|
onRefresh: (params?: TPlainObject) => void;
|
|
@@ -61,7 +63,7 @@ export type LocalLoadingRefApi = {
|
|
|
61
63
|
* 5. 子组件通过下面方式主动发起服务调用
|
|
62
64
|
* const localLoadingApi = LocalLoading.useLocalLoading();
|
|
63
65
|
* localLoadingApi.onRequest();
|
|
64
|
-
* 6. 如果内部需要滚动条,可设置 contentScroll = true
|
|
66
|
+
* 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
|
|
65
67
|
* ```
|
|
66
68
|
*/
|
|
67
69
|
export declare const LocalLoading: import("react").ForwardRefExoticComponent<LocalLoadingProps & import("react").RefAttributes<LocalLoadingRefApi>> & {
|
|
@@ -34,7 +34,7 @@ var _createCtx = createCtx(),
|
|
|
34
34
|
* 5. 子组件通过下面方式主动发起服务调用
|
|
35
35
|
* const localLoadingApi = LocalLoading.useLocalLoading();
|
|
36
36
|
* localLoadingApi.onRequest();
|
|
37
|
-
* 6. 如果内部需要滚动条,可设置 contentScroll = true
|
|
37
|
+
* 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
@@ -45,7 +45,9 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
45
45
|
loadingSpinProps = props.loadingSpinProps,
|
|
46
46
|
textConfigs = props.textConfigs,
|
|
47
47
|
showRequiredError = props.showRequiredError,
|
|
48
|
-
contentScroll = props.contentScroll
|
|
48
|
+
contentScroll = props.contentScroll,
|
|
49
|
+
contentStyle = props.contentStyle,
|
|
50
|
+
height = props.height;
|
|
49
51
|
var _useState = useState('init'),
|
|
50
52
|
_useState2 = _slicedToArray(_useState, 2),
|
|
51
53
|
status = _useState2[0],
|
|
@@ -260,13 +262,16 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
260
262
|
var className = classNames('fba-local-loading', {
|
|
261
263
|
'fll-content-scroll': contentScroll
|
|
262
264
|
}, props.className);
|
|
265
|
+
var rootStyle = _objectSpread2({
|
|
266
|
+
height: height
|
|
267
|
+
}, props.style);
|
|
263
268
|
return /*#__PURE__*/jsx(LocalLoadingCtxProvider, {
|
|
264
269
|
value: {
|
|
265
270
|
onRequest: onInitRequest
|
|
266
271
|
},
|
|
267
272
|
children: /*#__PURE__*/jsxs("div", {
|
|
268
273
|
className: className,
|
|
269
|
-
style:
|
|
274
|
+
style: rootStyle,
|
|
270
275
|
children: [loading ? /*#__PURE__*/jsx(Spin, {
|
|
271
276
|
spinning: loading,
|
|
272
277
|
tip: loadingSpinTip,
|
|
@@ -278,7 +283,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
278
283
|
children: loadingSpinContent
|
|
279
284
|
}) : null, /*#__PURE__*/jsx("div", {
|
|
280
285
|
className: "local-loading-content",
|
|
281
|
-
style:
|
|
286
|
+
style: contentStyle,
|
|
282
287
|
children: children(respData)
|
|
283
288
|
})]
|
|
284
289
|
})
|
|
@@ -296,7 +301,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
296
301
|
* 5. 子组件通过下面方式主动发起服务调用
|
|
297
302
|
* const localLoadingApi = LocalLoading.useLocalLoading();
|
|
298
303
|
* localLoadingApi.onRequest();
|
|
299
|
-
* 6. 如果内部需要滚动条,可设置 contentScroll = true
|
|
304
|
+
* 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)
|
|
300
305
|
* ```
|
|
301
306
|
*/
|
|
302
307
|
var LocalLoading = fbaUtils.attachPropertiesToComponent(LocalLoadingInner, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** 设置内部滚动,需要设置style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (需要设置style.height 才能生效)\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n contentScroll,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n const className = classNames(\n 'fba-local-loading',\n { 'fll-content-scroll': contentScroll },\n props.className\n );\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={props.style}>\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={props.contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (需要设置style.height 才能生效)\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","contentScroll","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","height","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","contentStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n /** 设置高度 */\n height?: number | string;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n contentScroll,\n contentStyle,\n height,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n const className = classNames(\n 'fba-local-loading',\n { 'fll-content-scroll': contentScroll },\n props.className\n );\n\n const rootStyle = { height, ...props.style };\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={rootStyle}>\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","contentScroll","contentStyle","height","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","rootStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
|
|
3
|
+
import { isString } from '@dimjs/lang/is-string';
|
|
4
|
+
import { b as _objectSpread2, a as _slicedToArray } from './_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
5
|
+
import { hooks } from '@wove/react/hooks';
|
|
6
|
+
import { useState, Fragment } from 'react';
|
|
7
|
+
import { createRoot } from 'react-dom/client';
|
|
8
|
+
import { Image } from 'antd';
|
|
9
|
+
import { dom } from '@flatbiz/utils';
|
|
10
|
+
import { fbaHooks } from './fba-hooks/index.js';
|
|
11
|
+
import { jsx } from 'react/jsx-runtime';
|
|
12
|
+
|
|
13
|
+
var ModalRender = function ModalRender(props) {
|
|
14
|
+
var _useState = useState(true),
|
|
15
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
16
|
+
open = _useState2[0],
|
|
17
|
+
setOpen = _useState2[1];
|
|
18
|
+
var elementId = props.elementId;
|
|
19
|
+
var onClose = hooks.useCallbackRef(function () {
|
|
20
|
+
try {
|
|
21
|
+
delete window[elementId];
|
|
22
|
+
} catch (_error) {
|
|
23
|
+
//
|
|
24
|
+
}
|
|
25
|
+
setOpen(false);
|
|
26
|
+
});
|
|
27
|
+
fbaHooks.useEffectCustom(function () {
|
|
28
|
+
window[elementId] = onClose;
|
|
29
|
+
}, [onClose]);
|
|
30
|
+
return /*#__PURE__*/jsx(Fragment, {
|
|
31
|
+
children: /*#__PURE__*/jsx(Image, {
|
|
32
|
+
wrapperStyle: {
|
|
33
|
+
display: 'none'
|
|
34
|
+
},
|
|
35
|
+
preview: {
|
|
36
|
+
visible: !!open,
|
|
37
|
+
onVisibleChange: function onVisibleChange() {
|
|
38
|
+
return setOpen(false);
|
|
39
|
+
},
|
|
40
|
+
afterOpenChange: function afterOpenChange(visible) {
|
|
41
|
+
return !visible && setOpen(false);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
src: props.imageUrl
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/** 图片预览 */
|
|
50
|
+
var dialogPreviewImage = {
|
|
51
|
+
show: function show(props) {
|
|
52
|
+
var _dom$bodyAppendDivEle = dom.bodyAppendDivElement(),
|
|
53
|
+
divElement = _dom$bodyAppendDivEle.divElement,
|
|
54
|
+
elementId = _dom$bodyAppendDivEle.elementId;
|
|
55
|
+
window['__dialog_preview_elementId'] = elementId;
|
|
56
|
+
var root = createRoot(divElement);
|
|
57
|
+
root.render(/*#__PURE__*/jsx(ModalRender, _objectSpread2(_objectSpread2({}, props), {}, {
|
|
58
|
+
divElement: divElement,
|
|
59
|
+
elementId: elementId
|
|
60
|
+
})));
|
|
61
|
+
return {
|
|
62
|
+
close: function close() {
|
|
63
|
+
var _elementId, _ref;
|
|
64
|
+
(_elementId = (_ref = window)[elementId]) === null || _elementId === void 0 || _elementId.call(_ref);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
hiden: function hiden() {
|
|
69
|
+
try {
|
|
70
|
+
var _window$elementId, _window;
|
|
71
|
+
var elementId = window['__dialog_preview_elementId'];
|
|
72
|
+
if (isString(elementId)) (_window$elementId = (_window = window)[elementId]) === null || _window$elementId === void 0 || _window$elementId.call(_window);
|
|
73
|
+
} catch (_error) {
|
|
74
|
+
//
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { dialogPreviewImage as d };
|
|
80
|
+
//# sourceMappingURL=preview-image-DP4umDzQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-image-DP4umDzQ.js","sources":["@flatbiz/antd/src/dialog-preview-image/preview-image.tsx"],"sourcesContent":["import { Fragment, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Image } from 'antd';\nimport { isString } from '@dimjs/lang';\nimport type { BodyAppendDivElementProps } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\n\nexport type DialogPreviewImageProps = {\n imageUrl: string;\n};\n\nconst ModalRender = (\n props: BodyAppendDivElementProps & DialogPreviewImageProps\n) => {\n const [open, setOpen] = useState(true);\n const elementId = props.elementId;\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n (window as any)[elementId] = onClose;\n }, [onClose]);\n\n return (\n <Fragment>\n <Image\n wrapperStyle={{ display: 'none' }}\n preview={{\n visible: !!open,\n onVisibleChange: () => setOpen(false),\n afterOpenChange: (visible) => !visible && setOpen(false),\n }}\n src={props.imageUrl}\n />\n </Fragment>\n );\n};\n\n/** 图片预览 */\nexport const dialogPreviewImage = {\n show: (props: DialogPreviewImageProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_preview_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(\n <ModalRender {...props} divElement={divElement} elementId={elementId} />\n );\n return {\n close: () => {\n (window as any)[elementId]?.();\n },\n };\n },\n hiden: () => {\n try {\n const elementId = window['__dialog_preview_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_useState","useState","_useState2","_slicedToArray","open","setOpen","elementId","onClose","_hooks","useCallbackRef","window","_error","fbaHooks","useEffectCustom","_jsx","Fragment","children","Image","wrapperStyle","display","preview","visible","onVisibleChange","afterOpenChange","src","imageUrl","dialogPreviewImage","show","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","divElement","root","createRoot","render","_objectSpread","close","_elementId","_ref","call","hiden","_window$elementId","_window","_isString"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import './../request-status/index.css';
|
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
6
|
|
|
7
|
-
export { S as SelectorWrapperSimple } from '../selector-wrapper-simple-
|
|
7
|
+
export { S as SelectorWrapperSimple } from '../selector-wrapper-simple-BRd4QhdQ.js';
|
|
8
8
|
import '@ant-design/icons/es/icons/RedoOutlined.js';
|
|
9
9
|
import '../_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
10
10
|
import '@dimjs/lang/is-array';
|
|
@@ -118,7 +118,9 @@ var SelectorWrapperSimple = function SelectorWrapperSimple(props) {
|
|
|
118
118
|
void startDataSourceRequest();
|
|
119
119
|
}, []);
|
|
120
120
|
var loading = requestStatus === 'request-progress';
|
|
121
|
-
return /*#__PURE__*/jsx(Select, _objectSpread2(_objectSpread2({
|
|
121
|
+
return /*#__PURE__*/jsx(Select, _objectSpread2(_objectSpread2({
|
|
122
|
+
optionFilterProp: "label"
|
|
123
|
+
}, otherProps), {}, {
|
|
122
124
|
style: _objectSpread2({
|
|
123
125
|
width: '100%'
|
|
124
126
|
}, props.style),
|
|
@@ -142,4 +144,4 @@ var SelectorWrapperSimple = function SelectorWrapperSimple(props) {
|
|
|
142
144
|
};
|
|
143
145
|
|
|
144
146
|
export { SelectorWrapperSimple as S };
|
|
145
|
-
//# sourceMappingURL=selector-wrapper-simple-
|
|
147
|
+
//# sourceMappingURL=selector-wrapper-simple-BRd4QhdQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selector-wrapper-simple-BRd4QhdQ.js","sources":["@flatbiz/antd/src/selector-wrapper-simple/selector-wrapper-simple.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport type { SelectProps } from 'antd';\nimport { Button, Select } from 'antd';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport type { LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type {\n TRequestStatus,\n TRequestStatusProps,\n} from '../request-status/index.js';\nimport { RequestStatus } from '../request-status/index.js';\n\nexport type SelectorWrapperSimpleServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSimpleProps = 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?: {\n label: string;\n value: string;\n disabled?: string;\n list?: string;\n };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSimpleServiceConfig;\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 * 通过服务获取数据异常回调\n */\n onSelectorRequestError?: (error: Error) => void;\n\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 不支持search效果\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * ```\n */\nexport const SelectorWrapperSimple = (props: SelectorWrapperSimpleProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] =\n 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 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 let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = async () => {\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(serviceParams);\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],\n };\n });\n }\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error: TAny) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loading = requestStatus === 'request-progress';\n\n return (\n <Select\n optionFilterProp=\"label\"\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\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":["SelectorWrapperSimple","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","requestStatus","setRequestStatus","_useState3","_useState4","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","serviceParams","params","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","Promise","$return","$error","_serviceConfig$onRequ","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","resolve","onRequest","call","then","$await_2","map","item","_objectSpread","unshift","fbaHooks","useEffectCustom","loading","_jsx","Select","optionFilterProp","style","width","options","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
|
|
@@ -113,7 +113,7 @@ export interface ButtonOperateProps {
|
|
|
113
113
|
style?: CSSProperties;
|
|
114
114
|
/**
|
|
115
115
|
* 如果数组中元素为ReactElement类型
|
|
116
|
-
* 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
|
|
116
|
+
* 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
|
|
117
117
|
* 2. 可配置 v-permission 权限值,例如 v-permission="add"
|
|
118
118
|
* 3. 任何confirm、disabled等状态在外部控制
|
|
119
119
|
* 3. 不支持fold效果
|
|
@@ -7,7 +7,7 @@ import './../tag-list-render/index.css';
|
|
|
7
7
|
import './index.css';
|
|
8
8
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
9
9
|
|
|
10
|
-
export { t as tableCellRender } from '../cell-render-
|
|
10
|
+
export { t as tableCellRender } from '../cell-render-ZmpHDPNW.js';
|
|
11
11
|
import '@dimjs/lang/is-string';
|
|
12
12
|
import '@dimjs/lang/is-object';
|
|
13
13
|
import '@dimjs/utils/get/get';
|
|
@@ -17,7 +17,7 @@ import '@dimjs/lang/is-empty';
|
|
|
17
17
|
import 'react';
|
|
18
18
|
import 'antd';
|
|
19
19
|
import '@flatbiz/utils';
|
|
20
|
-
import '../button-operate-
|
|
20
|
+
import '../button-operate-3J_ml0DO.js';
|
|
21
21
|
import '@ant-design/icons/es/icons/MoreOutlined.js';
|
|
22
22
|
import '@dimjs/lang/is-undefined';
|
|
23
23
|
import '@dimjs/utils/class-names/class-names';
|
|
@@ -63,11 +63,13 @@ var TabsSticky = function TabsSticky(props) {
|
|
|
63
63
|
var contentTabItems = useMemo(function () {
|
|
64
64
|
var _tabsProps$items2;
|
|
65
65
|
return (_tabsProps$items2 = tabsProps.items) === null || _tabsProps$items2 === void 0 ? void 0 : _tabsProps$items2.map(function (item) {
|
|
66
|
+
var _props$tabItemContent;
|
|
67
|
+
var wrapperStyle = (_props$tabItemContent = props.tabItemContentWrapperStyle) === null || _props$tabItemContent === void 0 ? void 0 : _props$tabItemContent.call(props, item.key);
|
|
66
68
|
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
67
69
|
children: /*#__PURE__*/jsx("div", {
|
|
68
|
-
style: {
|
|
70
|
+
style: _objectSpread2({
|
|
69
71
|
minHeight: minHeight
|
|
70
|
-
},
|
|
72
|
+
}, wrapperStyle),
|
|
71
73
|
children: item.children
|
|
72
74
|
})
|
|
73
75
|
});
|
|
@@ -113,4 +115,4 @@ var TabsSticky = function TabsSticky(props) {
|
|
|
113
115
|
};
|
|
114
116
|
|
|
115
117
|
export { TabsSticky as T };
|
|
116
|
-
//# sourceMappingURL=tabs-
|
|
118
|
+
//# sourceMappingURL=tabs-CbMuUsXN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-CbMuUsXN.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type ReactElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useSize } from 'ahooks';\nimport { Affix, type GetProps, Tabs } from 'antd';\nimport './style.less';\n\ntype TabsType = GetProps<typeof Tabs>;\n\nexport type TabsStickyProps = {\n tabsProps: Omit<TabsType, 'tabPosition'>;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n /** 设置tabItem 内容包裹元素的样式 */\n tabItemContentWrapperStyle?: (key: string) => CSSProperties;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n const wrapperStyle = props.tabItemContentWrapperStyle?.(item.key);\n return {\n ...item,\n children: (\n <div style={{ minHeight, ...wrapperStyle }}>{item.children}</div>\n ),\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs\n activeKey={activeKey}\n className=\"tabs-sticky-contents\"\n items={contentTabItems}\n />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","_useState2","_slicedToArray","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","_tabsProps$onChange","call","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_objectSpread","children","contentTabItems","_tabsProps$items2","_props$tabItemContent","wrapperStyle","tabItemContentWrapperStyle","key","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GetProps, Tabs } from 'antd';
|
|
2
|
-
import { ReactElement } from 'react';
|
|
2
|
+
import { CSSProperties, ReactElement } from 'react';
|
|
3
3
|
|
|
4
4
|
export type TabsType = GetProps<typeof Tabs>;
|
|
5
5
|
export type TabsStickyProps = {
|
|
@@ -8,6 +8,8 @@ export type TabsStickyProps = {
|
|
|
8
8
|
headerRender?: ReactElement;
|
|
9
9
|
/** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
|
|
10
10
|
clickTabToTop?: boolean;
|
|
11
|
+
/** 设置tabItem 内容包裹元素的样式 */
|
|
12
|
+
tabItemContentWrapperStyle?: (key: string) => CSSProperties;
|
|
11
13
|
};
|
|
12
14
|
/**
|
|
13
15
|
* Tabs吸顶组件
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
4
|
|
|
5
|
-
export { T as TabsSticky } from '../tabs-
|
|
5
|
+
export { T as TabsSticky } from '../tabs-CbMuUsXN.js';
|
|
6
6
|
import '../_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'ahooks';
|
|
@@ -113,7 +113,7 @@ export interface ButtonOperateProps {
|
|
|
113
113
|
style?: CSSProperties;
|
|
114
114
|
/**
|
|
115
115
|
* 如果数组中元素为ReactElement类型
|
|
116
|
-
* 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏
|
|
116
|
+
* 1. 一般为antd Button组件,如果组件存在属性hidden=true、v-hidden=true,则会隐藏
|
|
117
117
|
* 2. 可配置 v-permission 权限值,例如 v-permission="add"
|
|
118
118
|
* 3. 任何confirm、disabled等状态在外部控制
|
|
119
119
|
* 3. 不支持fold效果
|