@shwfed/config 2.10.0 → 2.10.2

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 (149) hide show
  1. package/dist/mcp.mjs +4125 -3183
  2. package/dist/module.json +1 -1
  3. package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-CCaOWk_7.js → FieldGroup.vue_vue_type_script_setup_true_lang-DX5M_WNF.js} +1 -1
  4. package/dist/preview/assets/{badge-D9_7atSJ.js → badge-DFZBH8N6.js} +1 -1
  5. package/dist/preview/assets/{config-B2d8SiPi.js → config-BH2BmDoD.js} +1 -1
  6. package/dist/preview/assets/{config-Bk2VSNeu.js → config-Bg7a8Rid.js} +1 -1
  7. package/dist/preview/assets/{config-DYxMKhCU.js → config-BiOW8fS2.js} +1 -1
  8. package/dist/preview/assets/{config-CNKb25Qo.js → config-Bnp547Nm.js} +1 -1
  9. package/dist/preview/assets/{config-Bf5Vckj3.js → config-CSmHhOh2.js} +1 -1
  10. package/dist/preview/assets/{config-CQrqVV1U.js → config-CTF5-TTQ.js} +1 -1
  11. package/dist/preview/assets/{config-DWA385pD.js → config-CqeWJt_H.js} +1 -1
  12. package/dist/preview/assets/{config-BLEovXei.js → config-DBtEKoan.js} +1 -1
  13. package/dist/preview/assets/{config-DyPl6K2G.js → config-DeDCNzY_.js} +1 -1
  14. package/dist/preview/assets/{config-C9WPOoA7.js → config-Dj3w2JkF.js} +1 -1
  15. package/dist/preview/assets/{config-DZlaJUlF.js → config-XGJ9V32V.js} +1 -1
  16. package/dist/preview/assets/{config-C8lCItmz.js → config-uIHUHvNR.js} +1 -1
  17. package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-CFzQ7icU.js → definition.vue_vue_type_script_setup_true_lang-Cu0CEKYT.js} +1 -1
  18. package/dist/preview/assets/index-CGChrBji.js +1 -0
  19. package/dist/preview/assets/{index-CXOEVGFP.js → index-CQA6q2ay.js} +1 -1
  20. package/dist/preview/assets/index-DX9_iE4h.js +743 -0
  21. package/dist/preview/assets/{index-BnJ5p1Mx.css → index-pkoEF5dC.css} +1 -1
  22. package/dist/preview/assets/{item-DCVX69_o.js → item-C4VJfiq8.js} +1 -1
  23. package/dist/preview/assets/{runtime-DEWGIyvr.js → runtime-6Zrje7Y1.js} +1 -1
  24. package/dist/preview/assets/{runtime-O6MNC3GA.js → runtime-BN-jMAt7.js} +1 -1
  25. package/dist/preview/assets/{runtime-BD1A-g1h.js → runtime-BQMnWueG.js} +1 -1
  26. package/dist/preview/assets/{runtime-BsNSI1XP.js → runtime-CBz5XstF.js} +1 -1
  27. package/dist/preview/assets/{runtime-BNk4EliL.js → runtime-CFb1tHwr.js} +1 -1
  28. package/dist/preview/assets/{runtime-Cbc5NH57.js → runtime-DQL6lCFp.js} +1 -1
  29. package/dist/preview/assets/{runtime-DSfMvph3.js → runtime-DcdmMgqL.js} +1 -1
  30. package/dist/preview/assets/{runtime-DJ9ElxWB.js → runtime-okYOTQd6.js} +1 -1
  31. package/dist/preview/assets/{runtime-BO-KY3T_.js → runtime-qPyuMgsh.js} +1 -1
  32. package/dist/preview/assets/{runtime-r1wbrr4k.js → runtime-yfWYeUh4.js} +1 -1
  33. package/dist/preview/assets/{schema-meta-ovcuERKg.js → schema-meta-6ZPO8dHv.js} +1 -1
  34. package/dist/preview/index.html +2 -2
  35. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.d.vue.ts +2 -2
  36. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/config.vue.d.ts +2 -2
  37. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.d.vue.ts +4 -4
  38. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/runtime.vue.d.ts +4 -4
  39. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.form/schema.d.ts +1 -1
  40. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +2 -2
  41. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +2 -2
  42. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +2 -2
  43. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +2 -2
  44. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +2 -2
  45. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  46. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  47. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.d.vue.ts +6 -6
  48. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.number/config.vue.d.ts +6 -6
  49. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.d.vue.ts +6 -6
  50. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.numberrange/config.vue.d.ts +6 -6
  51. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.d.vue.ts +22 -22
  52. package/dist/runtime/components/form/fields/2026-04-28/com.shwfed.form.field.switch/config.vue.d.ts +22 -22
  53. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  54. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  55. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +8 -8
  56. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +8 -8
  57. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  58. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  59. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +8 -8
  60. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +8 -8
  61. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +8 -8
  62. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +8 -8
  63. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +8 -8
  64. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +8 -8
  65. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +8 -8
  66. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +8 -8
  67. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +8 -8
  68. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +8 -8
  69. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +8 -8
  70. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +8 -8
  71. package/dist/runtime/components/form/schema.d.ts +2 -2
  72. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
  73. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/runtime.vue +16 -3
  74. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/runtime.vue +5 -1
  75. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/runtime.vue +5 -1
  76. package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/runtime.vue +17 -3
  77. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.d.vue.ts +4 -4
  78. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/config.vue.d.ts +4 -4
  79. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.vue +5 -1
  80. package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.vue +5 -1
  81. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
  82. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.d.vue.ts +4 -4
  83. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/config.vue.d.ts +4 -4
  84. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/runtime.vue +5 -1
  85. package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/runtime.vue +5 -1
  86. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
  87. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/runtime.vue +5 -1
  88. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
  89. package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/runtime.vue +5 -1
  90. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  91. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  92. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue +5 -1
  93. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  94. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  95. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue +5 -1
  96. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
  97. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
  98. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +10 -10
  99. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +10 -10
  100. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/runtime.vue +5 -1
  101. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +10 -10
  102. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +10 -10
  103. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/runtime.vue +5 -1
  104. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +179 -0
  105. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue +942 -0
  106. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +179 -0
  107. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.d.vue.ts +9 -0
  108. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue +499 -0
  109. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue.d.ts +9 -0
  110. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +223 -0
  111. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.js +276 -0
  112. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +179 -0
  113. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue +942 -0
  114. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +179 -0
  115. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.d.vue.ts +9 -0
  116. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue +438 -0
  117. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue.d.ts +9 -0
  118. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +223 -0
  119. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.js +276 -0
  120. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +123 -0
  121. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue +646 -0
  122. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +123 -0
  123. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.d.vue.ts +9 -0
  124. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue +500 -0
  125. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue.d.ts +9 -0
  126. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +83 -0
  127. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +179 -0
  128. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +121 -0
  129. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue +577 -0
  130. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +121 -0
  131. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.d.vue.ts +9 -0
  132. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue +465 -0
  133. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue.d.ts +9 -0
  134. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +80 -0
  135. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +171 -0
  136. package/dist/runtime/components/table/columns/2026-06-14/combobox-migrate.d.ts +18 -0
  137. package/dist/runtime/components/table/columns/2026-06-14/combobox-migrate.js +36 -0
  138. package/dist/runtime/components/table/columns/2026-06-14/tree-combobox-shared.d.ts +35 -0
  139. package/dist/runtime/components/table/columns/2026-06-14/tree-combobox-shared.js +31 -0
  140. package/dist/runtime/components/table/config.vue +74 -8
  141. package/dist/runtime/components/table/index.d.vue.ts +2 -0
  142. package/dist/runtime/components/table/index.vue +24 -0
  143. package/dist/runtime/components/table/index.vue.d.ts +2 -0
  144. package/dist/runtime/components/table/schema.d.ts +3 -3
  145. package/dist/runtime/components/table/utils/shared.d.ts +1 -0
  146. package/dist/runtime/components/table/utils/shared.js +7 -13
  147. package/package.json +1 -1
  148. package/dist/preview/assets/index-7BE56IYF.js +0 -739
  149. package/dist/preview/assets/index-Bwv0Yz_L.js +0 -1
@@ -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, 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
  );
@@ -45,6 +45,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
45
45
  readonly grow?: boolean | undefined;
46
46
  readonly enableSorting?: boolean | undefined;
47
47
  readonly options: string;
48
+ readonly accessor: string;
49
+ readonly sortKey?: string | undefined;
48
50
  readonly optionValue: string;
49
51
  readonly optionLabel: readonly [{
50
52
  readonly locale: "zh";
@@ -53,8 +55,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
55
  readonly locale: "en" | "ja" | "ko";
54
56
  readonly message: string;
55
57
  }[]];
56
- readonly accessor: string;
57
- readonly sortKey?: string | undefined;
58
58
  readonly successMessage?: string | undefined;
59
59
  }) => any;
60
60
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -100,6 +100,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
100
  readonly grow?: boolean | undefined;
101
101
  readonly enableSorting?: boolean | undefined;
102
102
  readonly options: string;
103
+ readonly accessor: string;
104
+ readonly sortKey?: string | undefined;
103
105
  readonly optionValue: string;
104
106
  readonly optionLabel: readonly [{
105
107
  readonly locale: "zh";
@@ -108,8 +110,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
110
  readonly locale: "en" | "ja" | "ko";
109
111
  readonly message: string;
110
112
  }[]];
111
- readonly accessor: string;
112
- readonly sortKey?: string | undefined;
113
113
  readonly successMessage?: string | undefined;
114
114
  }) => any) | undefined;
115
115
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -45,6 +45,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
45
45
  readonly grow?: boolean | undefined;
46
46
  readonly enableSorting?: boolean | undefined;
47
47
  readonly options: string;
48
+ readonly accessor: string;
49
+ readonly sortKey?: string | undefined;
48
50
  readonly optionValue: string;
49
51
  readonly optionLabel: readonly [{
50
52
  readonly locale: "zh";
@@ -53,8 +55,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
53
55
  readonly locale: "en" | "ja" | "ko";
54
56
  readonly message: string;
55
57
  }[]];
56
- readonly accessor: string;
57
- readonly sortKey?: string | undefined;
58
58
  readonly successMessage?: string | undefined;
59
59
  }) => any;
60
60
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
@@ -100,6 +100,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
100
100
  readonly grow?: boolean | undefined;
101
101
  readonly enableSorting?: boolean | undefined;
102
102
  readonly options: string;
103
+ readonly accessor: string;
104
+ readonly sortKey?: string | undefined;
103
105
  readonly optionValue: string;
104
106
  readonly optionLabel: readonly [{
105
107
  readonly locale: "zh";
@@ -108,8 +110,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
108
110
  readonly locale: "en" | "ja" | "ko";
109
111
  readonly message: string;
110
112
  }[]];
111
- readonly accessor: string;
112
- readonly sortKey?: string | undefined;
113
113
  readonly successMessage?: string | undefined;
114
114
  }) => any) | undefined;
115
115
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -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) {
@@ -33,18 +33,19 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly message: string;
34
34
  }[]] | undefined;
35
35
  readonly readonly?: string | undefined;
36
+ readonly dataSource: {
37
+ readonly data: string;
38
+ readonly request?: string | undefined;
39
+ };
36
40
  readonly grow?: boolean | undefined;
37
41
  readonly binding: string;
38
42
  readonly derived?: {
39
43
  readonly mode: "formula" | "prefill";
40
44
  readonly expression: string;
41
45
  } | undefined;
42
- readonly dataSource: {
43
- readonly data: string;
44
- readonly request?: string | undefined;
45
- };
46
46
  readonly enableSorting?: boolean | undefined;
47
47
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
48
+ readonly sortKey?: string | undefined;
48
49
  readonly nodeKey: string;
49
50
  readonly nodeChildren: string;
50
51
  readonly nodeLabel: readonly [{
@@ -63,7 +64,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
63
64
  }[]] | undefined;
64
65
  readonly nodeSelectable?: string | undefined;
65
66
  readonly expandAll: boolean;
66
- readonly sortKey?: string | undefined;
67
67
  }) => any;
68
68
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
69
69
  "onUpdate:modelValue"?: ((value: {
@@ -96,18 +96,19 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
96
96
  readonly message: string;
97
97
  }[]] | undefined;
98
98
  readonly readonly?: string | undefined;
99
+ readonly dataSource: {
100
+ readonly data: string;
101
+ readonly request?: string | undefined;
102
+ };
99
103
  readonly grow?: boolean | undefined;
100
104
  readonly binding: string;
101
105
  readonly derived?: {
102
106
  readonly mode: "formula" | "prefill";
103
107
  readonly expression: string;
104
108
  } | undefined;
105
- readonly dataSource: {
106
- readonly data: string;
107
- readonly request?: string | undefined;
108
- };
109
109
  readonly enableSorting?: boolean | undefined;
110
110
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
111
+ readonly sortKey?: string | undefined;
111
112
  readonly nodeKey: string;
112
113
  readonly nodeChildren: string;
113
114
  readonly nodeLabel: readonly [{
@@ -126,7 +127,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
126
127
  }[]] | undefined;
127
128
  readonly nodeSelectable?: string | undefined;
128
129
  readonly expandAll: boolean;
129
- readonly sortKey?: string | undefined;
130
130
  }) => any) | undefined;
131
131
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
132
132
  declare const _default: typeof __VLS_export;
@@ -33,18 +33,19 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly message: string;
34
34
  }[]] | undefined;
35
35
  readonly readonly?: string | undefined;
36
+ readonly dataSource: {
37
+ readonly data: string;
38
+ readonly request?: string | undefined;
39
+ };
36
40
  readonly grow?: boolean | undefined;
37
41
  readonly binding: string;
38
42
  readonly derived?: {
39
43
  readonly mode: "formula" | "prefill";
40
44
  readonly expression: string;
41
45
  } | undefined;
42
- readonly dataSource: {
43
- readonly data: string;
44
- readonly request?: string | undefined;
45
- };
46
46
  readonly enableSorting?: boolean | undefined;
47
47
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
48
+ readonly sortKey?: string | undefined;
48
49
  readonly nodeKey: string;
49
50
  readonly nodeChildren: string;
50
51
  readonly nodeLabel: readonly [{
@@ -63,7 +64,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
63
64
  }[]] | undefined;
64
65
  readonly nodeSelectable?: string | undefined;
65
66
  readonly expandAll: boolean;
66
- readonly sortKey?: string | undefined;
67
67
  }) => any;
68
68
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
69
69
  "onUpdate:modelValue"?: ((value: {
@@ -96,18 +96,19 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
96
96
  readonly message: string;
97
97
  }[]] | undefined;
98
98
  readonly readonly?: string | undefined;
99
+ readonly dataSource: {
100
+ readonly data: string;
101
+ readonly request?: string | undefined;
102
+ };
99
103
  readonly grow?: boolean | undefined;
100
104
  readonly binding: string;
101
105
  readonly derived?: {
102
106
  readonly mode: "formula" | "prefill";
103
107
  readonly expression: string;
104
108
  } | undefined;
105
- readonly dataSource: {
106
- readonly data: string;
107
- readonly request?: string | undefined;
108
- };
109
109
  readonly enableSorting?: boolean | undefined;
110
110
  readonly cascade: "independent" | "cascade-down" | "cascade-both";
111
+ readonly sortKey?: string | undefined;
111
112
  readonly nodeKey: string;
112
113
  readonly nodeChildren: string;
113
114
  readonly nodeLabel: readonly [{
@@ -126,7 +127,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
126
127
  }[]] | undefined;
127
128
  readonly nodeSelectable?: string | undefined;
128
129
  readonly expandAll: boolean;
129
- readonly sortKey?: string | undefined;
130
130
  }) => any) | undefined;
131
131
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
132
132
  declare const _default: typeof __VLS_export;
@@ -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
  );
@@ -33,17 +33,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly message: string;
34
34
  }[]] | undefined;
35
35
  readonly readonly?: string | undefined;
36
+ readonly dataSource: {
37
+ readonly data: string;
38
+ readonly request?: string | undefined;
39
+ };
36
40
  readonly grow?: boolean | undefined;
37
41
  readonly binding: string;
38
42
  readonly derived?: {
39
43
  readonly mode: "formula" | "prefill";
40
44
  readonly expression: string;
41
45
  } | undefined;
42
- readonly dataSource: {
43
- readonly data: string;
44
- readonly request?: string | undefined;
45
- };
46
46
  readonly enableSorting?: boolean | undefined;
47
+ readonly sortKey?: string | undefined;
47
48
  readonly nodeKey: string;
48
49
  readonly nodeChildren: string;
49
50
  readonly nodeLabel: readonly [{
@@ -62,7 +63,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
62
63
  }[]] | undefined;
63
64
  readonly nodeSelectable?: string | undefined;
64
65
  readonly expandAll: boolean;
65
- readonly sortKey?: string | undefined;
66
66
  }) => any;
67
67
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
68
68
  "onUpdate:modelValue"?: ((value: {
@@ -95,17 +95,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
95
95
  readonly message: string;
96
96
  }[]] | undefined;
97
97
  readonly readonly?: string | undefined;
98
+ readonly dataSource: {
99
+ readonly data: string;
100
+ readonly request?: string | undefined;
101
+ };
98
102
  readonly grow?: boolean | undefined;
99
103
  readonly binding: string;
100
104
  readonly derived?: {
101
105
  readonly mode: "formula" | "prefill";
102
106
  readonly expression: string;
103
107
  } | undefined;
104
- readonly dataSource: {
105
- readonly data: string;
106
- readonly request?: string | undefined;
107
- };
108
108
  readonly enableSorting?: boolean | undefined;
109
+ readonly sortKey?: string | undefined;
109
110
  readonly nodeKey: string;
110
111
  readonly nodeChildren: string;
111
112
  readonly nodeLabel: readonly [{
@@ -124,7 +125,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
124
125
  }[]] | undefined;
125
126
  readonly nodeSelectable?: string | undefined;
126
127
  readonly expandAll: boolean;
127
- readonly sortKey?: string | undefined;
128
128
  }) => any) | undefined;
129
129
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
130
130
  declare const _default: typeof __VLS_export;
@@ -33,17 +33,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
33
33
  readonly message: string;
34
34
  }[]] | undefined;
35
35
  readonly readonly?: string | undefined;
36
+ readonly dataSource: {
37
+ readonly data: string;
38
+ readonly request?: string | undefined;
39
+ };
36
40
  readonly grow?: boolean | undefined;
37
41
  readonly binding: string;
38
42
  readonly derived?: {
39
43
  readonly mode: "formula" | "prefill";
40
44
  readonly expression: string;
41
45
  } | undefined;
42
- readonly dataSource: {
43
- readonly data: string;
44
- readonly request?: string | undefined;
45
- };
46
46
  readonly enableSorting?: boolean | undefined;
47
+ readonly sortKey?: string | undefined;
47
48
  readonly nodeKey: string;
48
49
  readonly nodeChildren: string;
49
50
  readonly nodeLabel: readonly [{
@@ -62,7 +63,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
62
63
  }[]] | undefined;
63
64
  readonly nodeSelectable?: string | undefined;
64
65
  readonly expandAll: boolean;
65
- readonly sortKey?: string | undefined;
66
66
  }) => any;
67
67
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
68
68
  "onUpdate:modelValue"?: ((value: {
@@ -95,17 +95,18 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
95
95
  readonly message: string;
96
96
  }[]] | undefined;
97
97
  readonly readonly?: string | undefined;
98
+ readonly dataSource: {
99
+ readonly data: string;
100
+ readonly request?: string | undefined;
101
+ };
98
102
  readonly grow?: boolean | undefined;
99
103
  readonly binding: string;
100
104
  readonly derived?: {
101
105
  readonly mode: "formula" | "prefill";
102
106
  readonly expression: string;
103
107
  } | undefined;
104
- readonly dataSource: {
105
- readonly data: string;
106
- readonly request?: string | undefined;
107
- };
108
108
  readonly enableSorting?: boolean | undefined;
109
+ readonly sortKey?: string | undefined;
109
110
  readonly nodeKey: string;
110
111
  readonly nodeChildren: string;
111
112
  readonly nodeLabel: readonly [{
@@ -124,7 +125,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
124
125
  }[]] | undefined;
125
126
  readonly nodeSelectable?: string | undefined;
126
127
  readonly expandAll: boolean;
127
- readonly sortKey?: string | undefined;
128
128
  }) => any) | undefined;
129
129
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
130
130
  declare const _default: typeof __VLS_export;
@@ -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
  );