@aplus-frontend/ui 0.0.22 → 0.0.24

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 (41) hide show
  1. package/es/src/ap-field/date/index.vue.mjs +26 -26
  2. package/es/src/ap-field/number/helper.d.ts +9 -0
  3. package/es/src/ap-field/number/helper.mjs +20 -11
  4. package/es/src/ap-table/ap-table.vue.d.ts +2137 -112
  5. package/es/src/ap-table/ap-table.vue.mjs +31 -30
  6. package/es/src/check-card/group.vue.d.ts +1 -1
  7. package/es/src/check-card/group.vue.mjs +1 -1
  8. package/es/src/check-card/index.vue.d.ts +1 -1
  9. package/es/src/check-card/index.vue2.mjs +40 -36
  10. package/es/src/check-card/interface.d.ts +1 -1
  11. package/es/src/check-card/style/index.css +1 -0
  12. package/es/src/editable-table/form-item.vue.d.ts +755 -105
  13. package/es/src/editable-table/form-item.vue.mjs +80 -65
  14. package/es/src/editable-table/hooks/use-get-columns.mjs +27 -27
  15. package/es/src/editable-table/index.vue.d.ts +527 -112
  16. package/es/src/editable-table/index.vue.mjs +93 -78
  17. package/es/src/editable-table/interface.d.ts +11 -5
  18. package/es/src/editable-table/utils.d.ts +13 -0
  19. package/es/src/editable-table/utils.mjs +26 -6
  20. package/es/src/theme/check-card/index.css +1 -0
  21. package/lib/src/ap-field/date/index.vue.js +1 -1
  22. package/lib/src/ap-field/number/helper.d.ts +9 -0
  23. package/lib/src/ap-field/number/helper.js +1 -1
  24. package/lib/src/ap-table/ap-table.vue.d.ts +2137 -112
  25. package/lib/src/ap-table/ap-table.vue.js +1 -1
  26. package/lib/src/check-card/group.vue.d.ts +1 -1
  27. package/lib/src/check-card/group.vue.js +1 -1
  28. package/lib/src/check-card/index.vue.d.ts +1 -1
  29. package/lib/src/check-card/index.vue2.js +1 -1
  30. package/lib/src/check-card/interface.d.ts +1 -1
  31. package/lib/src/check-card/style/index.css +1 -0
  32. package/lib/src/editable-table/form-item.vue.d.ts +755 -105
  33. package/lib/src/editable-table/form-item.vue.js +1 -1
  34. package/lib/src/editable-table/hooks/use-get-columns.js +1 -1
  35. package/lib/src/editable-table/index.vue.d.ts +527 -112
  36. package/lib/src/editable-table/index.vue.js +1 -1
  37. package/lib/src/editable-table/interface.d.ts +11 -5
  38. package/lib/src/editable-table/utils.d.ts +13 -0
  39. package/lib/src/editable-table/utils.js +1 -1
  40. package/lib/src/theme/check-card/index.css +1 -0
  41. package/package.json +5 -5
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),E=require("ant-design-vue"),d=require("../ap-form/index.js"),i=require("lodash-unified");require("../config-provider/index.js");require("../hooks/index.js");const N=require("../utils/index.js"),S=require("./hooks/use-get-columns.js");require("./style/index.css");const k=require("../config-provider/hooks/use-namespace.js"),P=require("../config-provider/hooks/use-global-config.js"),L=require("../hooks/useControllableValue.js"),j=e.defineComponent({name:"EditableTable",__name:"index",props:{dropdownPrefixCls:{},pagination:{type:[Boolean,Object],default:!1},loading:{type:[Boolean,Object],default:void 0},size:{default:"middle"},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{default:"fixed"},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(p,{expose:m,emit:x}){const l=p,{b:f,em:C}=k.useNamespace("editable-table"),g=P.useGlobalConfig("uiMode","aplus"),h=e.useSlots(),w=x,{value:u,updateValue:y}=L.useControllableValue(l,w),s=e.ref(),b=d.ApForm.useWatch(l.name,s);e.watch(()=>b.value,n=>{var o;y(n),(o=l.onChange)==null||o.call(l,n)});const v=S.default(l);function R(){var n;(n=s.value)==null||n.resetFields()}async function B(n,o){var t;const a=await((t=s.value)==null?void 0:t.validateFields(n,o));return a==null?void 0:a[l.name]}function q(n){var a,t,r;const o=((a=e.unref(u))==null?void 0:a.length)||0;N.isDef(l.maxLength)&&o>=l.maxLength||(r=(t=s.value)==null?void 0:t.setFieldValue)==null||r.call(t,l.name,[...e.unref(u)||[],n||{}])}function F(n){var a,t;const o=i.cloneDeep(e.unref(u)||[]);o.splice(n,1),(t=(a=s.value)==null?void 0:a.setFieldValue)==null||t.call(a,l.name,[...o])}function D(){return e.unref(u)}function V(n){var o;return(o=e.unref(u))==null?void 0:o[n]}function _(n,o){var t,r;const a=i.cloneDeep(e.unref(u));a[n]&&(a[n]={...a[n],...o},(r=(t=s.value)==null?void 0:t.setFieldValue)==null||r.call(t,l.name,[...a]))}return m({resetFields:R,validateFields:B,add:q,remove:F,getRowData:V,getRowsData:D,setRowData:_}),(n,o)=>(e.openBlock(),e.createBlock(e.unref(d.ApForm),{"initial-values":{[l.name]:e.unref(u)},ref_key:"formRef",ref:s},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ApForm).FormItem,{name:n.name,"no-style":""},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Table),e.mergeProps(e.unref(i.omit)(l,["name","value","onUpdate:value","maxLength"]),{class:[e.unref(f)(),e.unref(g)==="admin"?e.unref(f)("admin"):null],columns:e.unref(v),"data-source":e.unref(u)}),e.createSlots({headerCell:e.withCtx(({column:a})=>{var t,r,c;return[(t=a==null?void 0:a.fieldProps)!=null&&t.required||(c=(r=a==null?void 0:a.fieldProps)==null?void 0:r.rules)!=null&&c.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(C)("header-cell","required"))},"*",2),e.createElementVNode("span",null,e.toDisplayString(a.title),1)],64)):e.createCommentVNode("",!0)]}),_:2},[e.renderList(h,(a,t)=>({name:t,fn:e.withCtx(r=>[e.renderSlot(n.$slots,t,e.normalizeProps(e.guardReactiveProps(r||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),A=require("ant-design-vue"),m=require("../ap-form/index.js"),c=require("lodash-unified");require("../config-provider/index.js");require("../hooks/index.js");const p=require("../utils/index.js"),P=require("./utils.js"),j=require("./hooks/use-get-columns.js");require("./style/index.css");const z=require("../config-provider/hooks/use-namespace.js"),M=require("../config-provider/hooks/use-global-config.js"),O=require("../hooks/useControllableValue.js"),T=e.defineComponent({name:"EditableTable",__name:"index",props:{dropdownPrefixCls:{},pagination:{type:[Boolean,Object],default:!1},loading:{type:[Boolean,Object],default:void 0},size:{default:"middle"},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{default:"fixed"},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(C,{expose:g,emit:w}){const l=C,{b:x,em:b}=z.useNamespace("editable-table"),y=M.useGlobalConfig("uiMode","aplus"),v=e.useSlots(),R=w,{value:r,updateValue:D}=O.useControllableValue(l,R),s=e.ref(),q=m.ApForm.useWatch(l.name,s);e.watch(()=>q.value,n=>{var a;D(n),(a=l.onChange)==null||a.call(l,n)});const B=j.default(l);function F(){var n;(n=s.value)==null||n.resetFields()}async function N(n,a){var t;const o=await((t=s.value)==null?void 0:t.validateFields(n,a));return o==null?void 0:o[l.name]}function V(n,a){var u,i,d;const o=((u=e.unref(r))==null?void 0:u.length)||0;if(p.isDef(l.maxLength)&&o>=l.maxLength)return;const t=[...e.unref(r)||[]];p.isDef(a)?t.splice(a,0,{...n||{}}):t.push({...n||{}}),(d=(i=s.value)==null?void 0:i.setFieldValue)==null||d.call(i,l.name,t)}function _(n,a="suffix"){var d,f,h;const o=((d=e.unref(r))==null?void 0:d.length)||0,t=c.isNumber(n)?n:n.length;if(p.isDef(l.maxLength)&&o+t>l.maxLength)return;const u=[...e.unref(r)||[]],i=c.isNumber(n)?new Array(n).fill({}):c.cloneDeep(n);a==="suffix"?u.push(...i):u.unshift(...i),(h=(f=s.value)==null?void 0:f.setFieldValue)==null||h.call(f,l.name,u)}function E(n){var t,u;let a=c.cloneDeep(e.unref(r)||[]);const o=c.isNumber(n)?[n]:n;a=a.filter((i,d)=>!o.includes(d)),(u=(t=s.value)==null?void 0:t.setFieldValue)==null||u.call(t,l.name,a)}function S(){return e.unref(r)}function k(n){var a;return(a=e.unref(r))==null?void 0:a[n]}function L(n,a){var t,u;const o=c.cloneDeep(e.unref(r));o[n]&&(o[n]={...o[n],...a},(u=(t=s.value)==null?void 0:t.setFieldValue)==null||u.call(t,l.name,[...o]))}return g({resetFields:F,validateFields:N,add:V,remove:E,getRowData:k,getRowsData:S,setRowData:L,addMultiple:_}),(n,a)=>(e.openBlock(),e.createBlock(e.unref(m.ApForm),{"initial-values":{[l.name]:e.unref(r)},ref_key:"formRef",ref:s},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ApForm).FormItem,{name:n.name,"no-style":""},{default:e.withCtx(()=>[e.createVNode(e.unref(A.Table),e.mergeProps(e.unref(c.omit)(l,["name","value","onUpdate:value","maxLength"]),{class:[e.unref(x)(),e.unref(y)==="admin"?e.unref(x)("admin"):null],columns:e.unref(B),"data-source":e.unref(r)}),e.createSlots({headerCell:e.withCtx(({column:o})=>[e.unref(P.getColumnIsRequired)(o)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(b)("header-cell","required"))},"*",2),e.createElementVNode("span",null,e.toDisplayString(o.title),1)],64)):e.createCommentVNode("",!0)]),_:2},[e.renderList(v,(o,t)=>({name:t,fn:e.withCtx(u=>[e.renderSlot(n.$slots,t,e.normalizeProps(e.guardReactiveProps(u||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=T;
@@ -124,17 +124,23 @@ export type EditableTableExpose<ModelType = any, RecordType = any> = {
124
124
  */
125
125
  validateFields: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<Partial<ModelType>> | undefined;
126
126
  /**
127
- * 添加一行数据
128
- * @param defaultValue
129
- * @returns
127
+ * 添加单条数据
128
+ * @param defaultValue 默认值,如果需要设置`insertIndex`,可以设置`defaultValue`为`{}`
129
+ * @param insertIndex 数据插入的位置
130
+ */
131
+ add: (defaultValue?: Partial<RecordType>, insertIndex?: number) => void;
132
+ /**
133
+ * 添加多条数据
134
+ * @param list 添加的条数或数据
135
+ * @param insetIn 插入的位置(前/后)
130
136
  */
131
- add: (defaultValue?: Partial<RecordType>) => void;
137
+ addMultiple: (list: number | Partial<RecordType>[], insetIn?: 'prefix' | 'suffix') => void;
132
138
  /**
133
139
  * 删除一行数据
134
140
  * @param index
135
141
  * @returns
136
142
  */
137
- remove: (index: number) => void;
143
+ remove: (index: number | number[]) => void;
138
144
  /**
139
145
  * 获取所有行的数据
140
146
  * @returns
@@ -6,3 +6,16 @@ import { EditableColumnType } from './interface';
6
6
  * @returns
7
7
  */
8
8
  export declare function getEditableComponent(valueType: EditableColumnType['valueType']): any;
9
+ /**
10
+ * 获取可编辑表格的某列字段是否是required
11
+ * @param column
12
+ * @returns
13
+ */
14
+ export declare function getColumnIsRequired(column: EditableColumnType<any, 'text'>): boolean;
15
+ /**
16
+ * 获取ellipsis模式下最终需要渲染的字符串
17
+ * @param column
18
+ * @param value
19
+ * @returns
20
+ */
21
+ export declare function getRawDisplayValue(column: EditableColumnType, value: any): any;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../ap-table/constants.js");function o(e){const n=t.apTableFormItemMap[e];return n||console.warn(`${e} can not render because of no default renderer, use customRender instead.`),n}exports.getEditableComponent=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("lodash-unified"),n=require("../ap-table/constants.js"),o=require("../utils/index.js"),u=require("../ap-field/number/helper.js");function d(e){const r=n.apTableFormItemMap[e];return r||console.warn(`${e} can not render because of no default renderer, use customRender instead.`),r}function l(e){if(!e.fieldProps)return!1;const r=t.isFunction(e.fieldProps)?e.fieldProps({}):e.fieldProps;return o.isDef(r.required)?r.required:(t.isArray(r.rules)?r.rules:r.rules?[r.rules]:[]).some(s=>s.required)}function a(e,r){if(e.valueType==="text"||e.valueType==="textArea")return r||"--";if(e.valueType==="number"){const i=e.fieldProps?t.isFunction(e.fieldProps)?e.fieldProps({}):e.fieldProps:{};return u.getValueStr(r,i)||"--"}return r}exports.getColumnIsRequired=l;exports.getEditableComponent=d;exports.getRawDisplayValue=a;
@@ -102,6 +102,7 @@
102
102
  top: 0;
103
103
  right: 0;
104
104
  z-index: 1;
105
+ line-height: 1;
105
106
  -webkit-user-select: none;
106
107
  -moz-user-select: none;
107
108
  user-select: none;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.mjs",
6
6
  "files": [
@@ -58,14 +58,14 @@
58
58
  "dayjs": "^1.11.11",
59
59
  "lodash-unified": "^1.0.3",
60
60
  "sortablejs": "^1.15.2",
61
- "@aplus-frontend/oss": "^1.0.11",
62
61
  "mime": "^4.0.3",
63
- "@aplus-frontend/hooks": "1.0.6",
64
- "@aplus-frontend/utils": "1.0.23"
62
+ "@aplus-frontend/hooks": "1.0.7",
63
+ "@aplus-frontend/utils": "1.0.24"
65
64
  },
66
65
  "peerDependencies": {
67
66
  "ant-design-vue": "^4.2.1",
68
- "vue": "^3.4.29"
67
+ "vue": "^3.4.29",
68
+ "@aplus-frontend/oss": "^1.0.17"
69
69
  },
70
70
  "scripts": {
71
71
  "pub:cb": "pnpm publish --access public",