orion-design 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- import { PropType, ExtractPropTypes, CSSProperties } from 'vue';
1
+ import { PropType, ExtractPropTypes, CSSProperties, ComponentPublicInstance, ComputedRef } from 'vue';
2
2
  type rowClassNameFn = (data: {
3
3
  rowData: any;
4
4
  rowIndex: number;
@@ -46,6 +46,15 @@ export declare const edittableProps: () => {
46
46
  cellStyle: PropType<CSSProperties | cellStyleFn>;
47
47
  };
48
48
  export type EdittableProps = Partial<ExtractPropTypes<ReturnType<typeof edittableProps>>>;
49
+ export interface EdittableExpose {
50
+ clearSelection: () => void;
51
+ toggleRowSelection: (row: any, selected?: boolean) => void;
52
+ toggleAllSelection: () => void;
53
+ getSelectionRows: () => any[];
54
+ setCurrentRow: (row: any) => void;
55
+ columns: ComputedRef<any[]>;
56
+ }
57
+ export type EdittableInstance = ComponentPublicInstance<EdittableProps, EdittableExpose>;
49
58
  declare const _default: import('vue').DefineComponent<ExtractPropTypes<{
50
59
  data: ArrayConstructor;
51
60
  showRowNumber: {
@@ -0,0 +1,30 @@
1
+ import { ShallowRef } from 'vue';
2
+ import { EdittableInstance } from '../../../index.ts';
3
+ interface UseEdittableOptions<Row> {
4
+ tableRef?: Readonly<ShallowRef<EdittableInstance | null>>;
5
+ defaultData?: Row[];
6
+ newRowSchema?: Record<string, any> | (() => Record<string, any>);
7
+ afterSelectionChange?: (newSelection: Row[]) => void;
8
+ afterCurrentRowChange?: (currentRow: Row, oldCurrentRow: Row) => void;
9
+ }
10
+ declare const useEdittable: <Row = any>(options: UseEdittableOptions<Row>) => {
11
+ data: Row[];
12
+ selection: Row[];
13
+ currentRow: Row | undefined;
14
+ onSelectionChange: (newSelection: Row[]) => void;
15
+ onCurrentRowChange: (newCurrentRow: Row, oldCurrentRow: Row) => void;
16
+ clearSelection: () => void;
17
+ toggleRowSelection: (row: Row, selected?: boolean) => void;
18
+ toggleAllSelection: () => void;
19
+ getSelectionRows: () => Row[];
20
+ setCurrentRow: (row: Row) => void;
21
+ appendRow: (rowData: any) => void;
22
+ insertRow: (rowData: any, index: number) => void;
23
+ deleteRow: (index: number) => void;
24
+ updateRow: (rowData: any, index: number) => void;
25
+ moveUp: (index: number) => void;
26
+ moveDown: (index: number) => void;
27
+ moveTo: (from: number, to: number) => void;
28
+ selectionGroup: () => void;
29
+ };
30
+ export default useEdittable;
@@ -0,0 +1,91 @@
1
+ import { ref as w, reactive as N } from "vue";
2
+ import r from "../../../error/OrionError.js";
3
+ import { isEqual as W, isFunction as Y, extend as q } from "lodash-es";
4
+ import "dayjs";
5
+ import "../../../utils/md5.js";
6
+ import "decimal.js";
7
+ import T from "../../../utils/uuid.js";
8
+ const h = "ORION_ROW_KEY", L = (m) => {
9
+ const { tableRef: o, defaultData: R, newRowSchema: c, afterSelectionChange: g, afterCurrentRowChange: v } = m, l = w(R || []), a = w([]), p = w(), S = (e) => {
10
+ a.value = e, g && g(e);
11
+ }, d = (e, t) => {
12
+ p.value = e, v && v(e, t);
13
+ }, C = () => {
14
+ if (!o)
15
+ throw new r("调用clearSelection失败,tableRef为空");
16
+ o.value.clearSelection();
17
+ }, E = (e, t) => {
18
+ if (!o)
19
+ throw new r("调用toggleRowSelection失败,tableRef为空");
20
+ o.value.toggleRowSelection(e, t);
21
+ }, b = () => {
22
+ if (!o)
23
+ throw new r("调用toggleAllSelection失败,tableRef为空");
24
+ o.value.toggleAllSelection();
25
+ }, O = () => {
26
+ if (!o)
27
+ throw new r("调用getSelectionRows失败,tableRef为空");
28
+ return o.value.getSelectionRows();
29
+ }, I = (e) => {
30
+ if (!o)
31
+ throw new r("调用setCurrentRow失败,tableRef为空");
32
+ o.value.setCurrentRow(e);
33
+ }, u = (e) => {
34
+ const t = {};
35
+ e[h] || (t[h] = T());
36
+ let n = {};
37
+ return c && (Y(c) ? n = c() : n = c), q(t, n, e);
38
+ }, _ = (e) => {
39
+ l.value.push(u(e));
40
+ }, A = (e, t) => {
41
+ l.value.splice(t, 0, u(e));
42
+ }, D = (e) => {
43
+ l.value.splice(e, 1);
44
+ }, x = (e, t) => {
45
+ l.value[t] = u(e);
46
+ }, F = (e) => {
47
+ s(e, e - 1);
48
+ }, G = (e) => {
49
+ s(e, e + 1);
50
+ }, s = (e, t) => {
51
+ const n = l.value.splice(e, 1);
52
+ l.value.splice(t, 0, n[0]);
53
+ };
54
+ return N({
55
+ data: l,
56
+ selection: a,
57
+ currentRow: p,
58
+ onSelectionChange: S,
59
+ onCurrentRowChange: d,
60
+ clearSelection: C,
61
+ toggleRowSelection: E,
62
+ toggleAllSelection: b,
63
+ getSelectionRows: O,
64
+ setCurrentRow: I,
65
+ appendRow: _,
66
+ insertRow: A,
67
+ deleteRow: D,
68
+ updateRow: x,
69
+ moveUp: F,
70
+ moveDown: G,
71
+ moveTo: s,
72
+ selectionGroup: () => {
73
+ if (a.value.length < 2)
74
+ return;
75
+ let e = 0, t = !0;
76
+ const n = [];
77
+ l.value.forEach((f, i) => {
78
+ a.value.forEach((K) => {
79
+ if (W(f, K))
80
+ return t ? (e = i, t = !1) : n.push(i), !1;
81
+ });
82
+ }), n.forEach((f, i) => {
83
+ s(f, e + i + 1);
84
+ });
85
+ }
86
+ });
87
+ };
88
+ export {
89
+ L as default
90
+ };
91
+ //# sourceMappingURL=useEdittable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEdittable.js","sources":["../../../../src/components/Edittable/hooks/useEdittable.ts"],"sourcesContent":["import { reactive, ref } from 'vue'\r\nimport type { Ref, ShallowRef } from 'vue'\r\nimport OrionError from '../../../error/OrionError'\r\nimport type { EdittableInstance } from 'orion-design'\r\nimport { uuid } from '../../../utils'\r\nimport { isEqual, extend, isFunction } from 'lodash-es'\r\n\r\nconst ORION_ROW_KEY = 'ORION_ROW_KEY'\r\n\r\ninterface UseEdittableOptions<Row> {\r\n tableRef?: Readonly<ShallowRef<EdittableInstance | null>>\r\n defaultData?: Row[]\r\n newRowSchema?: Record<string, any> | (() => Record<string, any>)\r\n afterSelectionChange?: (newSelection: Row[]) => void\r\n afterCurrentRowChange?: (currentRow: Row, oldCurrentRow: Row) => void\r\n}\r\n\r\nconst useEdittable = <Row = any>(options: UseEdittableOptions<Row>) => {\r\n const { tableRef, defaultData, newRowSchema, afterSelectionChange, afterCurrentRowChange } = options\r\n\r\n const data = ref<Row[]>(defaultData ? defaultData : []) as Ref<Row[]>\r\n const selection = ref<Row[]>([]) as Ref<Row[]>\r\n const currentRow = ref<Row>()\r\n\r\n const onSelectionChange = (newSelection: Row[]) => {\r\n selection.value = newSelection\r\n afterSelectionChange && afterSelectionChange(newSelection)\r\n }\r\n const onCurrentRowChange = (newCurrentRow: Row, oldCurrentRow: Row) => {\r\n currentRow.value = newCurrentRow\r\n afterCurrentRowChange && afterCurrentRowChange(newCurrentRow, oldCurrentRow)\r\n }\r\n\r\n const clearSelection = () => {\r\n if (!tableRef) {\r\n throw new OrionError(`调用clearSelection失败,tableRef为空`)\r\n }\r\n tableRef.value!.clearSelection()\r\n }\r\n const toggleRowSelection = (row: Row, selected?: boolean) => {\r\n if (!tableRef) {\r\n throw new OrionError(`调用toggleRowSelection失败,tableRef为空`)\r\n }\r\n tableRef.value!.toggleRowSelection(row, selected)\r\n }\r\n const toggleAllSelection = () => {\r\n if (!tableRef) {\r\n throw new OrionError(`调用toggleAllSelection失败,tableRef为空`)\r\n }\r\n tableRef.value!.toggleAllSelection()\r\n }\r\n const getSelectionRows = () => {\r\n if (!tableRef) {\r\n throw new OrionError(`调用getSelectionRows失败,tableRef为空`)\r\n }\r\n return tableRef.value!.getSelectionRows() as Row[]\r\n }\r\n const setCurrentRow = (row: Row) => {\r\n if (!tableRef) {\r\n throw new OrionError(`调用setCurrentRow失败,tableRef为空`)\r\n }\r\n tableRef.value!.setCurrentRow(row)\r\n }\r\n\r\n const createRowData = (source: any) => {\r\n const target: any = {}\r\n if (!source[ORION_ROW_KEY]) {\r\n target[ORION_ROW_KEY] = uuid()\r\n }\r\n\r\n let schema: any = {}\r\n if (newRowSchema) {\r\n if (isFunction(newRowSchema)) {\r\n schema = newRowSchema()\r\n } else {\r\n schema = newRowSchema\r\n }\r\n }\r\n\r\n return extend(target, schema, source)\r\n }\r\n const appendRow = (rowData: any) => {\r\n data.value.push(createRowData(rowData))\r\n }\r\n const insertRow = (rowData: any, index: number) => {\r\n data.value.splice(index, 0, createRowData(rowData))\r\n }\r\n const deleteRow = (index: number) => {\r\n data.value.splice(index, 1)\r\n }\r\n const updateRow = (rowData: any, index: number) => {\r\n data.value[index] = createRowData(rowData)\r\n }\r\n const moveUp = (index: number) => {\r\n moveTo(index, index - 1)\r\n }\r\n const moveDown = (index: number) => {\r\n moveTo(index, index + 1)\r\n }\r\n const moveTo = (from: number, to: number) => {\r\n const item = data.value.splice(from, 1)\r\n data.value.splice(to, 0, item[0])\r\n }\r\n const selectionGroup = () => {\r\n if (selection.value.length < 2) {\r\n return\r\n }\r\n\r\n let firstRowIndex: number = 0\r\n let firstRowFlag: boolean = true\r\n const leftRowIndexs: number[] = []\r\n\r\n data.value.forEach((e, i) => {\r\n selection.value.forEach((item) => {\r\n if (isEqual(e, item)) {\r\n if (firstRowFlag) {\r\n firstRowIndex = i\r\n firstRowFlag = false\r\n } else {\r\n leftRowIndexs.push(i)\r\n }\r\n return false\r\n }\r\n })\r\n })\r\n\r\n leftRowIndexs.forEach((e, i) => {\r\n moveTo(e, firstRowIndex + i + 1)\r\n })\r\n }\r\n\r\n return reactive({\r\n data,\r\n selection,\r\n currentRow,\r\n onSelectionChange,\r\n onCurrentRowChange,\r\n clearSelection,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n getSelectionRows,\r\n setCurrentRow,\r\n appendRow,\r\n insertRow,\r\n deleteRow,\r\n updateRow,\r\n moveUp,\r\n moveDown,\r\n moveTo,\r\n selectionGroup,\r\n })\r\n}\r\n\r\nexport default useEdittable\r\n"],"names":["ORION_ROW_KEY","useEdittable","options","tableRef","defaultData","newRowSchema","afterSelectionChange","afterCurrentRowChange","data","ref","selection","currentRow","onSelectionChange","newSelection","onCurrentRowChange","newCurrentRow","oldCurrentRow","clearSelection","OrionError","toggleRowSelection","row","selected","toggleAllSelection","getSelectionRows","setCurrentRow","createRowData","source","target","uuid","schema","isFunction","extend","appendRow","rowData","insertRow","index","deleteRow","updateRow","moveUp","moveTo","moveDown","from","to","item","reactive","firstRowIndex","firstRowFlag","leftRowIndexs","e","isEqual"],"mappings":"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"}
@@ -10,7 +10,6 @@ import { default as EdittableColumnButtongroup } from './columns/EdittableColumn
10
10
  import { default as EdittableCellButton } from './columns/EdittableCellButton';
11
11
  import { default as EdittableColumngroup } from './columns/EdittableColumngroup';
12
12
  import { default as EdittableColumnDiy } from './columns/EdittableColumnDiy';
13
- export type { EdittableProps } from './Edittable';
14
13
  declare const _default: import('../_util').SFCWithInstall<import('vue').DefineComponent<import('vue').ExtractPropTypes<{
15
14
  data: ArrayConstructor;
16
15
  showRowNumber: {
@@ -119,3 +118,5 @@ declare const _default: import('../_util').SFCWithInstall<import('vue').DefineCo
119
118
  EdittableColumnDiy: typeof EdittableColumnDiy;
120
119
  };
121
120
  export default _default;
121
+ export * from './Edittable';
122
+ export { default as useEdittable } from './hooks/useEdittable';
@@ -10,6 +10,7 @@ import ve from "../../error/OrionError.js";
10
10
  import Ne from "./hooks/useColumns.js";
11
11
  import De from "../Pagetable/hooks/useCode.js";
12
12
  import { _ as Re, e as Ve, c as Te, f as ke, d as _e, a as Ie, b as Pe } from "../../LovInput.vue_vue_type_script_setup_true_lang-C__ELopU.js";
13
+ import { default as Rt } from "./hooks/useEdittable.js";
13
14
  function Q(l) {
14
15
  return typeof l == "function" || Object.prototype.toString.call(l) === "[object Object]" && !G(l);
15
16
  }
@@ -924,6 +925,8 @@ const ot = () => ({
924
925
  EdittableColumnDiy: dt
925
926
  });
926
927
  export {
927
- vt as default
928
+ vt as default,
929
+ je as edittableProps,
930
+ Rt as useEdittable
928
931
  };
929
932
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Edittable/Edittable.tsx","../../../src/components/Edittable/columns/EdittableColumnIndex.tsx","../../../src/components/Edittable/columns/EdittableColumnString.tsx","../../../src/components/Edittable/columns/EdittableColumnLov.tsx","../../../src/components/Edittable/columns/EdittableColumnCheckbox.tsx","../../../src/components/Edittable/columns/EdittableColumnNumber.tsx","../../../src/components/Edittable/columns/EdittableColumnDate.tsx","../../../src/components/Edittable/columns/EdittableColumnSingleselect.tsx","../../../src/components/Edittable/columns/EdittableColumnMultiselect.tsx","../../../src/components/Edittable/columns/EdittableColumnButtongroup.tsx","../../../src/components/Edittable/columns/EdittableCellButton.tsx","../../../src/components/Edittable/columns/EdittableColumngroup.tsx","../../../src/components/Edittable/columns/EdittableColumnDiy.tsx","../../../src/components/Edittable/index.ts"],"sourcesContent":["import { computed, defineComponent, ref } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties } from 'vue'\r\nimport classNames from '../_antd_util/classNames'\r\nimport { ElTable, ElTableColumn } from 'element-plus'\r\n\r\nimport { formatDate, number2string, getSingleCodeContent, getMultiCodeContent } from './utils'\r\nimport dayjs from 'dayjs'\r\nimport { isArray, isFunction, isString } from 'lodash-es'\r\nimport Space from '../Space'\r\nimport OrionError from '../../error/OrionError'\r\n\r\nimport useColumns from './hooks/useColumns'\r\nimport useCode from '../Pagetable/hooks/useCode'\r\n\r\nimport OStringInput from '../Input/StringInput/StringInput.vue'\r\nimport OSingleSelect from '../Input/SingleSelect/SingleSelect.vue'\r\nimport OMultiSelect from '../Input/MultiSelect/MultiSelect.vue'\r\nimport ODateInput from '../Input/DateInput/DateInput.vue'\r\nimport ONumberInput from '../Input/NumberInput/NumberInput.vue'\r\nimport OCheckbox from '../Input/Checkbox/Checkbox.vue'\r\nimport OLovInput from '../Input/LovInput/LovInput.vue'\r\n\r\ntype rowClassNameFn = (data: { rowData: any; rowIndex: number }) => string\r\ntype rowStyleFn = (data: { rowData: any; rowIndex: number }) => CSSProperties\r\ntype cellClassNameFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => string\r\ntype cellStyleFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => CSSProperties\r\n\r\nexport const edittableProps = () => ({\r\n data: Array,\r\n showRowNumber: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n selectionMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n currentRowMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n size: String as PropType<'' | 'large' | 'default' | 'small'>,\r\n rowClassName: [String, Function] as PropType<string | rowClassNameFn>,\r\n rowStyle: [Object, Function] as PropType<CSSProperties | rowStyleFn>,\r\n cellClassName: [String, Function] as PropType<string | cellClassNameFn>,\r\n cellStyle: [Object, Function] as PropType<CSSProperties | cellStyleFn>,\r\n})\r\n\r\nexport type EdittableProps = Partial<ExtractPropTypes<ReturnType<typeof edittableProps>>>\r\n\r\nconst isCellEditable = (editable = true, cellEditable: any, row: any) => {\r\n if (!editable) {\r\n return false\r\n }\r\n if (!cellEditable) {\r\n return true\r\n }\r\n return cellEditable(row)\r\n}\r\n\r\nconst getCodeData = (code: any, row: any) => {\r\n if (isString(code) || isArray(code)) {\r\n return useCode(code).value\r\n } else if (isFunction(code)) {\r\n return code(row)\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'OEdittable',\r\n inheritAttrs: false,\r\n props: edittableProps(),\r\n emits: ['selectionChange', 'currentRowChange', 'rowClick', 'rowDblclick', 'cellClick', 'cellDblclick'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const elTableRef = ref()\r\n\r\n const style = computed(() => {\r\n const rowStyle: CSSProperties = {}\r\n\r\n return rowStyle\r\n })\r\n\r\n const columns = useColumns(slots)\r\n\r\n const clearSelection = () => {\r\n elTableRef.value.clearSelection()\r\n }\r\n\r\n const getSelectionRows = () => {\r\n return elTableRef.value.getSelectionRows()\r\n }\r\n\r\n const toggleRowSelection = (...args) => {\r\n return elTableRef.value.toggleRowSelection(...args)\r\n }\r\n\r\n const toggleAllSelection = () => {\r\n return elTableRef.value.toggleAllSelection()\r\n }\r\n\r\n const setCurrentRow = (...args) => {\r\n return elTableRef.value.setCurrentRow(...args)\r\n }\r\n\r\n const scrollTo = (...args) => {\r\n return elTableRef.value.scrollTo(...args)\r\n }\r\n\r\n expose({\r\n clearSelection,\r\n getSelectionRows,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n setCurrentRow,\r\n scrollTo,\r\n })\r\n\r\n return () => {\r\n const { data } = props\r\n const { selectionMode = false } = props\r\n const { showRowNumber = true } = props\r\n const { currentRowMode = false } = props\r\n const { size = 'default' } = props\r\n const { rowClassName, rowStyle, cellClassName, cellStyle } = props\r\n\r\n const cn = classNames('orion-edittable')\r\n\r\n const renderIndexColumn = () => {\r\n return (\r\n <ElTableColumn\r\n type={'index'}\r\n label=\"No\"\r\n headerAlign={'center'}\r\n align={'center'}\r\n width={56}\r\n fixed={'left'}\r\n showOverflowTooltip={true}\r\n index={(index: number) => {\r\n return index + 1\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSelectionColumn = () => {\r\n return <ElTableColumn type={'selection'} headerAlign={'center'} align={'center'} width={40} fixed={'left'}></ElTableColumn>\r\n }\r\n\r\n const renderStringColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OStringInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n ></OStringInput>\r\n ) : (\r\n <div class=\"cell-stringinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderLovColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder, fillMapping } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const elChildren = column.children?.default?.({\r\n rowData: elRow,\r\n column: elColumn,\r\n rowIndex: scope.$index,\r\n })\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OLovInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n onClear={() => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n elRow[dstName] = undefined\r\n }\r\n }\r\n }}\r\n onSelect={(params) => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n elRow[dstName] = srcValue\r\n }\r\n } else {\r\n fillMapping && fillMapping(elRow, params)\r\n }\r\n }}\r\n >\r\n {elChildren}\r\n </OLovInput>\r\n ) : (\r\n <div class=\"cell-lovinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderCheckboxColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign = 'center', width, fixed, editable, cellEditable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return (\r\n <div class=\"cell-checkbox\">\r\n <OCheckbox\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n disabled={!isEditable}\r\n ></OCheckbox>\r\n </div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderNumberColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'right',\r\n width,\r\n fixed,\r\n thousandsSeparator = true,\r\n percentage = false,\r\n editable,\r\n cellEditable,\r\n placeholder,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = false,\r\n controlsPosition,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <ONumberInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n placeholder={placeholder}\r\n min={min}\r\n max={max}\r\n step={step}\r\n stepStrictly={stepStrictly}\r\n precision={precision}\r\n controls={controls}\r\n controlsPosition={controlsPosition}\r\n ></ONumberInput>\r\n ) : (\r\n <div class=\"cell-numberinput\">{number2string(cellValue, thousandsSeparator, precision, percentage === true || percentage === '')}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDateColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'center',\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n maxlength,\r\n placeholder,\r\n clearable = false,\r\n format = 'YYYYMMDDHHmmss',\r\n sourceFormat,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n if (isEditable) {\r\n return (\r\n <ODateInput\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n format={format}\r\n sourceFormat={sourceFormat}\r\n ></ODateInput>\r\n )\r\n }\r\n if (cellValue instanceof Date || dayjs.isDayjs(cellValue)) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, format)}</div>\r\n } else {\r\n if (sourceFormat && format) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, sourceFormat, format)}</div>\r\n } else {\r\n return <div class=\"cell-dateinput\">{cellValue}</div>\r\n }\r\n }\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSingleSelectColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, code, placeholder, clearable, filterable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getSingleCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OSingleSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n filterable={filterable}\r\n ></OSingleSelect>\r\n ) : (\r\n <div class=\"cell-singleselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderMultiSelectColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign,\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n code,\r\n placeholder,\r\n collapseTags = true,\r\n collapseTagsTooltip,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getMultiCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OMultiSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n collapseTags={collapseTags}\r\n collapseTagsTooltip={collapseTagsTooltip}\r\n ></OMultiSelect>\r\n ) : (\r\n <div class=\"cell-multiselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderButtongroupColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return (\r\n <div class=\"cell-buttongroup\">\r\n <Space>{children}</Space>\r\n </div>\r\n )\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumngroupColumn = (column) => {\r\n const { head, headAlign = 'center' } = column\r\n const { children } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n v-slots={{\r\n default: (scope) => {\r\n return renderColumns(children)\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDiyColumn = (column) => {\r\n const { name, head, headAlign = 'center', width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return <div class=\"cell-diy\">{children} </div>\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumns = (columns) => {\r\n return columns?.map((c) => {\r\n if (c.type === 'OEdittableColumnString') {\r\n return renderStringColumn(c)\r\n } else if (c.type === 'OEdittableColumnLov') {\r\n return renderLovColumn(c)\r\n } else if (c.type === 'OEdittableColumnCheckbox') {\r\n return renderCheckboxColumn(c)\r\n } else if (c.type === 'OEdittableColumnNumber') {\r\n return renderNumberColumn(c)\r\n } else if (c.type === 'OEdittableColumnDate') {\r\n return renderDateColumn(c)\r\n } else if (c.type === 'OEdittableColumnSingleselect') {\r\n return renderSingleSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnMultiselect') {\r\n return renderMultiSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnButtongroup') {\r\n return renderButtongroupColumn(c)\r\n } else if (c.type === 'OEdittableColumngroup') {\r\n return renderColumngroupColumn(c)\r\n } else if (c.type === 'OEdittableColumnDiy') {\r\n return renderDiyColumn(c)\r\n } else {\r\n throw new OrionError(`OEdittable不能正确渲染'${c.type}'子组件。`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div class={[cn, attrs.class]} style={[style.value, attrs.style as CSSProperties]}>\r\n <ElTable\r\n ref={elTableRef}\r\n border\r\n data={data}\r\n height={'100%'}\r\n style={{ width: '100%' }}\r\n onSelection-change={(rows) => emit('selectionChange', rows)}\r\n highlight-current-row={currentRowMode}\r\n onCurrent-change={(currentRow, oldCurrentRow) => emit('currentRowChange', currentRow, oldCurrentRow)}\r\n onRow-click={(row: any, column: any, event: Event) => emit('rowClick', row, { name: column.property, head: column.label }, event)}\r\n onRow-dblclick={(row: any, column: any, event: Event) => emit('rowDblclick', row, { name: column.property, head: column.label }, event)}\r\n onCell-click={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellClick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n onCell-dblclick={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellDblclick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n size={size}\r\n rowClassName={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowClassName === 'string') {\r\n return rowClassName\r\n } else if (typeof rowClassName === 'function') {\r\n return rowClassName({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else {\r\n return 'row-class-name_not_valid'\r\n }\r\n }}\r\n rowStyle={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowStyle === 'function') {\r\n return rowStyle({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else if (typeof rowStyle === 'object') {\r\n return rowStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n cellClassName={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellClassName === 'string') {\r\n return cellClassName\r\n } else if (typeof cellClassName === 'function') {\r\n return cellClassName({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else {\r\n return 'cell-class-name_not_valid'\r\n }\r\n }}\r\n cellStyle={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellStyle === 'function') {\r\n return cellStyle({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else if (typeof cellStyle === 'object') {\r\n return cellStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n >\r\n {showRowNumber && renderIndexColumn()}\r\n {selectionMode && renderSelectionColumn()}\r\n {renderColumns(columns.value)}\r\n </ElTable>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\n\r\nexport const edittableColumnIndexProps = () => ({})\r\n\r\nexport type QuerytableColumnIndexProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnIndexProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OQuerytableColumnIndex',\r\n inheritAttrs: false,\r\n props: edittableColumnIndexProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnStringProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n})\r\n\r\nexport type EdittableColumnStringProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnStringProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnString',\r\n inheritAttrs: false,\r\n props: edittableColumnStringProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\nexport const edittableColumnLovProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n fillMapping: [String, Function] as PropType<string | ((row: any, params: Record<string, any>) => void)>,\r\n})\r\n\r\nexport type EdittableColumnLovProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLovProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnLov',\r\n inheritAttrs: false,\r\n props: edittableColumnLovProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnLinkProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnLinkProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLinkProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnCheckbox',\r\n inheritAttrs: false,\r\n props: edittableColumnLinkProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnNumberProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 千位分隔符\r\n thousandsSeparator: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 百分比形式\r\n percentage: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n placeholder: String,\r\n min: Number,\r\n max: Number,\r\n step: Number,\r\n stepStrictly: Boolean,\r\n precision: Number,\r\n controls: Boolean,\r\n controlsPosition: String as PropType<'' | 'right'>,\r\n})\r\n\r\nexport type EdittableColumnNumberProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnNumberProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnNumber',\r\n inheritAttrs: false,\r\n props: edittableColumnNumberProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnDateProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n clearable: Boolean,\r\n format: String,\r\n sourceFormat: String,\r\n})\r\n\r\nexport type EdittableColumnDateProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDateProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDate',\r\n inheritAttrs: false,\r\n props: edittableColumnDateProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnSingleselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n clearable: Boolean,\r\n filterable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnSingleselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnSingleselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnSingleselect',\r\n inheritAttrs: false,\r\n props: edittableColumnSingleselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnMultiselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n collapseTags: Boolean,\r\n collapseTagsTooltip: Boolean,\r\n})\r\n\r\nexport type EdittableColumnMultiselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnMultiselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnMultiselect',\r\n inheritAttrs: false,\r\n props: edittableColumnMultiselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnButtongroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnButtongroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnButtongroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnButtongroup',\r\n inheritAttrs: false,\r\n props: edittableColumnButtongroupProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport { ElButton } from 'element-plus'\r\n\r\n\r\nexport const edittableCellButtonProps = () => ({\r\n type: String,\r\n})\r\n\r\nexport type EdittableCellButtonProps = Partial<ExtractPropTypes<ReturnType<typeof edittableCellButtonProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableCellButton',\r\n inheritAttrs: false,\r\n props: edittableCellButtonProps(),\r\n emits: ['click'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const handleClick = (event: Event) => {\r\n emit('click', event)\r\n }\r\n\r\n return () => {\r\n const { type } = props\r\n const children = slots.default?.()\r\n\r\n return (\r\n <ElButton link type={type} size=\"small\" onClick={handleClick}>\r\n {children}\r\n </ElButton>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\n\r\nexport const edittableColumngroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n})\r\n\r\nexport type EdittableColumngroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumngroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumngroup',\r\n inheritAttrs: false,\r\n props: edittableColumngroupProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnDiyProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnDiyProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDiyProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDiy',\r\n inheritAttrs: false,\r\n props: edittableColumnDiyProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { withInstall } from '../_util'\r\n\r\nimport Edittable from './Edittable'\r\nimport EdittableColumnIndex from './columns/EdittableColumnIndex'\r\nimport EdittableColumnString from './columns/EdittableColumnString'\r\nimport EdittableColumnLov from './columns/EdittableColumnLov'\r\nimport EdittableColumnCheckbox from './columns/EdittableColumnCheckbox'\r\nimport EdittableColumnNumber from './columns/EdittableColumnNumber'\r\nimport EdittableColumnDate from './columns/EdittableColumnDate'\r\nimport EdittableColumnSingleselect from './columns/EdittableColumnSingleselect'\r\nimport EdittableColumnMultiselect from './columns/EdittableColumnMultiselect'\r\nimport EdittableColumnButtongroup from './columns/EdittableColumnButtongroup'\r\nimport EdittableCellButton from './columns/EdittableCellButton'\r\nimport EdittableColumngroup from './columns/EdittableColumngroup'\r\nimport EdittableColumnDiy from './columns/EdittableColumnDiy'\r\n\r\nexport type { EdittableProps } from './Edittable'\r\n\r\nexport default withInstall<\r\n typeof Edittable,\r\n {\r\n EdittableColumnIndex: typeof EdittableColumnIndex\r\n EdittableColumnString: typeof EdittableColumnString\r\n EdittableColumnLov: typeof EdittableColumnLov\r\n EdittableColumnCheckbox: typeof EdittableColumnCheckbox\r\n EdittableColumnNumber: typeof EdittableColumnNumber\r\n EdittableColumnDate: typeof EdittableColumnDate\r\n EdittableColumnSingleselect: typeof EdittableColumnSingleselect\r\n EdittableColumnMultiselect: typeof EdittableColumnMultiselect\r\n EdittableColumnButtongroup: typeof EdittableColumnButtongroup\r\n EdittableCellButton: typeof EdittableCellButton\r\n EdittableColumngroup: typeof EdittableColumngroup\r\n EdittableColumnDiy: typeof EdittableColumnDiy\r\n }\r\n>(Edittable, {\r\n EdittableColumnIndex,\r\n EdittableColumnString,\r\n EdittableColumnLov,\r\n EdittableColumnCheckbox,\r\n EdittableColumnNumber,\r\n EdittableColumnDate,\r\n EdittableColumnSingleselect,\r\n EdittableColumnMultiselect,\r\n EdittableColumnButtongroup,\r\n EdittableCellButton,\r\n EdittableColumngroup,\r\n EdittableColumnDiy,\r\n})\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","edittableProps","data","Array","showRowNumber","type","Boolean","default","selectionMode","currentRowMode","size","String","rowClassName","Function","rowStyle","cellClassName","cellStyle","isCellEditable","editable","cellEditable","row","getCodeData","code","isString","isArray","useCode","value","isFunction","defineComponent","name","inheritAttrs","props","emits","setup","slots","attrs","emit","expose","elTableRef","ref","style","computed","columns","useColumns","clearSelection","getSelectionRows","toggleRowSelection","args","toggleAllSelection","setCurrentRow","scrollTo","cn","classNames","renderIndexColumn","_createVNode","ElTableColumn","index","renderSelectionColumn","renderStringColumn","column","head","headAlign","bodyAlign","width","fixed","maxlength","placeholder","header","children","scope","elRow","elColumn","isEditable","cellValue","property","OStringInput","renderLovColumn","fillMapping","elChildren","rowData","rowIndex","$index","OLovInput","onClear","pairs","split","i","length","dstName","trim","undefined","params","srcName","srcValue","renderCheckboxColumn","OCheckbox","renderNumberColumn","thousandsSeparator","percentage","min","max","step","stepStrictly","precision","controls","controlsPosition","ONumberInput","number2string","renderDateColumn","clearable","format","sourceFormat","ODateInput","Date","dayjs","isDayjs","formatDate","renderSingleSelectColumn","filterable","codeContent","codeData","getSingleCodeContent","OSingleSelect","renderMultiSelectColumn","collapseTags","collapseTagsTooltip","getMultiCodeContent","OMultiSelect","renderButtongroupColumn","Space","renderColumngroupColumn","renderColumns","renderDiyColumn","_createTextVNode","map","c","OrionError","class","ElTable","rows","onCurrent-change","currentRow","oldCurrentRow","onRow-click","event","label","onRow-dblclick","onCell-click","cell","onCell-dblclick","columnIndex","edittableColumnIndexProps","edittableColumnStringProps","Number","edittableColumnLovProps","edittableColumnLinkProps","edittableColumnNumberProps","edittableColumnDateProps","edittableColumnSingleselectProps","edittableColumnMultiselectProps","edittableColumnButtongroupProps","edittableCellButtonProps","handleClick","ElButton","edittableColumngroupProps","edittableColumnDiyProps","withInstall","Edittable","EdittableColumnIndex","EdittableColumnString","EdittableColumnLov","EdittableColumnCheckbox","EdittableColumnNumber","EdittableColumnDate","EdittableColumnSingleselect","EdittableColumnMultiselect","EdittableColumnButtongroup","EdittableCellButton","EdittableColumngroup","EdittableColumnDiy"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Edittable/Edittable.tsx","../../../src/components/Edittable/columns/EdittableColumnIndex.tsx","../../../src/components/Edittable/columns/EdittableColumnString.tsx","../../../src/components/Edittable/columns/EdittableColumnLov.tsx","../../../src/components/Edittable/columns/EdittableColumnCheckbox.tsx","../../../src/components/Edittable/columns/EdittableColumnNumber.tsx","../../../src/components/Edittable/columns/EdittableColumnDate.tsx","../../../src/components/Edittable/columns/EdittableColumnSingleselect.tsx","../../../src/components/Edittable/columns/EdittableColumnMultiselect.tsx","../../../src/components/Edittable/columns/EdittableColumnButtongroup.tsx","../../../src/components/Edittable/columns/EdittableCellButton.tsx","../../../src/components/Edittable/columns/EdittableColumngroup.tsx","../../../src/components/Edittable/columns/EdittableColumnDiy.tsx","../../../src/components/Edittable/index.ts"],"sourcesContent":["import { computed, defineComponent, ref } from 'vue'\r\nimport type { PropType, ExtractPropTypes, CSSProperties, ComponentPublicInstance, ComputedRef } from 'vue'\r\nimport classNames from '../_antd_util/classNames'\r\nimport { ElTable, ElTableColumn } from 'element-plus'\r\n\r\nimport { formatDate, number2string, getSingleCodeContent, getMultiCodeContent } from './utils'\r\nimport dayjs from 'dayjs'\r\nimport { isArray, isFunction, isString } from 'lodash-es'\r\nimport Space from '../Space'\r\nimport OrionError from '../../error/OrionError'\r\n\r\nimport useColumns from './hooks/useColumns'\r\nimport useCode from '../Pagetable/hooks/useCode'\r\n\r\nimport OStringInput from '../Input/StringInput/StringInput.vue'\r\nimport OSingleSelect from '../Input/SingleSelect/SingleSelect.vue'\r\nimport OMultiSelect from '../Input/MultiSelect/MultiSelect.vue'\r\nimport ODateInput from '../Input/DateInput/DateInput.vue'\r\nimport ONumberInput from '../Input/NumberInput/NumberInput.vue'\r\nimport OCheckbox from '../Input/Checkbox/Checkbox.vue'\r\nimport OLovInput from '../Input/LovInput/LovInput.vue'\r\n\r\ntype rowClassNameFn = (data: { rowData: any; rowIndex: number }) => string\r\ntype rowStyleFn = (data: { rowData: any; rowIndex: number }) => CSSProperties\r\ntype cellClassNameFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => string\r\ntype cellStyleFn = (data: { rowData: any; column: { name: string; head: string }; rowIndex: number; columnIndex: number }) => CSSProperties\r\n\r\nexport const edittableProps = () => ({\r\n data: Array,\r\n showRowNumber: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n selectionMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n currentRowMode: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n size: String as PropType<'' | 'large' | 'default' | 'small'>,\r\n rowClassName: [String, Function] as PropType<string | rowClassNameFn>,\r\n rowStyle: [Object, Function] as PropType<CSSProperties | rowStyleFn>,\r\n cellClassName: [String, Function] as PropType<string | cellClassNameFn>,\r\n cellStyle: [Object, Function] as PropType<CSSProperties | cellStyleFn>,\r\n})\r\n\r\nexport type EdittableProps = Partial<ExtractPropTypes<ReturnType<typeof edittableProps>>>\r\n\r\nexport interface EdittableExpose {\r\n clearSelection: () => void\r\n toggleRowSelection: (row: any, selected?: boolean) => void\r\n toggleAllSelection: () => void\r\n getSelectionRows: () => any[]\r\n setCurrentRow: (row: any) => void\r\n columns: ComputedRef<any[]>\r\n}\r\n\r\nexport type EdittableInstance = ComponentPublicInstance<EdittableProps, EdittableExpose>\r\n\r\nconst isCellEditable = (editable = true, cellEditable: any, row: any) => {\r\n if (!editable) {\r\n return false\r\n }\r\n if (!cellEditable) {\r\n return true\r\n }\r\n return cellEditable(row)\r\n}\r\n\r\nconst getCodeData = (code: any, row: any) => {\r\n if (isString(code) || isArray(code)) {\r\n return useCode(code).value\r\n } else if (isFunction(code)) {\r\n return code(row)\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'OEdittable',\r\n inheritAttrs: false,\r\n props: edittableProps(),\r\n emits: ['selectionChange', 'currentRowChange', 'rowClick', 'rowDblclick', 'cellClick', 'cellDblclick'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const elTableRef = ref()\r\n\r\n const style = computed(() => {\r\n const rowStyle: CSSProperties = {}\r\n\r\n return rowStyle\r\n })\r\n\r\n const columns = useColumns(slots)\r\n\r\n const clearSelection = () => {\r\n elTableRef.value.clearSelection()\r\n }\r\n\r\n const getSelectionRows = () => {\r\n return elTableRef.value.getSelectionRows()\r\n }\r\n\r\n const toggleRowSelection = (...args) => {\r\n return elTableRef.value.toggleRowSelection(...args)\r\n }\r\n\r\n const toggleAllSelection = () => {\r\n return elTableRef.value.toggleAllSelection()\r\n }\r\n\r\n const setCurrentRow = (...args) => {\r\n return elTableRef.value.setCurrentRow(...args)\r\n }\r\n\r\n const scrollTo = (...args) => {\r\n return elTableRef.value.scrollTo(...args)\r\n }\r\n\r\n expose({\r\n clearSelection,\r\n getSelectionRows,\r\n toggleRowSelection,\r\n toggleAllSelection,\r\n setCurrentRow,\r\n scrollTo,\r\n })\r\n\r\n return () => {\r\n const { data } = props\r\n const { selectionMode = false } = props\r\n const { showRowNumber = true } = props\r\n const { currentRowMode = false } = props\r\n const { size = 'default' } = props\r\n const { rowClassName, rowStyle, cellClassName, cellStyle } = props\r\n\r\n const cn = classNames('orion-edittable')\r\n\r\n const renderIndexColumn = () => {\r\n return (\r\n <ElTableColumn\r\n type={'index'}\r\n label=\"No\"\r\n headerAlign={'center'}\r\n align={'center'}\r\n width={56}\r\n fixed={'left'}\r\n showOverflowTooltip={true}\r\n index={(index: number) => {\r\n return index + 1\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSelectionColumn = () => {\r\n return <ElTableColumn type={'selection'} headerAlign={'center'} align={'center'} width={40} fixed={'left'}></ElTableColumn>\r\n }\r\n\r\n const renderStringColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OStringInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n ></OStringInput>\r\n ) : (\r\n <div class=\"cell-stringinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderLovColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, maxlength, placeholder, fillMapping } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const elChildren = column.children?.default?.({\r\n rowData: elRow,\r\n column: elColumn,\r\n rowIndex: scope.$index,\r\n })\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <OLovInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n onClear={() => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n elRow[dstName] = undefined\r\n }\r\n }\r\n }}\r\n onSelect={(params) => {\r\n if (isString(fillMapping)) {\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n elRow[dstName] = srcValue\r\n }\r\n } else {\r\n fillMapping && fillMapping(elRow, params)\r\n }\r\n }}\r\n >\r\n {elChildren}\r\n </OLovInput>\r\n ) : (\r\n <div class=\"cell-lovinput\">{cellValue}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderCheckboxColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign = 'center', width, fixed, editable, cellEditable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return (\r\n <div class=\"cell-checkbox\">\r\n <OCheckbox\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n disabled={!isEditable}\r\n ></OCheckbox>\r\n </div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderNumberColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'right',\r\n width,\r\n fixed,\r\n thousandsSeparator = true,\r\n percentage = false,\r\n editable,\r\n cellEditable,\r\n placeholder,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = false,\r\n controlsPosition,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n return isEditable ? (\r\n <ONumberInput\r\n modelValue={cellValue}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n placeholder={placeholder}\r\n min={min}\r\n max={max}\r\n step={step}\r\n stepStrictly={stepStrictly}\r\n precision={precision}\r\n controls={controls}\r\n controlsPosition={controlsPosition}\r\n ></ONumberInput>\r\n ) : (\r\n <div class=\"cell-numberinput\">{number2string(cellValue, thousandsSeparator, precision, percentage === true || percentage === '')}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDateColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign = 'center',\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n maxlength,\r\n placeholder,\r\n clearable = false,\r\n format = 'YYYYMMDDHHmmss',\r\n sourceFormat,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n if (isEditable) {\r\n return (\r\n <ODateInput\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n maxlength={maxlength}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n format={format}\r\n sourceFormat={sourceFormat}\r\n ></ODateInput>\r\n )\r\n }\r\n if (cellValue instanceof Date || dayjs.isDayjs(cellValue)) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, format)}</div>\r\n } else {\r\n if (sourceFormat && format) {\r\n return <div class=\"cell-dateinput\">{formatDate(cellValue, sourceFormat, format)}</div>\r\n } else {\r\n return <div class=\"cell-dateinput\">{cellValue}</div>\r\n }\r\n }\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderSingleSelectColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed, editable, cellEditable, code, placeholder, clearable, filterable } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getSingleCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OSingleSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n clearable={clearable}\r\n filterable={filterable}\r\n ></OSingleSelect>\r\n ) : (\r\n <div class=\"cell-singleselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderMultiSelectColumn = (column) => {\r\n const {\r\n name,\r\n head,\r\n headAlign = 'center',\r\n bodyAlign,\r\n width,\r\n fixed,\r\n editable,\r\n cellEditable,\r\n code,\r\n placeholder,\r\n collapseTags = true,\r\n collapseTagsTooltip,\r\n } = column\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n showOverflowTooltip={true}\r\n v-slots={{\r\n header: () => column.children?.head?.(),\r\n default: (scope: any) => {\r\n const { row: elRow, column: elColumn } = scope\r\n const isEditable = isCellEditable(editable, cellEditable, elRow)\r\n const cellValue = elRow[elColumn.property]\r\n\r\n let codeContent: string | null\r\n const codeData = getCodeData(code, elRow)\r\n if (!codeData) {\r\n codeContent = null\r\n } else {\r\n codeContent = getMultiCodeContent(codeData, cellValue)\r\n }\r\n\r\n return isEditable ? (\r\n <OMultiSelect\r\n modelValue={elRow[elColumn.property]}\r\n onUpdate:modelValue={(value) => {\r\n elRow[elColumn.property] = value\r\n }}\r\n code={codeData}\r\n placeholder={placeholder}\r\n collapseTags={collapseTags}\r\n collapseTagsTooltip={collapseTagsTooltip}\r\n ></OMultiSelect>\r\n ) : (\r\n <div class=\"cell-multiselect\">{codeContent}</div>\r\n )\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderButtongroupColumn = (column) => {\r\n const { name, head, headAlign = 'center', bodyAlign, width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n align={bodyAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return (\r\n <div class=\"cell-buttongroup\">\r\n <Space>{children}</Space>\r\n </div>\r\n )\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumngroupColumn = (column) => {\r\n const { head, headAlign = 'center' } = column\r\n const { children } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n v-slots={{\r\n default: (scope) => {\r\n return renderColumns(children)\r\n },\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderDiyColumn = (column) => {\r\n const { name, head, headAlign = 'center', width, fixed } = column\r\n\r\n return (\r\n <ElTableColumn\r\n label={head}\r\n headerAlign={headAlign}\r\n prop={name}\r\n width={width}\r\n fixed={fixed}\r\n v-slots={{\r\n default: (scope) => {\r\n const children = column.children?.default?.({\r\n rowData: scope.row,\r\n column,\r\n rowIndex: scope.$index,\r\n })\r\n\r\n return <div class=\"cell-diy\">{children} </div>\r\n },\r\n header: () => column.children?.head?.(),\r\n }}\r\n ></ElTableColumn>\r\n )\r\n }\r\n\r\n const renderColumns = (columns) => {\r\n return columns?.map((c) => {\r\n if (c.type === 'OEdittableColumnString') {\r\n return renderStringColumn(c)\r\n } else if (c.type === 'OEdittableColumnLov') {\r\n return renderLovColumn(c)\r\n } else if (c.type === 'OEdittableColumnCheckbox') {\r\n return renderCheckboxColumn(c)\r\n } else if (c.type === 'OEdittableColumnNumber') {\r\n return renderNumberColumn(c)\r\n } else if (c.type === 'OEdittableColumnDate') {\r\n return renderDateColumn(c)\r\n } else if (c.type === 'OEdittableColumnSingleselect') {\r\n return renderSingleSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnMultiselect') {\r\n return renderMultiSelectColumn(c)\r\n } else if (c.type === 'OEdittableColumnButtongroup') {\r\n return renderButtongroupColumn(c)\r\n } else if (c.type === 'OEdittableColumngroup') {\r\n return renderColumngroupColumn(c)\r\n } else if (c.type === 'OEdittableColumnDiy') {\r\n return renderDiyColumn(c)\r\n } else {\r\n throw new OrionError(`OEdittable不能正确渲染'${c.type}'子组件。`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <div class={[cn, attrs.class]} style={[style.value, attrs.style as CSSProperties]}>\r\n <ElTable\r\n ref={elTableRef}\r\n border\r\n data={data}\r\n height={'100%'}\r\n style={{ width: '100%' }}\r\n onSelection-change={(rows) => emit('selectionChange', rows)}\r\n highlight-current-row={currentRowMode}\r\n onCurrent-change={(currentRow, oldCurrentRow) => emit('currentRowChange', currentRow, oldCurrentRow)}\r\n onRow-click={(row: any, column: any, event: Event) => emit('rowClick', row, { name: column.property, head: column.label }, event)}\r\n onRow-dblclick={(row: any, column: any, event: Event) => emit('rowDblclick', row, { name: column.property, head: column.label }, event)}\r\n onCell-click={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellClick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n onCell-dblclick={(row: any, column: any, cell: any, event: Event) =>\r\n emit('cellDblclick', row, { name: column.property, head: column.label }, cell, event)\r\n }\r\n size={size}\r\n rowClassName={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowClassName === 'string') {\r\n return rowClassName\r\n } else if (typeof rowClassName === 'function') {\r\n return rowClassName({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else {\r\n return 'row-class-name_not_valid'\r\n }\r\n }}\r\n rowStyle={(data: { row: any; rowIndex: number }) => {\r\n if (typeof rowStyle === 'function') {\r\n return rowStyle({ rowData: data.row, rowIndex: data.rowIndex })\r\n } else if (typeof rowStyle === 'object') {\r\n return rowStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n cellClassName={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellClassName === 'string') {\r\n return cellClassName\r\n } else if (typeof cellClassName === 'function') {\r\n return cellClassName({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else {\r\n return 'cell-class-name_not_valid'\r\n }\r\n }}\r\n cellStyle={(data: { row: any; column: any; rowIndex: number; columnIndex: number }) => {\r\n if (typeof cellStyle === 'function') {\r\n return cellStyle({\r\n rowData: data.row,\r\n column: { name: data.column.property, head: data.column.label },\r\n rowIndex: data.rowIndex,\r\n columnIndex: data.columnIndex,\r\n })\r\n } else if (typeof cellStyle === 'object') {\r\n return cellStyle\r\n } else {\r\n return {}\r\n }\r\n }}\r\n >\r\n {showRowNumber && renderIndexColumn()}\r\n {selectionMode && renderSelectionColumn()}\r\n {renderColumns(columns.value)}\r\n </ElTable>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\n\r\nexport const edittableColumnIndexProps = () => ({})\r\n\r\nexport type QuerytableColumnIndexProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnIndexProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OQuerytableColumnIndex',\r\n inheritAttrs: false,\r\n props: edittableColumnIndexProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnStringProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n})\r\n\r\nexport type EdittableColumnStringProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnStringProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnString',\r\n inheritAttrs: false,\r\n props: edittableColumnStringProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\nexport const edittableColumnLovProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n fillMapping: [String, Function] as PropType<string | ((row: any, params: Record<string, any>) => void)>,\r\n})\r\n\r\nexport type EdittableColumnLovProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLovProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnLov',\r\n inheritAttrs: false,\r\n props: edittableColumnLovProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnLinkProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnLinkProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnLinkProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnCheckbox',\r\n inheritAttrs: false,\r\n props: edittableColumnLinkProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnNumberProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 千位分隔符\r\n thousandsSeparator: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n // 百分比形式\r\n percentage: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n placeholder: String,\r\n min: Number,\r\n max: Number,\r\n step: Number,\r\n stepStrictly: Boolean,\r\n precision: Number,\r\n controls: Boolean,\r\n controlsPosition: String as PropType<'' | 'right'>,\r\n})\r\n\r\nexport type EdittableColumnNumberProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnNumberProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnNumber',\r\n inheritAttrs: false,\r\n props: edittableColumnNumberProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnDateProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // input属性\r\n maxlength: [String, Number],\r\n placeholder: String,\r\n clearable: Boolean,\r\n format: String,\r\n sourceFormat: String,\r\n})\r\n\r\nexport type EdittableColumnDateProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDateProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDate',\r\n inheritAttrs: false,\r\n props: edittableColumnDateProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const edittableColumnSingleselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n clearable: Boolean,\r\n filterable: Boolean,\r\n})\r\n\r\nexport type EdittableColumnSingleselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnSingleselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnSingleselect',\r\n inheritAttrs: false,\r\n props: edittableColumnSingleselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes } from 'vue'\r\n\r\nexport const edittableColumnMultiselectProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n // 是否可编辑\r\n editable: Boolean,\r\n cellEditable: Boolean,\r\n // code\r\n code: [String, Array] as PropType<string | { value: string; content: string }[] | ((row: any) => { value: string; content: string }[])>,\r\n // input属性\r\n placeholder: String,\r\n collapseTags: Boolean,\r\n collapseTagsTooltip: Boolean,\r\n})\r\n\r\nexport type EdittableColumnMultiselectProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnMultiselectProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnMultiselect',\r\n inheritAttrs: false,\r\n props: edittableColumnMultiselectProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnButtongroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n bodyAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnButtongroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnButtongroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnButtongroup',\r\n inheritAttrs: false,\r\n props: edittableColumnButtongroupProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport { ElButton } from 'element-plus'\r\n\r\n\r\nexport const edittableCellButtonProps = () => ({\r\n type: String,\r\n})\r\n\r\nexport type EdittableCellButtonProps = Partial<ExtractPropTypes<ReturnType<typeof edittableCellButtonProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableCellButton',\r\n inheritAttrs: false,\r\n props: edittableCellButtonProps(),\r\n emits: ['click'],\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const handleClick = (event: Event) => {\r\n emit('click', event)\r\n }\r\n\r\n return () => {\r\n const { type } = props\r\n const children = slots.default?.()\r\n\r\n return (\r\n <ElButton link type={type} size=\"small\" onClick={handleClick}>\r\n {children}\r\n </ElButton>\r\n )\r\n }\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { ExtractPropTypes, PropType } from 'vue'\r\n\r\n\r\nexport const edittableColumngroupProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n})\r\n\r\nexport type EdittableColumngroupProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumngroupProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumngroup',\r\n inheritAttrs: false,\r\n props: edittableColumngroupProps(),\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { defineComponent } from 'vue'\r\nimport type { PropType, ExtractPropTypes, SlotsType } from 'vue'\r\n\r\n\r\nexport const edittableColumnDiyProps = () => ({\r\n head: String,\r\n headAlign: String as PropType<'left' | 'right' | 'center'>,\r\n name: String,\r\n width: [String, Number],\r\n fixed: [Boolean, String],\r\n})\r\n\r\nexport type EdittableColumnDiyProps = Partial<ExtractPropTypes<ReturnType<typeof edittableColumnDiyProps>>>\r\n\r\nexport default defineComponent({\r\n name: 'OEdittableColumnDiy',\r\n inheritAttrs: false,\r\n props: edittableColumnDiyProps(),\r\n slots: Object as SlotsType<{\r\n default: any\r\n }>,\r\n setup(props, { slots, attrs, emit, expose }) {\r\n return () => null\r\n },\r\n})\r\n","import { withInstall } from '../_util'\r\n\r\nimport Edittable from './Edittable'\r\nimport EdittableColumnIndex from './columns/EdittableColumnIndex'\r\nimport EdittableColumnString from './columns/EdittableColumnString'\r\nimport EdittableColumnLov from './columns/EdittableColumnLov'\r\nimport EdittableColumnCheckbox from './columns/EdittableColumnCheckbox'\r\nimport EdittableColumnNumber from './columns/EdittableColumnNumber'\r\nimport EdittableColumnDate from './columns/EdittableColumnDate'\r\nimport EdittableColumnSingleselect from './columns/EdittableColumnSingleselect'\r\nimport EdittableColumnMultiselect from './columns/EdittableColumnMultiselect'\r\nimport EdittableColumnButtongroup from './columns/EdittableColumnButtongroup'\r\nimport EdittableCellButton from './columns/EdittableCellButton'\r\nimport EdittableColumngroup from './columns/EdittableColumngroup'\r\nimport EdittableColumnDiy from './columns/EdittableColumnDiy'\r\n\r\nexport default withInstall<\r\n typeof Edittable,\r\n {\r\n EdittableColumnIndex: typeof EdittableColumnIndex\r\n EdittableColumnString: typeof EdittableColumnString\r\n EdittableColumnLov: typeof EdittableColumnLov\r\n EdittableColumnCheckbox: typeof EdittableColumnCheckbox\r\n EdittableColumnNumber: typeof EdittableColumnNumber\r\n EdittableColumnDate: typeof EdittableColumnDate\r\n EdittableColumnSingleselect: typeof EdittableColumnSingleselect\r\n EdittableColumnMultiselect: typeof EdittableColumnMultiselect\r\n EdittableColumnButtongroup: typeof EdittableColumnButtongroup\r\n EdittableCellButton: typeof EdittableCellButton\r\n EdittableColumngroup: typeof EdittableColumngroup\r\n EdittableColumnDiy: typeof EdittableColumnDiy\r\n }\r\n>(Edittable, {\r\n EdittableColumnIndex,\r\n EdittableColumnString,\r\n EdittableColumnLov,\r\n EdittableColumnCheckbox,\r\n EdittableColumnNumber,\r\n EdittableColumnDate,\r\n EdittableColumnSingleselect,\r\n EdittableColumnMultiselect,\r\n EdittableColumnButtongroup,\r\n EdittableCellButton,\r\n EdittableColumngroup,\r\n EdittableColumnDiy,\r\n})\r\n\r\nexport * from './Edittable'\r\nexport { default as useEdittable } from './hooks/useEdittable'\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","edittableProps","data","Array","showRowNumber","type","Boolean","default","selectionMode","currentRowMode","size","String","rowClassName","Function","rowStyle","cellClassName","cellStyle","isCellEditable","editable","cellEditable","row","getCodeData","code","isString","isArray","useCode","value","isFunction","defineComponent","name","inheritAttrs","props","emits","setup","slots","attrs","emit","expose","elTableRef","ref","style","computed","columns","useColumns","clearSelection","getSelectionRows","toggleRowSelection","args","toggleAllSelection","setCurrentRow","scrollTo","cn","classNames","renderIndexColumn","_createVNode","ElTableColumn","index","renderSelectionColumn","renderStringColumn","column","head","headAlign","bodyAlign","width","fixed","maxlength","placeholder","header","children","scope","elRow","elColumn","isEditable","cellValue","property","OStringInput","renderLovColumn","fillMapping","elChildren","rowData","rowIndex","$index","OLovInput","onClear","pairs","split","i","length","dstName","trim","undefined","params","srcName","srcValue","renderCheckboxColumn","OCheckbox","renderNumberColumn","thousandsSeparator","percentage","min","max","step","stepStrictly","precision","controls","controlsPosition","ONumberInput","number2string","renderDateColumn","clearable","format","sourceFormat","ODateInput","Date","dayjs","isDayjs","formatDate","renderSingleSelectColumn","filterable","codeContent","codeData","getSingleCodeContent","OSingleSelect","renderMultiSelectColumn","collapseTags","collapseTagsTooltip","getMultiCodeContent","OMultiSelect","renderButtongroupColumn","Space","renderColumngroupColumn","renderColumns","renderDiyColumn","_createTextVNode","map","c","OrionError","class","ElTable","rows","onCurrent-change","currentRow","oldCurrentRow","onRow-click","event","label","onRow-dblclick","onCell-click","cell","onCell-dblclick","columnIndex","edittableColumnIndexProps","edittableColumnStringProps","Number","edittableColumnLovProps","edittableColumnLinkProps","edittableColumnNumberProps","edittableColumnDateProps","edittableColumnSingleselectProps","edittableColumnMultiselectProps","edittableColumnButtongroupProps","edittableCellButtonProps","handleClick","ElButton","edittableColumngroupProps","edittableColumnDiyProps","withInstall","Edittable","EdittableColumnIndex","EdittableColumnString","EdittableColumnLov","EdittableColumnCheckbox","EdittableColumnNumber","EdittableColumnDate","EdittableColumnSingleselect","EdittableColumnMultiselect","EdittableColumnButtongroup","EdittableCellButton","EdittableColumngroup","EdittableColumnDiy"],"mappings":"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"}
@@ -9,3 +9,4 @@ export * from './Message';
9
9
  export * from './MessageBox';
10
10
  export * from './Pagetable';
11
11
  export * from './Input';
12
+ export * from './Edittable';
@@ -1,81 +1,84 @@
1
- import { c as t } from "../components-D1sXVvN9.js";
1
+ import { c as o } from "../components-D1sXVvN9.js";
2
2
  import { T as s } from "../components-D1sXVvN9.js";
3
3
  import { default as u } from "./Modal/index.js";
4
4
  import { default as n } from "./Form/index.js";
5
- import { OTree as c, OTree as b } from "./Tree/index.js";
5
+ import { OTree as b, OTree as c } from "./Tree/index.js";
6
6
  import { OMessage as T } from "./Message/index.js";
7
7
  import { OMessageBox as g } from "./MessageBox/index.js";
8
- import { default as I, pagetableProps as P } from "./Pagetable/index.js";
9
- import { Checkbox as O, CheckboxGroup as h, DateInput as y, FileInput as M, LovInput as L, MultiSelect as k, NumberInput as w, PasswordInput as F, RadioGroup as B, SingleSelect as E, StringInput as G, Switch as K, TableSelect as Q, Textarea as R } from "./Input/index.js";
10
- import { default as D } from "./Button/index.js";
11
- import { default as q } from "./Tooltip/index.js";
12
- import { S as A } from "../index-CvcZkdiG.js";
13
- import { Colflex as J, Flexitem as U, Rowflex as V } from "./Flex/index.js";
14
- import { default as X } from "./Card/index.js";
15
- import { default as Z } from "./Tabs/index.js";
16
- import { default as $ } from "./Edittable/index.js";
8
+ import { default as P, pagetableProps as I } from "./Pagetable/index.js";
9
+ import { Checkbox as O, CheckboxGroup as h, DateInput as y, FileInput as M, LovInput as L, MultiSelect as k, NumberInput as w, PasswordInput as E, RadioGroup as F, SingleSelect as B, StringInput as G, Switch as K, TableSelect as Q, Textarea as R } from "./Input/index.js";
10
+ import { default as D, edittableProps as N } from "./Edittable/index.js";
11
+ import { default as z } from "./Button/index.js";
12
+ import { default as H } from "./Tooltip/index.js";
13
+ import { S as U } from "../index-CvcZkdiG.js";
14
+ import { Colflex as W, Flexitem as X, Rowflex as Y } from "./Flex/index.js";
15
+ import { default as _ } from "./Card/index.js";
16
+ import { default as ee } from "./Tabs/index.js";
17
17
  import { default as oe } from "./Querytable/index.js";
18
- import { LovPagetable as re, LovQuerytable as ae } from "./LovTable/index.js";
19
- import { default as le } from "./TableSelectPagetable/index.js";
20
- import { default as se } from "./Icon/index.js";
21
- import { default as ue } from "./Modal/useModal.js";
22
- import { formContextKey as ne } from "./Form/Form.js";
18
+ import { LovPagetable as ae, LovQuerytable as le } from "./LovTable/index.js";
19
+ import { default as pe } from "./TableSelectPagetable/index.js";
20
+ import { default as xe } from "./Icon/index.js";
21
+ import { default as me } from "./Modal/useModal.js";
22
+ import { formContextKey as de } from "./Form/Form.js";
23
23
  import { default as ce } from "./Pagetable/hooks/usePagetable.js";
24
- import { default as ie } from "./Input/LovInput/hooks/useLov.js";
25
- import { lovContextKey as Se } from "./Input/LovInput/LovInput.js";
26
- import { default as Ce } from "./Input/TableSelect/hooks/useTableSelect.js";
27
- import { tableSelectContext as Pe } from "./Input/TableSelect/TableSelect.js";
28
- const f = function(e) {
29
- return Object.keys(t).forEach((r) => {
30
- const o = t[r];
31
- o.install && e.use(o);
24
+ import { default as Te } from "./Input/LovInput/hooks/useLov.js";
25
+ import { lovContextKey as ge } from "./Input/LovInput/LovInput.js";
26
+ import { default as Pe } from "./Input/TableSelect/hooks/useTableSelect.js";
27
+ import { tableSelectContext as ve } from "./Input/TableSelect/TableSelect.js";
28
+ import { default as he } from "./Edittable/hooks/useEdittable.js";
29
+ const l = function(e) {
30
+ return Object.keys(o).forEach((r) => {
31
+ const t = o[r];
32
+ t.install && e.use(t);
32
33
  }), e;
33
34
  };
34
35
  export {
35
- D as Button,
36
- X as Card,
36
+ z as Button,
37
+ _ as Card,
37
38
  O as Checkbox,
38
39
  h as CheckboxGroup,
39
- J as Colflex,
40
+ W as Colflex,
40
41
  y as DateInput,
41
- $ as Edittable,
42
+ D as Edittable,
42
43
  M as FileInput,
43
- U as Flexitem,
44
+ X as Flexitem,
44
45
  n as Form,
45
- se as Icon,
46
+ xe as Icon,
46
47
  L as LovInput,
47
- re as LovPagetable,
48
- ae as LovQuerytable,
48
+ ae as LovPagetable,
49
+ le as LovQuerytable,
49
50
  u as Modal,
50
51
  k as MultiSelect,
51
52
  w as NumberInput,
52
53
  T as OMessage,
53
54
  g as OMessageBox,
54
- c as OTree,
55
- I as Pagetable,
56
- F as PasswordInput,
55
+ b as OTree,
56
+ P as Pagetable,
57
+ E as PasswordInput,
57
58
  oe as Querytable,
58
- B as RadioGroup,
59
- V as Rowflex,
60
- E as SingleSelect,
61
- A as Space,
59
+ F as RadioGroup,
60
+ Y as Rowflex,
61
+ B as SingleSelect,
62
+ U as Space,
62
63
  G as StringInput,
63
64
  K as Switch,
64
65
  Q as TableSelect,
65
- le as TableSelectPagetable,
66
- Z as Tabs,
66
+ pe as TableSelectPagetable,
67
+ ee as Tabs,
67
68
  R as Textarea,
68
69
  s as ThroneContextProvider,
69
- q as Tooltip,
70
- b as Tree,
71
- ne as formContextKey,
72
- f as install,
73
- Se as lovContextKey,
74
- P as pagetableProps,
75
- Pe as tableSelectContext,
76
- ie as useLov,
77
- ue as useOModal,
70
+ H as Tooltip,
71
+ c as Tree,
72
+ N as edittableProps,
73
+ de as formContextKey,
74
+ l as install,
75
+ ge as lovContextKey,
76
+ I as pagetableProps,
77
+ ve as tableSelectContext,
78
+ he as useEdittable,
79
+ Te as useLov,
80
+ me as useOModal,
78
81
  ce as usePagetable,
79
- Ce as useTableselect
82
+ Pe as useTableselect
80
83
  };
81
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/index.ts"],"sourcesContent":["import type { App } from 'vue'\r\n\r\nimport * as components from './components'\r\n\r\nexport * from './components'\r\n\r\nexport type * from './types'\r\n\r\nexport const install = function (app: App) {\r\n Object.keys(components).forEach((key) => {\r\n const component = components[key]\r\n if (component.install) {\r\n app.use(component)\r\n }\r\n })\r\n return app\r\n}\r\n\r\nexport * from './Modal'\r\nexport * from './Form'\r\nexport * from './Tree'\r\nexport * from './Message'\r\nexport * from './MessageBox'\r\nexport * from './Pagetable'\r\nexport * from './Input'\r\n"],"names":["install","app","components","key","component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAAA,IAAU,SAAUC,GAAU;AACzC,gBAAO,KAAKC,CAAU,EAAE,QAAQ,CAACC,MAAQ;AACjC,UAAAC,IAAYF,EAAWC,CAAG;AAChC,IAAIC,EAAU,WACZH,EAAI,IAAIG,CAAS;AAAA,EACnB,CACD,GACMH;AACT;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/index.ts"],"sourcesContent":["import type { App } from 'vue'\r\n\r\nimport * as components from './components'\r\n\r\nexport * from './components'\r\n\r\nexport type * from './types'\r\n\r\nexport const install = function (app: App) {\r\n Object.keys(components).forEach((key) => {\r\n const component = components[key]\r\n if (component.install) {\r\n app.use(component)\r\n }\r\n })\r\n return app\r\n}\r\n\r\nexport * from './Modal'\r\nexport * from './Form'\r\nexport * from './Tree'\r\nexport * from './Message'\r\nexport * from './MessageBox'\r\nexport * from './Pagetable'\r\nexport * from './Input'\r\nexport * from './Edittable'\r\n"],"names":["install","app","components","key","component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAAA,IAAU,SAAUC,GAAU;AACzC,gBAAO,KAAKC,CAAU,EAAE,QAAQ,CAACC,MAAQ;AACjC,UAAAC,IAAYF,EAAWC,CAAG;AAChC,IAAIC,EAAU,WACZH,EAAI,IAAIG,CAAS;AAAA,EACnB,CACD,GACMH;AACT;"}
package/dist/index.js CHANGED
@@ -7,76 +7,79 @@ import { OTree as d, OTree as n } from "./components/Tree/index.js";
7
7
  import { default as i } from "./components/Modal/useModal.js";
8
8
  import { default as c } from "./components/Pagetable/hooks/usePagetable.js";
9
9
  import { default as g } from "./components/Input/LovInput/hooks/useLov.js";
10
- import { default as v } from "./components/Input/TableSelect/hooks/useTableSelect.js";
11
- import { default as P } from "./components/Button/index.js";
12
- import { default as O } from "./components/Tooltip/index.js";
13
- import { T as y } from "./components-D1sXVvN9.js";
14
- import { S as w } from "./index-CvcZkdiG.js";
15
- import { Colflex as k, Flexitem as B, Rowflex as E } from "./components/Flex/index.js";
16
- import { default as K } from "./components/Card/index.js";
17
- import { default as R } from "./components/Tabs/index.js";
18
- import { default as N, pagetableProps as j } from "./components/Pagetable/index.js";
19
- import { default as z } from "./components/Edittable/index.js";
20
- import { default as H } from "./components/Querytable/index.js";
21
- import { default as U } from "./components/Modal/index.js";
22
- import { default as W } from "./components/Form/index.js";
23
- import { Checkbox as Y, CheckboxGroup as Z, DateInput as _, FileInput as $, LovInput as ee, MultiSelect as oe, NumberInput as te, PasswordInput as re, RadioGroup as ae, SingleSelect as fe, StringInput as le, Switch as pe, TableSelect as xe, Textarea as se } from "./components/Input/index.js";
24
- import { LovPagetable as me, LovQuerytable as de } from "./components/LovTable/index.js";
25
- import { default as be } from "./components/TableSelectPagetable/index.js";
26
- import { default as Te } from "./components/Icon/index.js";
27
- import { formContextKey as Se } from "./components/Form/Form.js";
28
- import { OMessage as Ce } from "./components/Message/index.js";
29
- import { OMessageBox as Ie } from "./components/MessageBox/index.js";
30
- import { lovContextKey as he } from "./components/Input/LovInput/LovInput.js";
31
- import { tableSelectContext as Me } from "./components/Input/TableSelect/TableSelect.js";
10
+ import { default as P } from "./components/Input/TableSelect/hooks/useTableSelect.js";
11
+ import { default as I } from "./components/Edittable/hooks/useEdittable.js";
12
+ import { default as O } from "./components/Button/index.js";
13
+ import { default as y } from "./components/Tooltip/index.js";
14
+ import { T as w } from "./components-D1sXVvN9.js";
15
+ import { S as F } from "./index-CvcZkdiG.js";
16
+ import { Colflex as B, Flexitem as G, Rowflex as K } from "./components/Flex/index.js";
17
+ import { default as R } from "./components/Card/index.js";
18
+ import { default as N } from "./components/Tabs/index.js";
19
+ import { default as q, pagetableProps as z } from "./components/Pagetable/index.js";
20
+ import { default as H, edittableProps as J } from "./components/Edittable/index.js";
21
+ import { default as V } from "./components/Querytable/index.js";
22
+ import { default as X } from "./components/Modal/index.js";
23
+ import { default as Z } from "./components/Form/index.js";
24
+ import { Checkbox as $, CheckboxGroup as ee, DateInput as oe, FileInput as te, LovInput as re, MultiSelect as ae, NumberInput as fe, PasswordInput as le, RadioGroup as pe, SingleSelect as xe, StringInput as se, Switch as ue, TableSelect as me, Textarea as de } from "./components/Input/index.js";
25
+ import { LovPagetable as be, LovQuerytable as ie } from "./components/LovTable/index.js";
26
+ import { default as ce } from "./components/TableSelectPagetable/index.js";
27
+ import { default as ge } from "./components/Icon/index.js";
28
+ import { formContextKey as Pe } from "./components/Form/Form.js";
29
+ import { OMessage as Ie } from "./components/Message/index.js";
30
+ import { OMessageBox as Oe } from "./components/MessageBox/index.js";
31
+ import { lovContextKey as ye } from "./components/Input/LovInput/LovInput.js";
32
+ import { tableSelectContext as we } from "./components/Input/TableSelect/TableSelect.js";
32
33
  export {
33
- P as Button,
34
- K as Card,
35
- Y as Checkbox,
36
- Z as CheckboxGroup,
37
- k as Colflex,
38
- _ as DateInput,
39
- z as Edittable,
40
- $ as FileInput,
41
- B as Flexitem,
42
- W as Form,
43
- Te as Icon,
44
- ee as LovInput,
45
- me as LovPagetable,
46
- de as LovQuerytable,
47
- U as Modal,
48
- oe as MultiSelect,
49
- te as NumberInput,
50
- Ce as OMessage,
51
- Ie as OMessageBox,
34
+ O as Button,
35
+ R as Card,
36
+ $ as Checkbox,
37
+ ee as CheckboxGroup,
38
+ B as Colflex,
39
+ oe as DateInput,
40
+ H as Edittable,
41
+ te as FileInput,
42
+ G as Flexitem,
43
+ Z as Form,
44
+ ge as Icon,
45
+ re as LovInput,
46
+ be as LovPagetable,
47
+ ie as LovQuerytable,
48
+ X as Modal,
49
+ ae as MultiSelect,
50
+ fe as NumberInput,
51
+ Ie as OMessage,
52
+ Oe as OMessageBox,
52
53
  d as OTree,
53
54
  t as OrionError,
54
- N as Pagetable,
55
- re as PasswordInput,
56
- H as Querytable,
57
- ae as RadioGroup,
58
- E as Rowflex,
59
- fe as SingleSelect,
60
- w as Space,
61
- le as StringInput,
62
- pe as Switch,
63
- xe as TableSelect,
64
- be as TableSelectPagetable,
65
- R as Tabs,
66
- se as Textarea,
55
+ q as Pagetable,
56
+ le as PasswordInput,
57
+ V as Querytable,
58
+ pe as RadioGroup,
59
+ K as Rowflex,
60
+ xe as SingleSelect,
61
+ F as Space,
62
+ se as StringInput,
63
+ ue as Switch,
64
+ me as TableSelect,
65
+ ce as TableSelectPagetable,
66
+ N as Tabs,
67
+ de as Textarea,
67
68
  a as Throne,
68
- y as ThroneContextProvider,
69
- O as Tooltip,
69
+ w as ThroneContextProvider,
70
+ y as Tooltip,
70
71
  n as Tree,
71
- Se as formContextKey,
72
+ J as edittableProps,
73
+ Pe as formContextKey,
72
74
  x as install,
73
- he as lovContextKey,
74
- j as pagetableProps,
75
- Me as tableSelectContext,
75
+ ye as lovContextKey,
76
+ z as pagetableProps,
77
+ we as tableSelectContext,
78
+ I as useEdittable,
76
79
  g as useLov,
77
80
  i as useOModal,
78
81
  c as usePagetable,
79
- v as useTableselect,
82
+ P as useTableselect,
80
83
  l as useThroneContext,
81
84
  u as version
82
85
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,28 +1,38 @@
1
- var f = Object.defineProperty;
2
- var y = (e, t, o) => t in e ? f(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
- var p = (e, t, o) => y(e, typeof t != "symbol" ? t + "" : t, o);
1
+ var F = Object.defineProperty;
2
+ var _ = (e, t, o) => t in e ? F(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
+ var f = (e, t, o) => _(e, typeof t != "symbol" ? t + "" : t, o);
4
4
  import c from "./smCrypto/sm2/index.js";
5
- import E from "./smCrypto/sm3/index.js";
6
- import { cloneDeep as g } from "lodash-es";
7
- class b {
5
+ import b from "./smCrypto/sm3/index.js";
6
+ import { cloneDeep as h } from "lodash-es";
7
+ class N {
8
8
  constructor(t) {
9
- p(this, "options");
9
+ f(this, "options");
10
10
  this.options = t;
11
11
  }
12
12
  async doFilter(t, o) {
13
- const { prefix: r, _s1: m, _s2: s } = this.options;
13
+ const { prefix: i, _s1: d, _s2: l, _s3: p, whitelist: a, contentType: m = "application/json" } = this.options, { url: y = "" } = t;
14
+ if (a && a.length > 0) {
15
+ let r = !1;
16
+ if (a.forEach((s) => {
17
+ if (y.indexOf(s) > -1)
18
+ return r = !0, !1;
19
+ }), r) {
20
+ o.doFilter(t, o);
21
+ return;
22
+ }
23
+ }
14
24
  let n;
15
25
  if (t.data instanceof FormData)
16
26
  return o.doFilter(t, o);
17
27
  {
18
- if (n = g(t.data), n == null || n == "")
28
+ if (n = h(t.data), n == null || n == "")
19
29
  return o.doFilter(t, o);
20
- const a = r + c._s2EN(JSON.stringify(n), s, 0), i = Math.floor(Date.now() / 1e3).toString(), l = i + a, d = E(l);
21
- t.data = a, t.headers["Web-Encrypt-Response-Encrypt-Key"] = r + c._s2EN(m, s, 0), t.headers["Web-Encrypt-Timestamp"] = i, t.headers["Web-Encrypt-Sign"] = d, t.headers["content-type"] = "application/json", o.doFilter(t, o);
30
+ const r = i + c._s2EN(JSON.stringify(n), l, 0), s = Math.floor(Date.now() / 1e3).toString(), E = s + r, g = b(E);
31
+ t.data = r, t.headers["Web-Encrypt-Response-Encrypt-Key"] = i + c._s2EN(d, l, 0), t.headers["Web-Encrypt-Timestamp"] = s, t.headers["Web-Encrypt-Sign"] = g, t.headers["content-type"] = m, p && (t.headers["Web-Encrypt-Caller-Id"] = p), o.doFilter(t, o);
22
32
  }
23
33
  }
24
34
  }
25
35
  export {
26
- b as default
36
+ N as default
27
37
  };
28
38
  //# sourceMappingURL=Leaf7EncryptRequestParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Leaf7EncryptRequestParser.js","sources":["../../../src/request/leaf7/Leaf7EncryptRequestParser.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios'\r\nimport type RequestFilterChain from '../RequestFilterChain'\r\n\r\nimport { Leaf7EncryptOptions } from './types'\r\nimport sm2 from './smCrypto/sm2'\r\nimport sm3 from './smCrypto/sm3'\r\nimport { cloneDeep } from 'lodash-es'\r\n\r\nexport default class Leaf7EncryptRequestParser {\r\n options: Leaf7EncryptOptions\r\n\r\n constructor(options: Leaf7EncryptOptions) {\r\n this.options = options\r\n }\r\n\r\n async doFilter(request: AxiosRequestConfig, chain: RequestFilterChain) {\r\n // prefix:encryptStringPrefix 加密字符串前缀\r\n // _s1:sm4Key\r\n // _s2:sm2PublicKey\r\n const { prefix, _s1, _s2 } = this.options\r\n let requestData\r\n // FormData一般为上传附件,跳过\r\n if (request.data instanceof FormData) {\r\n return chain.doFilter(request, chain)\r\n } else {\r\n requestData = cloneDeep(request.data)\r\n if (requestData == null || requestData == '') {\r\n return chain.doFilter(request, chain)\r\n }\r\n // 组装报文并加密\r\n const content = prefix + sm2._s2EN(JSON.stringify(requestData), _s2, 0)\r\n const Timestamp = Math.floor(Date.now() / 1000).toString()\r\n const mergeStr = Timestamp + content\r\n const signature = sm3(mergeStr)\r\n\r\n request.data = content\r\n\r\n //按照规范进行前端加密\r\n request.headers['Web-Encrypt-Response-Encrypt-Key'] = prefix + sm2._s2EN(_s1, _s2, 0)\r\n request.headers['Web-Encrypt-Timestamp'] = Timestamp\r\n request.headers['Web-Encrypt-Sign'] = signature\r\n request.headers['content-type'] = 'application/json'\r\n\r\n chain.doFilter(request, chain)\r\n }\r\n }\r\n}\r\n"],"names":["Leaf7EncryptRequestParser","options","__publicField","request","chain","prefix","_s1","_s2","requestData","cloneDeep","content","sm2","Timestamp","mergeStr","signature","sm3"],"mappings":";;;;;;AAQA,MAAqBA,EAA0B;AAAA,EAG7C,YAAYC,GAA8B;AAF1C,IAAAC,EAAA;AAGE,SAAK,UAAUD;AAAA,EACjB;AAAA,EAEA,MAAM,SAASE,GAA6BC,GAA2B;AAIrE,UAAM,EAAE,QAAAC,GAAQ,KAAAC,GAAK,KAAAC,EAAA,IAAQ,KAAK;AAC9B,QAAAC;AAEA,QAAAL,EAAQ,gBAAgB;AACnB,aAAAC,EAAM,SAASD,GAASC,CAAK;AAC/B;AAED,UADUI,IAAAC,EAAUN,EAAQ,IAAI,GAChCK,KAAe,QAAQA,KAAe;AACjC,eAAAJ,EAAM,SAASD,GAASC,CAAK;AAGhC,YAAAM,IAAUL,IAASM,EAAI,MAAM,KAAK,UAAUH,CAAW,GAAGD,GAAK,CAAC,GAChEK,IAAY,KAAK,MAAM,KAAK,QAAQ,GAAI,EAAE,YAC1CC,IAAWD,IAAYF,GACvBI,IAAYC,EAAIF,CAAQ;AAE9B,MAAAV,EAAQ,OAAOO,GAGPP,EAAA,QAAQ,kCAAkC,IAAIE,IAASM,EAAI,MAAML,GAAKC,GAAK,CAAC,GAC5EJ,EAAA,QAAQ,uBAAuB,IAAIS,GACnCT,EAAA,QAAQ,kBAAkB,IAAIW,GAC9BX,EAAA,QAAQ,cAAc,IAAI,oBAE5BC,EAAA,SAASD,GAASC,CAAK;AAAA,IAC/B;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Leaf7EncryptRequestParser.js","sources":["../../../src/request/leaf7/Leaf7EncryptRequestParser.ts"],"sourcesContent":["import type { AxiosRequestConfig } from 'axios'\r\nimport type RequestFilterChain from '../RequestFilterChain'\r\n\r\nimport { Leaf7EncryptOptions } from './types'\r\nimport sm2 from './smCrypto/sm2'\r\nimport sm3 from './smCrypto/sm3'\r\nimport { cloneDeep } from 'lodash-es'\r\n\r\nexport default class Leaf7EncryptRequestParser {\r\n options: Leaf7EncryptOptions\r\n\r\n constructor(options: Leaf7EncryptOptions) {\r\n this.options = options\r\n }\r\n\r\n async doFilter(request: AxiosRequestConfig, chain: RequestFilterChain) {\r\n // prefix:encryptStringPrefix 加密字符串前缀\r\n // _s1:sm4Key\r\n // _s2:sm2PublicKey\r\n const { prefix, _s1, _s2, _s3, whitelist, contentType = 'application/json' } = this.options\r\n const { url = '' } = request\r\n if (whitelist && whitelist.length > 0) {\r\n let flag = false\r\n whitelist.forEach((prefix) => {\r\n if (url.indexOf(prefix) > -1) {\r\n flag = true\r\n return false\r\n }\r\n })\r\n if (flag) {\r\n chain.doFilter(request, chain)\r\n return\r\n }\r\n }\r\n\r\n let requestData\r\n // FormData一般为上传附件,跳过\r\n if (request.data instanceof FormData) {\r\n return chain.doFilter(request, chain)\r\n } else {\r\n requestData = cloneDeep(request.data)\r\n if (requestData == null || requestData == '') {\r\n return chain.doFilter(request, chain)\r\n }\r\n // 组装报文并加密\r\n const content = prefix + sm2._s2EN(JSON.stringify(requestData), _s2, 0)\r\n const Timestamp = Math.floor(Date.now() / 1000).toString()\r\n const mergeStr = Timestamp + content\r\n const signature = sm3(mergeStr)\r\n\r\n request.data = content\r\n\r\n //按照规范进行前端加密\r\n request.headers['Web-Encrypt-Response-Encrypt-Key'] = prefix + sm2._s2EN(_s1, _s2, 0)\r\n request.headers['Web-Encrypt-Timestamp'] = Timestamp\r\n request.headers['Web-Encrypt-Sign'] = signature\r\n request.headers['content-type'] = contentType\r\n if (_s3) {\r\n request.headers['Web-Encrypt-Caller-Id'] = _s3\r\n }\r\n\r\n chain.doFilter(request, chain)\r\n }\r\n }\r\n}\r\n"],"names":["Leaf7EncryptRequestParser","options","__publicField","request","chain","prefix","_s1","_s2","_s3","whitelist","contentType","url","flag","requestData","cloneDeep","content","sm2","Timestamp","mergeStr","signature","sm3"],"mappings":";;;;;;AAQA,MAAqBA,EAA0B;AAAA,EAG7C,YAAYC,GAA8B;AAF1C,IAAAC,EAAA;AAGE,SAAK,UAAUD;AAAA,EACjB;AAAA,EAEA,MAAM,SAASE,GAA6BC,GAA2B;AAI/D,UAAA,EAAE,QAAAC,GAAQ,KAAAC,GAAK,KAAAC,GAAK,KAAAC,GAAK,WAAAC,GAAW,aAAAC,IAAc,mBAAmB,IAAI,KAAK,SAC9E,EAAE,KAAAC,IAAM,GAAO,IAAAR;AACjB,QAAAM,KAAaA,EAAU,SAAS,GAAG;AACrC,UAAIG,IAAO;AAOX,UANUH,EAAA,QAAQ,CAACJ,MAAW;AAC5B,YAAIM,EAAI,QAAQN,CAAM,IAAI;AACjB,iBAAAO,IAAA,IACA;AAAA,MACT,CACD,GACGA,GAAM;AACF,QAAAR,EAAA,SAASD,GAASC,CAAK;AAC7B;AAAA,MACF;AAAA,IACF;AAEI,QAAAS;AAEA,QAAAV,EAAQ,gBAAgB;AACnB,aAAAC,EAAM,SAASD,GAASC,CAAK;AAC/B;AAED,UADUS,IAAAC,EAAUX,EAAQ,IAAI,GAChCU,KAAe,QAAQA,KAAe;AACjC,eAAAT,EAAM,SAASD,GAASC,CAAK;AAGhC,YAAAW,IAAUV,IAASW,EAAI,MAAM,KAAK,UAAUH,CAAW,GAAGN,GAAK,CAAC,GAChEU,IAAY,KAAK,MAAM,KAAK,QAAQ,GAAI,EAAE,YAC1CC,IAAWD,IAAYF,GACvBI,IAAYC,EAAIF,CAAQ;AAE9B,MAAAf,EAAQ,OAAOY,GAGPZ,EAAA,QAAQ,kCAAkC,IAAIE,IAASW,EAAI,MAAMV,GAAKC,GAAK,CAAC,GAC5EJ,EAAA,QAAQ,uBAAuB,IAAIc,GACnCd,EAAA,QAAQ,kBAAkB,IAAIgB,GAC9BhB,EAAA,QAAQ,cAAc,IAAIO,GAC9BF,MACML,EAAA,QAAQ,uBAAuB,IAAIK,IAGvCJ,EAAA,SAASD,GAASC,CAAK;AAAA,IAC/B;AAAA,EACF;AACF;"}
@@ -8,4 +8,7 @@ export interface Leaf7EncryptOptions {
8
8
  prefix?: '';
9
9
  _s1?: '';
10
10
  _s2?: '';
11
+ _s3?: string;
12
+ whitelist?: string[];
13
+ contentType?: string;
11
14
  }
@@ -1,2 +1,2 @@
1
- declare const _default: "1.0.0";
1
+ declare const _default: "1.0.2";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "1.0.0";
1
+ const e = "1.0.2";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../src/version/version.ts"],"sourcesContent":["export default '1.0.0';"],"names":["version"],"mappings":"AAAA,MAAAA,IAAe;"}
1
+ {"version":3,"file":"version.js","sources":["../../src/version/version.ts"],"sourcesContent":["export default '1.0.2';"],"names":["version"],"mappings":"AAAA,MAAAA,IAAe;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orion-design",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "types": "dist/index.d.ts",