@jeecg/online 1.0.1 → 3.4.3-GA

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/AuthButtonConfig.js +14 -7
  2. package/AuthButtonTree.js +3 -5
  3. package/AuthDataConfig.js +9 -6
  4. package/AuthDataTree.js +3 -5
  5. package/AuthFieldConfig.js +15 -12
  6. package/AuthFieldTree.js +24 -18
  7. package/AuthManagerDrawer.js +1 -1
  8. package/AuthSetterModal.js +1 -0
  9. package/CgformCopyList.js +34 -22
  10. package/CgformModal.js +57 -50
  11. package/CgreportModal.js +32 -39
  12. package/CheckDictTable.js +144 -24
  13. package/CodeFileListModal.js +175 -0
  14. package/CodeFileViewModal.js +325 -0
  15. package/CodeGeneratorModal.js +41 -38
  16. package/CustomButtonList.js +19 -22
  17. package/DBAttributeTable.js +248 -12
  18. package/DbToOnlineModal.js +27 -25
  19. package/DetailForm.js +609 -0
  20. package/EnhanceJavaModal.js +11 -17
  21. package/EnhanceJsHistory.js +6 -8
  22. package/EnhanceJsModal.js +16 -16
  23. package/EnhanceSqlModal.js +11 -17
  24. package/ExtendConfigModal.js +24 -15
  25. package/ForeignKeyTable.js +4 -3
  26. package/FormSchemaFactory.js +163 -30
  27. package/IndexTable.js +6 -5
  28. package/JModalTip.js +54 -0
  29. package/JOnlineSearchSelect.js +18 -10
  30. package/LeftDepart.js +1 -1
  31. package/LeftRole.js +7 -4
  32. package/LeftUser.js +7 -4
  33. package/LinkTableConfigModal.js +289 -0
  34. package/LinkTableFieldConfigModal.js +218 -0
  35. package/LinkTableListPiece.js +36 -0
  36. package/ModalFormDemo.js +3 -2
  37. package/OnlineAutoList.js +154 -55
  38. package/OnlineAutoModal.js +92 -131
  39. package/OnlineAutoTreeList.js +93 -53
  40. package/OnlineCustomModal.js +30 -14
  41. package/OnlineDetailModal.js +184 -0
  42. package/OnlineForm.js +274 -141
  43. package/OnlineFormDetail.js +326 -0
  44. package/OnlineQueryForm.js +72 -40
  45. package/OnlineSearchFormItem.js +26 -18
  46. package/OnlineSelectCascade.js +37 -26
  47. package/OnlineSubFormDetail.js +167 -0
  48. package/OnlineSuperQuery.js +70 -75
  49. package/OnlineSuperQueryValComponent.js +1 -0
  50. package/OnlineSuperQueryValComponent.vue_vue_type_script_lang.js +1 -17
  51. package/PageAttributeTable.js +233 -30
  52. package/ProcessOnlineForm.js +41 -16
  53. package/QueryTable.js +4 -3
  54. package/README.md +3 -8
  55. package/_arrayPush.js +5 -3
  56. package/{cloneDeep.js → _baseClone.js} +5 -9
  57. package/_baseSlice.js +18 -0
  58. package/_commonjsHelpers.js +5 -0
  59. package/_flatRest.js +174 -0
  60. package/auth.data.js +1 -3
  61. package/cgform.data.js +18 -9
  62. package/enhance.api.js +27 -18
  63. package/index.js +27 -8
  64. package/index2.js +48 -45
  65. package/index3.js +29 -26
  66. package/isArray.js +1 -1
  67. package/main.index.js +2 -2
  68. package/omit.js +60 -0
  69. package/package.json +1 -1
  70. package/pick.js +3 -173
  71. package/style.css +1 -1
  72. package/toString.js +2 -2
  73. package/useAutoForm.js +3457 -3791
  74. package/useCgformList.js +44 -31
  75. package/{useTableColumns.js → useListButton.js} +218 -409
  76. package/useOnlineTest.js +5 -26827
  77. package/useSchemas.js +382 -234
  78. package/useTableSync.js +19 -7
  79. package/ChartAutoRender.js +0 -69
  80. package/ChartDoubleRender.js +0 -154
  81. package/ChartSingleRender.js +0 -132
  82. package/ChartTabsRender.js +0 -218
  83. package/ErrorTip.js +0 -21
  84. package/FieldTable.js +0 -185
  85. package/GraphreportAutoChart.js +0 -352
  86. package/GraphreportList.js +0 -239
  87. package/GraphreportModal.js +0 -559
  88. package/LICENSE +0 -7
  89. package/OnlineSubForm.js +0 -200
  90. package/ParamsTable.js +0 -71
  91. package/graphreport.api.js +0 -23
  92. package/useChartRender.js +0 -405
  93. package/useMessageOnline.js +0 -71
package/OnlineAutoList.js CHANGED
@@ -22,45 +22,85 @@ import { BasicTable, TableAction } from "/@/components/Table";
22
22
  import { useMessage } from "/@/hooks/web/useMessage";
23
23
  import OnlineAutoModal from "./OnlineAutoModal.js";
24
24
  import OnlineCustomModal from "./OnlineCustomModal.js";
25
- import { watch, resolveComponent, openBlock, createElementBlock, createVNode, normalizeClass, withCtx, createBlock, createCommentVNode, Fragment, renderList, createTextVNode, toDisplayString, withDirectives, vShow, createElementVNode, mergeProps, toHandlers, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
25
+ import OnlineDetailModal from "./OnlineDetailModal.js";
26
+ import { watch, resolveComponent, openBlock, createElementBlock, createVNode, createBlock, normalizeClass, withCtx, createTextVNode, createCommentVNode, Fragment, renderList, toDisplayString, withDirectives, vShow, createElementVNode, mergeProps, toHandlers, resolveDynamicComponent, normalizeProps, guardReactiveProps } from "vue";
26
27
  import JImportModal from "/@/components/Form/src/jeecg/components/JImportModal.vue";
27
- import { u as useOnlineTableContext, a as useListButton, b as useTableColumns } from "./useTableColumns.js";
28
- import { u as useEnhance } from "./OnlineForm.js";
28
+ import { u as useOnlineTableContext, a as useListButton } from "./useListButton.js";
29
+ import { a as OnlinePopModal, c as useEnhance, j as useTableColumns, g as getRefPromise } from "./useAutoForm.js";
29
30
  import OnlineQueryForm from "./OnlineQueryForm.js";
30
31
  import OnlineSuperQuery from "./OnlineSuperQuery.js";
32
+ import { createContext } from "/@/hooks/core/useContext";
33
+ import mitt from "/@/utils/mitt";
31
34
  import { _ as _export_sfc } from "./index.js";
32
35
  import "/@/components/Modal";
33
- import "/@/utils/http/axios";
34
- import "./useAutoForm.js";
36
+ import "./OnlineForm.js";
37
+ import "/@/components/Form/index";
35
38
  import "./FormSchemaFactory.js";
36
39
  import "/@/components/Form/src/jeecg/components/JUpload";
40
+ import "/@/utils/http/axios";
41
+ import "/@/utils";
42
+ import "/@/components/Loading";
43
+ import "/@/components/jeecg/JVxeTable/types";
44
+ import "/@/utils/auth";
45
+ import "@ant-design/icons-vue";
46
+ import "./pick.js";
47
+ import "./_flatRest.js";
48
+ import "./isArray.js";
49
+ import "./toString.js";
50
+ import "./_arrayPush.js";
51
+ import "./omit.js";
52
+ import "./_baseClone.js";
53
+ import "./_baseSlice.js";
37
54
  import "/@/views/system/user/user.api";
55
+ import "./_commonjsHelpers.js";
38
56
  import "/@/store/modules/user";
39
- import "/@/utils";
40
57
  import "/@/utils/desform/customExpression";
41
58
  import "/@/components/Form/src/componentMap";
42
59
  import "./OnlineSelectCascade.js";
43
60
  import "/@/components/jeecg/OnLine/JPopupOnlReport.vue";
44
61
  import "vue-router";
62
+ import "/@/store/modules/permission";
63
+ import "/@/utils/propTypes";
64
+ import "/@/utils/dict/JDictSelectUtil";
45
65
  import "/@/utils/common/compUtils";
66
+ import "/@/hooks/system/useListPage";
67
+ import "/@/components/Form/src/utils/Area";
68
+ import "/@/components/Preview/index";
69
+ import "./LinkTableListPiece.js";
70
+ import "./JModalTip.js";
71
+ import "ant-design-vue";
72
+ import "@vueuse/core";
73
+ import "/@/components/jeecg/comment/CommentPanel.vue";
74
+ import "./OnlineFormDetail.js";
75
+ import "./DetailForm.js";
76
+ import "/@/utils/dict";
77
+ import "/@/utils/dict/index";
78
+ import "/@/api/common/api";
79
+ import "./OnlineSubFormDetail.js";
80
+ import "/@/router";
46
81
  import "/@/utils/cache";
47
82
  import "/@/hooks/core/onMountedOrActivated";
48
- import "ant-design-vue";
49
83
  import "/@/hooks/system/useMethods";
50
- import "./pick.js";
51
- import "./isArray.js";
52
- import "./toString.js";
53
- import "./_arrayPush.js";
54
- import "/@/utils/dict/JDictSelectUtil";
55
- import "/@/components/Form/src/utils/Area";
56
- import "/@/components/Preview/index";
57
- import "/@/components/Form/index";
58
- import "/@/components/Loading";
59
- import "./OnlineSubForm.js";
60
84
  import "./OnlineSuperQueryValComponent.vue_vue_type_script_lang.js";
61
85
  import "/@/components/Form/src/helper";
62
86
  import "/@/utils/is";
63
- import "@ant-design/icons-vue";
87
+ const key = Symbol();
88
+ const EVENT_OPEN_CODE = "openpopmodal";
89
+ function useOnlineListPopEvent(callback) {
90
+ const emitter = mitt();
91
+ function openPopModal(params) {
92
+ callback(params);
93
+ console.log("\u4E8B\u4EF6\u89E6\u53D1\u5B8C\u6210,", params);
94
+ }
95
+ emitter.on(EVENT_OPEN_CODE, openPopModal);
96
+ createOnlineEventContext({
97
+ onlineEmitter: emitter
98
+ });
99
+ console.log("\u4E8B\u4EF6\u7ED1\u5B8C\u6210,");
100
+ }
101
+ function createOnlineEventContext(context) {
102
+ return createContext(context, key, { readonly: false, native: true });
103
+ }
64
104
  var OnlineAutoList_vue_vue_type_style_index_0_lang = "";
65
105
  const _sfc_main = {
66
106
  name: "DefaultOnlineList",
@@ -71,7 +111,9 @@ const _sfc_main = {
71
111
  JImportModal,
72
112
  OnlineQueryForm,
73
113
  OnlineSuperQuery,
74
- OnlineCustomModal
114
+ OnlineCustomModal,
115
+ OnlineDetailModal,
116
+ OnlinePopModal
75
117
  },
76
118
  setup() {
77
119
  const { createMessage: $message } = useMessage();
@@ -90,7 +132,10 @@ const _sfc_main = {
90
132
  superQueryButtonRef,
91
133
  superQueryStatus,
92
134
  handleSuperQuery,
93
- registerCustomModal
135
+ onlineExtConfigJson,
136
+ handleFormConfig,
137
+ registerCustomModal,
138
+ tableReloading
94
139
  } = useOnlineTableContext();
95
140
  if (!ID.value) {
96
141
  $message.warning("\u5730\u5740\u9519\u8BEF, \u914D\u7F6EID\u4E0D\u5B58\u5728!");
@@ -116,8 +161,10 @@ const _sfc_main = {
116
161
  getDropDownActions,
117
162
  getActions,
118
163
  initButtonList,
119
- initButtonSwitch
120
- } = useListButton(onlineTableContext);
164
+ initButtonSwitch,
165
+ registerDetailModal,
166
+ registerBpmModal
167
+ } = useListButton(onlineTableContext, onlineExtConfigJson);
121
168
  const {
122
169
  columns,
123
170
  actionColumn,
@@ -131,12 +178,22 @@ const _sfc_main = {
131
178
  getFormatDate,
132
179
  handleColumnResult,
133
180
  hrefComponent,
134
- viewOnlineCellImage
135
- } = useTableColumns(onlineTableContext);
136
- watch(ID, () => {
137
- console.log("watched id is change...");
138
- initAutoList();
139
- }, { immediate: true });
181
+ viewOnlineCellImage,
182
+ hrefMainTableId,
183
+ registerOnlineHrefModal,
184
+ registerPopModal,
185
+ openPopModal,
186
+ onlinePopModalRef,
187
+ popTableId
188
+ } = useTableColumns(onlineTableContext, onlineExtConfigJson);
189
+ watch(
190
+ ID,
191
+ () => {
192
+ console.log("watched id is change...");
193
+ initAutoList();
194
+ },
195
+ { immediate: true }
196
+ );
140
197
  function initAutoList() {
141
198
  return __async(this, null, function* () {
142
199
  loading.value = true;
@@ -160,8 +217,24 @@ const _sfc_main = {
160
217
  reload();
161
218
  }
162
219
  function onQueryFormLoaded(json) {
163
- superQueryButtonRef.value.init(json);
220
+ return __async(this, null, function* () {
221
+ yield getRefPromise(superQueryButtonRef);
222
+ superQueryButtonRef.value.init(json);
223
+ });
164
224
  }
225
+ function openOnlinePopModal(params) {
226
+ console.log("openOnlinePopModal", params);
227
+ popTableId.value = params.id;
228
+ let data = {
229
+ title: params.describe
230
+ };
231
+ if (params.record && params.record.id) {
232
+ data["record"] = params.record;
233
+ data["isUpdate"] = true;
234
+ }
235
+ openPopModal(true, data);
236
+ }
237
+ useOnlineListPopEvent(openOnlinePopModal);
165
238
  const that = {
166
239
  ID,
167
240
  onlineQueryFormOuter,
@@ -201,31 +274,36 @@ const _sfc_main = {
201
274
  registerModal,
202
275
  registerCustomModal,
203
276
  registerImportModal,
277
+ registerDetailModal,
204
278
  importUrl,
279
+ handleFormConfig,
280
+ onlinePopModalRef,
281
+ tableReloading,
205
282
  handleSubmitFlow,
206
283
  hrefComponent,
207
- viewOnlineCellImage
284
+ viewOnlineCellImage,
285
+ hrefMainTableId,
286
+ onlineExtConfigJson,
287
+ registerOnlineHrefModal,
288
+ registerPopModal,
289
+ popTableId,
290
+ registerBpmModal
208
291
  };
209
292
  return that;
210
293
  }
211
294
  };
212
295
  const _hoisted_1 = { class: "p-2" };
213
- const _hoisted_2 = /* @__PURE__ */ createTextVNode("\u65B0\u589E");
214
- const _hoisted_3 = /* @__PURE__ */ createTextVNode("\u5BFC\u5165");
215
- const _hoisted_4 = /* @__PURE__ */ createTextVNode(" \u5BFC\u51FA");
216
- const _hoisted_5 = /* @__PURE__ */ createTextVNode(" \u6279\u91CF\u5220\u9664");
217
- const _hoisted_6 = {
296
+ const _hoisted_2 = {
218
297
  key: 0,
219
298
  style: { "font-size": "12px", "font-style": "italic" }
220
299
  };
221
- const _hoisted_7 = /* @__PURE__ */ createTextVNode(" \u4E0B\u8F7D ");
222
- const _hoisted_8 = {
300
+ const _hoisted_3 = {
223
301
  key: 0,
224
302
  style: { "font-size": "12px", "font-style": "italic" }
225
303
  };
226
- const _hoisted_9 = ["src", "onClick"];
227
- const _hoisted_10 = ["innerHTML"];
228
- const _hoisted_11 = ["title"];
304
+ const _hoisted_4 = ["src", "onClick"];
305
+ const _hoisted_5 = ["innerHTML"];
306
+ const _hoisted_6 = ["title"];
229
307
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
230
308
  const _component_online_query_form = resolveComponent("online-query-form");
231
309
  const _component_a_button = resolveComponent("a-button");
@@ -233,9 +311,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
233
311
  const _component_TableAction = resolveComponent("TableAction");
234
312
  const _component_BasicTable = resolveComponent("BasicTable");
235
313
  const _component_OnlineAutoModal = resolveComponent("OnlineAutoModal");
314
+ const _component_online_detail_modal = resolveComponent("online-detail-modal");
236
315
  const _component_JImportModal = resolveComponent("JImportModal");
237
316
  const _component_a_modal = resolveComponent("a-modal");
238
317
  const _component_online_custom_modal = resolveComponent("online-custom-modal");
318
+ const _component_online_pop_modal = resolveComponent("online-pop-modal");
239
319
  return openBlock(), createElementBlock("div", _hoisted_1, [
240
320
  createVNode(_component_online_query_form, {
241
321
  ref: "onlineQueryFormOuter",
@@ -243,7 +323,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
243
323
  onSearch: _ctx.queryWithCondition,
244
324
  onLoaded: _ctx.onQueryFormLoaded
245
325
  }, null, 8, ["id", "onSearch", "onLoaded"]),
246
- createVNode(_component_BasicTable, {
326
+ !_ctx.tableReloading ? (openBlock(), createBlock(_component_BasicTable, {
327
+ key: 0,
247
328
  ref: "onlineTable",
248
329
  rowKey: "jeecg_row_key",
249
330
  canResize: true,
@@ -270,7 +351,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
270
351
  onClick: _ctx.handleAdd
271
352
  }, {
272
353
  default: withCtx(() => [
273
- _hoisted_2
354
+ createTextVNode("\u65B0\u589E")
274
355
  ]),
275
356
  _: 1
276
357
  }, 8, ["onClick"])) : createCommentVNode("", true),
@@ -281,7 +362,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
281
362
  onClick: _ctx.onImportExcel
282
363
  }, {
283
364
  default: withCtx(() => [
284
- _hoisted_3
365
+ createTextVNode("\u5BFC\u5165")
285
366
  ]),
286
367
  _: 1
287
368
  }, 8, ["onClick"])) : createCommentVNode("", true),
@@ -292,7 +373,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
292
373
  onClick: _ctx.onExportExcel
293
374
  }, {
294
375
  default: withCtx(() => [
295
- _hoisted_4
376
+ createTextVNode(" \u5BFC\u51FA")
296
377
  ]),
297
378
  _: 1
298
379
  }, 8, ["onClick"])) : createCommentVNode("", true),
@@ -327,7 +408,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
327
408
  onClick: _ctx.handleBatchDelete
328
409
  }, {
329
410
  default: withCtx(() => [
330
- _hoisted_5
411
+ createTextVNode(" \u6279\u91CF\u5220\u9664")
331
412
  ]),
332
413
  _: 1
333
414
  }, 8, ["onClick"])), [
@@ -341,7 +422,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
341
422
  }, null, 8, ["status", "onSearch"])) : createCommentVNode("", true)
342
423
  ]),
343
424
  fileSlot: withCtx(({ text }) => [
344
- !text ? (openBlock(), createElementBlock("span", _hoisted_6, "\u65E0\u6587\u4EF6")) : (openBlock(), createBlock(_component_a_button, {
425
+ !text ? (openBlock(), createElementBlock("span", _hoisted_2, "\u65E0\u6587\u4EF6")) : (openBlock(), createBlock(_component_a_button, {
345
426
  key: 1,
346
427
  ghost: true,
347
428
  type: "primary",
@@ -350,27 +431,27 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
350
431
  onClick: ($event) => _ctx.downloadRowFile(text)
351
432
  }, {
352
433
  default: withCtx(() => [
353
- _hoisted_7
434
+ createTextVNode(" \u4E0B\u8F7D ")
354
435
  ]),
355
436
  _: 2
356
437
  }, 1032, ["onClick"]))
357
438
  ]),
358
439
  imgSlot: withCtx(({ text }) => [
359
- !text ? (openBlock(), createElementBlock("span", _hoisted_8, "\u65E0\u56FE\u7247")) : (openBlock(), createElementBlock("img", {
440
+ !text ? (openBlock(), createElementBlock("span", _hoisted_3, "\u65E0\u56FE\u7247")) : (openBlock(), createElementBlock("img", {
360
441
  key: 1,
361
442
  src: _ctx.getImgView(text),
362
443
  alt: "\u56FE\u7247\u4E0D\u5B58\u5728",
363
444
  class: "online-cell-image",
364
445
  onClick: ($event) => _ctx.viewOnlineCellImage(text)
365
- }, null, 8, _hoisted_9))
446
+ }, null, 8, _hoisted_4))
366
447
  ]),
367
448
  htmlSlot: withCtx(({ text }) => [
368
- createElementVNode("div", { innerHTML: text }, null, 8, _hoisted_10)
449
+ createElementVNode("div", { innerHTML: text }, null, 8, _hoisted_5)
369
450
  ]),
370
451
  pcaSlot: withCtx(({ text }) => [
371
452
  createElementVNode("div", {
372
453
  title: _ctx.getPcaText(text)
373
- }, toDisplayString(_ctx.getPcaText(text)), 9, _hoisted_11)
454
+ }, toDisplayString(_ctx.getPcaText(text)), 9, _hoisted_6)
374
455
  ]),
375
456
  dateSlot: withCtx(({ text }) => [
376
457
  createElementVNode("span", null, toDisplayString(_ctx.getFormatDate(text)), 1)
@@ -382,12 +463,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
382
463
  }, null, 8, ["actions", "dropDownActions"])
383
464
  ]),
384
465
  _: 1
385
- }, 8, ["loading", "columns", "dataSource", "pagination", "rowSelection", "actionColumn", "scroll", "onTableRedo", "class", "onChange"]),
466
+ }, 8, ["loading", "columns", "dataSource", "pagination", "rowSelection", "actionColumn", "scroll", "onTableRedo", "class", "onChange"])) : createCommentVNode("", true),
386
467
  createVNode(_component_OnlineAutoModal, {
387
468
  id: _ctx.ID,
388
469
  onRegister: _ctx.registerModal,
389
- onSuccess: _ctx.reload
390
- }, null, 8, ["id", "onRegister", "onSuccess"]),
470
+ onSuccess: _ctx.reload,
471
+ onFormConfig: _ctx.handleFormConfig
472
+ }, null, 8, ["id", "onRegister", "onSuccess", "onFormConfig"]),
473
+ createVNode(_component_online_detail_modal, {
474
+ id: _ctx.ID,
475
+ onRegister: _ctx.registerDetailModal
476
+ }, null, 8, ["id", "onRegister"]),
391
477
  createVNode(_component_JImportModal, {
392
478
  onRegister: _ctx.registerImportModal,
393
479
  url: _ctx.importUrl(),
@@ -403,7 +489,20 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
403
489
  createVNode(_component_online_custom_modal, {
404
490
  onRegister: _ctx.registerCustomModal,
405
491
  onSuccess: _ctx.reload
406
- }, null, 8, ["onRegister", "onSuccess"])
492
+ }, null, 8, ["onRegister", "onSuccess"]),
493
+ createVNode(_component_online_detail_modal, {
494
+ id: _ctx.hrefMainTableId,
495
+ onRegister: _ctx.registerOnlineHrefModal,
496
+ defaultFullscreen: false
497
+ }, null, 8, ["id", "onRegister"]),
498
+ createVNode(_component_online_pop_modal, {
499
+ ref: "onlinePopModalRef",
500
+ id: _ctx.popTableId,
501
+ onRegister: _ctx.registerPopModal,
502
+ onSuccess: _ctx.reload,
503
+ request: "",
504
+ topTip: ""
505
+ }, null, 8, ["id", "onRegister", "onSuccess"])
407
506
  ]);
408
507
  }
409
508
  var OnlineAutoList = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);