@kp-ui/lowcode 2.16.0-alpha.8 → 2.16.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +11 -9
- package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +65 -53
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js +29 -18
- package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js.map +1 -1
- package/src/components/form-designer/widget-panel/basicFields/input.js +4 -2
- package/src/components/form-designer/widget-panel/basicFields/input.js.map +1 -1
- package/src/lang/en-US.js +1 -0
- package/src/lang/en-US.js.map +1 -1
- package/src/lang/zh-CN.js +1 -0
- package/src/lang/zh-CN.js.map +1 -1
- package/stats.html +1 -1
- package/styles/style.css +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kp-ui/lowcode",
|
|
3
|
-
"version": "2.16.0-alpha.
|
|
3
|
+
"version": "2.16.0-alpha.9",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"sortablejs": "1.14.0",
|
|
25
25
|
"tailwindcss": "3.4.9",
|
|
26
26
|
"vite": "6.3.3",
|
|
27
|
-
"vite-plugin-lazy-import": "
|
|
27
|
+
"vite-plugin-lazy-import": "1.0.7",
|
|
28
28
|
"vue": "3.5.17",
|
|
29
29
|
"vue-router": "4.2.4"
|
|
30
30
|
},
|
|
@@ -4,9 +4,9 @@ import Q from "../../../public/ActionButtonListRender.vue.js";
|
|
|
4
4
|
import { useI18n as U } from "../../../../utils/i18n.js";
|
|
5
5
|
import { useExecFunction as X, tranformAntTableColumnToVxetableColumn as Y, tranformAntSizzVxetableSize as Z, TpfDelConfirm as $ } from "tmgc2-share";
|
|
6
6
|
import { useDataHttp as M } from "../../../../hooks/useDataHttp.js";
|
|
7
|
-
import {
|
|
8
|
-
function
|
|
9
|
-
const S = T(), b = T(!1), { widget: o } = r, { i18nt: g } = U(), { executeFunction: u, context: R } = X(), { loadataSource:
|
|
7
|
+
import { Space as tt, message as et } from "ant-design-vue";
|
|
8
|
+
function ht({ props: r, fieldModel: a }) {
|
|
9
|
+
const S = T(), b = T(!1), { widget: o } = r, { i18nt: g } = U(), { executeFunction: u, context: R } = X(), { loadataSource: z, setPagination: h, getPagination: p, pagintion: D } = M({
|
|
10
10
|
props: r
|
|
11
11
|
}), B = c(() => {
|
|
12
12
|
const t = [], e = (o == null ? void 0 : o.options) || {}, { rowSelection: n, showIndex: i, tableColumns: f = [] } = (o == null ? void 0 : o.options) ?? {};
|
|
@@ -73,13 +73,15 @@ function ft({ props: r, fieldModel: a }) {
|
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
return k(
|
|
76
|
-
|
|
76
|
+
tt,
|
|
77
77
|
{
|
|
78
|
+
align: "center",
|
|
79
|
+
size: 5,
|
|
78
80
|
onClick: (l) => {
|
|
79
81
|
l.stopPropagation();
|
|
80
82
|
}
|
|
81
83
|
},
|
|
82
|
-
|
|
84
|
+
f
|
|
83
85
|
);
|
|
84
86
|
}
|
|
85
87
|
}
|
|
@@ -135,7 +137,7 @@ function ft({ props: r, fieldModel: a }) {
|
|
|
135
137
|
if (r.field.options.dsEnabled) {
|
|
136
138
|
b.value = !0;
|
|
137
139
|
try {
|
|
138
|
-
const e = await
|
|
140
|
+
const e = await z(), n = e.list || [];
|
|
139
141
|
a.value = x(n || []), h(e);
|
|
140
142
|
} catch (e) {
|
|
141
143
|
console.error(e);
|
|
@@ -182,7 +184,7 @@ function ft({ props: r, fieldModel: a }) {
|
|
|
182
184
|
try {
|
|
183
185
|
await $({ content: g("确定删除选中的数据吗") });
|
|
184
186
|
const e = a.value.filter((n) => !(t != null && t.includes(n[v.value])));
|
|
185
|
-
C(e),
|
|
187
|
+
C(e), et.success(g("操作成功"));
|
|
186
188
|
} catch {
|
|
187
189
|
}
|
|
188
190
|
},
|
|
@@ -207,7 +209,7 @@ function ft({ props: r, fieldModel: a }) {
|
|
|
207
209
|
onCheckboxChange: V,
|
|
208
210
|
tableDefinExpoed: K,
|
|
209
211
|
onSortChange: I,
|
|
210
|
-
pagintion:
|
|
212
|
+
pagintion: D,
|
|
211
213
|
setPagination: h,
|
|
212
214
|
getPagination: p,
|
|
213
215
|
handleTableChange: N,
|
|
@@ -224,6 +226,6 @@ function ft({ props: r, fieldModel: a }) {
|
|
|
224
226
|
};
|
|
225
227
|
}
|
|
226
228
|
export {
|
|
227
|
-
|
|
229
|
+
ht as useTableWidget
|
|
228
230
|
};
|
|
229
231
|
//# sourceMappingURL=useTableWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableWidget.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/useTableWidget.ts"],"sourcesContent":["import { computed, Ref, h, ref, watchEffect, watch } from 'vue';\nimport { VxeGridInstance } from 'vxe-table';\nimport { cloneDeep, isArray, omit } from 'lodash-es';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n\nimport { useI18n } from '@/utils/i18n';\nimport { WidgetProps } from './useContainerWidget';\nimport {\n tranformAntTableColumnToVxetableColumn,\n tranformAntSizzVxetableSize,\n ImeTableProps,\n useExecFunction,\n TpfDelConfirm\n} from 'tmgc2-share';\nimport { useDataHttp } from '@/hooks/useDataHttp';\nimport { message } from 'ant-design-vue';\ntype useTableWidgetProps = {\n props: WidgetProps;\n fieldModel: Ref<any>;\n};\n\nexport function useTableWidget<T>({ props, fieldModel }: useTableWidgetProps) {\n const tableRef = ref<VxeGridInstance>();\n const isLoading = ref(false);\n const { widget } = props;\n const { i18nt } = useI18n();\n const { executeFunction, context } = useExecFunction();\n const { loadataSource, setPagination, getPagination, pagintion } = useDataHttp({\n props\n });\n\n const columns = computed(() => {\n const leftFixedColumns: any[] = [];\n const optins = widget?.options || {};\n const { rowSelection, showIndex, tableColumns = [] } = widget?.options ?? {};\n if (rowSelection?.hasRowSelection) {\n leftFixedColumns.push({\n title: rowSelection.columnTitle,\n width: rowSelection.columnWidth,\n align: 'left',\n fixed: 'left',\n dataIndex: 'checkbox',\n type: 'checkbox'\n });\n }\n if (showIndex) {\n leftFixedColumns.push({\n title: i18nt('designer.setting.seq'),\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n dataIndex: 'seq',\n resizable: true,\n type: 'seq'\n });\n }\n\n const centerColumns = tableColumns\n .filter(item => item.show)\n .map(item => {\n // titleSuffix: ),\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false\n };\n });\n const rightFixedColumns: any[] = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n slots: {\n default: scope => {\n return h(ActionButtonListRender, {\n buttonList: operationButtons,\n flex: 'center',\n scope: scope,\n ctx: context.value,\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n });\n }\n }\n });\n }\n\n // 把customRender渲染成 bodyCell 插槽\n const _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns];\n\n return tranformAntTableColumnToVxetableColumn(_columns);\n });\n\n // 处理列配置\n const handleColumnItem = item => {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n item.minWidth = 50;\n item.maxWidth = 1200;\n if (item.isAutoWidth) {\n item.width = null;\n delete item.width;\n } else {\n item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);\n }\n if (!customRenderFn) return item;\n\n return {\n ...res,\n slots: {\n default(scope) {\n const com = executeFunction({\n source: props.field.options.name,\n functionBody: customRenderFn,\n params: {\n index: scope.rowIndex,\n record: scope.row,\n ...scope\n },\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n\n return h(\n 'div',\n {\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n },\n [com]\n );\n }\n }\n };\n };\n\n const tableWidth = computed(() => widget.options.tableWidth);\n const tableSize = computed(() => widget.options.tableSize);\n\n const onSortChange = () => {\n initTableSoureData();\n };\n\n const rowKey = computed(() => widget.options.rowKey);\n\n const tableProps = computed<ImeTableProps>(() => {\n const {\n tableSize,\n rowKey,\n tableHeight = 300,\n border = false,\n lineHeight = 50,\n colorRow = false,\n showPagination = true\n } = widget.options;\n\n return {\n showPagination,\n size: tranformAntSizzVxetableSize(tableSize),\n height: tableHeight,\n border: border ?? false,\n data: fieldModel.value || [],\n columns: columns.value,\n sortConfig: {\n trigger: 'cell',\n remote: true,\n orders: ['ascend', 'descend', null]\n },\n rowConfig: {\n keyField: rowKey,\n isCurrent: colorRow,\n isHover: true\n },\n checkboxConfig: {\n isShiftKey: true,\n checkMethod: data => {\n return executeFunction({\n functionBody: widget.options.rowSelection?.checkMethod,\n params: data,\n keys: ['row']\n });\n }\n },\n cellConfig: {\n height: lineHeight\n }\n } as ImeTableProps;\n });\n\n const setTableRef = _tableRef => {\n tableRef.value = _tableRef;\n };\n\n const initTableSoureData = async () => {\n if (props.field.options.dsEnabled) {\n isLoading.value = true;\n try {\n const data = await loadataSource();\n const tableData = data.list || [];\n fieldModel.value = cloneDeep(tableData || []);\n setPagination(data);\n } catch (error) {\n console.error(error);\n }\n } else {\n fieldModel.value = widget.options.dataSource || [];\n setPagination({\n total: widget.options.dataSource?.length || 0\n });\n }\n isLoading.value = false;\n };\n\n type EventType = 'onDblclick' | 'onMouseenter' | 'onMouseleave' | 'onClick';\n const onRunEvent = ({ row, $event }: any, type: EventType) => {\n executeFunction({\n functionBody: widget.options.customRow[type],\n params: [row, $event],\n keys: ['record', 'event']\n });\n };\n\n const setTableData = (data: T[]) => {\n setValue(data);\n };\n\n const handleTableChange = ({ sorts }) => {\n const fn = widget.options.onTableChange;\n if (fn) {\n executeFunction({\n functionBody: fn,\n params: {\n pagination: getPagination(),\n currentDataSource: getDataSource(),\n sorter: sorts\n },\n keys: ['pagination', 'sorter', 'currentDataSource']\n });\n }\n };\n\n // 选中 checkbox回调\n const onCheckboxChange = (selectedRowInfo: any) => {\n executeFunction({\n functionBody: widget.options.rowSelection.onChange,\n keys: ['selectedRowKeys', 'selectedRows'],\n params: selectedRowInfo\n });\n };\n\n const getDataSource = () => {\n return fieldModel.value;\n };\n\n const insertTableValue = (data: T) => {\n if (!fieldModel.value) {\n fieldModel.value = [];\n }\n fieldModel.value.push(cloneDeep(data));\n };\n\n const setValue = (data: T[]) => {\n if (!isArray(data)) {\n return console.error('表格数据类型错误');\n }\n fieldModel.value = cloneDeep(data);\n };\n\n const getTableColumns = () => {\n return props.field.options.tableColumns;\n };\n\n const setTableColumns = (data: any[]) => {\n props.field.options.tableColumns = data;\n };\n\n const delSelectRow = async delKeys => {\n if (!delKeys.length) return;\n try {\n await TpfDelConfirm({ content: i18nt('确定删除选中的数据吗') });\n const newList = fieldModel.value.filter(item => !delKeys?.includes(item[rowKey.value]));\n setValue(newList);\n message.success(i18nt('操作成功'));\n } catch {}\n };\n\n const tableDefinExpoed = {\n delSelectRow,\n getTableColumns,\n setTableColumns,\n setValue,\n insertTableValue,\n setPagination,\n getDataSource,\n getPagination,\n initTableSoureData\n };\n\n watch(\n () => props.field.options.dsEnabled,\n () => {\n initTableSoureData();\n }\n );\n\n return {\n rowKey,\n onCheckboxChange,\n tableDefinExpoed,\n onSortChange,\n pagintion,\n setPagination,\n getPagination,\n handleTableChange,\n setTableData,\n showPagination: computed(() => !!props.field.options.showPagination),\n onRunEvent,\n isLoading,\n initTableSoureData,\n setTableRef,\n tableSize,\n tableWidth,\n tableProps,\n tableRef\n };\n}\n"],"names":["useTableWidget","props","fieldModel","tableRef","ref","isLoading","widget","i18nt","useI18n","executeFunction","context","useExecFunction","loadataSource","setPagination","getPagination","pagintion","useDataHttp","columns","computed","leftFixedColumns","optins","rowSelection","showIndex","tableColumns","centerColumns","item","handleColumnItem","rightFixedColumns","operationButtons","scope","h","ActionButtonListRender","e","_columns","tranformAntTableColumnToVxetableColumn","res","omit","customRenderFn","com","error","tableWidth","tableSize","onSortChange","initTableSoureData","rowKey","tableProps","tableHeight","border","lineHeight","colorRow","showPagination","tranformAntSizzVxetableSize","data","_a","setTableRef","_tableRef","tableData","cloneDeep","onRunEvent","row","$event","type","setTableData","setValue","handleTableChange","sorts","fn","getDataSource","onCheckboxChange","selectedRowInfo","insertTableValue","isArray","tableDefinExpoed","delKeys","TpfDelConfirm","newList","message","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTableWidget.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/useTableWidget.ts"],"sourcesContent":["import { computed, Ref, h, ref, watchEffect, watch } from 'vue';\nimport { VxeGridInstance } from 'vxe-table';\nimport { cloneDeep, isArray, omit } from 'lodash-es';\nimport ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n\nimport { useI18n } from '@/utils/i18n';\nimport { WidgetProps } from './useContainerWidget';\nimport {\n tranformAntTableColumnToVxetableColumn,\n tranformAntSizzVxetableSize,\n ImeTableProps,\n useExecFunction,\n TpfDelConfirm\n} from 'tmgc2-share';\nimport { useDataHttp } from '@/hooks/useDataHttp';\nimport { message, Space } from 'ant-design-vue';\ntype useTableWidgetProps = {\n props: WidgetProps;\n fieldModel: Ref<any>;\n};\n\nexport function useTableWidget<T>({ props, fieldModel }: useTableWidgetProps) {\n const tableRef = ref<VxeGridInstance>();\n const isLoading = ref(false);\n const { widget } = props;\n const { i18nt } = useI18n();\n const { executeFunction, context } = useExecFunction();\n const { loadataSource, setPagination, getPagination, pagintion } = useDataHttp({\n props\n });\n\n const columns = computed(() => {\n const leftFixedColumns: any[] = [];\n const optins = widget?.options || {};\n const { rowSelection, showIndex, tableColumns = [] } = widget?.options ?? {};\n if (rowSelection?.hasRowSelection) {\n leftFixedColumns.push({\n title: rowSelection.columnTitle,\n width: rowSelection.columnWidth,\n align: 'left',\n fixed: 'left',\n dataIndex: 'checkbox',\n type: 'checkbox'\n });\n }\n if (showIndex) {\n leftFixedColumns.push({\n title: i18nt('designer.setting.seq'),\n align: 'left',\n width: 90,\n fixed: 'left',\n maxWidth: 100,\n dataIndex: 'seq',\n resizable: true,\n type: 'seq'\n });\n }\n\n const centerColumns = tableColumns\n .filter(item => item.show)\n .map(item => {\n // titleSuffix: ),\n return {\n ...item,\n ...handleColumnItem(item),\n titleSuffix: item.titleSuffix ? { content: item.titleSuffixContent } : false\n };\n });\n const rightFixedColumns: any[] = [];\n if (optins.showButtonsColumn) {\n const operationButtons = optins.operationButtons ?? [];\n rightFixedColumns.push({\n fixed: 'right',\n align: 'center',\n title: optins.buttonsColumnTitle,\n width: optins.buttonsColumnWidth,\n slots: {\n default: scope => {\n return h(ActionButtonListRender, {\n buttonList: operationButtons,\n flex: 'center',\n scope: scope,\n ctx: context.value,\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n });\n }\n }\n });\n }\n\n // 把customRender渲染成 bodyCell 插槽\n const _columns = [...leftFixedColumns, ...centerColumns, ...rightFixedColumns];\n\n return tranformAntTableColumnToVxetableColumn(_columns);\n });\n\n // 处理列配置\n const handleColumnItem = item => {\n const res = omit(item, ['customRender']);\n const customRenderFn = item.customRender;\n item.minWidth = 50;\n item.maxWidth = 1200;\n if (item.isAutoWidth) {\n item.width = null;\n delete item.width;\n } else {\n item.width = isNaN(Number(item.width)) ? item.width : Number(item.width);\n }\n if (!customRenderFn) return item;\n\n return {\n ...res,\n slots: {\n default(scope) {\n const Com = executeFunction({\n source: props.field.options.name,\n functionBody: customRenderFn,\n params: {\n index: scope.rowIndex,\n record: scope.row,\n ...scope\n },\n errorCallback: error => {\n console.error('Custom render error:', error);\n }\n });\n return h(\n Space,\n {\n align: 'center',\n size: 5,\n onClick: (e: Event) => {\n e.stopPropagation();\n }\n },\n Com\n );\n }\n }\n };\n };\n\n const tableWidth = computed(() => widget.options.tableWidth);\n const tableSize = computed(() => widget.options.tableSize);\n\n const onSortChange = () => {\n initTableSoureData();\n };\n\n const rowKey = computed(() => widget.options.rowKey);\n\n const tableProps = computed<ImeTableProps>(() => {\n const {\n tableSize,\n rowKey,\n tableHeight = 300,\n border = false,\n lineHeight = 50,\n colorRow = false,\n showPagination = true\n } = widget.options;\n\n return {\n showPagination,\n size: tranformAntSizzVxetableSize(tableSize),\n height: tableHeight,\n border: border ?? false,\n data: fieldModel.value || [],\n columns: columns.value,\n sortConfig: {\n trigger: 'cell',\n remote: true,\n orders: ['ascend', 'descend', null]\n },\n rowConfig: {\n keyField: rowKey,\n isCurrent: colorRow,\n isHover: true\n },\n checkboxConfig: {\n isShiftKey: true,\n checkMethod: data => {\n return executeFunction({\n functionBody: widget.options.rowSelection?.checkMethod,\n params: data,\n keys: ['row']\n });\n }\n },\n cellConfig: {\n height: lineHeight\n }\n } as ImeTableProps;\n });\n\n const setTableRef = _tableRef => {\n tableRef.value = _tableRef;\n };\n\n const initTableSoureData = async () => {\n if (props.field.options.dsEnabled) {\n isLoading.value = true;\n try {\n const data = await loadataSource();\n const tableData = data.list || [];\n fieldModel.value = cloneDeep(tableData || []);\n setPagination(data);\n } catch (error) {\n console.error(error);\n }\n } else {\n fieldModel.value = widget.options.dataSource || [];\n setPagination({\n total: widget.options.dataSource?.length || 0\n });\n }\n isLoading.value = false;\n };\n\n type EventType = 'onDblclick' | 'onMouseenter' | 'onMouseleave' | 'onClick';\n const onRunEvent = ({ row, $event }: any, type: EventType) => {\n executeFunction({\n functionBody: widget.options.customRow[type],\n params: [row, $event],\n keys: ['record', 'event']\n });\n };\n\n const setTableData = (data: T[]) => {\n setValue(data);\n };\n\n const handleTableChange = ({ sorts }) => {\n const fn = widget.options.onTableChange;\n if (fn) {\n executeFunction({\n functionBody: fn,\n params: {\n pagination: getPagination(),\n currentDataSource: getDataSource(),\n sorter: sorts\n },\n keys: ['pagination', 'sorter', 'currentDataSource']\n });\n }\n };\n\n // 选中 checkbox回调\n const onCheckboxChange = (selectedRowInfo: any) => {\n executeFunction({\n functionBody: widget.options.rowSelection.onChange,\n keys: ['selectedRowKeys', 'selectedRows'],\n params: selectedRowInfo\n });\n };\n\n const getDataSource = () => {\n return fieldModel.value;\n };\n\n const insertTableValue = (data: T) => {\n if (!fieldModel.value) {\n fieldModel.value = [];\n }\n fieldModel.value.push(cloneDeep(data));\n };\n\n const setValue = (data: T[]) => {\n if (!isArray(data)) {\n return console.error('表格数据类型错误');\n }\n fieldModel.value = cloneDeep(data);\n };\n\n const getTableColumns = () => {\n return props.field.options.tableColumns;\n };\n\n const setTableColumns = (data: any[]) => {\n props.field.options.tableColumns = data;\n };\n\n const delSelectRow = async delKeys => {\n if (!delKeys.length) return;\n try {\n await TpfDelConfirm({ content: i18nt('确定删除选中的数据吗') });\n const newList = fieldModel.value.filter(item => !delKeys?.includes(item[rowKey.value]));\n setValue(newList);\n message.success(i18nt('操作成功'));\n } catch {}\n };\n\n const tableDefinExpoed = {\n delSelectRow,\n getTableColumns,\n setTableColumns,\n setValue,\n insertTableValue,\n setPagination,\n getDataSource,\n getPagination,\n initTableSoureData\n };\n\n watch(\n () => props.field.options.dsEnabled,\n () => {\n initTableSoureData();\n }\n );\n\n return {\n rowKey,\n onCheckboxChange,\n tableDefinExpoed,\n onSortChange,\n pagintion,\n setPagination,\n getPagination,\n handleTableChange,\n setTableData,\n showPagination: computed(() => !!props.field.options.showPagination),\n onRunEvent,\n isLoading,\n initTableSoureData,\n setTableRef,\n tableSize,\n tableWidth,\n tableProps,\n tableRef\n };\n}\n"],"names":["useTableWidget","props","fieldModel","tableRef","ref","isLoading","widget","i18nt","useI18n","executeFunction","context","useExecFunction","loadataSource","setPagination","getPagination","pagintion","useDataHttp","columns","computed","leftFixedColumns","optins","rowSelection","showIndex","tableColumns","centerColumns","item","handleColumnItem","rightFixedColumns","operationButtons","scope","h","ActionButtonListRender","e","_columns","tranformAntTableColumnToVxetableColumn","res","omit","customRenderFn","Com","error","Space","tableWidth","tableSize","onSortChange","initTableSoureData","rowKey","tableProps","tableHeight","border","lineHeight","colorRow","showPagination","tranformAntSizzVxetableSize","data","_a","setTableRef","_tableRef","tableData","cloneDeep","onRunEvent","row","$event","type","setTableData","setValue","handleTableChange","sorts","fn","getDataSource","onCheckboxChange","selectedRowInfo","insertTableValue","isArray","tableDefinExpoed","delKeys","TpfDelConfirm","newList","message","watch"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./form-item-wrapper.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-
|
|
4
|
+
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-c58d226f"]]);
|
|
5
5
|
export {
|
|
6
6
|
a as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { defineComponent as B, inject as
|
|
1
|
+
import { defineComponent as B, inject as C, computed as n, resolveComponent as O, createElementBlock as r, openBlock as a, withModifiers as R, normalizeClass as I, unref as i, createVNode as d, createBlock as V, createCommentVNode as w, withCtx as p, renderSlot as D, createElementVNode as c, Fragment as h, toDisplayString as b, normalizeProps as E, mergeProps as H } from "vue";
|
|
2
2
|
import { SvgIcon as W } from "tmgc2-share";
|
|
3
|
-
import "
|
|
4
|
-
import { useContainerWidget as H } from "../container-widget/useContainerWidget.js";
|
|
3
|
+
import { useContainerWidget as T } from "../container-widget/useContainerWidget.js";
|
|
5
4
|
import { FormItem as $ } from "ant-design-vue";
|
|
6
5
|
import { useDesigner as j } from "../useFormDesigner.js";
|
|
7
6
|
import M from "../widgetAction.vue.js";
|
|
@@ -36,65 +35,78 @@ const q = {
|
|
|
36
35
|
subFormRowId: {},
|
|
37
36
|
subFormColIndex: {}
|
|
38
37
|
},
|
|
39
|
-
setup(
|
|
40
|
-
const l =
|
|
41
|
-
formConfig:
|
|
42
|
-
designState:
|
|
43
|
-
} = j(),
|
|
44
|
-
var e, t, o,
|
|
45
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? 0 : (
|
|
46
|
-
}),
|
|
47
|
-
var e, t, o,
|
|
48
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? "" : (
|
|
49
|
-
}),
|
|
38
|
+
setup(_) {
|
|
39
|
+
const l = _, g = C("getSubFormName", () => ""), v = C("getSubFormFieldFlag", () => !1), {
|
|
40
|
+
formConfig: f,
|
|
41
|
+
designState: u
|
|
42
|
+
} = j(), k = n(() => {
|
|
43
|
+
var e, t, o, s, F;
|
|
44
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? 0 : (s = (o = l.field) == null ? void 0 : o.options) != null && s.labelWidth ? l.field.options.labelWidth : (F = f.value) == null ? void 0 : F.labelWidth;
|
|
45
|
+
}), m = n(() => {
|
|
46
|
+
var e, t, o, s;
|
|
47
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelHidden ? "" : (s = (o = l.field) == null ? void 0 : o.options) == null ? void 0 : s.label;
|
|
48
|
+
}), z = n(() => {
|
|
50
49
|
var e, t, o;
|
|
51
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelAlign ? l.field.options.labelAlign : ((o =
|
|
52
|
-
}),
|
|
50
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.labelAlign ? l.field.options.labelAlign : ((o = f.value) == null ? void 0 : o.labelAlign) || "right";
|
|
51
|
+
}), P = n(() => () => g ? g() : ""), S = n(() => {
|
|
53
52
|
var e, t, o;
|
|
54
|
-
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.size ? l.field.options.size : ((o =
|
|
55
|
-
}),
|
|
56
|
-
customClass:
|
|
53
|
+
return (t = (e = l.field) == null ? void 0 : e.options) != null && t.size ? l.field.options.size : ((o = f.value) == null ? void 0 : o.size) || "middle";
|
|
54
|
+
}), y = n(() => v ? v() : !1), A = n(() => y.value && !u ? P.value + "." + l.subFormRowIndex + "." + l.field.options.name : l.field.options.name), {
|
|
55
|
+
customClass: N,
|
|
57
56
|
selected: x,
|
|
58
57
|
selectWidget: L
|
|
59
|
-
} =
|
|
58
|
+
} = T({
|
|
60
59
|
widget: l.field,
|
|
61
60
|
parentWidget: l.parentWidget,
|
|
62
61
|
indexOfParentList: l.indexOfParentList
|
|
63
62
|
});
|
|
64
|
-
return (e, t) =>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
"field-wrapper
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
63
|
+
return (e, t) => {
|
|
64
|
+
const o = O("a-tooltip");
|
|
65
|
+
return a(), r("div", {
|
|
66
|
+
class: I(["field-wrapper", {
|
|
67
|
+
"design-time-bottom-margin": i(u),
|
|
68
|
+
"field-wrapper-widget": i(u),
|
|
69
|
+
selected: i(x)
|
|
70
|
+
}]),
|
|
71
|
+
onClick: t[0] || (t[0] = R((s) => i(L)(e.field), ["stop"]))
|
|
72
|
+
}, [d(i($), {
|
|
73
|
+
labelCol: {
|
|
74
|
+
style: {
|
|
75
|
+
width: k.value + "px"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
title: m.value,
|
|
79
|
+
size: S.value,
|
|
80
|
+
rules: e.rules,
|
|
81
|
+
name: A.value,
|
|
82
|
+
labelAlign: z.value,
|
|
83
|
+
class: I([i(N)])
|
|
84
|
+
}, {
|
|
85
|
+
label: p(() => [c("div", q, [e.field.options.labelIconClass ? (a(), r("span", G, [e.field.options.labelIconPosition === "front" ? (a(), r(h, {
|
|
86
|
+
key: 0
|
|
87
|
+
}, [d(o, {
|
|
88
|
+
title: e.field.options.labelIconTooltip
|
|
89
|
+
}, {
|
|
90
|
+
default: p(() => [d(i(W), {
|
|
91
|
+
"icon-class": e.field.options.labelIconClass
|
|
92
|
+
}, null, 8, ["icon-class"])]),
|
|
93
|
+
_: 1
|
|
94
|
+
}, 8, ["title"]), c("div", J, b(m.value), 1)], 64)) : e.field.options.labelIconPosition === "rear" ? (a(), r(h, {
|
|
95
|
+
key: 1
|
|
96
|
+
}, [c("div", K, b(m.value), 1), d(o, {
|
|
97
|
+
title: e.field.options.labelIconTooltip
|
|
98
|
+
}, {
|
|
99
|
+
default: p(() => [d(i(W), {
|
|
100
|
+
"icon-class": e.field.options.labelIconClass
|
|
101
|
+
}, null, 8, ["icon-class"])]),
|
|
102
|
+
_: 1
|
|
103
|
+
}, 8, ["title"])], 64)) : w("", !0)])) : (a(), r("div", Q, b(m.value), 1))])]),
|
|
104
|
+
default: p(() => [D(e.$slots, "default", {}, void 0, !0)]),
|
|
105
|
+
_: 3
|
|
106
|
+
}, 8, ["labelCol", "title", "size", "rules", "name", "labelAlign", "class"]), i(u) ? (a(), V(M, E(H({
|
|
85
107
|
key: 0
|
|
86
|
-
},
|
|
87
|
-
|
|
88
|
-
}, null, 8, ["icon-class"]), p("div", J, c(u.value), 1)], 64)) : e.field.options.labelIconPosition === "rear" ? (n(), a(I, {
|
|
89
|
-
key: 1
|
|
90
|
-
}, [p("div", K, c(u.value), 1), f(i(W), {
|
|
91
|
-
"icon-class": e.field.options.labelIconClass
|
|
92
|
-
}, null, 8, ["icon-class"])], 64)) : w("", !0)])) : (n(), a("div", Q, c(u.value), 1))])]),
|
|
93
|
-
default: h(() => [V(e.$slots, "default", {}, void 0, !0)]),
|
|
94
|
-
_: 3
|
|
95
|
-
}, 8, ["labelCol", "title", "size", "rules", "name", "labelAlign", "class"]), i(d) ? (n(), R(M, D(E({
|
|
96
|
-
key: 0
|
|
97
|
-
}, l)), null, 16)) : w("", !0)], 2));
|
|
108
|
+
}, l)), null, 16)) : w("", !0)], 2);
|
|
109
|
+
};
|
|
98
110
|
}
|
|
99
111
|
});
|
|
100
112
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item-wrapper.vue2.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue"],"sourcesContent":["<template>\n <div\n class=\"field-wrapper\"\n :class=\"{\n 'design-time-bottom-margin': designState,\n 'field-wrapper-widget': designState,\n selected: selected\n }\"\n @click.stop=\"selectWidget(field)\"\n >\n <FormItem\n :labelCol=\"{ style: { width: labelWidth + 'px' } }\"\n :title=\"label\"\n :size=\"size\"\n :rules=\"rules\"\n :name=\"getPropName\"\n :labelAlign=\"labelAlign\"\n :class=\"[customClass]\"\n >\n <template #label>\n <div class=\"label-box\">\n <span v-if=\"!!field.options.labelIconClass\" class=\"custom-label\">\n <template v-if=\"field.options.labelIconPosition === 'front'\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n <template v-else-if=\"field.options.labelIconPosition === 'rear'\">\n <div class=\"label-text\">\n {{ label }}\n </div>\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </template>\n </span>\n <template v-else>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n </div>\n </template>\n <slot></slot>\n </FormItem>\n\n <WidgetAction v-bind=\"props\" v-if=\"designState\" />\n </div>\n</template>\n\n<script lang=\"tsx\" setup>\n import { SvgIcon } from 'tmgc2-share';\n import { useI18n } from '@/utils/i18n';\n import { FieldProps } from './useField';\n import { computed, inject } from 'vue';\n import { useContainerWidget } from '../container-widget/useContainerWidget';\n import { FormItem } from 'ant-design-vue';\n import { useDesigner } from '@/components/form-designer/form-widget/useFormDesigner';\n import WidgetAction from '../widgetAction.vue';\n defineOptions({\n name: 'form-item-wrapper'\n });\n const { i18nt, i18n2t } = useI18n();\n\n interface FormItemWrapperProps extends FieldProps {\n rules?: Array<any>;\n }\n const props = withDefaults(defineProps<FormItemWrapperProps>(), {\n parentWidget: null,\n indexOfParentList: 0\n });\n const getSubFormName = inject('getSubFormName', () => '');\n const getSubFormFieldFlag = inject('getSubFormFieldFlag', () => false);\n\n const { formConfig, designer, designState } = useDesigner();\n\n const labelWidth = computed(() => {\n if (props.field?.options?.labelHidden) {\n return 0;\n }\n\n if (props.field?.options?.labelWidth) {\n return props.field.options.labelWidth;\n }\n\n return formConfig.value?.labelWidth;\n });\n\n const label = computed(() => {\n if (props.field?.options?.labelHidden) {\n return '';\n }\n return props.field?.options?.label;\n });\n\n const labelAlign = computed(() => {\n if (props.field?.options?.labelAlign) {\n return props.field.options.labelAlign;\n }\n return formConfig.value?.labelAlign || 'right';\n });\n\n const subFormName = computed(() => () => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const size = computed(() => {\n if (props.field?.options?.size) {\n return props.field.options.size;\n }\n return formConfig.value?.size || 'middle';\n });\n\n const subFormItemFlag = computed(() => {\n return getSubFormFieldFlag ? getSubFormFieldFlag() : false;\n });\n\n const getPropName = computed(() => {\n if (subFormItemFlag.value && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else return props.field.options.name;\n });\n\n const { customClass, selected, selectWidget } = useContainerWidget({\n widget: props.field,\n parentWidget: props.parentWidget,\n indexOfParentList: props.indexOfParentList\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .design-time-bottom-margin {\n margin-bottom: 5px;\n }\n .field-wrapper-widget {\n min-height: 40px;\n padding: 5px;\n border: 1px dashed rgba(170, 170, 170, 0.75);\n &.selected {\n outline: 2px solid var(--ant-primary-color);\n }\n .ant-form-item {\n margin-bottom: 0;\n }\n }\n .field-wrapper {\n position: relative;\n\n .field-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n\n // background: var(--ant-primary-color);\n z-index: 9;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 3px;\n cursor: pointer;\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n left: -1px;\n height: 20px;\n line-height: 20px;\n z-index: 9;\n\n i {\n font-size: 12px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: move;\n }\n\n &:hover {\n background: var(--ant-primary-color);\n }\n }\n }\n\n .field-action,\n .drag-handler {\n :deep(.svg-icon) {\n margin-left: 0;\n margin-right: 0;\n }\n }\n .ant-form-item {\n position: relative;\n\n :deep(.ant-form-item-label) {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n span.custom-label {\n display: flex;\n i {\n margin: 0 3px;\n }\n }\n\n /* 隐藏Chrome浏览器中el-input数字输入框右侧的上下调整小箭头 */\n :deep(.hide-spin-button) input::-webkit-outer-spin-button,\n :deep(.hide-spin-button) input::-webkit-inner-spin-button {\n -webkit-appearance: none !important;\n }\n }\n</style>\n"],"names":["props","__props","getSubFormName","inject","getSubFormFieldFlag","formConfig","designState","useDesigner","labelWidth","computed","field","options","labelHidden","value","label","labelAlign","subFormName","size","subFormItemFlag","getPropName","subFormRowIndex","name","customClass","selected","selectWidget","useContainerWidget","widget","parentWidget","indexOfParentList","_createElementBlock","class","_unref","onClick","_cache","_withModifiers","$event","_createVNode","FormItem","labelCol","title","rules","_createElementVNode","_hoisted_1","labelIconClass","_openBlock","_hoisted_2","labelIconPosition","_Fragment","key","SvgIcon","_hoisted_3","_toDisplayString","_hoisted_4","_hoisted_5","_renderSlot","_ctx","$slots","undefined","_createBlock","WidgetAction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-item-wrapper.vue2.js","sources":["../../../../../../src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue"],"sourcesContent":["<template>\n <div\n class=\"field-wrapper\"\n :class=\"{\n 'design-time-bottom-margin': designState,\n 'field-wrapper-widget': designState,\n selected: selected\n }\"\n @click.stop=\"selectWidget(field)\"\n >\n <FormItem\n :labelCol=\"{ style: { width: labelWidth + 'px' } }\"\n :title=\"label\"\n :size=\"size\"\n :rules=\"rules\"\n :name=\"getPropName\"\n :labelAlign=\"labelAlign\"\n :class=\"[customClass]\"\n >\n <template #label>\n <div class=\"label-box\">\n <span v-if=\"!!field.options.labelIconClass\" class=\"custom-label\">\n <template v-if=\"field.options.labelIconPosition === 'front'\">\n <a-tooltip :title=\"field.options.labelIconTooltip\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </a-tooltip>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n <template v-else-if=\"field.options.labelIconPosition === 'rear'\">\n <div class=\"label-text\">\n {{ label }}\n </div>\n <a-tooltip :title=\"field.options.labelIconTooltip\">\n <svg-icon :icon-class=\"field.options.labelIconClass\" />\n </a-tooltip>\n </template>\n </span>\n <template v-else>\n <div class=\"label-text\">\n {{ label }}\n </div>\n </template>\n </div>\n </template>\n <slot></slot>\n </FormItem>\n\n <WidgetAction v-bind=\"props\" v-if=\"designState\" />\n </div>\n</template>\n\n<script lang=\"tsx\" setup>\n import { SvgIcon } from 'tmgc2-share';\n import { FieldProps } from './useField';\n import { computed, inject } from 'vue';\n import { useContainerWidget } from '../container-widget/useContainerWidget';\n import { FormItem } from 'ant-design-vue';\n import { useDesigner } from '@/components/form-designer/form-widget/useFormDesigner';\n import WidgetAction from '../widgetAction.vue';\n defineOptions({\n name: 'form-item-wrapper'\n });\n\n interface FormItemWrapperProps extends FieldProps {\n rules?: Array<any>;\n }\n const props = withDefaults(defineProps<FormItemWrapperProps>(), {\n parentWidget: null,\n indexOfParentList: 0\n });\n const getSubFormName = inject('getSubFormName', () => '');\n const getSubFormFieldFlag = inject('getSubFormFieldFlag', () => false);\n\n const { formConfig, designer, designState } = useDesigner();\n\n const labelWidth = computed(() => {\n if (props.field?.options?.labelHidden) {\n return 0;\n }\n\n if (props.field?.options?.labelWidth) {\n return props.field.options.labelWidth;\n }\n\n return formConfig.value?.labelWidth;\n });\n\n const label = computed(() => {\n if (props.field?.options?.labelHidden) {\n return '';\n }\n return props.field?.options?.label;\n });\n\n const labelAlign = computed(() => {\n if (props.field?.options?.labelAlign) {\n return props.field.options.labelAlign;\n }\n return formConfig.value?.labelAlign || 'right';\n });\n\n const subFormName = computed(() => () => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const size = computed(() => {\n if (props.field?.options?.size) {\n return props.field.options.size;\n }\n return formConfig.value?.size || 'middle';\n });\n\n const subFormItemFlag = computed(() => {\n return getSubFormFieldFlag ? getSubFormFieldFlag() : false;\n });\n\n const getPropName = computed(() => {\n if (subFormItemFlag.value && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else return props.field.options.name;\n });\n\n const { customClass, selected, selectWidget } = useContainerWidget({\n widget: props.field,\n parentWidget: props.parentWidget,\n indexOfParentList: props.indexOfParentList\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .design-time-bottom-margin {\n margin-bottom: 5px;\n }\n .field-wrapper-widget {\n min-height: 40px;\n padding: 5px;\n border: 1px dashed rgba(170, 170, 170, 0.75);\n &.selected {\n outline: 2px solid var(--ant-primary-color);\n }\n .ant-form-item {\n margin-bottom: 0;\n }\n }\n .field-wrapper {\n position: relative;\n\n .field-action {\n position: absolute;\n bottom: 0;\n right: -2px;\n height: 22px;\n line-height: 22px;\n background: var(--ant-primary-4);\n\n // background: var(--ant-primary-color);\n z-index: 9;\n\n i {\n font-size: 14px;\n color: #fff;\n margin: 0 3px;\n cursor: pointer;\n }\n }\n\n .drag-handler {\n position: absolute;\n top: 0;\n left: -1px;\n height: 20px;\n line-height: 20px;\n z-index: 9;\n\n i {\n font-size: 12px;\n font-style: normal;\n color: #fff;\n margin: 4px;\n cursor: move;\n }\n\n &:hover {\n background: var(--ant-primary-color);\n }\n }\n }\n\n .field-action,\n .drag-handler {\n :deep(.svg-icon) {\n margin-left: 0;\n margin-right: 0;\n }\n }\n .ant-form-item {\n position: relative;\n\n :deep(.ant-form-item-label) {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n span.custom-label {\n display: flex;\n i {\n margin: 0 3px;\n }\n }\n\n /* 隐藏Chrome浏览器中el-input数字输入框右侧的上下调整小箭头 */\n :deep(.hide-spin-button) input::-webkit-outer-spin-button,\n :deep(.hide-spin-button) input::-webkit-inner-spin-button {\n -webkit-appearance: none !important;\n }\n }\n</style>\n"],"names":["props","__props","getSubFormName","inject","getSubFormFieldFlag","formConfig","designState","useDesigner","labelWidth","computed","field","options","labelHidden","value","label","labelAlign","subFormName","size","subFormItemFlag","getPropName","subFormRowIndex","name","customClass","selected","selectWidget","useContainerWidget","widget","parentWidget","indexOfParentList","_createElementBlock","class","_unref","onClick","_cache","_withModifiers","$event","_createVNode","FormItem","labelCol","title","rules","_createElementVNode","_hoisted_1","labelIconClass","_openBlock","_hoisted_2","labelIconPosition","_Fragment","key","_component_a_tooltip","labelIconTooltip","SvgIcon","_hoisted_3","_toDisplayString","_hoisted_4","_hoisted_5","_renderSlot","_ctx","$slots","undefined","_createBlock","WidgetAction"],"mappings":"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"}
|
package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as c, useModel as m, resolveComponent as r, createElementBlock as f, openBlock as b, Fragment as _, createVNode as e, withCtx as t, createTextVNode as v, toDisplayString as I, unref as n } from "vue";
|
|
2
2
|
import { useI18n as C } from "../../../../utils/i18n.js";
|
|
3
|
-
import { TpfSelectIcon as
|
|
3
|
+
import { TpfSelectIcon as g } from "tmgc2-share";
|
|
4
4
|
import { EditorTypeEnum as M } from "../../../../constants/EditorTypeEnum.js";
|
|
5
|
-
const
|
|
5
|
+
const w = /* @__PURE__ */ c({
|
|
6
6
|
inheritAttrs: !1,
|
|
7
7
|
name: M.labelIconClassEditor,
|
|
8
8
|
__name: "labelIconClass-editor",
|
|
@@ -15,16 +15,16 @@ const h = /* @__PURE__ */ m({
|
|
|
15
15
|
optionModelModifiers: {}
|
|
16
16
|
},
|
|
17
17
|
emits: ["update:optionModel"],
|
|
18
|
-
setup(
|
|
19
|
-
const
|
|
20
|
-
return (
|
|
21
|
-
const
|
|
22
|
-
return
|
|
18
|
+
setup(d) {
|
|
19
|
+
const o = m(d, "optionModel"), { i18nt: a } = C();
|
|
20
|
+
return (T, l) => {
|
|
21
|
+
const u = r("a-divider"), i = r("a-form-item"), p = r("a-input");
|
|
22
|
+
return b(), f(_, null, [
|
|
23
23
|
e(i, { "label-width": "0" }, {
|
|
24
|
-
default:
|
|
25
|
-
e(
|
|
26
|
-
default:
|
|
27
|
-
|
|
24
|
+
default: t(() => [
|
|
25
|
+
e(u, { class: "custom-divider" }, {
|
|
26
|
+
default: t(() => [
|
|
27
|
+
v(I(n(a)("designer.setting.customLabelIcon")), 1)
|
|
28
28
|
]),
|
|
29
29
|
_: 1
|
|
30
30
|
})
|
|
@@ -32,12 +32,23 @@ const h = /* @__PURE__ */ m({
|
|
|
32
32
|
_: 1
|
|
33
33
|
}),
|
|
34
34
|
e(i, {
|
|
35
|
-
label:
|
|
35
|
+
label: n(a)("designer.setting.labelIconClass")
|
|
36
36
|
}, {
|
|
37
|
-
default:
|
|
38
|
-
e(
|
|
39
|
-
value:
|
|
40
|
-
"onUpdate:value":
|
|
37
|
+
default: t(() => [
|
|
38
|
+
e(n(g), {
|
|
39
|
+
value: o.value.labelIconClass,
|
|
40
|
+
"onUpdate:value": l[0] || (l[0] = (s) => o.value.labelIconClass = s)
|
|
41
|
+
}, null, 8, ["value"])
|
|
42
|
+
]),
|
|
43
|
+
_: 1
|
|
44
|
+
}, 8, ["label"]),
|
|
45
|
+
e(i, {
|
|
46
|
+
label: n(a)("designer.setting.labelIconTooltip")
|
|
47
|
+
}, {
|
|
48
|
+
default: t(() => [
|
|
49
|
+
e(p, {
|
|
50
|
+
value: o.value.labelIconTooltip,
|
|
51
|
+
"onUpdate:value": l[1] || (l[1] = (s) => o.value.labelIconTooltip = s)
|
|
41
52
|
}, null, 8, ["value"])
|
|
42
53
|
]),
|
|
43
54
|
_: 1
|
|
@@ -47,6 +58,6 @@ const h = /* @__PURE__ */ m({
|
|
|
47
58
|
}
|
|
48
59
|
});
|
|
49
60
|
export {
|
|
50
|
-
|
|
61
|
+
w as default
|
|
51
62
|
};
|
|
52
63
|
//# sourceMappingURL=labelIconClass-editor.vue2.js.map
|
package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labelIconClass-editor.vue2.js","sources":["../../../../../../src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue"],"sourcesContent":["<template>\n <a-form-item label-width=\"0\">\n <a-divider class=\"custom-divider\">\n {{ i18nt('designer.setting.customLabelIcon') }}\n </a-divider>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelIconClass')\">\n <TpfSelectIcon v-model:value=\"optionModel.labelIconClass\" />\n </a-form-item>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n import { TpfSelectIcon } from 'tmgc2-share';\n import { EditorTypeEnum } from '@/constants/EditorTypeEnum';\n\n defineOptions({\n inheritAttrs: false,\n name: EditorTypeEnum.labelIconClassEditor\n });\n\n const optionModel = defineModel('optionModel', {\n type: Object,\n required: true,\n default: () => ({ labelIconClass: '' })\n });\n\n const { i18nt } = useI18n();\n\n // export default {\n // name: 'labelIconClass-editor',\n // inheritAttrs: false,\n // mixins: [i18n],\n // components: {\n // TpfSelectIcon\n // },\n // props: {\n // designer: Object,\n // selectedWidget: Object,\n // optionModel: Object\n // }\n // };\n</script>\n"],"names":["optionModel","_useModel","__props","i18nt","useI18n","_createVNode","_component_a_form_item","_component_a_divider","_unref","TpfSelectIcon","_cache","$event"],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"labelIconClass-editor.vue2.js","sources":["../../../../../../src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue"],"sourcesContent":["<template>\n <a-form-item label-width=\"0\">\n <a-divider class=\"custom-divider\">\n {{ i18nt('designer.setting.customLabelIcon') }}\n </a-divider>\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelIconClass')\">\n <TpfSelectIcon v-model:value=\"optionModel.labelIconClass\" />\n </a-form-item>\n <a-form-item :label=\"i18nt('designer.setting.labelIconTooltip')\">\n <a-input v-model:value=\"optionModel.labelIconTooltip\" />\n </a-form-item>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n import { TpfSelectIcon } from 'tmgc2-share';\n import { EditorTypeEnum } from '@/constants/EditorTypeEnum';\n\n defineOptions({\n inheritAttrs: false,\n name: EditorTypeEnum.labelIconClassEditor\n });\n\n const optionModel = defineModel('optionModel', {\n type: Object,\n required: true,\n default: () => ({ labelIconClass: '' })\n });\n\n const { i18nt } = useI18n();\n\n // export default {\n // name: 'labelIconClass-editor',\n // inheritAttrs: false,\n // mixins: [i18n],\n // components: {\n // TpfSelectIcon\n // },\n // props: {\n // designer: Object,\n // selectedWidget: Object,\n // optionModel: Object\n // }\n // };\n</script>\n"],"names":["optionModel","_useModel","__props","i18nt","useI18n","_createVNode","_component_a_form_item","_component_a_divider","_unref","TpfSelectIcon","_cache","$event","_component_a_input"],"mappings":";;;;;;;;;;;;;;;;;;AAwBI,UAAMA,IAAcC,EAAWC,GAAC,aAI/B,GAEK,EAAE,OAAAC,EAAA,IAAUC,EAAA;;;;QA7BlBC,EAIcC,GAAA,EAJD,eAAY,OAAG;AAAA,qBACxB,MAEY;AAAA,YAFZD,EAEYE,GAAA,EAFD,OAAM,oBAAgB;AAAA,yBAC7B,MAA+C;AAAA,oBAA5CC,EAAAL,CAAA,EAAK,kCAAA,CAAA,GAAA,CAAA;AAAA,cAAA;;;;;;QAGhBE,EAEcC,GAAA;AAAA,UAFA,OAAOE,EAAAL,CAAA,EAAK,iCAAA;AAAA,QAAA;qBACtB,MAA4D;AAAA,YAA5DE,EAA4DG,EAAAC,CAAA,GAAA;AAAA,cAArC,OAAOT,EAAA,MAAY;AAAA,cAAZ,kBAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAX,EAAA,MAAY,iBAAcW;AAAA,YAAA;;;;QAE5DN,EAEcC,GAAA;AAAA,UAFA,OAAOE,EAAAL,CAAA,EAAK,mCAAA;AAAA,QAAA;qBACtB,MAAwD;AAAA,YAAxDE,EAAwDO,GAAA;AAAA,cAAvC,OAAOZ,EAAA,MAAY;AAAA,cAAZ,kBAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAX,EAAA,MAAY,mBAAgBW;AAAA,YAAA;;;;;;;;"}
|
|
@@ -31,8 +31,10 @@ const a = (e = {}) => ({
|
|
|
31
31
|
//-------------------
|
|
32
32
|
customClass: [],
|
|
33
33
|
//自定义css类名
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
labelIconClass: null,
|
|
35
|
+
labelIconPosition: "rear",
|
|
36
|
+
customLabelIcon: "",
|
|
37
|
+
labelIconTooltip: "",
|
|
36
38
|
maxLength: null,
|
|
37
39
|
showCount: !1,
|
|
38
40
|
//-------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../../../../src/components/form-designer/widget-panel/basicFields/input.ts"],"sourcesContent":["import type { Widget, WidgetOptions } from '@/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface InputWidgetOptionsType extends WidgetOptions {\n type: string;\n defaultValue: string;\n placeholder: string;\n columnWidth: string;\n size: string;\n labelWidth: string | number | null;\n labelHidden: boolean;\n readonly: boolean;\n disabled: boolean;\n hidden: boolean;\n holdHidden: boolean;\n allowClear: boolean;\n required: boolean;\n requiredHint: string;\n validation: string;\n validationHint: string;\n useModal: boolean;\n onClickIcon: string;\n //-------------------\n customClass: string[]; //自定义css类名\n // labelIconClass: null,\n // labelIconPosition: 'rear',\n maxLength: string | number | null;\n showCount: boolean;\n}\n\nexport interface InputWidget extends Widget<InputWidgetOptionsType> {}\n\nexport const input = (ops = {} as any): InputWidget => {\n return {\n key: getUuidKey(),\n id: ops.name,\n type: 'input',\n icon: 'text-field',\n category: 'field',\n formItemFlag: true,\n options: {\n name: '',\n label: '',\n labelAlign: '',\n type: 'text',\n defaultValue: '',\n placeholder: '',\n columnWidth: '200px',\n size: '',\n labelWidth: null,\n labelHidden: false,\n readonly: false,\n disabled: false,\n hidden: false,\n holdHidden: true,\n allowClear: true,\n required: false,\n requiredHint: '',\n validation: '',\n validationHint: '',\n useModal: false,\n onClickIcon: '',\n //-------------------\n customClass: [], //自定义css类名\n
|
|
1
|
+
{"version":3,"file":"input.js","sources":["../../../../../../src/components/form-designer/widget-panel/basicFields/input.ts"],"sourcesContent":["import type { Widget, WidgetOptions } from '@/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface InputWidgetOptionsType extends WidgetOptions {\n type: string;\n defaultValue: string;\n placeholder: string;\n columnWidth: string;\n size: string;\n labelWidth: string | number | null;\n labelHidden: boolean;\n readonly: boolean;\n disabled: boolean;\n hidden: boolean;\n holdHidden: boolean;\n allowClear: boolean;\n required: boolean;\n requiredHint: string;\n validation: string;\n validationHint: string;\n useModal: boolean;\n onClickIcon: string;\n //-------------------\n customClass: string[]; //自定义css类名\n // labelIconClass: null,\n // labelIconPosition: 'rear',\n maxLength: string | number | null;\n showCount: boolean;\n customLabelIcon: string;\n labelIconClass: string;\n labelIconTooltip: string;\n labelIconPosition: string;\n}\n\nexport interface InputWidget extends Widget<InputWidgetOptionsType> {}\n\nexport const input = (ops = {} as any): InputWidget => {\n return {\n key: getUuidKey(),\n id: ops.name,\n type: 'input',\n icon: 'text-field',\n category: 'field',\n formItemFlag: true,\n options: {\n name: '',\n label: '',\n labelAlign: '',\n type: 'text',\n defaultValue: '',\n placeholder: '',\n columnWidth: '200px',\n size: '',\n labelWidth: null,\n labelHidden: false,\n readonly: false,\n disabled: false,\n hidden: false,\n holdHidden: true,\n allowClear: true,\n required: false,\n requiredHint: '',\n validation: '',\n validationHint: '',\n useModal: false,\n onClickIcon: '',\n //-------------------\n customClass: [], //自定义css类名\n labelIconClass: null,\n labelIconPosition: 'rear',\n customLabelIcon: '',\n labelIconTooltip: '',\n maxLength: null,\n showCount: false,\n //-------------------\n onCreated: '',\n onMounted: '',\n onInput: '',\n onChange: '',\n onFocus: '',\n onBlur: '',\n onValidate: '',\n ...ops\n }\n };\n};\n"],"names":["input","ops","getUuidKey"],"mappings":";AAoCO,MAAMA,IAAQ,CAACC,IAAM,QACjB;AAAA,EACH,KAAKC,EAAA;AAAA,EACL,IAAID,EAAI;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,SAAS;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,cAAc;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,aAAa;AAAA;AAAA,IAEb,aAAa,CAAA;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,IAEX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAGA;AAAA,EAAA;AACP;"}
|
package/src/lang/en-US.js
CHANGED
|
@@ -311,6 +311,7 @@ const e = {
|
|
|
311
311
|
paneActive: "Active",
|
|
312
312
|
customLabelIcon: "Custom Label",
|
|
313
313
|
labelIconClass: "Label Icon Class",
|
|
314
|
+
labelIconTooltip: "Label Icon Tooltip",
|
|
314
315
|
labelIconPosition: "Label Icon Position",
|
|
315
316
|
minValue: "Min Value",
|
|
316
317
|
maxValue: "Max Value",
|