@aplus-frontend/ui 7.19.0-beta.1 → 7.19.0

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.
Files changed (165) hide show
  1. package/es/src/ag-grid/context.mjs +1 -1
  2. package/es/src/ag-grid/editable/form-item.vue.d.ts +2 -4
  3. package/es/src/ag-grid/editable/form-item.vue.mjs +88 -77
  4. package/es/src/ag-grid/editable/index.vue.d.ts +2 -4
  5. package/es/src/ag-grid/editable/index.vue.mjs +9 -8
  6. package/es/src/ag-grid/editable/interface.d.ts +15 -1
  7. package/es/src/ag-grid/hooks/use-columns.mjs +31 -23
  8. package/es/src/ag-grid/hooks/use-pinned-row.mjs +2 -2
  9. package/es/src/ag-grid/index.vue.d.ts +2 -4
  10. package/es/src/ag-grid/index.vue.mjs +353 -335
  11. package/es/src/ag-grid/interface.d.ts +40 -1
  12. package/es/src/ag-grid/utils.d.ts +18 -0
  13. package/es/src/ag-grid/utils.mjs +39 -18
  14. package/es/src/ap-field/cascader/use-options.d.ts +4 -4
  15. package/es/src/ap-field/date/index.vue.d.ts +0 -1
  16. package/es/src/ap-field/date-range/index.vue.d.ts +0 -1
  17. package/es/src/ap-field/select/use-select-options.d.ts +2 -2
  18. package/es/src/ap-field/text/password.vue.d.ts +4 -4
  19. package/es/src/ap-field/tree-select/use-request.d.ts +4 -4
  20. package/es/src/ap-form/ap-form.vue.d.ts +1 -2
  21. package/es/src/ap-form/ap-form.vue2.mjs +63 -61
  22. package/es/src/ap-form/context.mjs +1 -1
  23. package/es/src/ap-form/drawer-form/index.vue.d.ts +3 -4
  24. package/es/src/ap-form/interface.d.ts +4 -0
  25. package/es/src/ap-form/item/index.vue.d.ts +6 -6
  26. package/es/src/ap-form/item-group/helper.mjs +2 -2
  27. package/es/src/ap-form/items/date/index.vue.d.ts +9 -11
  28. package/es/src/ap-form/items/date-range/index.vue.d.ts +13 -15
  29. package/es/src/ap-form/items/number/index.vue.d.ts +2 -3
  30. package/es/src/ap-form/items/select/index.vue.d.ts +8 -8
  31. package/es/src/ap-form/modal-form/index.vue.d.ts +3 -4
  32. package/es/src/ap-form/provider/context.mjs +1 -1
  33. package/es/src/ap-form/search-form/index.vue.d.ts +3 -4
  34. package/es/src/ap-grid/editable/form-item.vue.d.ts +2 -4
  35. package/es/src/ap-grid/editable/index.vue.d.ts +2 -4
  36. package/es/src/ap-grid/index.vue.d.ts +2 -4
  37. package/es/src/ap-grid/utils/table.mjs +2 -2
  38. package/es/src/ap-list/index.vue.d.ts +2 -4
  39. package/es/src/ap-modal/utils/confirm.d.ts +1 -1
  40. package/es/src/ap-pro-card/components/card/index.vue2.mjs +2 -2
  41. package/es/src/ap-table/ap-table.vue.d.ts +2 -4
  42. package/es/src/ap-table/components/setting/context.d.ts +1 -1
  43. package/es/src/ap-table/components/setting/context.mjs +1 -1
  44. package/es/src/ap-table/components/setting/modal/index.vue.mjs +127 -117
  45. package/es/src/ap-table/components/setting/sorter/context.mjs +1 -1
  46. package/es/src/ap-table/components/setting/template/edit-form.vue.d.ts +2 -3
  47. package/es/src/ap-table/constants.d.ts +20 -22
  48. package/es/src/ap-table/context.mjs +1 -1
  49. package/es/src/ap-table/hooks/use-table-paging-ng.mjs +9 -9
  50. package/es/src/ap-table/hooks/use-table-template-storage.d.ts +9 -9
  51. package/es/src/ap-table/hooks/use-table-template-storage.mjs +102 -95
  52. package/es/src/ap-table/utils.mjs +1 -1
  53. package/es/src/business/ag-grid-modal/hooks/use-ag-grid-instance.mjs +1 -1
  54. package/es/src/business/ap-batch-action-group/index.d.ts +3 -3
  55. package/es/src/business/ap-download/hooks/index.mjs +1 -1
  56. package/es/src/business/ap-draggable-grid/ApDraggableGrid.vue.d.ts +1 -1
  57. package/es/src/business/ap-draggable-grid/ApDraggableGrid.vue2.mjs +1 -3
  58. package/es/src/business/ap-draggable-grid/index.d.ts +1 -1
  59. package/es/src/business/ap-expand-alert/ApExpandAlert.vue.d.ts +2 -4
  60. package/es/src/business/ap-keep-alive/hook.mjs +1 -1
  61. package/es/src/business/ap-keep-alive/utils.mjs +1 -1
  62. package/es/src/business/ap-select-layout/index.d.ts +2 -4
  63. package/es/src/business/ap-select-layout/select-layout.vue.d.ts +2 -4
  64. package/es/src/business/ap-table-modal/index.d.ts +17 -5
  65. package/es/src/business/ap-upload/components/MultipleFile.vue.d.ts +1 -1
  66. package/es/src/business/ap-upload/components/MultipleFile.vue2.mjs +128 -112
  67. package/es/src/business/ap-value-select-card/index.vue.d.ts +2 -4
  68. package/es/src/business/ap-view/ap-view.vue.d.ts +1 -1
  69. package/es/src/business/ap-view/ap-view.vue2.mjs +87 -81
  70. package/es/src/business/ap-view/components/main-button-content.vue.d.ts +2 -3
  71. package/es/src/business/ap-view/components/menu-list-content.vue.d.ts +2 -3
  72. package/es/src/business/ap-view/hooks/use-send-to-url.d.ts +2 -0
  73. package/es/src/business/ap-view/hooks/use-send-to-url.mjs +46 -30
  74. package/es/src/business/ap-view/hooks/use-view-provide.mjs +1 -1
  75. package/es/src/business/ap-view/index.d.ts +3 -3
  76. package/es/src/business/ap-view/interface.d.ts +7 -1
  77. package/es/src/check-card/context.mjs +1 -1
  78. package/es/src/config-provider/constants.mjs +1 -1
  79. package/es/src/config-provider/hooks/use-locale.mjs +1 -1
  80. package/es/src/config-provider/hooks/use-namespace.d.ts +5 -1
  81. package/es/src/config-provider/hooks/use-namespace.mjs +1 -1
  82. package/es/src/config-provider/hooks/use-token.mjs +1 -1
  83. package/es/src/editable-table/form-item.vue.d.ts +2 -4
  84. package/es/src/editable-table/index.vue.d.ts +2 -4
  85. package/es/src/editable-table/utils.mjs +1 -1
  86. package/es/src/scroll-view/index.vue.d.ts +5 -5
  87. package/es/src/tests/wrapper.d.ts +4 -4
  88. package/es/src/text/context.mjs +1 -1
  89. package/es/src/time-ago/useTimeAgo.mjs +1 -1
  90. package/es/src/type.d.ts +1 -0
  91. package/es/src/utils/slot.mjs +1 -1
  92. package/es/src/version.d.ts +1 -1
  93. package/es/src/version.mjs +1 -1
  94. package/lib/src/ag-grid/editable/form-item.vue.d.ts +2 -4
  95. package/lib/src/ag-grid/editable/form-item.vue.js +1 -1
  96. package/lib/src/ag-grid/editable/index.vue.d.ts +2 -4
  97. package/lib/src/ag-grid/editable/index.vue.js +1 -1
  98. package/lib/src/ag-grid/editable/interface.d.ts +15 -1
  99. package/lib/src/ag-grid/hooks/use-columns.js +1 -1
  100. package/lib/src/ag-grid/hooks/use-pinned-row.js +1 -1
  101. package/lib/src/ag-grid/index.vue.d.ts +2 -4
  102. package/lib/src/ag-grid/index.vue.js +1 -1
  103. package/lib/src/ag-grid/interface.d.ts +40 -1
  104. package/lib/src/ag-grid/utils.d.ts +18 -0
  105. package/lib/src/ag-grid/utils.js +1 -1
  106. package/lib/src/ap-field/cascader/use-options.d.ts +4 -4
  107. package/lib/src/ap-field/date/index.vue.d.ts +0 -1
  108. package/lib/src/ap-field/date-range/index.vue.d.ts +0 -1
  109. package/lib/src/ap-field/select/use-select-options.d.ts +2 -2
  110. package/lib/src/ap-field/text/password.vue.d.ts +4 -4
  111. package/lib/src/ap-field/tree-select/use-request.d.ts +4 -4
  112. package/lib/src/ap-form/ap-form.vue.d.ts +1 -2
  113. package/lib/src/ap-form/ap-form.vue2.js +1 -1
  114. package/lib/src/ap-form/drawer-form/index.vue.d.ts +3 -4
  115. package/lib/src/ap-form/interface.d.ts +4 -0
  116. package/lib/src/ap-form/item/index.vue.d.ts +6 -6
  117. package/lib/src/ap-form/items/date/index.vue.d.ts +9 -11
  118. package/lib/src/ap-form/items/date-range/index.vue.d.ts +13 -15
  119. package/lib/src/ap-form/items/number/index.vue.d.ts +2 -3
  120. package/lib/src/ap-form/items/select/index.vue.d.ts +8 -8
  121. package/lib/src/ap-form/modal-form/index.vue.d.ts +3 -4
  122. package/lib/src/ap-form/search-form/index.vue.d.ts +3 -4
  123. package/lib/src/ap-grid/editable/form-item.vue.d.ts +2 -4
  124. package/lib/src/ap-grid/editable/index.vue.d.ts +2 -4
  125. package/lib/src/ap-grid/index.vue.d.ts +2 -4
  126. package/lib/src/ap-grid/utils/table.js +1 -1
  127. package/lib/src/ap-list/index.vue.d.ts +2 -4
  128. package/lib/src/ap-modal/utils/confirm.d.ts +1 -1
  129. package/lib/src/ap-table/ap-table.vue.d.ts +2 -4
  130. package/lib/src/ap-table/components/setting/context.d.ts +1 -1
  131. package/lib/src/ap-table/components/setting/modal/index.vue.js +1 -1
  132. package/lib/src/ap-table/components/setting/template/edit-form.vue.d.ts +2 -3
  133. package/lib/src/ap-table/constants.d.ts +20 -22
  134. package/lib/src/ap-table/hooks/use-table-paging-ng.js +1 -1
  135. package/lib/src/ap-table/hooks/use-table-template-storage.d.ts +9 -9
  136. package/lib/src/ap-table/hooks/use-table-template-storage.js +1 -1
  137. package/lib/src/business/ap-batch-action-group/index.d.ts +3 -3
  138. package/lib/src/business/ap-draggable-grid/ApDraggableGrid.vue.d.ts +1 -1
  139. package/lib/src/business/ap-draggable-grid/ApDraggableGrid.vue2.js +1 -1
  140. package/lib/src/business/ap-draggable-grid/index.d.ts +1 -1
  141. package/lib/src/business/ap-expand-alert/ApExpandAlert.vue.d.ts +2 -4
  142. package/lib/src/business/ap-select-layout/index.d.ts +2 -4
  143. package/lib/src/business/ap-select-layout/select-layout.vue.d.ts +2 -4
  144. package/lib/src/business/ap-table-modal/index.d.ts +17 -5
  145. package/lib/src/business/ap-upload/components/MultipleFile.vue.d.ts +1 -1
  146. package/lib/src/business/ap-upload/components/MultipleFile.vue2.js +1 -1
  147. package/lib/src/business/ap-value-select-card/index.vue.d.ts +2 -4
  148. package/lib/src/business/ap-view/ap-view.vue.d.ts +1 -1
  149. package/lib/src/business/ap-view/ap-view.vue2.js +1 -1
  150. package/lib/src/business/ap-view/components/main-button-content.vue.d.ts +2 -3
  151. package/lib/src/business/ap-view/components/menu-list-content.vue.d.ts +2 -3
  152. package/lib/src/business/ap-view/hooks/use-send-to-url.d.ts +2 -0
  153. package/lib/src/business/ap-view/hooks/use-send-to-url.js +1 -1
  154. package/lib/src/business/ap-view/index.d.ts +3 -3
  155. package/lib/src/business/ap-view/interface.d.ts +7 -1
  156. package/lib/src/config-provider/hooks/use-namespace.d.ts +5 -1
  157. package/lib/src/editable-table/form-item.vue.d.ts +2 -4
  158. package/lib/src/editable-table/index.vue.d.ts +2 -4
  159. package/lib/src/scroll-view/index.vue.d.ts +5 -5
  160. package/lib/src/tests/wrapper.d.ts +4 -4
  161. package/lib/src/time-ago/useTimeAgo.js +1 -1
  162. package/lib/src/type.d.ts +1 -0
  163. package/lib/src/version.d.ts +1 -1
  164. package/lib/src/version.js +1 -1
  165. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
2
  export declare const Wrapper: DefineComponent<{
3
- uiMode?: ("admin" | "aplus") | undefined;
4
- lang?: ("en" | "zh-cn") | undefined;
3
+ uiMode?: "admin" | "aplus" | undefined;
4
+ lang?: "en" | "zh-cn" | undefined;
5
5
  }, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{
6
- uiMode?: ("admin" | "aplus") | undefined;
7
- lang?: ("en" | "zh-cn") | undefined;
6
+ uiMode?: "admin" | "aplus" | undefined;
7
+ lang?: "en" | "zh-cn" | undefined;
8
8
  }> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
@@ -1,5 +1,5 @@
1
1
  import { provide as t, inject as r } from "vue";
2
- const o = Symbol("apTextGroupContextKey");
2
+ const o = /* @__PURE__ */ Symbol("apTextGroupContextKey");
3
3
  function p(e) {
4
4
  t(o, e);
5
5
  }
@@ -7,7 +7,7 @@ function r(n, u) {
7
7
  type: n < u ? "ago" : "late",
8
8
  diffFormatted: p(e)
9
9
  };
10
- return e < 60 * 1e3 ? (t.unit = "s", t.count = Math.round(e / 1e3)) : e < 60 * 60 * 1e3 ? (t.unit = "m", t.count = Math.round(e / (60 * 1e3))) : e < 24 * 60 * 60 * 1e3 ? (t.unit = "h", t.count = Math.round(e / (60 * 60 * 1e3))) : e < 30 * 24 * 60 * 60 * 1e3 ? (t.unit = "d", t.count = Math.round(e / (24 * 60 * 60 * 1e3))) : e < 365 * 24 * 60 * 60 * 1e3 ? (t.unit = "M", t.count = Math.round(e / (30 * 24 * 60 * 60 * 1e3))) : (t.unit = "y", t.count = Math.round(e / 365 / (24 * 60 * 60 * 1e3))), t;
10
+ return e < 60 * 1e3 ? (t.unit = "s", t.count = Math.round(e / 1e3)) : e < 3600 * 1e3 ? (t.unit = "m", t.count = Math.round(e / (60 * 1e3))) : e < 1440 * 60 * 1e3 ? (t.unit = "h", t.count = Math.round(e / (3600 * 1e3))) : e < 720 * 60 * 60 * 1e3 ? (t.unit = "d", t.count = Math.round(e / (1440 * 60 * 1e3))) : e < 365 * 24 * 60 * 60 * 1e3 ? (t.unit = "M", t.count = Math.round(e / (720 * 60 * 60 * 1e3))) : (t.unit = "y", t.count = Math.round(e / 365 / (1440 * 60 * 1e3))), t;
11
11
  }
12
12
  function o(n) {
13
13
  return m(n).valueOf();
package/es/src/type.d.ts CHANGED
@@ -31,4 +31,5 @@ export type LiteralUnion<T extends U, U> = T | (U & {
31
31
  export type RecursivePartial<T> = {
32
32
  [P in keyof T]?: T[P] extends object ? RecursivePartial<T[P]> : T[P];
33
33
  };
34
+ export type Awaitable<T> = T | Promise<T>;
34
35
  export {};
@@ -6,7 +6,7 @@ function u(r) {
6
6
  return i(t) ? n(t)[0] : t;
7
7
  }
8
8
  function n(r) {
9
- return (r || []).filter((t) => t.type !== Symbol.for("v-cmt"));
9
+ return (r || []).filter((t) => t.type !== /* @__PURE__ */ Symbol.for("v-cmt"));
10
10
  }
11
11
  export {
12
12
  u as getSingleVNode,
@@ -1,2 +1,2 @@
1
- declare const _default: "7.19.0-beta.1";
1
+ declare const _default: "7.19.0";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "7.19.0-beta.1";
1
+ const e = "7.19.0";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1,15 +1,13 @@
1
1
  import { Recordable } from '../../type';
2
2
  import { EditableAgGridFormItemExpose, EditableAgGridFormItemProps } from './interface';
3
- import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode, RendererNode, RendererElement } from 'vue';
3
+ import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
4
4
  declare const _default: <RecordType extends Recordable = any>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & EditableAgGridFormItemProps<RecordType> & Partial<{}>> & PublicProps;
6
6
  expose(exposed: ShallowUnwrapRef<EditableAgGridFormItemExpose<RecordType>>): void;
7
7
  attrs: any;
8
8
  slots: Readonly<Record<string, any>> & Record<string, any>;
9
9
  emit: {};
10
- }>) => VNode<RendererNode, RendererElement, {
11
- [key: string]: any;
12
- }> & {
10
+ }>) => VNode & {
13
11
  __ctx?: Awaited<typeof __VLS_setup>;
14
12
  };
15
13
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),r=require("lodash-unified"),w=require("../../ap-form/index.js"),k=require("../../ap-form/context.js"),A=require("../../ap-form/hooks/use-watch.js"),P=require("../../ap-form/utils/get.js"),z=require("../../ap-form/utils/transform.js");require("../../config-provider/index.js");const H=require("../hooks/use-editable-columns.js"),K=require("../hooks/use-editable-form-item-api.js");require("../index.vue2.js");const G=require("../style/editable.js"),L=require("../utils.js"),m=require("./utils.js"),W=require("../../config-provider/hooks/use-namespace.js"),U=require("../../config-provider/hooks/use-global-config.js"),$=require("../index.vue.js"),J=o.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean},columns:{},defaultValue:{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{}},setup(y,{expose:h}){const b=o.useSlots(),t=y,{b:C}=W.useNamespace("editable-aggrid"),R=G.default("editable-aggrid"),s=o.ref(),{internalInstance:u}=k.useInjectForm();function v(e){const n=m.getColumnTransformOptions(t.columns||[]);if(!Object.keys(n).length||!e?.length)return e;let a=[];for(const d of e)a.push(z.transformValues(d,n));return a}const i=L.getShadowName(t.name);let p=[];o.onMounted(()=>{const e=t.formItem?.initialValue??P.getModelValue(u?.getInitialValues()??{},t.name);e&&(u?.updateInitialModel(i,m.arrayToObject(r.cloneDeep(e),t.rowKey)),p=r.cloneDeep(e),l.value||_(r.cloneDeep(e),"suffix",!0))});const l=o.ref([]),x=A.useWatch(t.name);o.watch(()=>x.value,e=>{r.isEqual(e,l.value)||f(e??r.cloneDeep(p))},{deep:!0,flush:"post",immediate:!0});const B=U.useGlobalConfig("valueTypeMap"),q=H.useGetEditableColumns(t,B,i),{add:I,addMultiple:S,__addMultiple:_,remove:T,removeByKey:E,getRowData:F,getRowsData:N,setRowData:V,clear:j,refreshRowIds:c}=K.useEditableFormItemApi(t,u,l,i);function D(){const e=s.value?._internalGridApi;if(!c.value?.length||!e)return;const n=c.value.map(a=>e.getRowNode(a)).filter(a=>!!a);e.refreshCells({rowNodes:n,force:!0}),c.value=[]}function f(e){l.value=[...e];const n=m.arrayToObject(e,t.rowKey);u?.setFieldValue(t.name,[...e]),u?.setFieldValue(i,n)}function g(e,n){const a=e==="end"?l.value.length-1:e;s.value?.scrollToRow(a,n)}function O(e,n){s.value?.scrollToColumn(e,n)}return h({add:I,addMultiple:S,remove:T,removeByKey:E,getRowData:F,getRowsData:N,setRowData:V,clear:j,setTableData:f,scrollTo:g,scrollToRow:g,scrollToColumn:O,table:s}),(e,n)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(w.ApForm).FormItem,{hidden:"",name:e.name,"initial-value":e.formItem?.initialValue,transform:v},null,8,["name","initial-value"]),o.createVNode(o.unref(w.ApForm).FormItem,o.mergeProps({label:e.label},e.formItem),{default:o.withCtx(()=>[o.createVNode($.default,o.mergeProps(o.unref(r.omit)(t,["name","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:s,class:[o.unref(C)(),o.unref(R)],size:"mini",columns:o.unref(q),"data-source":l.value,"search-form":!1,onUpdate:D}),o.createSlots({_:2},[o.renderList(b,(a,d)=>({name:d,fn:o.withCtx(M=>[o.renderSlot(e.$slots,d,o.normalizeProps(o.guardReactiveProps(M||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["label"])],64))}});exports.default=J;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),u=require("lodash-unified"),y=require("../../ap-form/index.js"),k=require("../../ap-form/context.js"),A=require("../../ap-form/hooks/use-watch.js"),z=require("../../ap-form/utils/get.js"),H=require("../../ap-form/utils/transform.js");require("../../config-provider/index.js");const L=require("../hooks/use-editable-columns.js"),G=require("../hooks/use-editable-form-item-api.js");require("../index.vue2.js");const W=require("../style/editable.js"),U=require("../utils.js"),c=require("./utils.js"),$=require("../../config-provider/hooks/use-namespace.js"),J=require("../../config-provider/hooks/use-global-config.js"),Q=require("../index.vue.js"),X=o.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean},plugins:{},columns:{},defaultValue:{},onChange:{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{}},setup(h,{expose:b}){const C=o.useSlots(),a=h,{b:R}=$.useNamespace("editable-aggrid"),v=W.default("editable-aggrid"),d=o.ref(),{internalInstance:l}=k.useInjectForm();function x(e){const t=c.getColumnTransformOptions(a.columns||[]);if(!Object.keys(t).length||!e?.length)return e;let n=[];for(const i of e)n.push(H.transformValues(i,t));return n}const s=U.getShadowName(a.name);let f=[];o.onMounted(()=>{const e=a.formItem?.initialValue??z.getModelValue(l?.getInitialValues()??{},a.name);e&&(l?.updateInitialModel(s,c.arrayToObject(u.cloneDeep(e),a.rowKey)),f=u.cloneDeep(e),r.value||F(u.cloneDeep(e),"suffix",!0))});const r=o.ref([]),B=A.useWatch(a.name);o.watch(()=>B.value,e=>{u.isEqual(e,r.value)||g(e??u.cloneDeep(f))},{deep:!0,flush:"post",immediate:!0});const S=J.useGlobalConfig("valueTypeMap"),q=L.useGetEditableColumns(a,S,s),{add:I,addMultiple:_,__addMultiple:F,remove:T,removeByKey:E,getRowData:N,getRowsData:V,setRowData:j,clear:D,refreshRowIds:m}=G.useEditableFormItemApi(a,l,r,s);function O(){const e=d.value?._internalGridApi;if(!m.value?.length||!e)return;const t=m.value.map(n=>e.getRowNode(n)).filter(n=>!!n);e.refreshCells({rowNodes:t,force:!0}),m.value=[]}function g(e){r.value=[...e];const t=c.arrayToObject(e,a.rowKey);l?.setFieldValue(a.name,[...e]),l?.setFieldValue(s,t)}function w(e,t){const n=e==="end"?r.value.length-1:e;d.value?.scrollToRow(n,t)}function K(e,t){d.value?.scrollToColumn(e,t)}function M(e,t){const n=[s,String(e),t].flat();return l?.validateFields([n])}function P(e){const n=o.unref(r).map((i,p)=>[s,String(c.getRowKey(i,p,a.rowKey)),e].flat());return l?.validateFields(n)}return b({add:I,addMultiple:_,remove:T,removeByKey:E,getRowData:N,getRowsData:V,setRowData:j,clear:D,setTableData:g,scrollTo:w,scrollToRow:w,scrollToColumn:K,validateCell:M,validateColumn:P,table:d}),(e,t)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(y.ApForm).FormItem,{hidden:"",name:e.name,"initial-value":e.formItem?.initialValue,transform:x},null,8,["name","initial-value"]),o.createVNode(o.unref(y.ApForm).FormItem,o.mergeProps({label:e.label},e.formItem),{default:o.withCtx(()=>[o.createVNode(Q.default,o.mergeProps(o.unref(u.omit)(a,["name","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:d,class:[o.unref(R)(),o.unref(v)],size:"mini",columns:o.unref(q),"data-source":r.value,"search-form":!1,onUpdate:O}),o.createSlots({_:2},[o.renderList(C,(n,i)=>({name:i,fn:o.withCtx(p=>[o.renderSlot(e.$slots,i,o.normalizeProps(o.guardReactiveProps(p||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["label"])],64))}});exports.default=X;
@@ -1,6 +1,6 @@
1
1
  import { Recordable } from '../../type';
2
2
  import { EditableAgGridExpose, EditableAgGridProps } from './interface';
3
- import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode, RendererNode, RendererElement } from 'vue';
3
+ import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
4
4
  declare const _default: <RecordType extends Recordable = any>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
6
6
  readonly "onUpdate:value"?: ((...args: any[]) => any) | undefined;
@@ -9,9 +9,7 @@ declare const _default: <RecordType extends Recordable = any>(__VLS_props: NonNu
9
9
  attrs: any;
10
10
  slots: Readonly<Record<string, any>> & Record<string, any>;
11
11
  emit: (event: "update:value", ...args: any[]) => void;
12
- }>) => VNode<RendererNode, RendererElement, {
13
- [key: string]: any;
14
- }> & {
12
+ }>) => VNode & {
15
13
  __ctx?: Awaited<typeof __VLS_setup>;
16
14
  };
17
15
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("lodash-unified"),f=require("../../ap-form/index.js");require("../../config-provider/index.js");require("../../hooks/index.js");const G=require("../hooks/use-editable-api.js"),L=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const M=require("../style/editable.js"),d=require("./utils.js"),U=require("../../config-provider/hooks/use-namespace.js"),W=require("../../hooks/useControllableValue.js"),$=require("../../config-provider/hooks/use-global-config.js"),J=require("../index.vue.js"),Q=a.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean},columns:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(v,{expose:h,emit:C}){const R=a.useSlots(),t=v,{b:x}=U.useNamespace("editable-aggrid"),B=M.default("editable-aggrid"),T=C,u=a.ref(),{value:s,updateValue:y}=W.useControllableValue(t,T),l=a.ref(),_=f.ApForm.useWatch(t.name,l);a.watch(s,e=>{const o=d.arrayToObject(e,t.rowKey);i.isEqual(o,a.unref(_))||l.value?.setFieldValue(t.name,o)},{deep:!0});const S=$.useGlobalConfig("valueTypeMap"),F=L.useGetEditableColumns(t,S),{add:q,addMultiple:A,remove:E,removeByKey:j,getRowData:N,getRowsData:K,setRowData:V,clear:k,refreshRowIds:c}=G.useEditableApi(t,l,s,y);function O(){const e=u.value?._internalGridApi;if(!c.value?.length||!e)return;const o=c.value.map(n=>e.getRowNode(n)).filter(n=>!!n);e.refreshCells({rowNodes:o,force:!0}),c.value=[]}function I(){l.value?.resetFields()}function w(e){return e?(i.isArray(e)?e:[e]).map(n=>i.isArray(n)?[t.name,...n]:[t.name,n]):void 0}function b(e){try{const o=Object.keys(e),n=s.value.map(r=>d.getRowKey(r,void 0,t.rowKey));return o.sort((r,p)=>n.findIndex(m=>String(m)===r)-n.findIndex(m=>String(m)===p)),o.map(r=>e[r])}catch{return e}}async function D(e,o){const r=(await l.value?.validateFields(w(e),o))?.[t.name];return b(r)}async function z(e,o){const r=(await l.value?.validateFieldsReturnTransformed(w(e),o))?.[t.name];return b(r)}function H(e){y(e);const o=d.arrayToObject(e,t.rowKey);l.value?.setFieldValue(t.name,o)}function g(e,o){const n=e==="end"?s.value.length-1:e;u.value?.scrollToRow(n,o)}function P(e,o){u.value?.scrollToColumn(e,o)}return h({resetFields:I,validateFields:D,validateFieldsReturnTransformed:z,add:q,addMultiple:A,remove:E,removeByKey:j,getRowData:N,getRowsData:K,setRowData:V,clear:k,setTableData:H,scrollTo:g,scrollToRow:g,scrollToColumn:P,table:u}),(e,o)=>(a.openBlock(),a.createBlock(a.unref(f.ApForm),{ref_key:"formRef",ref:l,"initial-values":{[t.name]:a.unref(d.arrayToObject)(a.unref(s),t.rowKey)},style:{height:"100%"}},{default:a.withCtx(()=>[a.createVNode(a.unref(f.ApForm).FormItem,{name:e.name,"no-style":""},{default:a.withCtx(()=>[a.createVNode(J.default,a.mergeProps(a.unref(i.omit)(t,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:u,class:[a.unref(x)(),a.unref(B)],size:"mini",columns:a.unref(F),"data-source":a.unref(s),"search-form":!1,onUpdate:O}),a.createSlots({_:2},[a.renderList(R,(n,r)=>({name:r,fn:a.withCtx(p=>[a.renderSlot(e.$slots,r,a.normalizeProps(a.guardReactiveProps(p||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=Q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("lodash-unified"),f=require("../../ap-form/index.js");require("../../config-provider/index.js");require("../../hooks/index.js");const G=require("../hooks/use-editable-api.js"),L=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const M=require("../style/editable.js"),d=require("./utils.js"),U=require("../../config-provider/hooks/use-namespace.js"),W=require("../../hooks/useControllableValue.js"),$=require("../../config-provider/hooks/use-global-config.js"),J=require("../index.vue.js"),Q=a.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean},plugins:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(v,{expose:h,emit:C}){const R=a.useSlots(),t=v,{b:x}=U.useNamespace("editable-aggrid"),B=M.default("editable-aggrid"),T=C,u=a.ref(),{value:s,updateValue:y}=W.useControllableValue(t,T),l=a.ref(),_=f.ApForm.useWatch(t.name,l);a.watch(s,e=>{const o=d.arrayToObject(e,t.rowKey);i.isEqual(o,a.unref(_))||l.value?.setFieldValue(t.name,o)},{deep:!0});const S=$.useGlobalConfig("valueTypeMap"),F=L.useGetEditableColumns(t,S),{add:q,addMultiple:A,remove:E,removeByKey:j,getRowData:N,getRowsData:K,setRowData:V,clear:k,refreshRowIds:c}=G.useEditableApi(t,l,s,y);function O(){const e=u.value?._internalGridApi;if(!c.value?.length||!e)return;const o=c.value.map(n=>e.getRowNode(n)).filter(n=>!!n);e.refreshCells({rowNodes:o,force:!0}),c.value=[]}function I(){l.value?.resetFields()}function w(e){return e?(i.isArray(e)?e:[e]).map(n=>i.isArray(n)?[t.name,...n]:[t.name,n]):void 0}function b(e){try{const o=Object.keys(e),n=s.value.map(r=>d.getRowKey(r,void 0,t.rowKey));return o.sort((r,p)=>n.findIndex(m=>String(m)===r)-n.findIndex(m=>String(m)===p)),o.map(r=>e[r])}catch{return e}}async function D(e,o){const r=(await l.value?.validateFields(w(e),o))?.[t.name];return b(r)}async function z(e,o){const r=(await l.value?.validateFieldsReturnTransformed(w(e),o))?.[t.name];return b(r)}function H(e){y(e);const o=d.arrayToObject(e,t.rowKey);l.value?.setFieldValue(t.name,o)}function g(e,o){const n=e==="end"?s.value.length-1:e;u.value?.scrollToRow(n,o)}function P(e,o){u.value?.scrollToColumn(e,o)}return h({resetFields:I,validateFields:D,validateFieldsReturnTransformed:z,add:q,addMultiple:A,remove:E,removeByKey:j,getRowData:N,getRowsData:K,setRowData:V,clear:k,setTableData:H,scrollTo:g,scrollToRow:g,scrollToColumn:P,table:u}),(e,o)=>(a.openBlock(),a.createBlock(a.unref(f.ApForm),{ref_key:"formRef",ref:l,"initial-values":{[t.name]:a.unref(d.arrayToObject)(a.unref(s),t.rowKey)},style:{height:"100%"}},{default:a.withCtx(()=>[a.createVNode(a.unref(f.ApForm).FormItem,{name:e.name,"no-style":""},{default:a.withCtx(()=>[a.createVNode(J.default,a.mergeProps(a.unref(i.omit)(t,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:u,class:[a.unref(x)(),a.unref(B)],size:"mini",columns:a.unref(F),"data-source":a.unref(s),"search-form":!1,onUpdate:O}),a.createSlots({_:2},[a.renderList(R,(n,r)=>({name:r,fn:a.withCtx(p=>[a.renderSlot(e.$slots,r,a.normalizeProps(a.guardReactiveProps(p||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=Q;
@@ -87,7 +87,21 @@ export type EditableAgGridExpose<RecordType = any, ModelType = RecordType[]> = O
87
87
  validateFieldsReturnTransformed: EditableTableExpose<ModelType, RecordType>['validateFields'];
88
88
  table: AgGridExpose;
89
89
  };
90
- export type EditableAgGridFormItemExpose<RecordType = any, ModelType = RecordType[]> = Omit<EditableAgGridExpose<RecordType, ModelType>, 'resetFields' | 'validateFields' | 'validateFieldsReturnTransformed'>;
90
+ export type EditableAgGridFormItemExpose<RecordType = any, ModelType = RecordType[]> = Omit<EditableAgGridExpose<RecordType, ModelType>, 'resetFields' | 'validateFields' | 'validateFieldsReturnTransformed'> & {
91
+ /**
92
+ * 校验单元格
93
+ * @param rowId 行唯一标识
94
+ * @param field 字段
95
+ * @returns
96
+ */
97
+ validateCell: (rowId: any, field: NamePath) => any;
98
+ /**
99
+ * 校验列
100
+ * @param colKey 列唯一标识
101
+ * @returns
102
+ */
103
+ validateColumn: (colKey: string | number) => any;
104
+ };
91
105
  export type EditableAgGridFormItemProps<RecordType = any> = Omit<EditableAgGridProps<RecordType>, 'name' | 'value' | 'onUpdate:value'> & {
92
106
  label?: string;
93
107
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),c=require("../utils.js"),m=o=>{const r=u.ref([]),l=u.ref([]);function i(n=[]){return n.filter(e=>!e.hideInTable).map(e=>{if(e.children?.length){const t=i(e.children);return t?.length?{...e,children:t}:null}return e}).filter(Boolean)}function d(n){return r.value.find(e=>c.getStringKey(e.key)===n)}const f=u.computed(()=>r.value.map(n=>c.getStringKey(n.key)).filter(Boolean));u.watch(()=>o.columns,()=>{const n=i(o.columns);r.value=n,l.value=n,o.onShownColumnsChange?.(n)},{deep:!0,immediate:!0});function s(n){for(const e of n)if(e.children){const t=s(e.children);if(t)return t}else if(e.defaultSortOrder){const t=e.field??e.dataIndex??e.key;return{colKey:e.key,field:t,order:e.defaultSortOrder}}}const a=u.computed(()=>s(r.value));return{columns:r,shownColumns:l,columnKeys:f,getTargetColumnByKey:d,defaultSortOrder:a}};exports.useColumns=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),l=require("../utils.js"),g=o=>{const r=u.ref([]),i=u.ref([]);function s(n=[]){return n.filter(e=>!e.hideInTable).map(e=>{if(e.children?.length){const t=s(e.children);return t?.length?{...e,children:t}:null}return e}).filter(Boolean)}function a(n){return r.value.find(e=>l.getStringKey(e.key)===n)}const d=u.computed(()=>r.value.map(n=>l.getStringKey(n.key)).filter(Boolean));async function f(n,e){return await l.runPipelineHooks(o.plugins,n,t=>t.beforeColumnsChange?.bind(t),e)}u.watch(()=>o.columns,async()=>{const n=s(o.columns),e=await f(n,r.value);r.value=e,i.value=e,o.onShownColumnsChange?.(e)},{deep:!0,immediate:!0});function c(n){for(const e of n)if(e.children){const t=c(e.children);if(t)return t}else if(e.defaultSortOrder){const t=e.field??e.dataIndex??e.key;return{colKey:e.key,field:t,order:e.defaultSortOrder}}}const m=u.computed(()=>c(r.value));return{columns:r,shownColumns:i,columnKeys:d,getTargetColumnByKey:a,defaultSortOrder:m}};exports.useColumns=g;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-unified"),c=require("vue"),w=i=>{const u=c.computed(()=>{const o=i.value;if(!o)return{};const{rowClassName:e,top:t,bottom:n}=o;return{pinnedTopRowData:t,pinnedBottomRowData:n,getRowClass({node:r,data:d,rowIndex:s}){if(!(!r.rowPinned||!e))return l.isFunction(e)?e(d,s,r.rowPinned):e}}});return{getRowPinnedCellClass:o=>e=>{let t;const{cellClassName:n}=i.value||{};return!e.node.rowPinned||!n?t=[o(e)]:t=[o(e),l.isFunction(n)?n(e.data,e.colDef,e.node.rowPinned,e.rowIndex):n],t.flat().filter(Boolean)},rowPinnedGridConfig:u}};exports.usePinnedRow=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("lodash-unified"),c=require("vue"),w=i=>{const u=c.computed(()=>{const o=i.value;if(!o)return{};const{rowClassName:e,top:t,bottom:n}=o;return{pinnedTopRowData:t,pinnedBottomRowData:n,getRowClass({node:r,data:d,rowIndex:s}){if(!(!r.rowPinned||!e))return l.isFunction(e)?e(d,s,r.rowPinned):e}}});return{getRowPinnedCellClass:o=>(e=>{let t;const{cellClassName:n}=i.value||{};return!e.node.rowPinned||!n?t=[o(e)]:t=[o(e),l.isFunction(n)?n(e.data,e.colDef,e.node.rowPinned,e.rowIndex):n],t.flat().filter(Boolean)}),rowPinnedGridConfig:u}};exports.usePinnedRow=w;
@@ -1,15 +1,13 @@
1
1
  import { Recordable } from '../type';
2
2
  import { AgGridExpose, AgGridProps, AgGridSlots } from './interface';
3
- import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode, RendererNode, RendererElement } from 'vue';
3
+ import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
4
4
  declare const _default: <RecordType extends Recordable>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & AgGridProps<RecordType> & Partial<{}>> & PublicProps;
6
6
  expose(exposed: ShallowUnwrapRef<AgGridExpose>): void;
7
7
  attrs: any;
8
8
  slots: Readonly<AgGridSlots<RecordType>> & AgGridSlots<RecordType>;
9
9
  emit: {};
10
- }>) => VNode<RendererNode, RendererElement, {
11
- [key: string]: any;
12
- }> & {
10
+ }>) => VNode & {
13
11
  __ctx?: Awaited<typeof __VLS_setup>;
14
12
  };
15
13
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),ee=require("@ag-grid-community/locale"),ao=require("@aplus-frontend/antdv"),so=require("@aplus-frontend/antdv/es/theme/internal"),l=require("ag-grid-community"),uo=require("ag-grid-vue3"),d=require("lodash-unified"),B=require("../ap-grid/constants.js"),io=require("../ap-table/context.js"),co=require("../ap-table/hooks/use-table-paging-ng.js"),po=require("../ap-table/utils.js");require("../config-provider/index.js");require("../utils/index.js");const fo=require("../utils/retry.js"),mo=require("../utils/slot.js"),go=require("../ap-form/index.js");require("./components/empty/index.vue.js");require("./components/loading/index.vue.js");require("./components/row/index.vue.js");const oe=require("./context.js"),wo=require("./hooks/use-columns.js"),So=require("./hooks/use-columns-def.js"),Co=require("./hooks/use-pinned-row.js"),yo=require("./hooks/use-row-selection.js"),ho=require("./hooks/use-search-form.js"),vo=require("./hooks/use-selection-col-def.js"),Ro=require("./hooks/use-virtual-config.js"),bo=require("./style/index.js"),xo=require("./theme.js"),ko=require("./utils.js"),Bo=require("../config-provider/hooks/use-namespace.js"),Fo=require("../config-provider/hooks/use-locale.js"),qo=require("../config-provider/hooks/use-global-config.js"),Mo=require("../utils/is.js"),Io=require("./components/row/index.vue2.js"),To=require("./components/loading/index.vue2.js"),Eo=require("./components/empty/index.vue2.js"),No=o.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},columns:{},rowSelection:{type:[Boolean,Object]},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean,default:!0}},setup(te,{expose:ne}){const re={"zh-cn":ee.AG_GRID_LOCALE_CN,en:ee.AG_GRID_LOCALE_EN};l.ModuleRegistry.registerModules([l.ValidationModule,l.ColumnAutoSizeModule,l.PinnedRowModule,l.RowAutoHeightModule,l.RowStyleModule,l.CellSpanModule,l.CellStyleModule,l.TooltipModule,l.RowSelectionModule,l.LocaleModule,l.ValueCacheModule,l.GridStateModule,l.ColumnApiModule,l.RowApiModule,l.CellApiModule,l.RenderApiModule,l.EventApiModule,l.ScrollApiModule,l.ClientSideRowModelApiModule,l.ClientSideRowModelModule]);const t=te,F=o.useSlots(),{e:q,b:c,be:le}=Bo.useNamespace("ag-grid"),{lang:_}=Fo.useLocale(),ae=bo.default("ag-grid"),h=o.ref(t.size),se=xo.useTheme(h,o.toRef(t,"rowHeight"),o.toRef(t,"theme")),ue=Ro.default(o.toRef(t,"virtual")),{rowPinnedGridConfig:D,getRowPinnedCellClass:ie}=Co.usePinnedRow(o.toRef(t,"summary")),ce=qo.useGlobalConfig("apGrid"),s=o.ref(),[,de]=so.useToken();let v=!!t.dataSource;const O=ho.useSearchForm(t),{shownColumns:S,columns:P,columnKeys:pe,getTargetColumnByKey:fe,defaultSortOrder:b}=wo.useColumns(t),{defaultColDef:me,columnDefs:ge,gridWrapperRef:we}=So.useColumnsDef(P,t,ie,F.headerCell),Se={asc:"ascend",desc:"descend"},V={ascend:"asc",descend:"desc"};function Ce(){const e=b.value;return e?{[e.colKey]:V[e.order]}:{}}function ye(){const e=G.value,n=b.value;if(n&&e.includes(n.field))return n}const x=o.ref(Ce());oe.useProvideSorter({sorter:x,setSorter(e){x.value=e}});function he(){const e=s.value.getColumns()?.filter(p=>p.getSort()!=null),n=o.unref(x)||{};let r=e?.[0];const i=Object.keys(n);if(i.length&&i.every(p=>n[p]===null)){const p=Object.keys(n)[0];p&&(r=s.value?.getColumn(p))}if(!r)return;const u=r.getColDef(),g=r.getSort(),w=fe(u.colId);L(void 0,void 0,{column:u,field:w?.field??u.field??u.colId,order:g?Se[g]:null})}const G=o.computed(()=>po.recursionApColumns(o.unref(S),e=>{if(e.sorter===!0)return e.field??e.dataIndex??e.key}).filter(Boolean)),ve=()=>{x.value={};const e=s.value;if(!e)return;const n=e.getColumnState()?.map(r=>({...r,sort:null}));e.applyColumnState({state:n})},M=o.ref({});oe.useProvideExpandable({expandable:M});function Re(e){const n=e.columnGroup;n&&(M.value={...M.value,[n.getGroupId()]:n.isExpanded()})}const I=o.ref(!0),be=o.computed(()=>Mo.isDef(t.manual)?t.manual:mo.getValidVNodeList(F.searchFormExtra?.()||[]).some(n=>n.type?.name==="ApView")),{formRef:C,submit:T,reset:E,data:f,tableProps:K,handleTableChangeOptional:L,submitWith:W,refresh:U,getPaging:xe,setPaging:ke,setDataSource:Be,getLastParams:Fe}=co.useTablePaging({async request(e){if(v=!1,y.value&&!y.value.preserveSelectedRowKeys&&d.isUndefined(t.dataSource)&&!I.value&&z(),I.value&&(I.value=!1),!d.isUndefined(t.dataSource)){const r=e.pageSize*(e.current-1);return{data:(t.pagination===!1?t.dataSource:t.dataSource.slice(r,r+e.pageSize))||[],total:t.dataSource.length||0}}const n=await t.request?.(e);return{data:n?.data||[],total:n?.total||0}},namespace:"ap-grid",filterFields:o.ref([]),params:o.toRef(t,"params"),defaultData:t.defaultData,manual:o.unref(be),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:G,onClickReset:ve,defaultSortOrder:ye()}),y=o.computed(()=>{const e=t.rowSelection||ce.value?.rowSelection;if(e)return e===!0?B.DEFAULT_ROW_SELECTION_CONFIG:{...B.DEFAULT_ROW_SELECTION_CONFIG,...e}}),qe=vo.default(t,S),Me=o.computed(()=>d.isUndefined(t.dataSource)?f.records:t.dataSource),{select:Ie,unSelect:Te,selectedRows:N,selectedRowKeys:Ee,clearAll:Ne,selectMultiByKeys:Ae,selectMulti:ze,unSelectMulti:_e}=yo.default({...y.value,dataSource:Me,rowKey:t.rowKey}),De={checkbox:"multiRow",radio:"singleRow"},Oe=o.computed(()=>{const e=y.value;if(!e)return;const{type:n="checkbox",disabled:r}=e;return{mode:De[n],isRowSelectable:i=>r?!r(i.data):!0,hideDisabledCheckboxes:e.hideDisabled??!1}});function A(e){return d.isFunction(t.rowKey)?t.rowKey(e):e[t.rowKey]}const k=({api:e=s.value})=>{if(t.onUpdate?.(),!y.value)return;const n=N.value||[];v=!1;const r=[];e.forEachNode(i=>{const m=i.data,u=A(m),g=i.isSelected();n.find(w=>A(w)===u)?!g&&r.push(i):g&&i.setSelected(!1)}),e.setNodesSelected({nodes:r,newValue:!0}),setTimeout(()=>{v=!0},0)},Pe=e=>{v&&(e.node.isSelected()?Ie(e.data):Te(e.data),d.isFunction(y.value?.tooltip)&&e.api.refreshCells({rowNodes:[e.node],columns:["ag-Grid-SelectionColumn"],force:!0}))},Ve=()=>{v=!0;const e=s.value;if(!e||!b.value)return;const n=e.getColumnState(),{colKey:r,order:i}=b.value,m=n.map(u=>({...u,sort:u.colId===r?V[i]:null}));e.applyColumnState({state:m})},z=()=>{Ne(),s.value?.deselectAll()};function Ge(e){Ae(e),o.nextTick(()=>{k({})})}const Ke=o.computed(()=>{const e=t.customRow;return e?{isFullWidthRow:e.isCustomRow,fullWidthCellRenderer:Io.default,fullWidthCellRendererParams:{render:e.render}}:{}});function Le(e){ze(e),o.nextTick(()=>{k({})})}function We(e){_e(e),o.nextTick(()=>{k({})})}function H(e=!1){const n=e?"getFieldsValueTransformed":"getFieldsValue";return C.value?.apForm?.[n]?.(!0)}function $(e){C.value?.apForm?.setFieldsValue?.(e)}function j(){return C.value?.getSorterItems()||[]}function J(e){C.value?.setSorterItems(e)}function Q(){C.value?.resetSorterItems()}function X(e){return e&&String(e)}function Ue(e){const n=s.value;if(!n)return;const r=n.getColumnState()||[],i=e.map(a=>a.key?String(a.key):a.key).filter(Boolean),m=r.map(a=>{if(!pe.value.includes(a.colId))return a;const R=!i.includes(a.colId),Y={...a,hide:R},Z=e.find(lo=>X(lo.key)===a.colId);return Z&&(Y.pinned=Z.fixed||null),Y}),u=new Map(e.map((a,R)=>[X(a.key),R])),g=m.filter(a=>u.has(a.colId)).sort((a,R)=>u.get(a.colId)-u.get(R.colId)),w=[];let p=0;for(const a of m)u.has(a.colId)?w.push(g[p++]):w.push(a);n.applyColumnState({state:w,applyOrder:!0})}io.useProvideApTable({columns:o.computed(()=>S.value),columnsBackup:o.computed(()=>P.value),size:o.computed(()=>B.sizeMap[h.value]),updateColumns(e){S.value=e,t.onShownColumnsChange?.(e),fo.retryUntil(()=>s.value,()=>{Ue(e)},{interval:17})},updateSize(e){h.value=B.sizeReverseMap[e]},renderConfig:o.computed(()=>({className:le("table-header","title"),color:de.value.colorTextTertiary})),dataSource:o.computed(()=>o.unref(f).records),getSearchFormValues:H,setSearchFormValues:$,submit:T,submitWith:W,reset:E,refresh:U,getSearchFormSorterItems:j,setSearchFormSorterItems:J,resetSearchFormSorterItems:Q,getLastParams:Fe});const He=o.computed(()=>d.isUndefined(t.loading)?f.loading:t.loading),$e=o.computed(()=>[c(),t.card?null:c("wrapper"),c("adaptive"),c(`size-${h.value}`),t.autoHeight&&f.records.length?c("auto-height"):null,ae.value].filter(Boolean)),je=o.computed(()=>({height:"100%",...t.tableStyle||{}})),Je=(e,n)=>{L({current:e,pageSize:n})};function Qe(e){const n=e.data;return A(n)}function Xe(e,n){(d.isFunction(e)?s.value?.ensureNodeVisible:s.value?.ensureIndexVisible)?.(e,n)}function Ye(e,n){s.value?.ensureColumnVisible(e,n)}function Ze(e){t.onRowClicked?.(e.data,e.event)}function eo(e){t.onScrollEnd?.(e.direction)}function oo(e){return s.value?.refreshCells(e)}function to(e){return s.value?.redrawRows(e)}function no({finished:e,column:n}){!e||!n||t.onColumnResized?.(n.getColId(),n.getActualWidth())}const ro=e=>{const n=[D.value.getRowClass?.(e)];if(!e.node.rowPinned){const r=d.isFunction(t.rowClassName)?t.rowClassName(e.data,e.rowIndex):t.rowClassName;n.push(r)}return n.flat().filter(Boolean)};return o.watch(()=>t.dataSource,e=>{o.nextTick(()=>{Be(e,!0)})},{immediate:!0,deep:!0}),o.watch(()=>t.size,e=>{h.value=e}),o.watch(()=>o.unref(f).loading,e=>{t.onLoadingChange?.(e)}),ne({submit:T,reset:E,refresh:U,submitWith:W,setSearchFormValues:$,getSearchFormValues:H,getShowColumns:()=>o.unref(S),rowSelection:{selectedRows:o.computed(()=>N.value),setSelectedRowKeys:Ge,setSelectedRows:Le,clearAll:z,unSelectRows:We},scrollToRow:Xe,scrollToColumn:Ye,getDataSource:()=>o.unref(f.records),getPaging:xe,setPaging:ke,getSearchFormSorterItems:j,setSearchFormSorterItems:J,resetSearchFormSorterItems:Q,refreshCells:oo,redrawRows:to,_internalGridApi:o.computed(()=>s.value)}),(e,n)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass($e.value),style:o.normalizeStyle(e.wrapperStyle)},[o.unref(d.isUndefined)(e.dataSource)&&e.searchForm!==!1&&o.unref(O).length>0?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(e.card?o.unref(q)("search-wrapper"):null),style:o.normalizeStyle(e.searchFormWrapperStyle)},[o.createVNode(o.unref(go.ApForm).SearchForm,o.mergeProps(e.searchForm||{},{ref_key:"formRef",ref:C,"custom-reset":"","submit-loading":o.unref(K).loading,onSubmit:o.unref(T),onReset:o.unref(E)}),o.createSlots({default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(O),r=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(r.renderNode),{key:r.dataIndex}))),128))]),_:2},[F.searchFormExtra?{name:"extra",fn:o.withCtx(()=>[o.renderSlot(e.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass([o.unref(q)("table-wrapper"),e.card?o.unref(q)("table-wrapper-card"):null]),style:o.normalizeStyle(e.tableWrapperStyle)},[o.createElementVNode("div",{class:o.normalizeClass(o.unref(c)("header-wrapper"))},[o.renderSlot(e.$slots,"title",{selectedRows:o.unref(N),selectedRowKeys:o.unref(Ee),shownColumns:o.unref(S),clearAll:z})],2),o.createElementVNode("div",{ref_key:"gridWrapperRef",ref:we,class:o.normalizeClass(o.unref(c)("grid-wrapper"))},[(o.openBlock(),o.createBlock(o.unref(uo.AgGridVue),o.mergeProps(o.unref(ko.mergeProps)(o.unref(ue),o.unref(D),Ke.value),{key:o.unref(_),"animate-rows":e.animateRows,"get-row-class":ro,style:je.value,"row-data":o.unref(f).records,"column-defs":o.unref(ge),"default-col-def":o.unref(me),"suppress-loading-overlay":"","row-selection":Oe.value,"selection-column-def":o.unref(qe),"get-row-id":Qe,"get-row-height":t.getRowHeight,theme:o.unref(se),"tooltip-show-delay":500,"enable-browser-tooltips":e.browserTooltips,"tooltip-interaction":"","row-class-rules":e.rowClassRules,"no-rows-overlay-component":Eo.default,"no-rows-overlay-component-params":{emptyComponent:e.emptyComponent,emptyText:e.emptyText},"loading-overlay-component":To.default,loading:He.value,"suppress-cell-focus":"","tab-to-next-cell":()=>!1,"enable-cell-span":"","dom-layout":e.autoHeight?"autoHeight":"normal","locale-text":re[o.unref(_)],onSortChanged:he,onGridReady:n[0]||(n[0]=r=>s.value=r.api),onRowDataUpdated:k,onRowSelected:Pe,onFirstDataRendered:Ve,onRowClicked:Ze,onBodyScrollEnd:eo,onColumnResized:no,onColumnGroupOpened:Re}),null,16,["animate-rows","style","row-data","column-defs","default-col-def","row-selection","selection-column-def","get-row-height","theme","enable-browser-tooltips","row-class-rules","no-rows-overlay-component-params","loading","dom-layout","locale-text"]))],2),o.createElementVNode("div",{class:o.normalizeClass(o.unref(c)("pagination-wrapper"))},[e.pagination!==!1?(o.openBlock(),o.createBlock(o.unref(ao.Pagination),o.mergeProps({key:0,class:o.unref(c)("pagination")},o.unref(K).pagination,{onChange:Je}),null,16,["class"])):o.createCommentVNode("",!0)],2)],6)],6))}});exports.default=No;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),te=require("@ag-grid-community/locale"),co=require("@aplus-frontend/antdv"),po=require("@aplus-frontend/antdv/es/theme/internal"),l=require("ag-grid-community"),fo=require("ag-grid-vue3"),c=require("lodash-unified"),F=require("../ap-grid/constants.js"),mo=require("../ap-table/context.js"),go=require("../ap-table/hooks/use-table-paging-ng.js"),wo=require("../ap-table/utils.js");require("../config-provider/index.js");require("../utils/index.js");const So=require("../utils/retry.js"),Co=require("../utils/slot.js"),ho=require("../ap-form/index.js");require("./components/empty/index.vue.js");require("./components/loading/index.vue.js");require("./components/row/index.vue.js");const ne=require("./context.js"),yo=require("./hooks/use-columns.js"),vo=require("./hooks/use-columns-def.js"),Ro=require("./hooks/use-pinned-row.js"),bo=require("./hooks/use-row-selection.js"),ko=require("./hooks/use-search-form.js"),xo=require("./hooks/use-selection-col-def.js"),Bo=require("./hooks/use-virtual-config.js"),Fo=require("./style/index.js"),qo=require("./theme.js"),b=require("./utils.js"),Mo=require("../config-provider/hooks/use-namespace.js"),Io=require("../config-provider/hooks/use-locale.js"),Eo=require("../config-provider/hooks/use-global-config.js"),To=require("../utils/is.js"),Ao=require("./components/row/index.vue2.js"),No=require("./components/loading/index.vue2.js"),zo=require("./components/empty/index.vue2.js"),_o=o.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},columns:{},rowSelection:{type:[Boolean,Object]},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean,default:!0},plugins:{default:()=>[]}},setup(re,{expose:le}){const ae={"zh-cn":te.AG_GRID_LOCALE_CN,en:te.AG_GRID_LOCALE_EN};l.ModuleRegistry.registerModules([l.ValidationModule,l.ColumnAutoSizeModule,l.PinnedRowModule,l.RowAutoHeightModule,l.RowStyleModule,l.CellSpanModule,l.CellStyleModule,l.TooltipModule,l.RowSelectionModule,l.LocaleModule,l.ValueCacheModule,l.GridStateModule,l.ColumnApiModule,l.RowApiModule,l.CellApiModule,l.RenderApiModule,l.EventApiModule,l.ScrollApiModule,l.ClientSideRowModelApiModule,l.ClientSideRowModelModule]);const n=re,q=o.useSlots(),{e:M,b:d,be:se}=Mo.useNamespace("ag-grid"),{lang:V}=Io.useLocale(),ue=Fo.default("ag-grid"),y=o.ref(n.size),ie=qo.useTheme(y,o.toRef(n,"rowHeight"),o.toRef(n,"theme")),ce=Bo.default(o.toRef(n,"virtual")),{rowPinnedGridConfig:D,getRowPinnedCellClass:de}=Ro.usePinnedRow(o.toRef(n,"summary")),pe=Eo.useGlobalConfig("apGrid"),u=o.ref(),[,fe]=po.useToken();let v=!!n.dataSource;async function I(e,t={}){const r=await b.runPipelineHooks(n.plugins,e,a=>a.beforeApplyColumnState?.bind(a));u.value.applyColumnState({state:r,...t})}const O=ko.useSearchForm(n),{shownColumns:S,columns:G,columnKeys:me,getTargetColumnByKey:ge,defaultSortOrder:k}=yo.useColumns(n),{defaultColDef:we,columnDefs:Se,gridWrapperRef:Ce}=vo.useColumnsDef(G,n,de,q.headerCell),he={asc:"ascend",desc:"descend"},K={ascend:"asc",descend:"desc"};function ye(){const e=k.value;return e?{[e.colKey]:K[e.order]}:{}}function ve(){const e=L.value,t=k.value;if(t&&e.includes(t.field))return t}const x=o.ref(ye());ne.useProvideSorter({sorter:x,setSorter(e){x.value=e}});function Re(){const e=u.value.getColumns()?.filter(p=>p.getSort()!=null),t=o.unref(x)||{};let r=e?.[0];const a=Object.keys(t);if(a.length&&a.every(p=>t[p]===null)){const p=Object.keys(t)[0];p&&(r=u.value?.getColumn(p))}if(!r)return;const i=r.getColDef(),g=r.getSort(),w=ge(i.colId);W(void 0,void 0,{column:i,field:w?.field??i.field??i.colId,order:g?he[g]:null})}const L=o.computed(()=>wo.recursionApColumns(o.unref(S),e=>{if(e.sorter===!0)return e.field??e.dataIndex??e.key}).filter(Boolean)),be=()=>{x.value={};const e=u.value;if(!e)return;const t=e.getColumnState()?.map(r=>({...r,sort:null}));I(t)},E=o.ref({});ne.useProvideExpandable({expandable:E});function ke(e){const t=e.columnGroup;t&&(E.value={...E.value,[t.getGroupId()]:t.isExpanded()})}const T=o.ref(!0),xe=o.computed(()=>To.isDef(n.manual)?n.manual:Co.getValidVNodeList(q.searchFormExtra?.()||[]).some(t=>t.type?.name==="ApView")),{formRef:C,submit:A,reset:N,data:f,tableProps:H,handleTableChangeOptional:W,submitWith:U,refresh:$,getPaging:Be,setPaging:Fe,setDataSource:qe,getLastParams:Me}=go.useTablePaging({async request(e){if(v=!1,h.value&&!h.value.preserveSelectedRowKeys&&c.isUndefined(n.dataSource)&&!T.value&&P(),T.value&&(T.value=!1),!c.isUndefined(n.dataSource)){const r=e.pageSize*(e.current-1);return{data:(n.pagination===!1?n.dataSource:n.dataSource.slice(r,r+e.pageSize))||[],total:n.dataSource.length||0}}const t=await n.request?.(e);return{data:t?.data||[],total:t?.total||0}},namespace:"ap-grid",filterFields:o.ref([]),params:o.toRef(n,"params"),defaultData:n.defaultData,manual:o.unref(xe),formatParams:n.beforeSearchSubmit,pagination:n.pagination,sortFields:L,onClickReset:be,defaultSortOrder:ve()}),h=o.computed(()=>{const e=n.rowSelection||pe.value?.rowSelection;if(e)return e===!0?F.DEFAULT_ROW_SELECTION_CONFIG:{...F.DEFAULT_ROW_SELECTION_CONFIG,...e}}),Ie=xo.default(n,S),Ee=o.computed(()=>c.isUndefined(n.dataSource)?f.records:n.dataSource),{select:Te,unSelect:Ae,selectedRows:z,selectedRowKeys:Ne,clearAll:ze,selectMultiByKeys:_e,selectMulti:Pe,unSelectMulti:Ve}=bo.default({...h.value,dataSource:Ee,rowKey:n.rowKey}),De={checkbox:"multiRow",radio:"singleRow"},Oe=o.computed(()=>{const e=h.value;if(!e)return;const{type:t="checkbox",disabled:r}=e;return{mode:De[t],isRowSelectable:a=>r?!r(a.data):!0,hideDisabledCheckboxes:e.hideDisabled??!1}});function _(e){return c.isFunction(n.rowKey)?n.rowKey(e):e[n.rowKey]}const B=({api:e=u.value})=>{if(n.onUpdate?.(),!h.value)return;const t=z.value||[];v=!1;const r=[];e.forEachNode(a=>{const m=a.data,i=_(m),g=a.isSelected();t.find(w=>_(w)===i)?!g&&r.push(a):g&&a.setSelected(!1)}),e.setNodesSelected({nodes:r,newValue:!0}),setTimeout(()=>{v=!0},0)},Ge=e=>{v&&(e.node.isSelected()?Te(e.data):Ae(e.data),c.isFunction(h.value?.tooltip)&&e.api.refreshCells({rowNodes:[e.node],columns:["ag-Grid-SelectionColumn"],force:!0}))},Ke=()=>{v=!0;const e=u.value;if(!e||!k.value)return;const t=e.getColumnState(),{colKey:r,order:a}=k.value,m=t.map(i=>({...i,sort:i.colId===r?K[a]:null}));I(m)},P=()=>{ze(),u.value?.deselectAll()};function Le(e){_e(e),o.nextTick(()=>{B({})})}const He=o.computed(()=>{const e=n.customRow;return e?{isFullWidthRow:e.isCustomRow,fullWidthCellRenderer:Ao.default,fullWidthCellRendererParams:{render:e.render}}:{}});function We(e){Pe(e),o.nextTick(()=>{B({})})}function Ue(e){Ve(e),o.nextTick(()=>{B({})})}function j(e=!1){const t=e?"getFieldsValueTransformed":"getFieldsValue";return C.value?.apForm?.[t]?.(!0)}function J(e){C.value?.apForm?.setFieldsValue?.(e)}function Q(){return C.value?.getSorterItems()||[]}function X(e){C.value?.setSorterItems(e)}function Y(){C.value?.resetSorterItems()}function Z(e){return e&&String(e)}function $e(e){const t=u.value;if(!t)return;const r=t.getColumnState()||[],a=e.map(s=>s.key?String(s.key):s.key).filter(Boolean),m=r.map(s=>{if(!me.value.includes(s.colId))return s;const R=!a.includes(s.colId),ee={...s,hide:R},oe=e.find(io=>Z(io.key)===s.colId);return oe&&(ee.pinned=oe.fixed||null),ee}),i=new Map(e.map((s,R)=>[Z(s.key),R])),g=m.filter(s=>i.has(s.colId)).sort((s,R)=>i.get(s.colId)-i.get(R.colId)),w=[];let p=0;for(const s of m)i.has(s.colId)?w.push(g[p++]):w.push(s);I(w,{applyOrder:!0})}mo.useProvideApTable({columns:o.computed(()=>S.value),columnsBackup:o.computed(()=>G.value),size:o.computed(()=>F.sizeMap[y.value]),updateColumns(e){S.value=e,n.onShownColumnsChange?.(e),So.retryUntil(()=>u.value,()=>{$e(e)},{interval:17})},updateSize(e){y.value=F.sizeReverseMap[e]},renderConfig:o.computed(()=>({className:se("table-header","title"),color:fe.value.colorTextTertiary})),dataSource:o.computed(()=>o.unref(f).records),getSearchFormValues:j,setSearchFormValues:J,submit:A,submitWith:U,reset:N,refresh:$,getSearchFormSorterItems:Q,setSearchFormSorterItems:X,resetSearchFormSorterItems:Y,getLastParams:Me});const je=o.computed(()=>c.isUndefined(n.loading)?f.loading:n.loading),Je=o.computed(()=>[d(),n.card?null:d("wrapper"),d("adaptive"),d(`size-${y.value}`),n.autoHeight&&f.records.length?d("auto-height"):null,ue.value].filter(Boolean)),Qe=o.computed(()=>({height:"100%",...n.tableStyle||{}})),Xe=(e,t)=>{W({current:e,pageSize:t})};function Ye(e){const t=e.data;return _(t)}function Ze(e,t){(c.isFunction(e)?u.value?.ensureNodeVisible:u.value?.ensureIndexVisible)?.(e,t)}function eo(e,t){u.value?.ensureColumnVisible(e,t)}function oo(e){n.onRowClicked?.(e.data,e.event)}function to(e){n.onScrollEnd?.(e.direction)}function no(e){return u.value?.refreshCells(e)}function ro(e){return u.value?.redrawRows(e)}function lo({finished:e,column:t}){!e||!t||(b.runEffectHooks(n.plugins,r=>r.onColumnResized?.bind(r),t.getColId(),t.getActualWidth()),n.onColumnResized?.(t.getColId(),t.getActualWidth()))}const ao=e=>{const t=[D.value.getRowClass?.(e)];if(!e.node.rowPinned){const r=c.isFunction(n.rowClassName)?n.rowClassName(e.data,e.rowIndex):n.rowClassName;t.push(r)}return t.flat().filter(Boolean)},so=({api:e})=>{u.value=e,b.runEffectHooks(n.plugins,t=>t.init?.bind(t),e)},uo=(e,t,r)=>{b.runEffectHooks(n.plugins,a=>a.searchParamsChange?.bind(this),t),n.searchForm&&n.searchForm.onValuesChange?.(e,t,r)};return o.watch(()=>n.dataSource,e=>{o.nextTick(()=>{qe(e,!0)})},{immediate:!0,deep:!0}),o.watch(()=>n.size,e=>{y.value=e}),o.watch(()=>o.unref(f).loading,e=>{n.onLoadingChange?.(e)}),le({submit:A,reset:N,refresh:$,submitWith:U,setSearchFormValues:J,getSearchFormValues:j,getShowColumns:()=>o.unref(S),rowSelection:{selectedRows:o.computed(()=>z.value),setSelectedRowKeys:Le,setSelectedRows:We,clearAll:P,unSelectRows:Ue},scrollToRow:Ze,scrollToColumn:eo,getDataSource:()=>o.unref(f.records),getPaging:Be,setPaging:Fe,getSearchFormSorterItems:Q,setSearchFormSorterItems:X,resetSearchFormSorterItems:Y,refreshCells:no,redrawRows:ro,_internalGridApi:o.computed(()=>u.value)}),(e,t)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(Je.value),style:o.normalizeStyle(e.wrapperStyle)},[o.unref(c.isUndefined)(e.dataSource)&&e.searchForm!==!1&&o.unref(O).length>0?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(e.card?o.unref(M)("search-wrapper"):null),style:o.normalizeStyle(e.searchFormWrapperStyle)},[o.createVNode(o.unref(ho.ApForm).SearchForm,o.mergeProps(o.unref(c.omit)(e.searchForm||{},["onValuesChange"]),{ref_key:"formRef",ref:C,"custom-reset":"","submit-loading":o.unref(H).loading,onSubmit:o.unref(A),onReset:o.unref(N),onValuesChange:uo}),o.createSlots({default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(o.unref(O),r=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(r.renderNode),{key:r.dataIndex}))),128))]),_:2},[q.searchFormExtra?{name:"extra",fn:o.withCtx(()=>[o.renderSlot(e.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):o.createCommentVNode("",!0),o.createElementVNode("div",{class:o.normalizeClass([o.unref(M)("table-wrapper"),e.card?o.unref(M)("table-wrapper-card"):null]),style:o.normalizeStyle(e.tableWrapperStyle)},[o.createElementVNode("div",{class:o.normalizeClass(o.unref(d)("header-wrapper"))},[o.renderSlot(e.$slots,"title",{selectedRows:o.unref(z),selectedRowKeys:o.unref(Ne),shownColumns:o.unref(S),clearAll:P})],2),o.createElementVNode("div",{ref_key:"gridWrapperRef",ref:Ce,class:o.normalizeClass(o.unref(d)("grid-wrapper"))},[(o.openBlock(),o.createBlock(o.unref(fo.AgGridVue),o.mergeProps(o.unref(b.mergeProps)(o.unref(ce),o.unref(D),He.value),{key:o.unref(V),"animate-rows":e.animateRows,"get-row-class":ao,style:Qe.value,"row-data":o.unref(f).records,"column-defs":o.unref(Se),"default-col-def":o.unref(we),"suppress-loading-overlay":"","row-selection":Oe.value,"selection-column-def":o.unref(Ie),"get-row-id":Ye,"get-row-height":n.getRowHeight,theme:o.unref(ie),"tooltip-show-delay":500,"enable-browser-tooltips":e.browserTooltips,"tooltip-interaction":"","row-class-rules":e.rowClassRules,"no-rows-overlay-component":zo.default,"no-rows-overlay-component-params":{emptyComponent:e.emptyComponent,emptyText:e.emptyText},"loading-overlay-component":No.default,loading:je.value,"suppress-cell-focus":"","tab-to-next-cell":()=>!1,"enable-cell-span":"","dom-layout":e.autoHeight?"autoHeight":"normal","locale-text":ae[o.unref(V)],onSortChanged:Re,onGridReady:so,onRowDataUpdated:B,onRowSelected:Ge,onFirstDataRendered:Ke,onRowClicked:oo,onBodyScrollEnd:to,onColumnResized:lo,onColumnGroupOpened:ke}),null,16,["animate-rows","style","row-data","column-defs","default-col-def","row-selection","selection-column-def","get-row-height","theme","enable-browser-tooltips","row-class-rules","no-rows-overlay-component-params","loading","dom-layout","locale-text"]))],2),o.createElementVNode("div",{class:o.normalizeClass(o.unref(d)("pagination-wrapper"))},[e.pagination!==!1?(o.openBlock(),o.createBlock(o.unref(co.Pagination),o.mergeProps({key:0,class:o.unref(d)("pagination")},o.unref(H).pagination,{onChange:Xe}),null,16,["class"])):o.createCommentVNode("",!0)],2)],6)],6))}});exports.default=_o;
@@ -1,6 +1,6 @@
1
1
  import { TableProps } from '@aplus-frontend/antdv';
2
2
  import { SortOrder, TableRowSelection } from '@aplus-frontend/antdv/es/table/interface';
3
- import { AgColumn, ColDef, GridApi, ICellRendererParams, IRowNode, IsFullWidthRowParams, RedrawRowsParams, RefreshCellsParams, RowClassRules, RowHeightParams, RowPinnedType, ScrollDirection, ThemeDefaultParams } from 'ag-grid-community';
3
+ import { AgColumn, ColDef, ColumnState, GridApi, ICellRendererParams, IRowNode, IsFullWidthRowParams, RedrawRowsParams, RefreshCellsParams, RowClassRules, RowHeightParams, RowPinnedType, ScrollDirection, ThemeDefaultParams } from 'ag-grid-community';
4
4
  import { ComputedRef, CSSProperties, VNode } from 'vue';
5
5
  import { ApFormSearchFormPopoverSorterItem, ApFormSearchFormProps } from '../ap-form/interface';
6
6
  import { InternalPagingType } from '../ap-table/hooks/use-table-paging-ng';
@@ -370,6 +370,11 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
370
370
  * @description 详见https://www.ag-grid.com/vue-data-grid/row-animation/
371
371
  */
372
372
  animateRows?: boolean;
373
+ /**
374
+ * 插件列表
375
+ * @since 7.19.0
376
+ */
377
+ plugins?: AgGridPluginType[];
373
378
  };
374
379
  export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
375
380
  /**
@@ -520,3 +525,37 @@ export type AgGridSlots<RecordType> = {
520
525
  column: Omit<AgColumn, keyof AgGridColumnType> & AgGridColumnType;
521
526
  }) => void;
522
527
  };
528
+ export interface AgGridPluginType {
529
+ /**
530
+ * AgGrid 初始化完成
531
+ * @param api
532
+ * @returns
533
+ */
534
+ init?: (api: GridApi) => void;
535
+ /**
536
+ * 列配置变化后应用前
537
+ * @param columns 列配置
538
+ * @param prevColumns 之前的列配置
539
+ * @returns
540
+ */
541
+ beforeColumnsChange?: (columns: AgGridColumnType[], prevColumns?: AgGridColumnType[]) => void | AgGridColumnType[] | Promise<void | AgGridColumnType[]>;
542
+ /**
543
+ * 应用列状态之前
544
+ * @param columnState 即将应用的列配置
545
+ * @returns
546
+ */
547
+ beforeApplyColumnState?: (columnState: ColumnState[]) => void | ColumnState[] | Promise<void | ColumnState[]>;
548
+ /**
549
+ * 查询表单参数变更后
550
+ * @param params
551
+ * @returns
552
+ */
553
+ searchParamsChange?: (params: Recordable) => void;
554
+ /**
555
+ * 列宽拖动变化后
556
+ * @param key 列唯一标识
557
+ * @param width 当前列宽
558
+ * @returns
559
+ */
560
+ onColumnResized?: (key: string, width: number) => void;
561
+ }
@@ -1,5 +1,7 @@
1
1
  import { GridOptions } from 'ag-grid-community';
2
+ import { Awaitable } from '../type';
2
3
  import { EditableAgGridFormItemProps } from './editable/interface';
4
+ import { AgGridPluginType } from './interface';
3
5
  export declare function mergeProps(...options: GridOptions[]): GridOptions<any>;
4
6
  /**
5
7
  * 将尺寸单位px去掉
@@ -15,3 +17,19 @@ export declare function pxToNumber(value?: string | number, defaultValue?: numbe
15
17
  */
16
18
  export declare function getStringKey(key?: string | number): string | undefined;
17
19
  export declare function getShadowName(name: EditableAgGridFormItemProps['name']): string;
20
+ /**
21
+ * 运行副作用钩子
22
+ * @param plugins
23
+ * @param pick
24
+ * @param args
25
+ */
26
+ export declare function runEffectHooks<T extends any[]>(plugins: AgGridPluginType[], pick: (p: AgGridPluginType) => ((...args: T) => Awaitable<void>) | undefined, ...args: T): Promise<void>;
27
+ /**
28
+ * 串形运行钩子
29
+ * @param plugins
30
+ * @param initialValue
31
+ * @param pick
32
+ * @param args
33
+ * @returns
34
+ */
35
+ export declare function runPipelineHooks<T, TArgs extends any[]>(plugins: AgGridPluginType[], initialValue: Awaited<T>, pick: (p: AgGridPluginType) => ((value: Awaited<T>, ...args: TArgs) => Awaitable<Awaited<T> | void>) | undefined, ...args: TArgs): Promise<Awaited<T>>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("lodash-unified");function i(...r){return r.reduce((t,e)=>({...t,...e}),{})}function s(r,t=0){if(!r)return t;if(typeof r=="number")return r;const e=r.match(/^(-?\d+(?:\.\d+)?)px$/);if(!e)return t;const n=parseFloat(e[1]);return n>0?n:t}function c(r){return o.isNumber(r)?String(r):r}let u=0;function g(r){return`_${o.isArray(r)?r.join("_"):String(r)}_${u++}`}exports.getShadowName=g;exports.getStringKey=c;exports.mergeProps=i;exports.pxToNumber=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("lodash-unified");function f(...n){return n.reduce((t,r)=>({...t,...r}),{})}function a(n,t=0){if(!n)return t;if(typeof n=="number")return n;const r=n.match(/^(-?\d+(?:\.\d+)?)px$/);if(!r)return t;const o=parseFloat(r[1]);return o>0?o:t}function g(n){return s.isNumber(n)?String(n):n}let p=0;function d(n){return`_${s.isArray(n)?n.join("_"):String(n)}_${p++}`}async function m(n,t,...r){for(const o of n){const e=t(o);e&&await e(...r)}}async function h(n,t,r,...o){let e=t;for(const u of n){const i=r(u);if(i)try{const c=await i(e,...o);c!==void 0&&(e=c)}catch{}}return e}exports.getShadowName=d;exports.getStringKey=g;exports.mergeProps=f;exports.pxToNumber=a;exports.runEffectHooks=m;exports.runPipelineHooks=h;
@@ -7,17 +7,17 @@ export declare const useOptions: (props: ApFieldCascaderProps) => {
7
7
  [x: string]: any;
8
8
  isLeaf?: boolean | undefined;
9
9
  loading?: boolean | undefined;
10
- children?: any[] | undefined;
10
+ children?: /*elided*/ any[] | undefined;
11
11
  label?: any;
12
- value?: (string | number | null) | undefined;
12
+ value?: string | number | null | undefined;
13
13
  disabled?: boolean | undefined;
14
14
  }[] | undefined, CascaderOptionType[] | {
15
15
  [x: string]: any;
16
16
  isLeaf?: boolean | undefined;
17
17
  loading?: boolean | undefined;
18
- children?: any[] | undefined;
18
+ children?: /*elided*/ any[] | undefined;
19
19
  label?: any;
20
- value?: (string | number | null) | undefined;
20
+ value?: string | number | null | undefined;
21
21
  disabled?: boolean | undefined;
22
22
  }[] | undefined>;
23
23
  request: (selectOptions?: DefaultOptionType[], clear?: boolean) => Promise<void>;
@@ -8,7 +8,6 @@ import { MonthCellRender } from '@aplus-frontend/antdv/es/vc-picker/panels/Month
8
8
  import { FocusEventHandler, MouseEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
9
9
  import { SharedTimeProps } from '@aplus-frontend/antdv/es/vc-picker/panels/TimePanel';
10
10
  import { PickerLocale } from '@aplus-frontend/antdv/es/date-picker/generatePicker';
11
- import { SizeType } from '@aplus-frontend/antdv/es/config-provider';
12
11
  import { SizeType } from '@aplus-frontend/antdv/es/button';
13
12
  import { DateRender } from '@aplus-frontend/antdv/es/vc-picker/panels/DatePanel/DateBody';
14
13
  import { FieldMode } from '..';
@@ -8,7 +8,6 @@ import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type';
8
8
  import { SharedTimeProps } from '@aplus-frontend/antdv/es/vc-picker/panels/TimePanel';
9
9
  import { FocusEventHandler, MouseEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
10
10
  import { PickerLocale } from '@aplus-frontend/antdv/es/date-picker/generatePicker';
11
- import { SizeType } from '@aplus-frontend/antdv/es/config-provider';
12
11
  import { SizeType } from '@aplus-frontend/antdv/es/button';
13
12
  import { FieldMode } from '..';
14
13
  import { LiteralUnion } from '../../type';
@@ -6,13 +6,13 @@ export declare const useSelectOptions: (props: ApFieldSelectProps) => {
6
6
  options: Ref<{
7
7
  [x: string]: any;
8
8
  label?: any;
9
- value?: (string | number | null) | undefined;
9
+ value?: string | number | null | undefined;
10
10
  children?: Omit<DefaultOptionType, "children">[] | undefined;
11
11
  disabled?: boolean | undefined;
12
12
  }[], DefaultOptionType[] | {
13
13
  [x: string]: any;
14
14
  label?: any;
15
- value?: (string | number | null) | undefined;
15
+ value?: string | number | null | undefined;
16
16
  children?: Omit<DefaultOptionType, "children">[] | undefined;
17
17
  disabled?: boolean | undefined;
18
18
  }[]>;
@@ -122,7 +122,7 @@ declare function __VLS_template(): {
122
122
  handleReset: PropType<MouseEventHandler>;
123
123
  addonBefore: VueTypeValidableDef<any>;
124
124
  addonAfter: VueTypeValidableDef<any>;
125
- prefix: VueTypeValidableDef<any>;
125
+ prefix: ** @type { [typeof __VLS_components.Flex, typeof __VLS_components.Flex, ] } */).VueTypeValidableDef<any>;
126
126
  suffix: VueTypeValidableDef<any>;
127
127
  clearIcon: VueTypeValidableDef<any>;
128
128
  allowClear: {
@@ -260,7 +260,7 @@ declare function __VLS_template(): {
260
260
  handleReset: PropType<MouseEventHandler>;
261
261
  addonBefore: VueTypeValidableDef<any>;
262
262
  addonAfter: VueTypeValidableDef<any>;
263
- prefix: VueTypeValidableDef<any>;
263
+ prefix: ** @type { [typeof __VLS_components.Flex, typeof __VLS_components.Flex, ] } */).VueTypeValidableDef<any>;
264
264
  suffix: VueTypeValidableDef<any>;
265
265
  clearIcon: VueTypeValidableDef<any>;
266
266
  allowClear: {
@@ -417,7 +417,7 @@ declare const __VLS_component: DefineComponent<ApFieldTextPasswordProps, {
417
417
  handleReset: PropType<MouseEventHandler>;
418
418
  addonBefore: VueTypeValidableDef<any>;
419
419
  addonAfter: VueTypeValidableDef<any>;
420
- prefix: VueTypeValidableDef<any>;
420
+ prefix: ** @type { [typeof __VLS_components.Flex, typeof __VLS_components.Flex, ] } */).VueTypeValidableDef<any>;
421
421
  suffix: VueTypeValidableDef<any>;
422
422
  clearIcon: VueTypeValidableDef<any>;
423
423
  allowClear: {
@@ -555,7 +555,7 @@ declare const __VLS_component: DefineComponent<ApFieldTextPasswordProps, {
555
555
  handleReset: PropType<MouseEventHandler>;
556
556
  addonBefore: VueTypeValidableDef<any>;
557
557
  addonAfter: VueTypeValidableDef<any>;
558
- prefix: VueTypeValidableDef<any>;
558
+ prefix: ** @type { [typeof __VLS_components.Flex, typeof __VLS_components.Flex, ] } */).VueTypeValidableDef<any>;
559
559
  suffix: VueTypeValidableDef<any>;
560
560
  clearIcon: VueTypeValidableDef<any>;
561
561
  allowClear: {
@@ -8,14 +8,14 @@ export declare const useRequest: (props: ApFieldTreeSelectProps) => {
8
8
  disabled?: boolean | undefined;
9
9
  checkable?: boolean | undefined;
10
10
  disableCheckbox?: boolean | undefined;
11
- children?: any[] | undefined;
11
+ children?: /*elided*/ any[] | undefined;
12
12
  } | {
13
13
  [x: string]: any;
14
14
  value?: RawValueType | undefined;
15
15
  title?: any;
16
16
  label?: any;
17
17
  key?: Key | undefined;
18
- children?: any[] | undefined;
18
+ children?: /*elided*/ any[] | undefined;
19
19
  disabled?: boolean | undefined;
20
20
  checkable?: boolean | undefined;
21
21
  disableCheckbox?: boolean | undefined;
@@ -24,14 +24,14 @@ export declare const useRequest: (props: ApFieldTreeSelectProps) => {
24
24
  disabled?: boolean | undefined;
25
25
  checkable?: boolean | undefined;
26
26
  disableCheckbox?: boolean | undefined;
27
- children?: any[] | undefined;
27
+ children?: /*elided*/ any[] | undefined;
28
28
  } | {
29
29
  [x: string]: any;
30
30
  value?: RawValueType | undefined;
31
31
  title?: any;
32
32
  label?: any;
33
33
  key?: Key | undefined;
34
- children?: any[] | undefined;
34
+ children?: /*elided*/ any[] | undefined;
35
35
  disabled?: boolean | undefined;
36
36
  checkable?: boolean | undefined;
37
37
  disableCheckbox?: boolean | undefined;
@@ -1,4 +1,4 @@
1
- import { InternalNamePath, NamePath, ValidateOptions, FormLabelAlign, RuleObject, ValidateMessages, FieldData, ValidateErrorEntity } from '@aplus-frontend/antdv/es/form/interface';
1
+ import { InternalNamePath, NamePath, ValidateOptions, FormLabelAlign, ValidateMessages, FieldData, ValidateErrorEntity } from '@aplus-frontend/antdv/es/form/interface';
2
2
  import { Recordable } from '../type';
3
3
  import { ApFormProps, UpdateModelOptimizeFn, WatchFunc, ApFormInternalInstance } from './interface';
4
4
  import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, HTMLAttributes, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
@@ -7,7 +7,6 @@ import { ColSize } from '@aplus-frontend/antdv/es/grid';
7
7
  import { RequiredMark } from '@aplus-frontend/antdv/es/form/Form';
8
8
  import { RuleObject } from '@aplus-frontend/antdv/es/form';
9
9
  import { Options } from '../../node_modules/scroll-into-view-if-needed';
10
- import { SizeType } from '@aplus-frontend/antdv/es/config-provider';
11
10
  import { SizeType } from '@aplus-frontend/antdv/es/button';
12
11
  import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
13
12
  declare function __VLS_template(): {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),Q=require("@aplus-frontend/antdv"),X=require("@vueuse/core"),u=require("lodash-unified");require("../render/index.js");const Y=require("../utils/warning.js"),Z=require("../utils/index.js"),A=require("./constant.js"),z=require("./context.js"),ee=require("./provider/context.js"),B=require("./utils/get.js"),h=require("./utils/params.js"),te=require("./utils/set.js"),V=require("./utils/transform.js"),T=require("../utils/is.js"),re=require("../render/render.js"),ne=r.defineComponent({name:"ApForm",__name:"ap-form",props:{layout:{default:"horizontal"},labelCol:{},wrapperCol:{},colon:{type:Boolean,default:!0},labelAlign:{default:"right"},labelWrap:{type:Boolean},prefixCls:{},requiredMark:{},hideRequiredMark:{type:Boolean,default:!1},rules:{},validateMessages:{},validateOnRuleChange:{type:Boolean,default:!0},scrollToFirstError:{},onSubmit:{},name:{},validateTrigger:{default:"change"},size:{},disabled:{type:Boolean},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},variant:{},initialValues:{},onValuesChange:{},syncToUrl:{type:[Boolean,Function],default:!1},syncToUrlPriority:{type:Boolean},autoFocusFirstInput:{type:Boolean}},setup(N,{expose:b}){const n=N;function m(e,t,o=!0,i){if(u.isArray(e)){let a=s;for(let F=0;F<e.length-1;F++)e[F]in a||(a[e[F]]={}),a=a[e[F]];i?i(a,e[e.length-1]):a[e[e.length-1]]=t}else i?i(s,e):s[e]=t;let w=u.isArray(e)?e[0]:e;if(o){const a={[w]:s[w]};p.triggerFormChange(n.name,a),n.onValuesChange?.(a,s,e)}y()}const l=r.shallowRef(),v=X.useUrlSearchParams(Z.getRouteType()),p=ee.useInjectFormProvider(),k=Y.useDevWarning("ApForm"),I=r.ref(n.syncToUrl?h.genParams(n.syncToUrl,v,"get"):{});let c=u.cloneDeep(M()),d={};const s=r.reactive(M());let g=[];function M(){const e=n.initialValues||{};return n.syncToUrlPriority?{...e,...r.unref(I)}:{...r.unref(I),...e}}function E(e){const t=V.transformValues(e,d,f);p.triggerFormFinish(n.name,e),n.syncToUrl&&h.setToParams(v,h.genParams(n.syncToUrl,t,"set")),n.onFinish?.(t)}const S=async()=>{l.value?.resetFields(),await r.nextTick(()=>{Object.keys(s).forEach(e=>delete s[e]),Object.assign(s,u.cloneDeep(c)),y(),n.syncToUrl&&h.setToParams(v,h.genParams(n.syncToUrl,V.transformValues(c,d,f),"set"))})},D=e=>{l.value?.clearValidate(e)},O=(e,t)=>l.value?.validateFields(e,t),x=async(e,t)=>{const o=await l.value?.validateFields(e,t);return V.transformValues(o,d,f)},f=e=>e===!0?r.toRaw(s):l.value?.getFieldsValue(e),j=e=>{const t=f(e);return V.transformValues(t,d,f)},W=(e,t)=>l.value?.validate(e,t),$=(e,t={})=>{l.value?.scrollToField(e,t)},K=e=>{Object.assign(s,e),y()},q=(e,t,o=!0,i)=>{m(e,t,o,i),y()};function C(e){return e(r.toRaw(s)),g.push(e),()=>{g=g.filter(t=>t!==e)}}function R(e,t){if(u.isArray(e)){let o=c;for(let i=0;i<e.length-1;i++)T.isDef(o[e[i]])||(o[e[i]]={}),o=o[e[i]];o[e[e.length-1]]=t}else c[e]=t}function L(e,t){if(!T.isDef(e)||!T.isDef(t))return;const o=B.getModelValue(c,t);if(u.isEqual(o,e))return;const i=B.getModelValue(r.unref(I),t);T.isDef(i)&&n.syncToUrlPriority||(m(t,e,!1),R(t,e))}function G(e,t){t&&(d=te.default(d,[e].flat(1),t,!0))}function P({initialValue:e,name:t,transform:o}){L(e,t),G(t,o)}function U(){return c}function H(e){if(k(e===A.INTERNAL_FORM_INSTANCE_MARK,"usage","getInternalInstance should only used at internal"),e===A.INTERNAL_FORM_INSTANCE_MARK)return{registerField:P,registerWatch:C,setFieldValue:q,getInitialValues:U,updateInitialModel:R}}function y(){if(g.length){const e=r.toRaw(s);g.forEach(t=>{t(e)})}}const _={resetFields:S,clearValidate:D,validateFields:O,getFieldsValue:f,validate:W,scrollToField:$,setFieldsValue:K,setFieldValue:q,registerWatch:C,validateFieldsReturnTransformed:x,getFieldsValueTransformed:j,getInternalInstance:H};r.watch(()=>n.name,e=>{e&&(p.registerForm(e,_),r.onWatcherCleanup(()=>{p.unregisterForm(n.name)}))},{immediate:!0});function J(e){return e.map((t,o)=>o===0&&r.isVNode(t)&&n.autoFocusFirstInput?r.cloneVNode(t,{autoFocus:n.autoFocusFirstInput}):t)}return z.useProvideForm({model:r.computed(()=>s),updateModel:m,internalInstance:{registerWatch:C,registerField:P,setFieldValue:q,getInitialValues:U,updateInitialModel:R}}),b(_),(e,t)=>(r.openBlock(),r.createBlock(r.unref(Q.Form),r.mergeProps({ref_key:"formRef",ref:l},r.unref(u.omit)(n,["initialValues","onValuesChange","onFinish","syncToUrl","syncToUrlPriority","autoFocusFirstInput"]),{model:s,"data-form-name":e.name,onFinish:E}),{default:r.withCtx(()=>[e.autoFocusFirstInput?(r.openBlock(),r.createBlock(r.unref(re.default),{key:1,renderer:J},{default:r.withCtx(()=>[r.renderSlot(e.$slots,"default")]),_:3})):r.renderSlot(e.$slots,"default",{key:0})]),_:3},16,["model","data-form-name"]))}});exports.default=ne;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),Q=require("@aplus-frontend/antdv"),X=require("@vueuse/core"),u=require("lodash-unified");require("../render/index.js");const Y=require("../utils/warning.js"),Z=require("../utils/index.js"),B=require("./constant.js"),z=require("./context.js"),ee=require("./provider/context.js"),N=require("./utils/get.js"),h=require("./utils/params.js"),te=require("./utils/set.js"),V=require("./utils/transform.js"),T=require("../utils/is.js"),re=require("../render/render.js"),ne=r.defineComponent({name:"ApForm",__name:"ap-form",props:{layout:{default:"horizontal"},labelCol:{},wrapperCol:{},colon:{type:Boolean,default:!0},labelAlign:{default:"right"},labelWrap:{type:Boolean},prefixCls:{},requiredMark:{},hideRequiredMark:{type:Boolean,default:!1},rules:{},validateMessages:{},validateOnRuleChange:{type:Boolean,default:!0},scrollToFirstError:{},onSubmit:{},name:{},validateTrigger:{default:"change"},size:{},disabled:{type:Boolean},onFieldsChange:{},onFinish:{},onFinishFailed:{},onValidate:{},variant:{},initialValues:{},onValuesChange:{},syncToUrl:{type:[Boolean,Function],default:!1},syncToUrlPriority:{type:Boolean},autoFocusFirstInput:{type:Boolean}},setup(b,{expose:k}){const n=b;function m(e,t,o=!0,i){if(u.isArray(e)){let a=s;for(let F=0;F<e.length-1;F++)e[F]in a||(a[e[F]]={}),a=a[e[F]];i?i(a,e[e.length-1]):a[e[e.length-1]]=t}else i?i(s,e):s[e]=t;let A=u.isArray(e)?e[0]:e;if(o){const a={[A]:s[A]};p.triggerFormChange(n.name,a),n.onValuesChange?.(a,s,e)}y()}const l=r.shallowRef(),v=X.useUrlSearchParams(Z.getRouteType()),p=ee.useInjectFormProvider(),E=Y.useDevWarning("ApForm"),I=r.ref(n.syncToUrl?h.genParams(n.syncToUrl,v,"get"):{});let c=u.cloneDeep(P()),d={};const s=r.reactive(P());let g=[];function P(){const e=n.initialValues||{};return n.syncToUrlPriority?{...e,...r.unref(I)}:{...r.unref(I),...e}}function S(e){const t=V.transformValues(e,d,f);p.triggerFormFinish(n.name,e),n.syncToUrl&&h.setToParams(v,h.genParams(n.syncToUrl,t,"set")),n.onFinish?.(t)}const D=async()=>{l.value?.resetFields(),await r.nextTick(()=>{Object.keys(s).forEach(e=>delete s[e]),Object.assign(s,u.cloneDeep(c)),y(),n.syncToUrl&&h.setToParams(v,h.genParams(n.syncToUrl,V.transformValues(c,d,f),"set"))})},O=e=>{l.value?.clearValidate(e)},q=(e,t)=>l.value?.validateFields(e,t),x=async(e,t)=>{const o=await l.value?.validateFields(e,t);return V.transformValues(o,d,f)},f=e=>e===!0?r.toRaw(s):l.value?.getFieldsValue(e),j=e=>{const t=f(e);return V.transformValues(t,d,f)},W=(e,t)=>l.value?.validate(e,t),$=(e,t={})=>{l.value?.scrollToField(e,t)},K=e=>{Object.assign(s,e),y()},C=(e,t,o=!0,i)=>{m(e,t,o,i),y()};function R(e){return e(r.toRaw(s)),g.push(e),()=>{g=g.filter(t=>t!==e)}}function M(e,t){if(u.isArray(e)){let o=c;for(let i=0;i<e.length-1;i++)T.isDef(o[e[i]])||(o[e[i]]={}),o=o[e[i]];o[e[e.length-1]]=t}else c[e]=t}function L(e,t){if(!T.isDef(e)||!T.isDef(t))return;const o=N.getModelValue(c,t);if(u.isEqual(o,e))return;const i=N.getModelValue(r.unref(I),t);T.isDef(i)&&n.syncToUrlPriority||(m(t,e,!1),M(t,e))}function G(e,t){t&&(d=te.default(d,[e].flat(1),t,!0))}function U({initialValue:e,name:t,transform:o}){L(e,t),G(t,o)}function _(){return c}function H(e){if(E(e===B.INTERNAL_FORM_INSTANCE_MARK,"usage","getInternalInstance should only used at internal"),e===B.INTERNAL_FORM_INSTANCE_MARK)return{registerField:U,registerWatch:R,setFieldValue:C,getInitialValues:_,updateInitialModel:M,validateFields:q}}function y(){if(g.length){const e=r.toRaw(s);g.forEach(t=>{t(e)})}}const w={resetFields:D,clearValidate:O,validateFields:q,getFieldsValue:f,validate:W,scrollToField:$,setFieldsValue:K,setFieldValue:C,registerWatch:R,validateFieldsReturnTransformed:x,getFieldsValueTransformed:j,getInternalInstance:H};r.watch(()=>n.name,e=>{e&&(p.registerForm(e,w),r.onWatcherCleanup(()=>{p.unregisterForm(n.name)}))},{immediate:!0});function J(e){return e.map((t,o)=>o===0&&r.isVNode(t)&&n.autoFocusFirstInput?r.cloneVNode(t,{autoFocus:n.autoFocusFirstInput}):t)}return z.useProvideForm({model:r.computed(()=>s),updateModel:m,internalInstance:{registerWatch:R,registerField:U,setFieldValue:C,getInitialValues:_,updateInitialModel:M,validateFields:q}}),k(w),(e,t)=>(r.openBlock(),r.createBlock(r.unref(Q.Form),r.mergeProps({ref_key:"formRef",ref:l},r.unref(u.omit)(n,["initialValues","onValuesChange","onFinish","syncToUrl","syncToUrlPriority","autoFocusFirstInput"]),{model:s,"data-form-name":e.name,onFinish:S}),{default:r.withCtx(()=>[e.autoFocusFirstInput?(r.openBlock(),r.createBlock(r.unref(re.default),{key:1,renderer:J},{default:r.withCtx(()=>[r.renderSlot(e.$slots,"default")]),_:3})):r.renderSlot(e.$slots,"default",{key:0})]),_:3},16,["model","data-form-name"]))}});exports.default=ne;
@@ -1,4 +1,4 @@
1
- import { InternalNamePath, NamePath, ValidateOptions, FormLabelAlign, ValidateMessages, FieldData, ValidateErrorEntity, RuleObject } from '@aplus-frontend/antdv/es/form/interface';
1
+ import { InternalNamePath, NamePath, ValidateOptions, FormLabelAlign, ValidateMessages, FieldData, ValidateErrorEntity } from '@aplus-frontend/antdv/es/form/interface';
2
2
  import { VNode, ComponentInternalInstance, ExtractPropTypes, PropType, HTMLAttributes, VNodeProps, AllowedComponentProps, ComponentCustomProps, CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, Slot, ComponentPublicInstance, ComponentOptionsBase, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, DefineComponent, CSSProperties } from 'vue';
3
3
  import { ApFormDrawerFormProps, CustomizeResizeType } from '../interface';
4
4
  import { ColSize } from '@aplus-frontend/antdv/es/grid';
@@ -7,7 +7,6 @@ import { RuleObject } from '@aplus-frontend/antdv/es/form';
7
7
  import { Options } from '../../../node_modules/scroll-into-view-if-needed';
8
8
  import { Recordable } from '../../type';
9
9
  import { VueTypeDef, VueTypeValidableDef } from '../../../node_modules/vue-types';
10
- import { SizeType } from '@aplus-frontend/antdv/es/config-provider';
11
10
  import { SizeType } from '@aplus-frontend/antdv/es/button';
12
11
  import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
13
12
  import { ApFormProps, UpdateModelOptimizeFn, ApFormInternalInstance, WatchFunc, ApFormSubmitterConfig } from '..';
@@ -119,7 +118,7 @@ declare function __VLS_template(): {
119
118
  readonly onValidate?: ((name: string | number | string[] | number[], status: boolean, errors: string[]) => void) | undefined;
120
119
  readonly initialValues?: Recordable | undefined;
121
120
  readonly onValuesChange?: ((changedValues: Recordable, allValues: Recordable, fieldName: NamePath) => void) | undefined;
122
- readonly syncToUrl?: (boolean | ((values: Recordable, type: "get" | "set") => Recordable)) | undefined;
121
+ readonly syncToUrl?: boolean | ((values: Recordable, type: "get" | "set") => Recordable) | undefined;
123
122
  readonly syncToUrlPriority?: boolean | undefined;
124
123
  readonly autoFocusFirstInput?: boolean | undefined;
125
124
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
@@ -1090,7 +1089,7 @@ declare const __VLS_component: DefineComponent<ApFormDrawerFormProps, {
1090
1089
  readonly onValidate?: ((name: string | number | string[] | number[], status: boolean, errors: string[]) => void) | undefined;
1091
1090
  readonly initialValues?: Recordable | undefined;
1092
1091
  readonly onValuesChange?: ((changedValues: Recordable, allValues: Recordable, fieldName: NamePath) => void) | undefined;
1093
- readonly syncToUrl?: (boolean | ((values: Recordable, type: "get" | "set") => Recordable)) | undefined;
1092
+ readonly syncToUrl?: boolean | ((values: Recordable, type: "get" | "set") => Recordable) | undefined;
1094
1093
  readonly syncToUrlPriority?: boolean | undefined;
1095
1094
  readonly autoFocusFirstInput?: boolean | undefined;
1096
1095
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps;