@shwfed/config 2.10.0 → 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.
- package/dist/mcp.mjs +4125 -3183
- package/dist/module.json +1 -1
- package/dist/preview/assets/{FieldGroup.vue_vue_type_script_setup_true_lang-CCaOWk_7.js → FieldGroup.vue_vue_type_script_setup_true_lang-CuFusz5A.js} +1 -1
- package/dist/preview/assets/{badge-D9_7atSJ.js → badge-D5FPHSix.js} +1 -1
- package/dist/preview/assets/{config-B2d8SiPi.js → config-BHPiQ1lB.js} +1 -1
- package/dist/preview/assets/{config-DYxMKhCU.js → config-BWC-Zw21.js} +1 -1
- package/dist/preview/assets/{config-CNKb25Qo.js → config-Bg94Z7XN.js} +1 -1
- package/dist/preview/assets/{config-CQrqVV1U.js → config-BqSL4UAL.js} +1 -1
- package/dist/preview/assets/{config-Bk2VSNeu.js → config-CeRBpZbE.js} +1 -1
- package/dist/preview/assets/{config-C9WPOoA7.js → config-CfjcFb_E.js} +1 -1
- package/dist/preview/assets/{config-DZlaJUlF.js → config-DNUKa3lN.js} +1 -1
- package/dist/preview/assets/{config-BLEovXei.js → config-DVjZmomc.js} +1 -1
- package/dist/preview/assets/{config-DyPl6K2G.js → config-Djv6EQBY.js} +1 -1
- package/dist/preview/assets/{config-DWA385pD.js → config-PNpa6ENz.js} +1 -1
- package/dist/preview/assets/{config-C8lCItmz.js → config-ucxtM3wX.js} +1 -1
- package/dist/preview/assets/{config-Bf5Vckj3.js → config-urZuasV7.js} +1 -1
- package/dist/preview/assets/{definition.vue_vue_type_script_setup_true_lang-CFzQ7icU.js → definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js} +1 -1
- package/dist/preview/assets/index-BE9O1XgB.js +1 -0
- package/dist/preview/assets/{index-CXOEVGFP.js → index-DCRQGu0g.js} +1 -1
- package/dist/preview/assets/index-yvElpEK3.js +743 -0
- package/dist/preview/assets/{item-DCVX69_o.js → item-CTkdtkvl.js} +1 -1
- package/dist/preview/assets/{runtime-r1wbrr4k.js → runtime-3rajYvjp.js} +1 -1
- package/dist/preview/assets/{runtime-BNk4EliL.js → runtime-4A3oiig9.js} +1 -1
- package/dist/preview/assets/{runtime-Cbc5NH57.js → runtime-BOGZFWxF.js} +1 -1
- package/dist/preview/assets/{runtime-BO-KY3T_.js → runtime-BqroTX7H.js} +1 -1
- package/dist/preview/assets/{runtime-O6MNC3GA.js → runtime-CBBae0-H.js} +1 -1
- package/dist/preview/assets/{runtime-DEWGIyvr.js → runtime-CBuV3vwL.js} +1 -1
- package/dist/preview/assets/{runtime-DJ9ElxWB.js → runtime-CI8yzwXd.js} +1 -1
- package/dist/preview/assets/{runtime-DSfMvph3.js → runtime-CcyhgOum.js} +1 -1
- package/dist/preview/assets/{runtime-BD1A-g1h.js → runtime-CkQ-mNoH.js} +1 -1
- package/dist/preview/assets/{runtime-BsNSI1XP.js → runtime-DmxKfudS.js} +1 -1
- package/dist/preview/assets/{schema-meta-ovcuERKg.js → schema-meta-BFzIzGiN.js} +1 -1
- package/dist/preview/index.html +1 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.number-input/runtime.vue +16 -3
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch.local/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.text-input/runtime.vue +17 -3
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-remote/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-24/com.shwfed.table.column.combobox-single.remote.options-static/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-remote/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-25/com.shwfed.table.column.combobox-multi.remote.options-static/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-multi.remote/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-26/com.shwfed.table.column.combobox-single.remote/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-multi/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.combobox-single/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/runtime.vue +5 -1
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.d.vue.ts +179 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue +942 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/config.vue.d.ts +179 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue +499 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.d.ts +223 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-multi/schema.js +276 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.d.vue.ts +179 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue +942 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/config.vue.d.ts +179 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue +438 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.d.ts +223 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.combobox-single/schema.js +276 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +123 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue +646 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +123 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue +500 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.d.ts +83 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/schema.js +179 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +121 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue +577 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +121 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.d.vue.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue +465 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/runtime.vue.d.ts +9 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.d.ts +80 -0
- package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/schema.js +171 -0
- package/dist/runtime/components/table/columns/2026-06-14/combobox-migrate.d.ts +18 -0
- package/dist/runtime/components/table/columns/2026-06-14/combobox-migrate.js +36 -0
- package/dist/runtime/components/table/columns/2026-06-14/tree-combobox-shared.d.ts +35 -0
- package/dist/runtime/components/table/columns/2026-06-14/tree-combobox-shared.js +31 -0
- package/dist/runtime/components/table/index.d.vue.ts +2 -0
- package/dist/runtime/components/table/index.vue +24 -0
- package/dist/runtime/components/table/index.vue.d.ts +2 -0
- package/dist/runtime/components/table/utils/shared.d.ts +1 -0
- package/dist/runtime/components/table/utils/shared.js +7 -13
- package/package.json +1 -1
- package/dist/preview/assets/index-7BE56IYF.js +0 -739
- package/dist/preview/assets/index-Bwv0Yz_L.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as O,v as M,x as k,y,o as q,c as E,z,b as A,A as x,B as i,C as J,D as L,E as s,F as T,G as V,H as D,I as G,J as H,K,L as g,M as P,N as b,O as U}from"./index-
|
|
1
|
+
import{d as O,v as M,x as k,y,o as q,c as E,z,b as A,A as x,B as i,C as J,D as L,E as s,F as T,G as V,H as D,I as G,J as H,K,L as g,M as P,N as b,O as U}from"./index-yvElpEK3.js";import W from"./index-DCRQGu0g.js";const X=O({name:"ShwfedBlockAnimatedNumberItem",__name:"item",props:{item:{}},setup(h){const n=h,j=P(),a=x(void 0),m=x(0);function u(){return K(j)}function S(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){const t=Number(e);return Number.isFinite(t)?t:0}return 0}const d=i(()=>a.value===void 0?g():U(a.value));function v(e){if(!e)return"";try{const t=b(s(e,{...u(),json:d.value}));return t==null?"":String(t)}catch{return""}}const w=i(()=>v(n.item.prefix)),C=i(()=>v(n.item.suffix));function F(e){if(e)try{const t=b(s(e,{...u(),json:d.value}));return t==null?void 0:typeof t=="string"||typeof t=="object"?t:String(t)}catch{return}}const I=i(()=>F(n.item.style));async function r(){const e=n.item.dataSource,t=u(),_=J(function*(){let o=g();e.request&&(o=yield*L(yield*s(e.request,t)));const B=yield*s(e.value,{...t,json:o});return{json:T(o),value:B}});try{const o=await V(D(_,G));a.value=o.json,m.value=S(o.value)}catch(o){console.warn("[shwfed-animated-number] fetch failed",o)}}const l=i(()=>(n.item.pollingInterval??0)>0),N=i(()=>Math.max(1,n.item.pollingInterval??1)*1e3),c=H(),{pause:p,resume:f}=M(()=>{r()},N,{immediate:!1});return k(()=>{r(),l.value&&c.value&&f()}),y(c,e=>{l.value&&(e?(r(),f()):p())}),y(()=>[n.item.dataSource.request??"",n.item.dataSource.value,n.item.pollingInterval??0].join("|"),()=>{r(),l.value&&c.value?f():p()}),(e,t)=>(q(),E(A(W),{value:m.value,prefix:w.value,suffix:C.value,style:z(I.value)},null,8,["value","prefix","suffix","style"]))}});export{X as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as r,aR as f,aS as u,aM as g,aP as p,c as d,b as m,E as l,K as x,aQ as E,M as h,o as _}from"./index-
|
|
1
|
+
import{d as r,aR as f,aS as u,aM as g,aP as p,c as d,b as m,E as l,K as x,aQ as E,M as h,o as _}from"./index-yvElpEK3.js";import{_ as b}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const B=r({name:"ShwfedHttpRequestActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(n){const e=n,i=h(),s=(t,c)=>l(t,{...x(i),...c}),o=E(),a=f(()=>u(g(o,e.config.before,s),()=>p(e.config.expression,s,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,channel:o,triggers:{success:e.config.onSuccess,warning:e.config.onWarning,error:e.config.onError,info:e.config.onInfo}})));return(t,c)=>(_(),d(b,{"action-id":n.buttonId,effect:m(a)},null,8,["action-id","effect"]))}});export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import{_ as o}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";import{d as n,c,b as a,o as f,aT as i}from"./index-yvElpEK3.js";const _=n({name:"ShwfedPrototypeActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(t){const e=i;return(r,s)=>(f(),c(o,{"action-id":t.buttonId,effect:a(e)},null,8,["action-id","effect"]))}});export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as s,Y as M,aW as b,C as p,a1 as c,aX as x,N,c as T,w as d,b as u,A as k,Q as L,aQ as S,aY as w,o as A,j as I,z as V,a as r,aZ as Y,a_ as $,aD as j,M as z,a$ as f,V as m,b0 as F}from"./index-
|
|
1
|
+
import{d as s,Y as M,aW as b,C as p,a1 as c,aX as x,N,c as T,w as d,b as u,A as k,Q as L,aQ as S,aY as w,o as A,j as I,z as V,a as r,aZ as Y,a_ as $,aD as j,M as z,a$ as f,V as m,b0 as F}from"./index-yvElpEK3.js";import{_ as H}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const R=s({name:"ShwfedModalLayoutActionRuntime",__name:"runtime",props:{buttonId:{},config:{},buttonTitle:{}},setup(n){const a=n,{locale:l}=M(),v=e=>{},h=z(),i=L(f,void 0),C=S(),o=k(null),g=b(a.buttonId,{close:()=>w(()=>{o.value?.()})},C),_=s({name:"ModalBoundaryBridge",setup(e,{slots:t}){return $(h),m(F,g),i&&m(f,i),()=>t.default?.()}}),E=(e,t)=>j()?.(e,t),y=p(function*(){const e=c(a.config.modalTitle,l.value)??c(a.buttonTitle,l.value)??"",{modal:t,close:B}=yield*x({title:e,width:a.config.modalWidth});o.value=()=>N(B()),yield*t,o.value=null});return(e,t)=>(A(),T(H,{"action-id":n.buttonId,effect:u(y)},{default:d(()=>[I("div",{style:V(n.config.modalMinHeight?`min-height: ${n.config.modalMinHeight}`:void 0)},[r(u(_),null,{default:d(()=>[r(Y,{"slot-value":n.config.slot,configure:v,"find-entry":E},null,8,["slot-value"])]),_:1})],4)]),_:1},8,["action-id","effect"]))}});export{R as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as r,aR as f,aM as d,c as u,b as m,aQ as p,o as l,E as g,K as h,M as _}from"./index-
|
|
1
|
+
import{d as r,aR as f,aM as d,c as u,b as m,aQ as p,o as l,E as g,K as h,M as _}from"./index-yvElpEK3.js";import{_ as C}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const x=r({name:"ShwfedEventDispatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const c=e,s=_(),a=(n,t)=>g(n,{...h(s),...t}),o=p(),i=f(()=>d(o,c.config.triggers,a));return(n,t)=>(l(),u(C,{"action-id":e.buttonId,effect:m(i)},null,8,["action-id","effect"]))}});export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as b,aR as E,C as _,aY as r,aM as m,b1 as S,b2 as j,c as v,b as x,E as B,K as C,aQ as L,M as R,o as k}from"./index-
|
|
1
|
+
import{d as b,aR as E,C as _,aY as r,aM as m,b1 as S,b2 as j,c as v,b as x,E as B,K as C,aQ as L,M as R,o as k}from"./index-yvElpEK3.js";import{_ as T}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const q=b({name:"ShwfedHttpDownloadActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(d){const c=d,g=R(),t=(e,n)=>B(e,{...C(g),...n}),l=L(),p=new Set(["success","error","warning","info"]);function f(e){const n=URL.createObjectURL(e),o=document.createElement("a");o.href=n,o.download=e.name,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(n)}const y=E(()=>_(function*(){const{template:e,messageExpression:n,resultExpression:o}=c.config,u=yield*t(e.request);if(!e.download){const s=yield*u.file();return yield*r(()=>f(s)),yield*m(l,c.config.onSuccess,t)}const a={json:yield*u.json()},i=o===void 0?"success":yield*S(t(o,a),s=>p.has(s)?s:"success");if(n!==void 0){const s=yield*t(n,a);yield*r(()=>j[i](s))}if(i==="success"||i==="info"){const h=yield*(yield*t(e.download,a)).file();yield*r(()=>f(h))}const w={success:c.config.onSuccess,warning:c.config.onWarning,error:c.config.onError,info:c.config.onInfo};return yield*m(l,w[i],t)}));return(e,n)=>(k(),v(T,{"action-id":d.buttonId,effect:x(y)},null,8,["action-id","effect"]))}});export{q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as f,aR as u,aU as l,aV as d,c as m,b as w,E as p,K as _,M as g,o as h}from"./index-
|
|
1
|
+
import{d as f,aR as u,aU as l,aV as d,c as m,b as w,E as p,K as _,M as g,o as h}from"./index-yvElpEK3.js";import{_ as b}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";function v(){return{resolve:e=>({href:new URL(e,window.location.href).href})}}function x(e,t){return window.location.assign(e),Promise.resolve()}const B=f({name:"ShwfedNavigationActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(e){const t=e,i=v(),a=g(),r=(n,o)=>p(n,{..._(a),...o});function c(n){try{return new URL(n,window.location.href).origin!==window.location.origin}catch{return!1}}const s=u(()=>l(r(t.config.url),n=>d(async()=>{const o=c(n);if(t.config.mode==="_blank"){window.open(o?n:i.resolve(n).href,"_blank");return}await x(n)})));return(n,o)=>(h(),m(b,{"action-id":e.buttonId,effect:w(s)},null,8,["action-id","effect"]))}});export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as u,Y as i,c as l,b as p,B as m,o as d,h as f,a1 as _,aN as k,E as w,K as x,M as g}from"./index-
|
|
1
|
+
import{d as u,Y as i,c as l,b as p,B as m,o as d,h as f,a1 as _,aN as k,E as w,K as x,M as g}from"./index-yvElpEK3.js";const B=u({name:"ShwfedMarkdownItemRuntime",__name:"runtime",props:{config:{}},setup(s){const o=s,{locale:t}=i(),a=g(),c=(e,n)=>w(e,{...x(a),...n}),r=m(()=>{const e=_(o.config.content,t.value)??"";return k(e,c)});return(e,n)=>(d(),l(p(f),{"data-slot":"buttons-markdown",source:r.value,class:"prose prose-sm prose-zinc px-1"},null,8,["source"]))}});export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as f,Y as g,C as l,aM as u,a1 as d,aN as p,aO as m,aP as x,c as E,b as _,E as h,K as C,aQ as w,M as b,o as k}from"./index-
|
|
1
|
+
import{d as f,Y as g,C as l,aM as u,a1 as d,aN as p,aO as m,aP as x,c as E,b as _,E as h,K as C,aQ as w,M as b,o as k}from"./index-yvElpEK3.js";import{_ as I}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const M=f({name:"ShwfedHttpRequestConfirmActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(c){const n=c,{locale:i}=g(),a=b(),s=(e,o)=>h(e,{...C(a),...o}),t=w(),r=l(function*(){yield*u(t,n.config.before,s);const e=d(n.config.markdown,i.value)??"",o=p(e,s);(yield*m({content:o,icon:n.config.icon,color:n.config.color}))||(yield*x(n.config.expression,s,{messageExpression:n.config.messageExpression,resultExpression:n.config.resultExpression,channel:t,triggers:{success:n.config.onSuccess,warning:n.config.onWarning,error:n.config.onError,info:n.config.onInfo}}))});return(e,o)=>(k(),E(I,{"action-id":c.buttonId,effect:_(r)},null,8,["action-id","effect"]))}});export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as l,b3 as g,aR as A,aU as y,aM as b,c as _,b as h,E as S,K as j,aQ as k,b4 as C,M as B,o as E}from"./index-
|
|
1
|
+
import{d as l,b3 as g,aR as A,aU as y,aM as b,c as _,b as h,E as S,K as j,aQ as k,b4 as C,M as B,o as E}from"./index-yvElpEK3.js";import{_ as M}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const F=l({name:"ShwfedStateWriteActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(s){const a=s,f=B(),c=(e,t)=>S(e,{...j(f),...t}),n=g(),o=n.kind==="form"&&n.parent?n.parent:n,u=k(),m=C((e,t,r)=>{if(Array.isArray(e[t])&&Array.isArray(r))return e[t]=r,!0});function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function p(e,t){return i(e)&&i(t)?m({...t},e):t}const d=A(()=>y(c(a.config.expression),e=>{for(const t of Object.keys(e)){const r=p(o.getAt(t),e[t]);o.setAt(t,r)}return b(u,a.config.onSuccess,c)}));return(e,t)=>(E(),_(M,{"action-id":s.buttonId,effect:h(d)},null,8,["action-id","effect"]))}});export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as f,Y as u,aR as p,aS as d,aM as l,b5 as m,a1 as g,c as x,b as h,E,K as _,aQ as b,o as B,M as k}from"./index-
|
|
1
|
+
import{d as f,Y as u,aR as p,aS as d,aM as l,b5 as m,a1 as g,c as x,b as h,E,K as _,aQ as b,o as B,M as k}from"./index-yvElpEK3.js";import{_ as C}from"./definition.vue_vue_type_script_setup_true_lang-BzryfjdG.js";const I=f({name:"ShwfedHttpRequestBatchActionRuntime",__name:"runtime",props:{buttonId:{},config:{}},setup(n){const e=n,{locale:a}=u(),c=k(),s=(t,o)=>E(t,{..._(c),...o}),i=b(),r=p(()=>d(l(i,e.config.before,s),()=>m(e.config.expression,s,{messageExpression:e.config.messageExpression,resultExpression:e.config.resultExpression,continueOnError:e.config.continueOnError,markdown:g(e.config.markdown,a.value)??""})));return(t,o)=>(B(),x(C,{"action-id":n.buttonId,effect:h(r)},null,8,["action-id","effect"]))}});export{I as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as o,q as l,r as p}from"./index-
|
|
1
|
+
import{p as o,q as l,r as p}from"./index-yvElpEK3.js";function i(n){switch(n._tag){case"TypeLiteral":return n;case"Transformation":return i(n.to);case"Refinement":return i(n.from);case"Suspend":return i(n.f());default:return null}}function d(n,t){const e=i(n.ast);return e?e.propertySignatures.find(r=>r.name===t)??null:null}function y(n){const t=n.type;if(t._tag==="Union"&&n.isOptional){const e=t.types.find(r=>r._tag!=="UndefinedKeyword");if(e)return e}return t}function c(n,t,e){const r=d(n,t);if(!r)return;const u=e(r);if(o(u))return u.value;const f=y(r),s=e(f);if(o(s))return s.value;if(f!==r.type){const a=e(r.type);if(o(a))return a.value}}function m(n,t){return c(n,t,l)}function v(n,t){return c(n,t,p)}export{v as a,m as g};
|
package/dist/preview/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
`--primary`, the primary button variant renders as transparent. */
|
|
11
11
|
body { --primary: #009689; }
|
|
12
12
|
</style>
|
|
13
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-yvElpEK3.js"></script>
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-BnJ5p1Mx.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
@@ -5,6 +5,7 @@ import { computed, nextTick, 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
|
|
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
|
);
|
|
@@ -5,6 +5,7 @@ import { computed, nextTick } 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 { InputGroup, InputGroupAddon, InputGroupButton, InputGroupNumberField } from "../../../../ui/input-group";
|
|
10
11
|
import { useFieldValue } from "../../../../form/utils/field-value";
|
|
@@ -40,7 +41,10 @@ function evalNumber(expression, label) {
|
|
|
40
41
|
}
|
|
41
42
|
const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
|
|
42
43
|
const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
|
|
43
|
-
const
|
|
44
|
+
const formReadonly = useFormReadonly();
|
|
45
|
+
const isReadonly = computed(
|
|
46
|
+
() => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
|
|
47
|
+
);
|
|
44
48
|
const effectiveReadonly = computed(
|
|
45
49
|
() => isReadonly.value || props.column.derived?.mode === "formula"
|
|
46
50
|
);
|
|
@@ -108,11 +112,20 @@ async function onBlur() {
|
|
|
108
112
|
v-if="isHidden"
|
|
109
113
|
class="block h-7 w-full"
|
|
110
114
|
/>
|
|
115
|
+
<!--
|
|
116
|
+
Readonly empty state mirrors the `text` column exactly: a centered,
|
|
117
|
+
faded, non-selectable `-` in `font-mono`, so a readonly grid reads
|
|
118
|
+
uniformly regardless of column type. A present value keeps the
|
|
119
|
+
left-aligned dark text.
|
|
120
|
+
-->
|
|
111
121
|
<span
|
|
112
122
|
v-else-if="effectiveReadonly"
|
|
113
|
-
class="
|
|
123
|
+
:class="[
|
|
124
|
+
'flex items-center h-7 w-full px-2 text-[0.75rem] truncate',
|
|
125
|
+
draft !== void 0 ? 'text-zinc-700' : 'justify-center font-mono text-zinc-300 select-none'
|
|
126
|
+
]"
|
|
114
127
|
>
|
|
115
|
-
{{ draft ?? "
|
|
128
|
+
{{ draft ?? "-" }}
|
|
116
129
|
</span>
|
|
117
130
|
<InputGroup
|
|
118
131
|
v-else
|
package/dist/runtime/components/table/columns/2026-05-20/com.shwfed.table.column.switch/runtime.vue
CHANGED
|
@@ -4,6 +4,7 @@ import { computed } from "vue";
|
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
|
5
5
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
6
6
|
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
7
|
+
import { useFormReadonly } from "../../../../form/utils/readonly";
|
|
7
8
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
8
9
|
import { Switch } from "../../../../ui/switch";
|
|
9
10
|
import { useFieldValue } from "../../../../form/utils/field-value";
|
|
@@ -26,7 +27,10 @@ function evalBool(expression, label) {
|
|
|
26
27
|
}
|
|
27
28
|
const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
|
|
28
29
|
const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
|
|
29
|
-
const
|
|
30
|
+
const formReadonly = useFormReadonly();
|
|
31
|
+
const isReadonly = computed(
|
|
32
|
+
() => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
|
|
33
|
+
);
|
|
30
34
|
const effectiveReadonly = computed(
|
|
31
35
|
() => isReadonly.value || props.column.derived?.mode === "formula"
|
|
32
36
|
);
|
|
@@ -4,6 +4,7 @@ import { computed } from "vue";
|
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
|
5
5
|
import { cel as _rawCel } from "../../../../../utils/cel";
|
|
6
6
|
import { celBindings, injectCELContext } from "../../../../../utils/cel-context";
|
|
7
|
+
import { useFormReadonly } from "../../../../form/utils/readonly";
|
|
7
8
|
import { getLocalizedText } from "../../../../../share/locale";
|
|
8
9
|
import { Switch } from "../../../../ui/switch";
|
|
9
10
|
import { useFieldValue } from "../../../../form/utils/field-value";
|
|
@@ -26,7 +27,10 @@ function evalBool(expression, label) {
|
|
|
26
27
|
}
|
|
27
28
|
const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
|
|
28
29
|
const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
|
|
29
|
-
const
|
|
30
|
+
const formReadonly = useFormReadonly();
|
|
31
|
+
const isReadonly = computed(
|
|
32
|
+
() => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
|
|
33
|
+
);
|
|
30
34
|
const effectiveReadonly = computed(
|
|
31
35
|
() => isReadonly.value || props.column.derived?.mode === "formula"
|
|
32
36
|
);
|
|
@@ -5,6 +5,7 @@ import { useI18n } from "vue-i18n";
|
|
|
5
5
|
import { Icon } from "@iconify/vue";
|
|
6
6
|
import { cel as $cel } 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
|
InputGroup,
|
|
@@ -35,7 +36,10 @@ function evalBool(expression, label) {
|
|
|
35
36
|
}
|
|
36
37
|
const isHidden = computed(() => evalBool(props.column.hidden, "hidden"));
|
|
37
38
|
const isDisabled = computed(() => evalBool(props.column.disabled, "disabled"));
|
|
38
|
-
const
|
|
39
|
+
const formReadonly = useFormReadonly();
|
|
40
|
+
const isReadonly = computed(
|
|
41
|
+
() => props.column.readonly != null ? evalBool(props.column.readonly, "readonly") : formReadonly.value
|
|
42
|
+
);
|
|
39
43
|
const effectiveReadonly = computed(
|
|
40
44
|
() => isReadonly.value || props.column.derived?.mode === "formula"
|
|
41
45
|
);
|
|
@@ -89,11 +93,21 @@ function handleClear() {
|
|
|
89
93
|
v-if="isHidden"
|
|
90
94
|
class="block h-7 w-full"
|
|
91
95
|
/>
|
|
96
|
+
<!--
|
|
97
|
+
Readonly empty state mirrors the `text` column exactly: a centered,
|
|
98
|
+
faded, non-selectable `-` rendered in `font-mono`, so a readonly grid
|
|
99
|
+
reads uniformly regardless of which column type backs each cell. A
|
|
100
|
+
non-empty readonly value keeps the editable cell's left-aligned dark
|
|
101
|
+
text.
|
|
102
|
+
-->
|
|
92
103
|
<span
|
|
93
104
|
v-else-if="effectiveReadonly"
|
|
94
|
-
class="
|
|
105
|
+
:class="[
|
|
106
|
+
'flex items-center h-7 w-full px-2 text-[0.75rem] truncate',
|
|
107
|
+
draft ? 'text-zinc-700' : 'justify-center font-mono text-zinc-300 select-none'
|
|
108
|
+
]"
|
|
95
109
|
>
|
|
96
|
-
{{ draft || "
|
|
110
|
+
{{ draft || "-" }}
|
|
97
111
|
</span>
|
|
98
112
|
<!--
|
|
99
113
|
Idle border is faded to 30% so a whole grid of inputs reads as data, not
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
);
|