@kp-ui/lowcode-pc 1.0.3 → 1.0.4

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.
@@ -219,17 +219,17 @@ div.row-no-column[data-v-b2ab76f8] {
219
219
  .column-row .col-right-content-item .col-right-content-item-right[data-v-30a82eb1] .icon-guanbi:hover {
220
220
  opacity: 1;
221
221
  }
222
- .talbe-wrapper[data-v-05f21e50] {
222
+ .talbe-wrapper[data-v-4b7b0113] {
223
223
  width: 100%;
224
224
  }
225
- .talbe-wrapper .table-toolbar[data-v-05f21e50] {
225
+ .talbe-wrapper .table-toolbar[data-v-4b7b0113] {
226
226
  padding: 8px 0;
227
227
  margin-bottom: 8px;
228
228
  }
229
- .talbe-wrapper .vxe-grid[data-v-05f21e50] {
229
+ .talbe-wrapper .vxe-grid[data-v-4b7b0113] {
230
230
  width: 100%;
231
231
  }
232
- .talbe-wrapper__pagination[data-v-05f21e50] {
232
+ .talbe-wrapper__pagination[data-v-4b7b0113] {
233
233
  margin-top: 10px;
234
234
  display: flex;
235
235
  justify-content: end;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kp-ui/lowcode-pc",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./data-table-widget.vue2.js";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const DataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-05f21e50"]]);
4
+ const DataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4b7b0113"]]);
5
5
  export {
6
6
  DataTableWidget as default
7
7
  };
@@ -1,11 +1,14 @@
1
- import { defineComponent, watchEffect, ref, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createElementVNode, createVNode } from "vue";
1
+ import { defineComponent, watchEffect, ref, onMounted, createElementBlock, createCommentVNode, unref, openBlock, normalizeStyle, createVNode } from "vue";
2
2
  import { useVxeTable, SvgIcon, Table } from "tmgc2-share";
3
3
  import { useI18n } from "@kp-ui/i18n";
4
4
  import { useTableWidget } from "../../desginer/form-widget/container-widget/useTableWidget.js";
5
5
  import DataTableColumnDialog from "../../public/DataTableColumnDialog.vue.js";
6
6
  import { ComponentNameEnum, ContainerTypeEnum } from "../../../../core/src/constants/WidgetTypeEnum.js";
7
7
  import { useField } from "../../../../core/src/hooks/useField.js";
8
- const _hoisted_1 = { class: "table-toolbar t-flex t-justify-end" };
8
+ const _hoisted_1 = {
9
+ key: 0,
10
+ class: "table-toolbar t-flex t-justify-end"
11
+ };
9
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
13
  ...{
11
14
  name: ContainerTypeEnum.DataTable,
@@ -31,6 +34,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
34
  tableProps,
32
35
  tableWidth,
33
36
  pagintion,
37
+ showColumnManager,
34
38
  setPagination,
35
39
  setTableRef,
36
40
  initTableSoureData,
@@ -121,7 +125,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
125
  class: "talbe-wrapper",
122
126
  style: normalizeStyle({ width: unref(tableWidth) })
123
127
  }, [
124
- createElementVNode("div", _hoisted_1, [
128
+ unref(showColumnManager) ? (openBlock(), createElementBlock("div", _hoisted_1, [
125
129
  createVNode(unref(SvgIcon), {
126
130
  onClick: openColumnDialog,
127
131
  size: "22",
@@ -129,7 +133,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
129
133
  cursor: "",
130
134
  shadow: ""
131
135
  })
132
- ]),
136
+ ])) : createCommentVNode("", true),
133
137
  createVNode(unref(Table), {
134
138
  onRegister: unref(register),
135
139
  tableProps: unref(tableProps),
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../src/components/form-render/container-items/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" :style=\"{ width: tableWidth }\" v-if=\"!handleHidden\">\n <!-- v-if=\"showColumnManager\" -->\n <div class=\"table-toolbar t-flex t-justify-end\">\n <SvgIcon @click=\"openColumnDialog\" size=\"22\" type=\"icon-weizhi\" cursor shadow />\n </div>\n <Table\n @register=\"register\"\n :tableProps=\"tableProps\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n />\n <!-- 列管理弹窗 -->\n <DataTableColumnDialog\n v-model:visible=\"columnDialogVisible\"\n :columns=\"columnList\"\n :page-code=\"props.field.options.name\"\n :table-id=\"widget.id\"\n @update=\"handleUpdateColumns\"\n ref=\"columnDialogRef\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, onMounted, watchEffect } from 'vue';\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table, SvgIcon } from 'tmgc2-share';\n import { useI18n } from '@kp-ui/i18n';\n import { useField } from '@kp-ui/lowcode-core';\n import { useTableWidget } from '../../desginer/form-widget/container-widget/useTableWidget';\n import { DataTableWidget } from '../../desginer/widget-panel/advanced';\n import DataTableColumnDialog from '../../public/DataTableColumnDialog.vue';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n const { widget } = props;\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { t } = useI18n();\n const { fieldModel, handleHidden, defineExposed, customClass } = useField(props);\n\n const {\n columns,\n isLoading,\n tableProps,\n tableWidth,\n pagintion,\n showColumnManager,\n setPagination,\n setTableRef,\n initTableSoureData,\n handleTableChange,\n onRunEvent,\n onSortChange,\n onCheckboxChange,\n tableDefinExpoed,\n // 列管理相关\n columnList,\n initColumnList,\n handleUpdateColumns\n } = useTableWidget({\n props,\n fieldModel,\n designState: false\n });\n\n watchEffect(() => {\n if (!props.field.options.showPagination) {\n setPagination({\n total: 0\n });\n }\n });\n\n pagintion.value.onChange = (current, pageSize) => {\n initTableSoureData();\n };\n\n // 打开列管理弹窗\n const openColumnDialog = () => {\n columnDialogVisible.value = true;\n };\n\n // 列管理弹窗\n const columnDialogVisible = ref(false);\n\n const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n hasRowSelection: props.field.options.rowSelection?.hasRowSelection,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n dataChange: params => handleTableChange({ sorts: sorts.value }),\n cellDblclick: params => onRunEvent(params, 'onDblclick'),\n cellMouseenter: params => onRunEvent(params, 'onMouseenter'),\n cellMouseleave: params => onRunEvent(params, 'onMouseleave')\n },\n callbacks: {\n onCheckboxChange,\n onSortChange,\n cellClick: params => onRunEvent(params, 'onClick')\n }\n });\n\n const getSelectedRowKeys = () => {\n const selectRows = tableRef.value?.getCheckboxRecords() || [];\n return selectRows.map(item => item[props.field.options.rowKey]);\n };\n\n const getSelectedRows = () => {\n // return selectedRowInfo.value.selectedRows;\n return tableRef.value?.getCheckboxRecords(true);\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return tableRef.value;\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n initColumnList();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n delSelectRow,\n getFieldEditor,\n selectRow,\n getSelectedRowKeys,\n getSelectedRows,\n setPagination,\n sorts,\n selectedRowInfo,\n loadDataTableDataSource: initTableSoureData,\n fieldEditor: tableRef\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .talbe-wrapper {\n width: 100%;\n\n .table-toolbar {\n padding: 8px 0;\n margin-bottom: 8px;\n }\n\n .vxe-grid {\n width: 100%;\n }\n\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_a","_unref","_createElementBlock","_createElementVNode","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../src/components/form-render/container-items/data-table-widget.vue"],"sourcesContent":["<template>\n <div class=\"talbe-wrapper\" :style=\"{ width: tableWidth }\" v-if=\"!handleHidden\">\n <div class=\"table-toolbar t-flex t-justify-end\" v-if=\"showColumnManager\">\n <SvgIcon @click=\"openColumnDialog\" size=\"22\" type=\"icon-weizhi\" cursor shadow />\n </div>\n <Table\n @register=\"register\"\n :tableProps=\"tableProps\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n />\n <!-- 列管理弹窗 -->\n <DataTableColumnDialog\n v-model:visible=\"columnDialogVisible\"\n :columns=\"columnList\"\n :page-code=\"props.field.options.name\"\n :table-id=\"widget.id\"\n @update=\"handleUpdateColumns\"\n ref=\"columnDialogRef\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, onMounted, watchEffect } from 'vue';\n import { ContainerTypeEnum, ComponentNameEnum, WidgetProps } from '@kp-ui/lowcode-core';\n import { useVxeTable, Table, SvgIcon } from 'tmgc2-share';\n import { useI18n } from '@kp-ui/i18n';\n import { useField } from '@kp-ui/lowcode-core';\n import { useTableWidget } from '../../desginer/form-widget/container-widget/useTableWidget';\n import { DataTableWidget } from '../../desginer/widget-panel/advanced';\n import DataTableColumnDialog from '../../public/DataTableColumnDialog.vue';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n const { widget } = props;\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { t } = useI18n();\n const { fieldModel, handleHidden, defineExposed, customClass } = useField(props);\n\n const {\n columns,\n isLoading,\n tableProps,\n tableWidth,\n pagintion,\n showColumnManager,\n setPagination,\n setTableRef,\n initTableSoureData,\n handleTableChange,\n onRunEvent,\n onSortChange,\n onCheckboxChange,\n tableDefinExpoed,\n // 列管理相关\n columnList,\n initColumnList,\n handleUpdateColumns\n } = useTableWidget({\n props,\n fieldModel,\n designState: false\n });\n\n watchEffect(() => {\n if (!props.field.options.showPagination) {\n setPagination({\n total: 0\n });\n }\n });\n\n pagintion.value.onChange = (current, pageSize) => {\n initTableSoureData();\n };\n\n // 打开列管理弹窗\n const openColumnDialog = () => {\n columnDialogVisible.value = true;\n };\n\n // 列管理弹窗\n const columnDialogVisible = ref(false);\n\n const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n hasRowSelection: props.field.options.rowSelection?.hasRowSelection,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n dataChange: params => handleTableChange({ sorts: sorts.value }),\n cellDblclick: params => onRunEvent(params, 'onDblclick'),\n cellMouseenter: params => onRunEvent(params, 'onMouseenter'),\n cellMouseleave: params => onRunEvent(params, 'onMouseleave')\n },\n callbacks: {\n onCheckboxChange,\n onSortChange,\n cellClick: params => onRunEvent(params, 'onClick')\n }\n });\n\n const getSelectedRowKeys = () => {\n const selectRows = tableRef.value?.getCheckboxRecords() || [];\n return selectRows.map(item => item[props.field.options.rowKey]);\n };\n\n const getSelectedRows = () => {\n // return selectedRowInfo.value.selectedRows;\n return tableRef.value?.getCheckboxRecords(true);\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return tableRef.value;\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n initColumnList();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n delSelectRow,\n getFieldEditor,\n selectRow,\n getSelectedRowKeys,\n getSelectedRows,\n setPagination,\n sorts,\n selectedRowInfo,\n loadDataTableDataSource: initTableSoureData,\n fieldEditor: tableRef\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .talbe-wrapper {\n width: 100%;\n\n .table-toolbar {\n padding: 8px 0;\n margin-bottom: 8px;\n }\n\n .vxe-grid {\n width: 100%;\n }\n\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["_a","_unref","_createElementBlock","_openBlock","_createVNode"],"mappings":"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"}