@maketribe/ms-app 3.0.26 → 3.0.28

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.
@@ -18,6 +18,14 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
18
18
  }) {
19
19
  const dataTable = vue.computed(() => props.dataTable);
20
20
  const pageSizes = vue.computed(() => vue.unref(dataTable).pageSizes);
21
+ vue.watch(dataTable, (dataTable2) => {
22
+ const dataFilter = dataTable2.dataFilter;
23
+ if (dataFilter.getColumns().length === 0) {
24
+ dataFilter.setReady();
25
+ }
26
+ }, {
27
+ immediate: true
28
+ });
21
29
  return () => {
22
30
  const pagination = slots.pagination?.({
23
31
  dataTable: vue.unref(dataTable)
@@ -48,7 +56,7 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
48
56
  "class": "header-box-main"
49
57
  }, null), vue.createVNode("div", {
50
58
  "class": "header-box-tools"
51
- }, [vue.createVNode(index$4.MKDataFilterPopover, {
59
+ }, [_dataTable.dataFilter.getColumns().length ? vue.createVNode(index$4.MKDataFilterPopover, {
52
60
  "dataTable": _dataTable
53
61
  }, {
54
62
  default: () => [vue.createVNode(elementPlus.ElButton, null, {
@@ -56,7 +64,7 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
56
64
  "iconClass": "Filter"
57
65
  }, null)]
58
66
  })]
59
- }), buttons])]);
67
+ }) : null, buttons])]);
60
68
  } else {
61
69
  tools = vue.createVNode("div", {
62
70
  "class": "mk-table-view__selection-tip"
@@ -1 +1 @@
1
- {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","pagination","length","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref, watch } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n watch(\n dataTable,\n (dataTable) => {\n const dataFilter = dataTable.dataFilter;\n\n if (dataFilter.getColumns().length === 0) {\n dataFilter.setReady();\n }\n },\n { immediate: true }\n );\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n {_dataTable.dataFilter.getColumns().length ? (\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n ) : null}\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","watch","dataFilter","getColumns","length","setReady","immediate","pagination","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":";;;;;;;;;;;;AAWA,gCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,aAAA;AAAA,EACNC,KAAOC,EAAAA,+BAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,MAAMC,SAAYC,GAAAA,YAAAA,CAAS,MAAML,KAAAA,CAAMI,SAAS,CAAA,CAAA;AAEhD,IAAA,MAAME,YAAYD,YAAS,CAAA,MAAME,SAAMH,CAAAA,SAAS,EAAEE,SAAS,CAAA,CAAA;AAE3DE,IACEJ,SAAAA,CAAAA,SAAAA,EACCA,CAAAA,UAAc,KAAA;AACb,MAAA,MAAMK,aAAaL,UAAUK,CAAAA,UAAAA,CAAAA;AAE7B,MAAA,IAAIA,UAAWC,CAAAA,UAAAA,EAAaC,CAAAA,MAAAA,KAAW,CAAG,EAAA;AACxCF,QAAAA,UAAAA,CAAWG,QAAS,EAAA,CAAA;AAAA,OACtB;AAAA,KAEF,EAAA;AAAA,MAAEC,SAAW,EAAA,IAAA;AAAA,KACf,CAAA,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAMC,MAAAA,UAAAA,GACJX,MAAMW,UAAa,GAAA;AAAA,QAAEV,SAAAA,EAAWG,UAAMH,SAAS,CAAA;AAAA,OAAG,CACjDG,KAAAA,SAAAA,CAAMD,SAAS,CAAEK,CAAAA,MAAAA,GAAMI,gBAAAC,2BAAA,EAAA;AAAA,QAAA,WAAA,EACYT,UAAMH,SAAS,CAAA;AAAA,OAAC,EAAA,IAAA,CAChD,GAAA,IAAA,CAAA,CAAA;AAEN,MAAA,OAAAW,gBAAAE,kBAAA,EAAA;AAAA,QAAA,OAAA,EAAA,eAAA;AAAA,OAAA,EAAA;AAAA,QAAAC,OAAAA,EAAAA,MAAA,CA+EKf,KAAAA,CAAMe,OAAU,GAAA;AAAA,UAAEd,SAAAA,EAAWG,UAAMH,SAAS,CAAA;AAAA,SAAG,CAACW,IAAAA,eAAAA,CAAAI,eAAA,EAAA;AAAA,UAAA,WAAA,EAC3BZ,UAAMH,SAAS,CAAA;AAAA,SAAC,EAAA,IAAA,CAAA,EAErCU,UAAU,CAAA;AAAA,QA9ETM,QAAQA,MAAM;AACZ,UAAMC,MAAAA,UAAAA,GAAad,UAAMH,SAAS,CAAA,CAAA;AAElC,UAAA,MAAMkB,OAAUD,GAAAA,UAAAA,CAAWE,WACxBC,CAAAA,MAAAA,CAAQC,CAAWA,MAAAA,KAAAA,MAAAA,CAAOC,SAAU,EAAC,CACrCC,CAAAA,GAAAA,CAAKF,CAAMV,MAAAA,KAAAA,eAAAA,CAAAa,gBAAA,EAAA;AAAA,YAAA,QACQH,EAAAA,MAAAA;AAAAA,YAAM,SAAA,EAAWI,MAAMJ,MAAAA,CAAOK,OAAQ,EAAA;AAAA,WAAC,EAAA,IAAA,CAC1D,CAAA,CAAA;AAEH,UAAA,IAAIC,cAAsB5B,GAAAA,KAAAA,CAAM,iBAAiB,CAAA,IAAS,IAAA,IAAA,CAAA;AAC1D,UAAA,IACE,CAAC4B,cACDV,IAAAA,UAAAA,CAAWU,cAAeC,CAAAA,sBAAAA,GAAyBrB,MACnD,EAAA;AACAoB,YAAchB,cAAAA,GAAAA,eAAAA,CAAAkB,6BAA4B,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,WAC5C;AAEA,UAAIC,IAAAA,KAAAA,CAAAA;AAEJ,UAAA,IAAI,CAACb,UAAAA,CAAWc,YAAa,EAAA,CAAExB,MAAQ,EAAA;AACrCuB,YAAAA,KAAAA,GAAKnB,eAAAqB,CAAAA,YAAAA,SAAArB,gBAAA,KAAA,EAAA;AAAA,cAAA,OAAA,EAAA,iBAAA;AAAA,aAAA,EAAA,IAAA,CAAAA,EAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,cAAA,OAAA,EAAA,kBAAA;AAAA,aAAA,EAAA,CAIEM,UAAWZ,CAAAA,UAAAA,CAAWC,YAAaC,CAAAA,MAAAA,GAAMI,gBAAAsB,2BAAA,EAAA;AAAA,cAAA,WACRhB,EAAAA,UAAAA;AAAAA,aAAU,EAAA;AAAA,cAAAH,OAAAA,EAAAA,MAAAH,CAAAA,eAAAA,CAAAuB,sBAAA,IAAA,EAAA;AAAA,gBAAApB,OAAAA,EAAAA,MAAAH,CAAAA,eAAAA,CAAAwB,iBAAA,EAAA;AAAA,kBAAA,WAAA,EAAA,QAAA;AAAA,iBAAA,EAAA,IAAA,CAAA,CAAA;AAAA,eAAA,CAAA,CAAA;AAAA,aAKxC,CAAA,GAAA,IAAA,EACHjB,OAAO,CAGb,CAAA,CAAA,CAAA,CAAA;AAAA,WACI,MAAA;AACLY,YAAAA,KAAAA,GAAKnB,gBAAA,KAAA,EAAA;AAAA,cAAA,OAAA,EAAA,8BAAA;AAAA,aAAA,EAAA,CAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,cAAA,OAAA,EAAA,mCAAA;AAAA,aAAA,EAAA,CAAAA,eAAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAAyB,mBAAA,CAAA,oBAAA,CAAAzB,EAAAA,eAAAA,CAAA,MAAA,EAAA;AAAA,cAAA,OAAA,EAAA,iBAAA;AAAA,eAMMM,CAAAA,UAAAA,CAAWc,YAAa,EAAA,CAAExB,MAAM,CAAA,CAAA,EAAA6B,mBAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAzB,gBAAA,KAAA,EAAA;AAAA,cAAA,OAAA,EAAA,oCAAA;AAAA,eAMpCM,CAAAA,UAAAA,CAAWoB,uBAAuBd,GAAKF,CAAAA,CAAAA,MAAAA,KAAMV,gBAAAa,gBAAA,EAAA;AAAA,cAAA,MAAA,EAAA,IAAA;AAAA,cAAA,QAGlCH,EAAAA,MAAAA;AAAAA,cAAM,SAAA,EACLI,MAAMJ,MAAAA,CAAOK,OAAQ,EAAA;AAAA,aAAC,EAAA,IAAA,CAElC,CAAA,EAACf,gBAAAuB,oBAAA,EAAA;AAAA,cAAA,MAAA,EAAA,IAAA;AAAA,cAAA,SAAA,EAGST,MAAMR,UAAAA,CAAWqB,cAAe,EAAA;AAAA,aAAC,EAAA;AAAA,cAAAxB,OAAAA,EAAAA,MAAA,CAAAsB,mBAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,aAMjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,WACH;AAEA,UAAA,OAAAzB,gBAAAqB,YAEKL,EAAAA,IAAAA,EAAAA,CAAAA,cAAAA,EAAchB,gBAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,kCAAA;AAAA,WAAA,EAAA,CACgCmB,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAG1D;AAAA,OAAC,CAAA,CAAA;AAAA,KAST,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
@@ -63,6 +63,11 @@ class ConfigForm extends dm.DataForm {
63
63
  }
64
64
  ],
65
65
  componentInfo: this.resolveType(defaultType)
66
+ }),
67
+ new dm.FormColumn({
68
+ name: "memo",
69
+ label: "\u5907\u6CE8",
70
+ defaultValue: ""
66
71
  })
67
72
  ]);
68
73
  this.dataChangeEvent.on(({ data }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":["DataForm","ConfigComponents","FormColumn","defineDataForm"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":["DataForm","ConfigComponents","FormColumn","defineDataForm"],"mappings":"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"}
@@ -19,8 +19,8 @@ class ConfigTable extends dm.DataTable {
19
19
  async initialize() {
20
20
  await super.initialize();
21
21
  this.setColumns([
22
- new dm.TableColumn({ name: "id", label: "\u7F16\u53F7", visible: false }),
23
22
  new dm.TableColumn({ name: "key", label: "\u914D\u7F6E\u952E" }),
23
+ new dm.TableColumn({ name: "memo", label: "\u5907\u6CE8" }),
24
24
  new dm.TableActionColumn()
25
25
  ]);
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":["DataTable","TableColumn","TableActionColumn","Where","defineDataTable"],"mappings":";;;;;;AAWO,MAAM,oBAAoBA,YAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAIC,eAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAIA,cAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAIC,oBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAIC,aAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9BC,+BAAA,CAAgB,WAAW,CAAA;;;;"}
1
+ {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":["DataTable","TableColumn","TableActionColumn","Where","defineDataTable"],"mappings":";;;;;;AAWO,MAAM,oBAAoBA,YAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAIC,cAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAIA,cAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC7C,IAAIC,oBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAIC,aAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9BC,+BAAA,CAAgB,WAAW,CAAA;;;;"}
@@ -15,6 +15,7 @@ require('../department/DepartmentForm.js');
15
15
  var DepartmentTable = require('../department/DepartmentTable.js');
16
16
  require('../department/DepartmentTree.js');
17
17
  var pattern = require('../../constants/pattern.js');
18
+ var WebFileUploadContext = require('../../components/upload-file/context/WebFileUploadContext.js');
18
19
 
19
20
  class MemberForm extends dm.DataForm {
20
21
  constructor(options = {}) {
@@ -39,7 +40,10 @@ class MemberForm extends dm.DataForm {
39
40
  name: "avatar",
40
41
  label: "\u5934\u50CF",
41
42
  defaultValue: null,
42
- componentInfo: "MKFormImageUpload"
43
+ componentInfo: "MKFormImageUpload",
44
+ componentProps: {
45
+ uploadContext: new WebFileUploadContext.WebFileUploadContext()
46
+ }
43
47
  }),
44
48
  new dm.FormColumn({
45
49
  name: "roles",
@@ -1 +1 @@
1
- {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { WebFileUpload } from \"@maketribe/request\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file\";\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":["DataForm","FormColumn","EMAIL_PATTERN","RoleTable","DepartmentTable","defineDataForm"],"mappings":"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"}
1
+ {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file/context/WebFileUploadContext\";\n\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n // let uploadFileModule: any = await import(\n // \"../../components/upload-file/context/WebFileUploadContext\"\n // );\n // uploadFileModule = uploadFileModule.default || uploadFileModule;\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n componentProps: {\n uploadContext: new WebFileUploadContext(),\n },\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":["DataForm","FormColumn","EMAIL_PATTERN","WebFileUploadContext","RoleTable","DepartmentTable","defineDataForm"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, unref, createVNode, Fragment, createTextVNode } from 'vue';
1
+ import { defineComponent, computed, unref, watch, createVNode, Fragment, createTextVNode } from 'vue';
2
2
  import { ElCard, ElButton } from 'element-plus';
3
3
  import { MKButton } from '../../../../button/index.js';
4
4
  import { MKTableClassifySearch } from './classify-search/index.js';
@@ -16,6 +16,14 @@ var TableView = /* @__PURE__ */ defineComponent({
16
16
  }) {
17
17
  const dataTable = computed(() => props.dataTable);
18
18
  const pageSizes = computed(() => unref(dataTable).pageSizes);
19
+ watch(dataTable, (dataTable2) => {
20
+ const dataFilter = dataTable2.dataFilter;
21
+ if (dataFilter.getColumns().length === 0) {
22
+ dataFilter.setReady();
23
+ }
24
+ }, {
25
+ immediate: true
26
+ });
19
27
  return () => {
20
28
  const pagination = slots.pagination?.({
21
29
  dataTable: unref(dataTable)
@@ -46,7 +54,7 @@ var TableView = /* @__PURE__ */ defineComponent({
46
54
  "class": "header-box-main"
47
55
  }, null), createVNode("div", {
48
56
  "class": "header-box-tools"
49
- }, [createVNode(MKDataFilterPopover, {
57
+ }, [_dataTable.dataFilter.getColumns().length ? createVNode(MKDataFilterPopover, {
50
58
  "dataTable": _dataTable
51
59
  }, {
52
60
  default: () => [createVNode(ElButton, null, {
@@ -54,7 +62,7 @@ var TableView = /* @__PURE__ */ defineComponent({
54
62
  "iconClass": "Filter"
55
63
  }, null)]
56
64
  })]
57
- }), buttons])]);
65
+ }) : null, buttons])]);
58
66
  } else {
59
67
  tools = createVNode("div", {
60
68
  "class": "mk-table-view__selection-tip"
@@ -1 +1 @@
1
- {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","pagination","length","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref, watch } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n watch(\n dataTable,\n (dataTable) => {\n const dataFilter = dataTable.dataFilter;\n\n if (dataFilter.getColumns().length === 0) {\n dataFilter.setReady();\n }\n },\n { immediate: true }\n );\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n {_dataTable.dataFilter.getColumns().length ? (\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n ) : null}\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","watch","dataFilter","getColumns","length","setReady","immediate","pagination","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
@@ -61,6 +61,11 @@ class ConfigForm extends DataForm {
61
61
  }
62
62
  ],
63
63
  componentInfo: this.resolveType(defaultType)
64
+ }),
65
+ new FormColumn({
66
+ name: "memo",
67
+ label: "\u5907\u6CE8",
68
+ defaultValue: ""
64
69
  })
65
70
  ]);
66
71
  this.dataChangeEvent.on(({ data }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@ class ConfigTable extends DataTable {
17
17
  async initialize() {
18
18
  await super.initialize();
19
19
  this.setColumns([
20
- new TableColumn({ name: "id", label: "\u7F16\u53F7", visible: false }),
21
20
  new TableColumn({ name: "key", label: "\u914D\u7F6E\u952E" }),
21
+ new TableColumn({ name: "memo", label: "\u5907\u6CE8" }),
22
22
  new TableActionColumn()
23
23
  ]);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":[],"mappings":";;;;AAWO,MAAM,oBAAoB,SAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,YAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAI,WAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAI,KAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9B,eAAA,CAAgB,WAAW,CAAA;;;;"}
1
+ {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":[],"mappings":";;;;AAWO,MAAM,oBAAoB,SAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,WAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAI,WAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC7C,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAI,KAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9B,eAAA,CAAgB,WAAW,CAAA;;;;"}
@@ -13,6 +13,7 @@ import '../department/DepartmentForm.js';
13
13
  import { DepartmentTable } from '../department/DepartmentTable.js';
14
14
  import '../department/DepartmentTree.js';
15
15
  import { EMAIL_PATTERN } from '../../constants/pattern.js';
16
+ import { WebFileUploadContext } from '../../components/upload-file/context/WebFileUploadContext.js';
16
17
 
17
18
  class MemberForm extends DataForm {
18
19
  constructor(options = {}) {
@@ -37,7 +38,10 @@ class MemberForm extends DataForm {
37
38
  name: "avatar",
38
39
  label: "\u5934\u50CF",
39
40
  defaultValue: null,
40
- componentInfo: "MKFormImageUpload"
41
+ componentInfo: "MKFormImageUpload",
42
+ componentProps: {
43
+ uploadContext: new WebFileUploadContext()
44
+ }
41
45
  }),
42
46
  new FormColumn({
43
47
  name: "roles",
@@ -1 +1 @@
1
- {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { WebFileUpload } from \"@maketribe/request\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file\";\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file/context/WebFileUploadContext\";\n\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n // let uploadFileModule: any = await import(\n // \"../../components/upload-file/context/WebFileUploadContext\"\n // );\n // uploadFileModule = uploadFileModule.default || uploadFileModule;\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n componentProps: {\n uploadContext: new WebFileUploadContext(),\n },\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAmCO,MAAM,mBAGH,QAAe,CAAA;AAAA,EACvB,WAAA,CAAY,OAA2B,GAAA,EAAI,EAAA;AACzC,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,WAAa,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACzC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAOvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,UAAW,CAAA,EAAE,MAAM,IAAM,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC1C,IAAI,WAAW,EAAE,IAAA,EAAM,QAAQ,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAC5D,IAAI,WAAW,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,oBAAA,EAAO,YAAc,EAAA,IAAA,EAAM,CAAA;AAAA,MACrE,IAAI,WAAW,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAChE,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,OAAO,CAAC,EAAE,SAAS,sCAAU,EAAA,OAAA,EAAS,eAAe,CAAA;AAAA,OACtD,CAAA;AAAA,MACD,IAAI,WAAW,EAAE,IAAA,EAAM,SAAS,KAAO,EAAA,oBAAA,EAAO,YAAc,EAAA,IAAA,EAAM,CAAA;AAAA,MAClE,IAAI,WAAW,EAAE,IAAA,EAAM,WAAW,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAC/D,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,QAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,mBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,aAAA,EAAe,IAAI,oBAAqB,EAAA;AAAA,SAC1C;AAAA,OACD,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,uBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,QAAU,EAAA,IAAA;AAAA,UACV,cAAgB,EAAA,MAAA;AAAA,UAChB,SAAA,EAAW,IAAI,SAAU,EAAA;AAAA,SAC3B;AAAA,OACD,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,uBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,QAAU,EAAA,IAAA;AAAA,UACV,cAAgB,EAAA,MAAA;AAAA,UAChB,SAAA,EAAW,IAAI,eAAgB,EAAA;AAAA,SACjC;AAAA,OACD,CAAA;AAAA,MACD,IAAI,UAAW,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,KAC7C,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,iBAAiB,IAAW,EAAA;AAC1B,IAAA,MAAM,EAAE,KAAA,EAAO,KAAO,EAAA,GAAG,MAAS,GAAA,IAAA,CAAA;AAElC,IAAA,MAAM,QAAW,GAAA,KAAA,EAAO,GAAI,CAAA,CAAC,IAAc,KAAA;AACzC,MAAO,OAAA,EAAE,QAAQ,IAAK,EAAA,CAAA;AAAA,KACvB,CAAA,CAAA;AACD,IAAA,MAAM,QAAW,GAAA,KAAA,EAAO,GAAI,CAAA,CAAC,IAAc,KAAA;AACzC,MAAO,OAAA,EAAE,QAAQ,IAAK,EAAA,CAAA;AAAA,KACvB,CAAA,CAAA;AACD,IAAA,OAAO,EAAE,GAAG,IAAA,EAAM,KAAO,EAAA,QAAA,EAAU,OAAO,QAAS,EAAA,CAAA;AAAA,GACrD;AAAA,EAEA,WAAW,IAAY,EAAA;AACrB,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,MACnB,QAAA,EAAU,KAAK,QAAY,IAAA,EAAA;AAAA,MAC3B,QAAA,EAAU,KAAK,QAAY,IAAA,EAAA;AAAA,MAC3B,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,MACrB,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,MACrB,OAAA,EAAS,KAAK,OAAW,IAAA,EAAA;AAAA,MACzB,QAAQ,IAAK,CAAA,MAAA;AAAA,MACb,OAAO,IAAK,CAAA,KAAA,EAAO,IAAI,CAAC,IAAA,KAAS,KAAK,MAAM,CAAA;AAAA,MAC5C,OAAO,IAAK,CAAA,KAAA,EAAO,IAAI,CAAC,UAAA,KAAe,WAAW,MAAM,CAAA;AAAA,MACxD,OAAO,IAAK,CAAA,KAAA;AAAA,KACd,CAAA;AAAA,GACF;AACF,CAAA;AAEA,cAAA,CAAe,UAAU,CAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.0.26",
3
+ "version": "3.0.28",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [
@@ -21,9 +21,9 @@
21
21
  "vue-codemirror": "^6.1.1",
22
22
  "vue-router": "^4.2.4",
23
23
  "@maketribe/dm": "^3.0.11",
24
- "@maketribe/request": "^1.1.12",
25
- "@maketribe/locale": "^1.0.5",
26
- "@maketribe/utils": "^1.1.4"
24
+ "@maketribe/utils": "^1.1.4",
25
+ "@maketribe/request": "^2.0.2",
26
+ "@maketribe/locale": "^1.0.5"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "npm run clean && npm run build:js && npm run build:type && npm run build:style",
@@ -1,4 +1,4 @@
1
- import { Fragment, VNode, computed, defineComponent, unref } from "vue";
1
+ import { Fragment, VNode, computed, defineComponent, unref, watch } from "vue";
2
2
  import { ElButton, ElCard } from "element-plus";
3
3
 
4
4
  import { MKButton } from "../../../../button";
@@ -17,6 +17,18 @@ export default defineComponent({
17
17
 
18
18
  const pageSizes = computed(() => unref(dataTable).pageSizes);
19
19
 
20
+ watch(
21
+ dataTable,
22
+ (dataTable) => {
23
+ const dataFilter = dataTable.dataFilter;
24
+
25
+ if (dataFilter.getColumns().length === 0) {
26
+ dataFilter.setReady();
27
+ }
28
+ },
29
+ { immediate: true }
30
+ );
31
+
20
32
  return () => {
21
33
  const pagination =
22
34
  slots.pagination?.({ dataTable: unref(dataTable) }) ||
@@ -52,11 +64,13 @@ export default defineComponent({
52
64
  <Fragment>
53
65
  <div class="header-box-main"></div>
54
66
  <div class="header-box-tools">
55
- <MKDataFilterPopover dataTable={_dataTable}>
56
- <ElButton>
57
- <MKSvgIcon iconClass="Filter" />
58
- </ElButton>
59
- </MKDataFilterPopover>
67
+ {_dataTable.dataFilter.getColumns().length ? (
68
+ <MKDataFilterPopover dataTable={_dataTable}>
69
+ <ElButton>
70
+ <MKSvgIcon iconClass="Filter" />
71
+ </ElButton>
72
+ </MKDataFilterPopover>
73
+ ) : null}
60
74
  {buttons}
61
75
  </div>
62
76
  </Fragment>
@@ -81,6 +81,11 @@ export class ConfigForm
81
81
  ],
82
82
  componentInfo: this.resolveType(defaultType),
83
83
  }),
84
+ new FormColumn({
85
+ name: "memo",
86
+ label: "备注",
87
+ defaultValue: "",
88
+ }),
84
89
  ]);
85
90
 
86
91
  this.dataChangeEvent.on(({ data }) => {
@@ -29,8 +29,8 @@ export class ConfigTable extends DataTable<Config> {
29
29
  await super.initialize();
30
30
 
31
31
  this.setColumns([
32
- new TableColumn({ name: "id", label: "编号", visible: false }),
33
32
  new TableColumn({ name: "key", label: "配置键" }),
33
+ new TableColumn({ name: "memo", label: "备注" }),
34
34
  new TableActionColumn(),
35
35
  ]);
36
36
  }
@@ -2,9 +2,9 @@ import { DataForm, DataFormOptions, FormColumn } from "@maketribe/dm";
2
2
  import { defineDataForm } from "../../define-data-form";
3
3
  import { RoleTable } from "../role";
4
4
  import { DepartmentTable } from "../department";
5
- import { WebFileUpload } from "@maketribe/request";
6
5
  import { EMAIL_PATTERN } from "../../constants";
7
- import { WebFileUploadContext } from "../../components/upload-file";
6
+ import { WebFileUploadContext } from "../../components/upload-file/context/WebFileUploadContext";
7
+
8
8
  export type MemberResult = {
9
9
  id: string;
10
10
  name: string;
@@ -43,7 +43,7 @@ export class MemberForm<
43
43
 
44
44
  protected async initialize() {
45
45
  await super.initialize();
46
-
46
+
47
47
  this.setColumns([
48
48
  new FormColumn({ name: "id", label: "编号" }),
49
49
  new FormColumn({ name: "name", label: "姓名", required: true }),
@@ -62,6 +62,9 @@ export class MemberForm<
62
62
  label: "头像",
63
63
  defaultValue: null,
64
64
  componentInfo: "MKFormImageUpload",
65
+ componentProps: {
66
+ uploadContext: new WebFileUploadContext(),
67
+ },
65
68
  }),
66
69
  new FormColumn({
67
70
  name: "roles",