@shwfed/config 2.9.13 → 2.10.1

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 (156) hide show
  1. package/dist/mcp.mjs +5020 -3637
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-DZ_H-YRf.js → FieldGroup.vue_vue_type_script_setup_true_lang-CuFusz5A.js} +1 -1
  4. package/dist/preview/assets/{badge-DoNuZh0A.js → badge-D5FPHSix.js} +1 -1
  5. package/dist/preview/assets/{config-DTEJOYqA.js → config-BHPiQ1lB.js} +1 -1
  6. package/dist/preview/assets/{config-C6Cm7DWx.js → config-BWC-Zw21.js} +1 -1
  7. package/dist/preview/assets/{config-YGBoSq6x.js → config-Bg94Z7XN.js} +1 -1
  8. package/dist/preview/assets/{config-CLsjWZz2.js → config-BqSL4UAL.js} +1 -1
  9. package/dist/preview/assets/{config-ugF_BOWz.js → config-CeRBpZbE.js} +1 -1
  10. package/dist/preview/assets/{config-BDDuqAht.js → config-CfjcFb_E.js} +1 -1
  11. package/dist/preview/assets/{config-Bhc_Vu67.js → config-DNUKa3lN.js} +1 -1
  12. package/dist/preview/assets/{config-D4rFsdGO.js → config-DVjZmomc.js} +1 -1
  13. package/dist/preview/assets/{config-tdZMdIN3.js → config-Djv6EQBY.js} +1 -1
  14. package/dist/preview/assets/{config-CIYui2J_.js → config-PNpa6ENz.js} +1 -1
  15. package/dist/preview/assets/{config-Cla0Qngs.js → config-ucxtM3wX.js} +1 -1
  16. package/dist/preview/assets/{config-BrNZsgV0.js → config-urZuasV7.js} +1 -1
  17. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-CgNXv26P.js → definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js} +1 -1
  18. package/dist/preview/assets/index-BE9O1XgB.js +1 -0
  19. package/dist/preview/assets/{index-CzzwZ7bp.css → index-BnJ5p1Mx.css} +1 -1
  20. package/dist/preview/assets/{index-C3FdepLE.js → index-DCRQGu0g.js} +1 -1
  21. package/dist/preview/assets/index-yvElpEK3.js +743 -0
  22. package/dist/preview/assets/{item-DecwNzYq.js → item-CTkdtkvl.js} +1 -1
  23. package/dist/preview/assets/{runtime-DtP98Km5.js → runtime-3rajYvjp.js} +1 -1
  24. package/dist/preview/assets/{runtime-C8Ufkmiw.js → runtime-4A3oiig9.js} +1 -1
  25. package/dist/preview/assets/{runtime-blb90Fhv.js → runtime-BOGZFWxF.js} +1 -1
  26. package/dist/preview/assets/{runtime-BK7KNEyN.js → runtime-BqroTX7H.js} +1 -1
  27. package/dist/preview/assets/{runtime-DSUjc0Pk.js → runtime-CBBae0-H.js} +1 -1
  28. package/dist/preview/assets/{runtime-CYpXd7Pq.js → runtime-CBuV3vwL.js} +1 -1
  29. package/dist/preview/assets/{runtime-CjPtRd-T.js → runtime-CI8yzwXd.js} +1 -1
  30. package/dist/preview/assets/{runtime-C5hqSHRW.js → runtime-CcyhgOum.js} +1 -1
  31. package/dist/preview/assets/{runtime-C3dmOj9s.js → runtime-CkQ-mNoH.js} +1 -1
  32. package/dist/preview/assets/{runtime-DZ_AwduQ.js → runtime-DmxKfudS.js} +1 -1
  33. package/dist/preview/assets/{schema-meta-DWUHNP8E.js → schema-meta-BFzIzGiN.js} +1 -1
  34. package/dist/preview/index.html +2 -2
  35. package/dist/runtime/components/actions/components/triggers-field.vue +12 -12
  36. package/dist/runtime/components/config/use-editor.js +1 -1
  37. package/dist/runtime/components/config/utils/validation-error.d.ts +1 -1
  38. package/dist/runtime/components/config/utils/validation-error.js +40 -7
  39. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.markdown/runtime.vue +3 -3
  40. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.text/runtime.vue +6 -5
  41. package/dist/runtime/components/form/fields/2026-04-22/com.shwfed.form.field.textarea/runtime.vue +6 -5
  42. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/runtime.vue +10 -8
  43. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.date/runtime.vue +8 -6
  44. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/runtime.vue +10 -8
  45. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetime/runtime.vue +8 -6
  46. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/runtime.vue +10 -8
  47. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.time/runtime.vue +7 -5
  48. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/runtime.vue +8 -6
  49. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/runtime.vue +7 -6
  50. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/runtime.vue +9 -7
  51. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/runtime.vue +4 -3
  52. package/dist/runtime/components/form/fields/2026-04-29/com.shwfed.form.field.combobox.single/runtime.vue +8 -6
  53. package/dist/runtime/components/form/fields/2026-05-12/com.shwfed.form.field.upload/runtime.vue +5 -4
  54. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/runtime.vue +12 -10
  55. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.list/runtime.vue +5 -4
  56. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.checkbox.group/runtime.vue +9 -7
  57. package/dist/runtime/components/form/fields/2026-05-17/com.shwfed.form.field.radio.group/runtime.vue +9 -7
  58. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/runtime.vue +13 -15
  59. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.month/runtime.vue +8 -6
  60. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/runtime.vue +10 -8
  61. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/runtime.vue +10 -8
  62. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/runtime.vue +13 -14
  63. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/runtime.vue +13 -14
  64. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.multi/runtime.vue +14 -12
  65. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.combobox.single/runtime.vue +14 -12
  66. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/runtime.vue +13 -14
  67. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/runtime.vue +13 -14
  68. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/runtime.vue +13 -15
  69. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/runtime.vue +15 -16
  70. package/dist/runtime/components/form/fields/2026-06-09/com.shwfed.form.field.upload/runtime.vue +8 -7
  71. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/config.d.vue.ts +175 -0
  72. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/config.vue +782 -0
  73. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/config.vue.d.ts +175 -0
  74. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/runtime.d.vue.ts +8 -0
  75. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/runtime.vue +413 -0
  76. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/runtime.vue.d.ts +8 -0
  77. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.d.ts +214 -0
  78. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.multi/schema.js +191 -0
  79. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/config.d.vue.ts +175 -0
  80. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/config.vue +782 -0
  81. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/config.vue.d.ts +175 -0
  82. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.d.vue.ts +8 -0
  83. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.vue +426 -0
  84. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/runtime.vue.d.ts +8 -0
  85. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.d.ts +214 -0
  86. package/dist/runtime/components/form/fields/2026-06-14/com.shwfed.form.field.combobox.single/schema.js +191 -0
  87. package/dist/runtime/components/form/fields/2026-06-14/combobox-migrate.d.ts +18 -0
  88. package/dist/runtime/components/form/fields/2026-06-14/combobox-migrate.js +36 -0
  89. package/dist/runtime/components/form/utils/state.d.ts +11 -0
  90. package/dist/runtime/components/form/utils/state.js +5 -0
  91. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
  92. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/runtime.vue +16 -3
  93. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/runtime.vue +5 -1
  94. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/runtime.vue +5 -1
  95. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/runtime.vue +17 -3
  96. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.vue +5 -1
  97. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.vue +5 -1
  98. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
  99. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/runtime.vue +5 -1
  100. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/runtime.vue +5 -1
  101. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
  102. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/runtime.vue +5 -1
  103. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
  104. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/runtime.vue +5 -1
  105. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue +5 -1
  106. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue +5 -1
  107. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
  108. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
  109. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/runtime.vue +5 -1
  110. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/runtime.vue +5 -1
  111. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +179 -0
  112. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue +942 -0
  113. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +179 -0
  114. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.d.vue.ts +9 -0
  115. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue +499 -0
  116. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue.d.ts +9 -0
  117. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +223 -0
  118. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.js +276 -0
  119. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +179 -0
  120. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue +942 -0
  121. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +179 -0
  122. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.d.vue.ts +9 -0
  123. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue +438 -0
  124. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue.d.ts +9 -0
  125. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +223 -0
  126. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.js +276 -0
  127. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +123 -0
  128. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue +646 -0
  129. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +123 -0
  130. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.d.vue.ts +9 -0
  131. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue +500 -0
  132. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue.d.ts +9 -0
  133. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +83 -0
  134. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +179 -0
  135. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +121 -0
  136. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue +577 -0
  137. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +121 -0
  138. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.d.vue.ts +9 -0
  139. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue +465 -0
  140. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue.d.ts +9 -0
  141. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +80 -0
  142. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +171 -0
  143. package/dist/runtime/components/table/columns/2026-06-14/combobox-migrate.d.ts +18 -0
  144. package/dist/runtime/components/table/columns/2026-06-14/combobox-migrate.js +36 -0
  145. package/dist/runtime/components/table/columns/2026-06-14/tree-combobox-shared.d.ts +35 -0
  146. package/dist/runtime/components/table/columns/2026-06-14/tree-combobox-shared.js +31 -0
  147. package/dist/runtime/components/table/index.d.vue.ts +2 -0
  148. package/dist/runtime/components/table/index.vue +24 -0
  149. package/dist/runtime/components/table/index.vue.d.ts +2 -0
  150. package/dist/runtime/components/table/utils/shared.d.ts +1 -0
  151. package/dist/runtime/components/table/utils/shared.js +7 -13
  152. package/dist/runtime/components/ui/input-group/InputGroupNumberField.vue +1 -1
  153. package/dist/runtime/share/expression.js +1 -0
  154. package/package.json +1 -1
  155. package/dist/preview/assets/index-B-QhiviS.js +0 -1
  156. package/dist/preview/assets/index-CWMhB7z4.js +0 -735
@@ -7,6 +7,7 @@ import { computed, nextTick, ref, watch } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { cel as _rawCel } from "../../../../../utils/cel";
9
9
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
10
+ import { useFormReadonly } from "../../../../form/utils/readonly";
10
11
  import { getLocalizedText } from "../../../../../share/locale";
11
12
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
12
13
  import {
@@ -63,7 +64,10 @@ function evalBool(expression, label) {
63
64
  }
64
65
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
65
66
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
66
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
67
+ const formReadonly = useFormReadonly();
68
+ const isReadonly = computed(
69
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
70
+ );
67
71
  const isInteractive = computed(() => !!props.column.onChange);
68
72
  const pending = ref(false);
69
73
  function safeInterpolate(tpl) {
@@ -5,6 +5,7 @@ import { computed, ref, watch } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
+ import { useFormReadonly } from "../../../../form/utils/readonly";
8
9
  import { getLocalizedText } from "../../../../../share/locale";
9
10
  import {
10
11
  Command,
@@ -61,7 +62,10 @@ function evalBool(expression, label) {
61
62
  }
62
63
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
63
64
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
64
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
65
+ const formReadonly = useFormReadonly();
66
+ const isReadonly = computed(
67
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
68
+ );
65
69
  const effectiveReadonly = computed(
66
70
  () => isReadonly.value || props.column.derived?.mode === "formula"
67
71
  );
@@ -9,6 +9,7 @@ import { useI18n } from "vue-i18n";
9
9
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
10
10
  import { cel as _rawCel } from "../../../../../utils/cel";
11
11
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
12
+ import { useFormReadonly } from "../../../../form/utils/readonly";
12
13
  import { getLocalizedText } from "../../../../../share/locale";
13
14
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
14
15
  import {
@@ -72,7 +73,10 @@ function evalBool(expression, label) {
72
73
  }
73
74
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
74
75
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
75
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
76
+ const formReadonly = useFormReadonly();
77
+ const isReadonly = computed(
78
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
79
+ );
76
80
  const isInteractive = computed(() => !!props.column.onChange);
77
81
  const pending = ref(false);
78
82
  const json = ref(null);
@@ -7,6 +7,7 @@ import { computed, ref, watch } from "vue";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { cel as _rawCel } from "../../../../../utils/cel";
9
9
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
10
+ import { useFormReadonly } from "../../../../form/utils/readonly";
10
11
  import { getLocalizedText } from "../../../../../share/locale";
11
12
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
12
13
  import {
@@ -63,7 +64,10 @@ function evalBool(expression, label) {
63
64
  }
64
65
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
65
66
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
66
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
67
+ const formReadonly = useFormReadonly();
68
+ const isReadonly = computed(
69
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
70
+ );
67
71
  const isInteractive = computed(() => !!props.column.onChange);
68
72
  const pending = ref(false);
69
73
  function safeInterpolate(tpl) {
@@ -7,6 +7,7 @@ import { useI18n } from "vue-i18n";
7
7
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
8
8
  import { cel as _rawCel } from "../../../../../utils/cel";
9
9
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
10
+ import { useFormReadonly } from "../../../../form/utils/readonly";
10
11
  import { getLocalizedText } from "../../../../../share/locale";
11
12
  import {
12
13
  Command,
@@ -70,7 +71,10 @@ function evalBool(expression, label) {
70
71
  }
71
72
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
72
73
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
73
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
74
+ const formReadonly = useFormReadonly();
75
+ const isReadonly = computed(
76
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
77
+ );
74
78
  const effectiveReadonly = computed(
75
79
  () => isReadonly.value || props.column.derived?.mode === "formula"
76
80
  );
@@ -9,6 +9,7 @@ import { useI18n } from "vue-i18n";
9
9
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
10
10
  import { cel as _rawCel } from "../../../../../utils/cel";
11
11
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
12
+ import { useFormReadonly } from "../../../../form/utils/readonly";
12
13
  import { getLocalizedText } from "../../../../../share/locale";
13
14
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
14
15
  import {
@@ -72,7 +73,10 @@ function evalBool(expression, label) {
72
73
  }
73
74
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
74
75
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
75
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
76
+ const formReadonly = useFormReadonly();
77
+ const isReadonly = computed(
78
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
79
+ );
76
80
  const isInteractive = computed(() => !!props.column.onChange);
77
81
  const pending = ref(false);
78
82
  function safeInterpolate(tpl, context) {
@@ -6,6 +6,7 @@ import { computed, nextTick, ref, watch } from "vue";
6
6
  import { useI18n } from "vue-i18n";
7
7
  import { cel as _rawCel } from "../../../../../utils/cel";
8
8
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
9
+ import { useFormReadonly } from "../../../../form/utils/readonly";
9
10
  import { getLocalizedText } from "../../../../../share/locale";
10
11
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
11
12
  import {
@@ -70,7 +71,10 @@ function evalBool(expression, label) {
70
71
  }
71
72
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
72
73
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
73
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
74
+ const formReadonly = useFormReadonly();
75
+ const isReadonly = computed(
76
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
77
+ );
74
78
  const effectiveReadonly = computed(
75
79
  () => isReadonly.value || props.column.derived?.mode === "formula"
76
80
  );
@@ -9,6 +9,7 @@ import { useI18n } from "vue-i18n";
9
9
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
10
10
  import { cel as _rawCel } from "../../../../../utils/cel";
11
11
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
12
+ import { useFormReadonly } from "../../../../form/utils/readonly";
12
13
  import { getLocalizedText } from "../../../../../share/locale";
13
14
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
14
15
  import {
@@ -72,7 +73,10 @@ function evalBool(expression, label) {
72
73
  }
73
74
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
74
75
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
75
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
76
+ const formReadonly = useFormReadonly();
77
+ const isReadonly = computed(
78
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
79
+ );
76
80
  const isInteractive = computed(() => !!props.column.onChange);
77
81
  const pending = ref(false);
78
82
  function safeInterpolate(tpl, context) {
@@ -5,6 +5,7 @@ import { computed, ref, shallowRef, watch } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
+ import { useFormReadonly } from "../../../../form/utils/readonly";
8
9
  import { getLocalizedText } from "../../../../../share/locale";
9
10
  import { fetchJsonOption } from "../../../../../share/request";
10
11
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
@@ -71,7 +72,10 @@ function evalBool(expression, label) {
71
72
  }
72
73
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
73
74
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
74
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
75
+ const formReadonly = useFormReadonly();
76
+ const isReadonly = computed(
77
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
78
+ );
75
79
  const effectiveReadonly = computed(
76
80
  () => isReadonly.value || props.column.derived?.mode === "formula"
77
81
  );
@@ -5,6 +5,7 @@ import { computed, ref, shallowRef, watch } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
+ import { useFormReadonly } from "../../../../form/utils/readonly";
8
9
  import { getLocalizedText } from "../../../../../share/locale";
9
10
  import { fetchJsonOption } from "../../../../../share/request";
10
11
  import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "../../../../ui/input-group";
@@ -71,7 +72,10 @@ function evalBool(expression, label) {
71
72
  }
72
73
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
73
74
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
74
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
75
+ const formReadonly = useFormReadonly();
76
+ const isReadonly = computed(
77
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
78
+ );
75
79
  const effectiveReadonly = computed(
76
80
  () => isReadonly.value || props.column.derived?.mode === "formula"
77
81
  );
@@ -9,6 +9,7 @@ import { useI18n } from "vue-i18n";
9
9
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
10
10
  import { cel as _rawCel } from "../../../../../utils/cel";
11
11
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
12
+ import { useFormReadonly } from "../../../../form/utils/readonly";
12
13
  import { publishSelection } from "../../../../../utils/selections-registry";
13
14
  import { getLocalizedText } from "../../../../../share/locale";
14
15
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
@@ -75,7 +76,10 @@ function evalBool(expression, label) {
75
76
  }
76
77
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
77
78
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
78
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
79
+ const formReadonly = useFormReadonly();
80
+ const isReadonly = computed(
81
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
82
+ );
79
83
  const isInteractive = computed(
80
84
  () => props.column.write.kind === "binding" || !!props.column.write.onChange
81
85
  );
@@ -9,6 +9,7 @@ import { useI18n } from "vue-i18n";
9
9
  import { asRequest, fetchJsonOption } from "../../../../../share/request";
10
10
  import { cel as _rawCel } from "../../../../../utils/cel";
11
11
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
12
+ import { useFormReadonly } from "../../../../form/utils/readonly";
12
13
  import { publishSelection } from "../../../../../utils/selections-registry";
13
14
  import { getLocalizedText } from "../../../../../share/locale";
14
15
  import { dispatchTriggers, useEventChannel } from "../../../../../share/event-bus";
@@ -75,7 +76,10 @@ function evalBool(expression, label) {
75
76
  }
76
77
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
77
78
  const isDisabledByConfig = computed(() => evalBool(props.column.disabled, "disabled"));
78
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
79
+ const formReadonly = useFormReadonly();
80
+ const isReadonly = computed(
81
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
82
+ );
79
83
  const isInteractive = computed(
80
84
  () => props.column.write.kind === "binding" || !!props.column.write.onChange
81
85
  );
@@ -5,6 +5,7 @@ import { computed, ref, shallowRef, watch } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
+ import { useFormReadonly } from "../../../../form/utils/readonly";
8
9
  import { publishSelection } from "../../../../../utils/selections-registry";
9
10
  import { getLocalizedText } from "../../../../../share/locale";
10
11
  import { fetchJsonOption } from "../../../../../share/request";
@@ -72,7 +73,10 @@ function evalBool(expression, label) {
72
73
  }
73
74
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
74
75
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
75
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
76
+ const formReadonly = useFormReadonly();
77
+ const isReadonly = computed(
78
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
79
+ );
76
80
  const effectiveReadonly = computed(
77
81
  () => isReadonly.value || props.column.derived?.mode === "formula"
78
82
  );
@@ -5,6 +5,7 @@ import { computed, ref, shallowRef, watch } from "vue";
5
5
  import { useI18n } from "vue-i18n";
6
6
  import { cel as _rawCel } from "../../../../../utils/cel";
7
7
  import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
8
+ import { useFormReadonly } from "../../../../form/utils/readonly";
8
9
  import { publishSelection } from "../../../../../utils/selections-registry";
9
10
  import { getLocalizedText } from "../../../../../share/locale";
10
11
  import { fetchJsonOption } from "../../../../../share/request";
@@ -72,7 +73,10 @@ function evalBool(expression, label) {
72
73
  }
73
74
  const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
74
75
  const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
75
- const isReadonly = computed(() => evalBool(props.column.readonly, "readonly"));
76
+ const formReadonly = useFormReadonly();
77
+ const isReadonly = computed(
78
+ () => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
79
+ );
76
80
  const effectiveReadonly = computed(
77
81
  () => isReadonly.value || props.column.derived?.mode === "formula"
78
82
  );
@@ -0,0 +1,179 @@
1
+ import { type Value } from './schema.js';
2
+ type __VLS_ModelProps = {
3
+ modelValue: Value;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: {
7
+ readonly size?: number | undefined;
8
+ readonly disabled?: string | undefined;
9
+ readonly type: "com.shwfed.table.column.combobox-multi";
10
+ readonly id: string;
11
+ readonly title: readonly [{
12
+ readonly locale: "zh";
13
+ readonly message: string;
14
+ }, ...{
15
+ readonly locale: "en" | "ja" | "ko";
16
+ readonly message: string;
17
+ }[]];
18
+ readonly hidden?: string | undefined;
19
+ readonly tooltip?: readonly [{
20
+ readonly locale: "zh";
21
+ readonly message: string;
22
+ }, ...{
23
+ readonly locale: "en" | "ja" | "ko";
24
+ readonly message: string;
25
+ }[]] | undefined;
26
+ readonly compatibilityDate: "2026-06-14";
27
+ readonly groupId?: string | undefined;
28
+ readonly placeholder?: readonly [{
29
+ readonly locale: "zh";
30
+ readonly message: string;
31
+ }, ...{
32
+ readonly locale: "en" | "ja" | "ko";
33
+ readonly message: string;
34
+ }[]] | undefined;
35
+ readonly readonly?: string | undefined;
36
+ readonly grow?: boolean | undefined;
37
+ readonly enableSorting?: boolean | undefined;
38
+ readonly options: {
39
+ readonly kind: "remote";
40
+ readonly request: string;
41
+ readonly options: string;
42
+ readonly optionValue: string;
43
+ readonly optionLabel: string;
44
+ readonly optionKeywords?: string | undefined;
45
+ } | {
46
+ readonly kind: "static";
47
+ readonly items: readonly {
48
+ readonly label: readonly [{
49
+ readonly locale: "zh";
50
+ readonly message: string;
51
+ }, ...{
52
+ readonly locale: "en" | "ja" | "ko";
53
+ readonly message: string;
54
+ }[]];
55
+ readonly id: string;
56
+ readonly tooltip?: readonly [{
57
+ readonly locale: "zh";
58
+ readonly message: string;
59
+ }, ...{
60
+ readonly locale: "en" | "ja" | "ko";
61
+ readonly message: string;
62
+ }[]] | undefined;
63
+ readonly value: {
64
+ readonly value: string;
65
+ readonly kind: "text";
66
+ } | {
67
+ readonly value: number;
68
+ readonly kind: "number";
69
+ };
70
+ readonly keywords?: readonly string[] | undefined;
71
+ }[];
72
+ };
73
+ readonly sortKey?: string | undefined;
74
+ readonly write: {
75
+ readonly kind: "binding";
76
+ readonly binding: string;
77
+ } | {
78
+ readonly onChange?: string | undefined;
79
+ readonly kind: "remote";
80
+ readonly triggers?: readonly {
81
+ readonly id?: string | undefined;
82
+ readonly params?: unknown;
83
+ readonly compatibilityDate?: string | undefined;
84
+ readonly target: string;
85
+ readonly operation: string;
86
+ }[] | undefined;
87
+ readonly accessor: string;
88
+ readonly successMessage?: string | undefined;
89
+ };
90
+ }) => any;
91
+ }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
92
+ "onUpdate:modelValue"?: ((value: {
93
+ readonly size?: number | undefined;
94
+ readonly disabled?: string | undefined;
95
+ readonly type: "com.shwfed.table.column.combobox-multi";
96
+ readonly id: string;
97
+ readonly title: readonly [{
98
+ readonly locale: "zh";
99
+ readonly message: string;
100
+ }, ...{
101
+ readonly locale: "en" | "ja" | "ko";
102
+ readonly message: string;
103
+ }[]];
104
+ readonly hidden?: string | undefined;
105
+ readonly tooltip?: readonly [{
106
+ readonly locale: "zh";
107
+ readonly message: string;
108
+ }, ...{
109
+ readonly locale: "en" | "ja" | "ko";
110
+ readonly message: string;
111
+ }[]] | undefined;
112
+ readonly compatibilityDate: "2026-06-14";
113
+ readonly groupId?: string | undefined;
114
+ readonly placeholder?: readonly [{
115
+ readonly locale: "zh";
116
+ readonly message: string;
117
+ }, ...{
118
+ readonly locale: "en" | "ja" | "ko";
119
+ readonly message: string;
120
+ }[]] | undefined;
121
+ readonly readonly?: string | undefined;
122
+ readonly grow?: boolean | undefined;
123
+ readonly enableSorting?: boolean | undefined;
124
+ readonly options: {
125
+ readonly kind: "remote";
126
+ readonly request: string;
127
+ readonly options: string;
128
+ readonly optionValue: string;
129
+ readonly optionLabel: string;
130
+ readonly optionKeywords?: string | undefined;
131
+ } | {
132
+ readonly kind: "static";
133
+ readonly items: readonly {
134
+ readonly label: readonly [{
135
+ readonly locale: "zh";
136
+ readonly message: string;
137
+ }, ...{
138
+ readonly locale: "en" | "ja" | "ko";
139
+ readonly message: string;
140
+ }[]];
141
+ readonly id: string;
142
+ readonly tooltip?: readonly [{
143
+ readonly locale: "zh";
144
+ readonly message: string;
145
+ }, ...{
146
+ readonly locale: "en" | "ja" | "ko";
147
+ readonly message: string;
148
+ }[]] | undefined;
149
+ readonly value: {
150
+ readonly value: string;
151
+ readonly kind: "text";
152
+ } | {
153
+ readonly value: number;
154
+ readonly kind: "number";
155
+ };
156
+ readonly keywords?: readonly string[] | undefined;
157
+ }[];
158
+ };
159
+ readonly sortKey?: string | undefined;
160
+ readonly write: {
161
+ readonly kind: "binding";
162
+ readonly binding: string;
163
+ } | {
164
+ readonly onChange?: string | undefined;
165
+ readonly kind: "remote";
166
+ readonly triggers?: readonly {
167
+ readonly id?: string | undefined;
168
+ readonly params?: unknown;
169
+ readonly compatibilityDate?: string | undefined;
170
+ readonly target: string;
171
+ readonly operation: string;
172
+ }[] | undefined;
173
+ readonly accessor: string;
174
+ readonly successMessage?: string | undefined;
175
+ };
176
+ }) => any) | undefined;
177
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
178
+ declare const _default: typeof __VLS_export;
179
+ export default _default;