@gisce/react-ooui 1.5.2-rc.0 → 1.5.2-rc.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.
- package/dist/react-ooui.es.js +0 -2
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +1 -1
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/widgets/base/Float.d.ts.map +1 -1
- package/dist/widgets/base/Integer.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/widgets/base/Float.tsx +0 -1
- package/src/widgets/base/Integer.tsx +0 -1
package/dist/react-ooui.umd.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
`;var Re=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function is(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}var Ir=is,as=typeof Re=="object"&&Re&&Re.Object===Object&&Re,ls=as,cs=ls,ds=typeof self=="object"&&self&&self.Object===Object&&self,us=cs||ds||Function("return this")(),Ar=us,fs=Ar,hs=function(){return fs.Date.now()},ps=hs,gs=/\s/;function ms(t){for(var r=t.length;r--&&gs.test(t.charAt(r)););return r}var ys=ms,vs=ys,ws=/^\s+/;function Ss(t){return t&&t.slice(0,vs(t)+1).replace(ws,"")}var Cs=Ss,bs=Ar,xs=bs.Symbol,$r=xs,Lr=$r,Nr=Object.prototype,Ts=Nr.hasOwnProperty,Fs=Nr.toString,wt=Lr?Lr.toStringTag:void 0;function Os(t){var r=Ts.call(t,wt),n=t[wt];try{t[wt]=void 0;var s=!0}catch{}var o=Fs.call(t);return s&&(r?t[wt]=n:delete t[wt]),o}var _s=Os,Ds=Object.prototype,ks=Ds.toString;function Ms(t){return ks.call(t)}var Vs=Ms,Pr=$r,Es=_s,Is=Vs,As="[object Null]",$s="[object Undefined]",Br=Pr?Pr.toStringTag:void 0;function Ls(t){return t==null?t===void 0?$s:As:Br&&Br in Object(t)?Es(t):Is(t)}var Ns=Ls;function Ps(t){return t!=null&&typeof t=="object"}var Bs=Ps,Hs=Ns,Ks=Bs,Ws="[object Symbol]";function Ys(t){return typeof t=="symbol"||Ks(t)&&Hs(t)==Ws}var qs=Ys,Us=Cs,Hr=Ir,Gs=qs,Kr=0/0,js=/^[-+]0x[0-9a-f]+$/i,zs=/^0b[01]+$/i,Js=/^0o[0-7]+$/i,Zs=parseInt;function Xs(t){if(typeof t=="number")return t;if(Gs(t))return Kr;if(Hr(t)){var r=typeof t.valueOf=="function"?t.valueOf():t;t=Hr(r)?r+"":r}if(typeof t!="string")return t===0?t:+t;t=Us(t);var n=zs.test(t);return n||Js.test(t)?Zs(t.slice(2),n?2:8):js.test(t)?Kr:+t}var Qs=Xs,Rs=Ir,zt=ps,Wr=Qs,ei="Expected a function",ti=Math.max,ri=Math.min;function ni(t,r,n){var s,o,i,a,c,h,d=0,u=!1,f=!1,g=!0;if(typeof t!="function")throw new TypeError(ei);r=Wr(r)||0,Rs(n)&&(u=!!n.leading,f="maxWait"in n,i=f?ti(Wr(n.maxWait)||0,r):i,g="trailing"in n?!!n.trailing:g);function w(F){var L=s,x=o;return s=o=void 0,d=F,a=t.apply(x,L),a}function y(F){return d=F,c=setTimeout(S,r),u?w(F):a}function m(F){var L=F-h,x=F-d,O=r-L;return f?ri(O,i-x):O}function v(F){var L=F-h,x=F-d;return h===void 0||L>=r||L<0||f&&x>=i}function S(){var F=zt();if(v(F))return T(F);c=setTimeout(S,m(F))}function T(F){return c=void 0,g&&s?w(F):(s=o=void 0,a)}function E(){c!==void 0&&clearTimeout(c),d=0,s=h=o=c=void 0}function b(){return c===void 0?a:T(zt())}function V(){var F=zt(),L=v(F);if(s=arguments,o=this,h=F,L){if(c===void 0)return y(h);if(f)return clearTimeout(c),c=setTimeout(S,r),w(h)}return c===void 0&&(c=setTimeout(S,r)),a}return V.cancel=E,V.flush=b,V}var oi=ni;function si(t){const n=Buffer.from(t,"base64").length/1e3;return`${Math.round((n+Number.EPSILON)*100)/100} KB`}async function it(t){const r=await wo.fileTypeFromBuffer(Buffer.from(t,"base64"));return r||{mime:"text/plain",ext:"txt"}}const Yr=t=>new Promise((r,n)=>{const s=new FileReader;s.readAsDataURL(t),s.onload=o=>r(o.target.result.split(",")[1]),s.onerror=o=>n(o)});function kt(t,r){for(var n=atob(t),s=new Array(n.length),o=0;o<n.length;o++)s[o]=n.charCodeAt(o);var i=new Uint8Array(s),a=new Blob([i],{type:r+";base64"}),c=URL.createObjectURL(a);window.open(c)}const qr=t=>{const{ooui:r}=t,{required:n,id:s}=r,o=Je(s);return o?e.jsx(o,{}):e.jsx(me,{required:n,...t,children:e.jsx(ii,{ooui:r})})},ii=t=>{const{ooui:r,value:n,onChange:s}=t,{readOnly:o}=r,i=l.useRef(null),{t:a}=l.useContext(he),c=f=>{s==null||s(f)};async function h(){const f=await it(n),g=`data:${f==null?void 0:f.mime};base64,${n}`,w=document.createElement("a");w.href=g,w.download=`image.${f==null?void 0:f.ext}`,w.click()}async function d(f){f.stopPropagation(),f.preventDefault();const g=f.target.files[0],w=await Yr(g);c(w)}function u(){c(void 0)}return e.jsxs(e.Fragment,{children:[e.jsxs(p.Row,{gutter:8,wrap:!1,justify:"center",children:[n&&e.jsx("img",{src:`data:image/*;base64,${n}`,style:{maxWidth:"100px"}}),e.jsx("input",{type:"file",id:"file",ref:i,accept:"image/*",style:{display:"none"},onChange:d})]}),e.jsx(p.Row,{gutter:8,wrap:!1,justify:"center",className:"pt-5",children:e.jsxs(p.Space,{children:[e.jsx(We,{tooltip:a("uploadNewImage"),icon:e.jsx(H.FolderOpenOutlined,{}),disabled:o,onClick:()=>{i.current.click()}}),e.jsx(We,{tooltip:a("download"),disabled:!n,onClick:h,icon:e.jsx(H.DownloadOutlined,{})}),e.jsx(We,{tooltip:a("clear"),disabled:o||!n,onClick:u,icon:e.jsx(H.ClearOutlined,{})})]})})]})},ai=t=>{const{ooui:r}=t,{required:n}=r;return e.jsx(me,{required:n,...t,children:e.jsx(li,{})})},li=t=>{const{value:r,onChange:n}=t;if(!r)return null;try{JSON.parse(r)}catch(s){return console.log(s),null}return e.jsx(Co.GridUi,{inputJson:r,onChange:s=>{n&&n(s)}})},at=t=>{const r=t.arch,n=t.fields,s=new se.Tree(n);return s.parse(r),s},ci=(t,r,n)=>t.columns.map(o=>{const i=o.type,a=o.id,c=r==null?void 0:r[i];let h;return c&&(h=d=>c(d,a,o,n)),{key:a,dataIndex:a,title:o.label,render:h,sorter:(d,u)=>{var w,y;let f=d[a]||"",g=u[a]||"";return i==="many2one"&&(f=((w=d[a])==null?void 0:w.value)||"",g=((y=u[a])==null?void 0:y.value)||""),f<g?-1:f>g?1:0}}}),Ur=(t,r)=>r.map(s=>{const o={};return Object.keys(s).map(i=>{if(i==="id")o[i]=s[i];else{const a=t.findById(i);a instanceof se.Reference||a instanceof se.Selection?o[i]=s[i]:a instanceof se.Many2one?o[i]=s[i]&&Array.isArray(s[i])&&s[i].length===2&&{model:a.relation,id:s[i][0],value:s[i][1]}:a instanceof se.Boolean?o[i]=s[i]:a?o[i]=s[i]===!1?"":s[i]:o[i]=s[i]}}),o});function Mt(t){return jr(t,"colors")}function Gr(t){return jr(t,"status")}function jr(t,r){if(!t)return;const n={};return t.forEach(s=>{n[s.id]=s[r]}),n}function lt({resultsToSort:t,sorter:r,fields:n}){if(!r)return t;const{id:s,desc:o}=r,i=o===!1?"ascend":"descend",a=n[s].type,c=(h,d)=>{var g,w;let u=h[s]||"",f=d[s]||"";return a==="many2one"&&(u=((g=h[s])==null?void 0:g[1])||"",f=((w=d[s])==null?void 0:w[1])||""),u===f?0:i==="ascend"?u>f?1:-1:u<f?1:-1};return t.sort(c)}function di(t){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&t[r]!==void 0)return!0;return!1}const Jt=async t=>{var y;const{items:r,model:n,formView:s,treeView:o,context:i,currentView:a={}}=t,c=r.filter(m=>m.operation!=="original"),h=r.filter(m=>m.operation==="original").map(m=>m.id),d={form:s.fields,tree:o.fields};let u=[],f;if(a==="tree"&&(o==null?void 0:o.arch)){const m=(y=at(o))==null?void 0:y.colors,v=await K.getHandler().readEvalUiObjects({model:n,ids:h,arch:o==null?void 0:o.arch,fields:o.fields,context:i,attrs:m&&{colors:m}});u=v[0],f=Mt(v[1])}else u=await K.getHandler().readObjects({model:n,ids:h,fields:d[a],context:i});const g=u.map(m=>{const v={};return Object.keys(m).forEach(S=>{(d[a].hasOwnProperty(S)||S==="id")&&(v[S]=m[S])}),v});return[r.map(m=>{const v=g.find(T=>T.id===m.id),S={...m};return a==="form"?S.values=v:a==="tree"&&(S.treeValues=v),S}).concat(c),f]},ui=t=>{const r=t.filter(n=>n.id&&n.id<0).map(n=>n.id);return r.length===0?-1:Math.min(...r)-1},fi=(t,r)=>{const n={};return Object.keys(t).forEach(s=>{var o;r.hasOwnProperty(s)&&(r[s].type==="one2many"||r[s].type==="many2many")&&t[s]&&((o=t[s])==null?void 0:o.items)?n[s]=t[s].items.filter(i=>i.operation!=="pendingRemove"):n[s]=t[s]}),n},hi=t=>{const{ooui:r}=t,{relation:n,context:s,views:o}=r,[i,a]=l.useState(!0),[c,h]=l.useState(),[d,u]=l.useState(new Map),f=l.useContext(De),{getContext:g}=f||{};tt.default(()=>{y()},[r]);const w=async m=>o&&o[m]?o[m]:await K.getHandler().getView({model:n,type:m,context:{...g==null?void 0:g(),...s}}),y=async()=>{a(!0),h(void 0);try{const m=await w("form"),v=await w("tree");d.set("form",m),d.set("tree",v),u(d)}catch(m){h(m)}finally{a(!1)}};return i?e.jsx(p.Spin,{}):c?e.jsx(p.Alert,{className:"mt-10",message:c,type:"error",banner:!0}):e.jsx(me,{type:"array",...t,children:e.jsx(pi,{ooui:r,views:d})})},pi=t=>{const{value:r,views:n,ooui:s,onChange:o}=t,{items:i=[]}=r||{},[a,c]=l.useState(!1),[h,d]=l.useState(),[u,f]=l.useState(!1),[g,w]=l.useState(),{relation:y,context:m,readOnly:v,summaryField:S,titleField:T}=s,E=i.filter(x=>x.values),b=l.useContext(De),{getContext:V}=b||{};tt.default(()=>{L()},[i]);const F=x=>{o==null||o({items:x})};async function L(){c(!0),d(void 0);try{const[x]=await Jt({treeView:{fields:n.get("tree").fields,arch:n.get("tree").arch},formView:{fields:n.get("form").fields},model:y,items:i,context:{...V==null?void 0:V(),...m},currentView:"form"});F(x)}catch(x){d(x)}finally{c(!1)}}return h?e.jsx(p.Alert,{className:"mt-10",message:h,type:"error",banner:!0}):a?e.jsx(p.Spin,{}):e.jsxs(e.Fragment,{children:[e.jsx(p.Timeline,{style:{padding:"1rem"},children:E.map((x,O)=>{var _,C;return e.jsx("div",{children:e.jsxs(p.Timeline.Item,{children:[e.jsx("div",{style:{display:"inline-block",cursor:"pointer"},onClick:()=>{w(E.find(P=>x.id===P.id)),f(!0)},children:e.jsx("strong",{children:(_=x.values)==null?void 0:_[T]})}),e.jsx("br",{}),e.jsx("div",{style:{display:"inline-block",cursor:"pointer"},onClick:()=>{w(E.find(P=>x.id===P.id)),f(!0)},children:(C=x.values)==null?void 0:C[S]})]},O)},O)})}),e.jsx(ht,{formView:n.get("form"),model:y,id:g==null?void 0:g.id,values:g==null?void 0:g.values,defaultValues:g==null?void 0:g.defaultValues,visible:u,onSubmitSucceed:()=>{f(!1)},parentContext:{...V==null?void 0:V(),...m},onCancel:()=>{f(!1)},readOnly:v,postSaveAction:L})]})},{useToken:gi}=p.theme,mi=t=>{const{ooui:r}=t;return e.jsx(me,{ooui:r,children:e.jsx(yi,{ooui:r})})},yi=t=>{const{token:r}=gi(),{ooui:n,value:s}=t,o=e.jsxs(e.Fragment,{children:[e.jsxs("span",{children:[n.label," "]}),n.tooltip&&e.jsx(p.Tooltip,{title:n.tooltip,children:e.jsx(H.QuestionCircleOutlined,{className:"pr-1 text-xs",style:{color:r.colorPrimaryBg}})})]}),i=Je(n.icon);let a=s;n.selectionValues.size?a=n.selectionValues.get(s):Array.isArray(s)&&(a=s[1]);const c=e.jsx(p.Statistic,{title:o,prefix:i&&e.jsx(i,{}),suffix:n.suffix,value:a});return n.card?e.jsx(p.Card,{children:c}):c},vi=(t,r)=>{if(!r)return t;const n={};return Object.keys(t).forEach(s=>{if(r[s]===void 0)n[s]=t[s];else if(!(t[s]===!1&&r[s].type!=="boolean"))if(r[s].type==="boolean"){const o=t[s];o===0?n[s]=!1:o===1?n[s]=!0:n[s]=t[s]}else n[s]=t[s]}),n},ct=(t,r)=>vi(t,r),Zt=({source:t,target:r,fields:n})=>{const s={};return Object.keys(r).forEach(o=>{var a,c;if(n[o]?n[o].type==="one2many"||n[o].type==="many2many":!1){const h=JSON.stringify(t[o]),d=JSON.stringify(r[o]);if(h===d)return;(((c=(a=r[o])==null?void 0:a.items)==null?void 0:c.filter(f=>f.operation!=="original"))||[]).length>0&&(s[o]=r[o])}else if(Array.isArray(r[o]))if(t[o]===void 0)s[o]=r[o];else if(n[o].type==="many2one")if(Array.isArray(t[o])){const h=JSON.stringify(t[o]),d=JSON.stringify(r[o]);h!==d&&(s[o]=r[o])}else{const h=t[o],[d]=r[o];h!==d&&(s[o]=r[o])}else{const h=JSON.stringify(t[o]),d=JSON.stringify(r[o]);h!==d&&(s[o]=r[o])}else t[o]!==r[o]&&(r[o]===void 0?s[o]=null:s[o]=r[o])}),s},wi=({changedFields:t,formOoui:r,types:n})=>t.map(o=>{var a;const i=(a=r==null?void 0:r.findById(o))==null?void 0:a.type;return n.includes(i)}).some(o=>o===!0),Si=({fieldsDomain:t,fields:r})=>{const n={};return Object.keys(r).forEach(s=>{n[s]=r[s],t[s]&&(n[s].domain=t[s])}),n},Ci=t=>{const r={};return!t||!Array.isArray(t)||(t==null?void 0:t.length)===0?{}:(t.forEach(n=>{(n==null?void 0:n[1])==="="&&(r[n[0]]=n[2])}),r)},bi=({onChangeFieldActionArgs:t,values:r,parentValues:n={}})=>{const s={};return t.forEach(o=>{const i=o.split("");if(o==="True")s[o]=!0;else if(o==="False")s[o]=!1;else if(r[o])s[o]=r[o];else if(i[0]==="'"&&i[i.length-1]==="'"&&i.filter(a=>a==="'").length===2)s[o]=o.replace(/'/g,"");else if(i.includes("'"))s[o]=o;else if(o.indexOf("parent.")!==-1){const a=o.replace("parent.","");s[o]=n[a]||!1}else s[o]=!1}),s},zr=t=>{const r={primary:[],secondary:[]};return t.forEach(n=>{!n||(r.primary=r.primary.concat(n.primary),r.secondary=r.secondary.concat(n.secondary))}),{primary:r.primary.filter(Jr),secondary:r.secondary.filter(Jr)}};function Jr(t,r,n){return n.indexOf(t)===r}const dt=({values:t,fields:r})=>{let n={};return Object.keys(t).forEach(s=>{const o=t[s];r[s]&&r[s].type==="many2one"&&o&&Array.isArray(o)&&o.length===2?n[s]=o[0]:n[s]=o}),n},Vt=t=>{let r=0;t=t.toString().padEnd(10,"0");for(let o=0;o<t.length;o++)r=t.charCodeAt(o)+((r<<5)-r);let n="#";for(let o=0;o<3;o++){var s=r>>o*8&255;n+=("00"+s.toString(16)).slice(-2)}return n},xi=(t,r)=>t.replace(/\{([^}]+)\}/g,(n,s)=>r[s]!==void 0?r[s]:n),Zr=t=>e.jsx(me,{...t,children:e.jsx(Xr,{...t})}),Xr=t=>{const{ooui:r,value:n}=t;let s=n,o=n;if(r.selectionValues.size?s=r.selectionValues.get(n):Array.isArray(n)&&(o=n[0],s=n[1]),!n)return null;const i=r.colors==="auto"?Vt(o):r.colors[o]||Vt(o);return e.jsx(Qr,{color:i,children:s})},Qr=t=>{let{color:r}=t,n={};return!mr.isPresetStatusColor(t.color)&&!mr.isPresetColor(t.color)&&(n={color:r,borderColor:r,borderStyle:"solid",borderWidth:"1px"},r=`${r}20`),e.jsx(p.Tag,{...t,style:n,color:r,children:t.children})},Rr=t=>{const{ooui:r}=t;return e.jsx(me,{type:"array",...t,children:e.jsx(Ti,{ooui:r})})},Ti=t=>{const{value:r,ooui:n,onChange:s}=t,{items:o=[]}=r||{},i=o.filter(F=>F.operation!=="pendingRemove").map(F=>F.id),[a,c]=l.useState([]),[h,d]=l.useState(),[u,f]=l.useState(!1),{relation:g,context:w,readOnly:y,field:m}=n,v=l.useContext(De),{getContext:S}=v||{};tt.default(()=>{E()},[o]);const T=F=>{s==null||s({items:F})};async function E(){f(!0);let F=[];try{if(y&&(F=[["id","in",i]]),n.domain){const O=await K.getHandler().evalDomain({domain:n.domain,values:dt({fields:v==null?void 0:v.getFields(),values:v.getPlainValues()}),fields:v==null?void 0:v.getFields(),context:v.getContext()});F=[...F,...O]}const x=(await K.getHandler().search({model:g,params:F,fields:[m],context:{...S==null?void 0:S(),...w}})).map(O=>{const _=O[m];let C=_;return Array.isArray(_)&&(C=_[1]),{label:C,value:O.id}});c(x)}catch(L){d(L)}finally{f(!1)}}const b=F=>{const L=o.map(O=>F.includes(O.id)?O.operation=="pendingRemove"?{...O,operation:"pendingLink"}:O:{id:O.id,operation:"pendingRemove"}),x=L.map(O=>O.id);F.filter(O=>!x.includes(O)).map(O=>{L.push({id:O,operation:"pendingLink"})}),T(L)},V=F=>{const{label:L,closable:x,onClose:O}=F,_=P=>{P.preventDefault(),P.stopPropagation()},C=Vt(L);return e.jsx(Qr,{color:C,onMouseDown:_,closable:x,onClose:O,closeIcon:e.jsx("span",{style:{color:C},children:"X"}),children:L})};return h?e.jsx(p.Alert,{className:"mt-10",message:h,type:"error",banner:!0}):e.jsx(e.Fragment,{children:e.jsx("div",{className:"flex flex-row",children:e.jsx(p.Select,{mode:"multiple",value:a.length?i:[],tagRender:V,bordered:!y,disabled:y,options:a,onChange:b,loading:u})})})},Fi=t=>{switch(t){case"form":return ft;case"tree":return Tt;case"notebook":return Dn;case"group":return or;case"label":return vt;case"char":return Gt;case"text":return kn;case"button":return Ut;case"buttonGroup":return Or;case"selection":return jt;case"many2one":return wn;case"boolean":return Er;case"integer":return xt;case"float":return Qt;case"progressbar":return cn;case"date":return An;case"datetime":return $n;case"time":return Nn;case"one2many":case"one2many_list":case"many2many":return On;case"separator":return Mn;case"reference":return Pn;case"binary":return Bn;case"image":return qr;case"url":return Un;case"email":return Gn;case"float_time":return _n;case"fiber_grid":return ai;case"timeline":return hi;case"indicator":return mi;case"tags":return Rr;case"tag":return Zr;case"multicheckbox":return Rn;case"markdown":return eo;case"radio":return to;case"switch":return ro;case"steps":return no;case"codeeditor":return oo;case"comments_timeline":return io;default:return}},Oi=t=>{const{ooui:r}=t,{type:n}=r,s=Fi(n);return s?Ke.default.createElement(s,t):null},_i=({item:t,responsiveBehaviour:r})=>({gridColumnStart:"span "+(r?1:t.colspan)}),Di=({row:t,mustFillWithEmpties:r,numberOfColumns:n})=>{const s=[];let o=0;const i=a=>a+1===t.length&&o<n&&!r;return t.map((a,c)=>{if(o+=a.colspan,i(c)){const h=n-o;a.colspan=a.colspan+h,o+=h}if(s.push(a),i(c)){const h=n-o;for(let d=0;d<h;d+=1)s.push(new se.Label({string:""}))}}),s},ki=({row:t,numberOfColumns:r})=>t.map(n=>(n._mustExpand&&(n.colspan=r),n)),Mi=(t,r)=>{const n=t.map(s=>s instanceof se.Label&&s.fieldForLabel||s instanceof se.Container?"auto":"1fr");if(n.length<r){const s=r-n.length;for(let o=0;o<s;o++)n.push("1fr")}return n.join(" ")},Vi=(t,r)=>{const n=r?"1fr":"auto",s="auto";let o="";for(let i=0;i<t;i++)o+=i%2?n:s,i+1<t&&(o+=" ");return o},Ei=t=>t.map(n=>n.reduce((s,o)=>s+o.colspan,0)).reduce((n,s)=>Math.max(n,s)),Xt=t=>{const{container:r,responsiveBehaviour:n}=t,{rows:s}=r;let{columns:o}=r;const i=Ei(s);i<o&&(o=i);let a=!1,c=[];const h=s.map((f,g)=>{const w=f.filter(v=>!v.invisible),y=ki({row:w,numberOfColumns:o});let m=y;return(g===0||!(f.length===1&&f.some(v=>v.type==="group")))&&(m=Di({row:y,numberOfColumns:o,mustFillWithEmpties:n}),c=c.concat(m)),m.map(v=>(v instanceof se.Label&&v.fieldForLabel&&(a=!0),e.jsx("div",{style:{..._i({item:v,responsiveBehaviour:n}),minWidth:0},children:Oi({ooui:v,responsiveBehaviour:n})},v.key)))}),d=s.length===1?Mi(c,o):Vi(o,a),u={display:"grid",gridTemplateColumns:n?"auto":d,gap:"1rem",minHeight:0,minWidth:0};return e.jsx("div",{style:u,children:h})},{confirm:Ii}=p.Modal,St=({onOk:t,onCancel:r,lang:n})=>{Ii({title:xe("unsavedChanges",n),icon:e.jsx(H.ExclamationCircleOutlined,{}),centered:!0,content:xe("confirmCloseWithoutSave",n),okText:xe("closeWithoutSaving",n),onOk:t,onCancel:r,cancelText:xe("cancel",n)})},{error:Ai}=p.Modal,en=t=>{Ai({title:xe("formHasErrors",t),icon:e.jsx(H.ExclamationCircleOutlined,{}),centered:!0,content:xe("fillRequiredFields",t)})},{warning:$i}=p.Modal,Li=(t,r,n)=>{$i({title:t,icon:e.jsx(H.WarningOutlined,{}),centered:!0,content:r,onOk:n})},tn=Ke.default.createContext(null),Ni=t=>{const{children:r,setTitle:n}=t;return e.jsx(tn.Provider,{value:{setTitle:n},children:r})},rn=t=>typeof t=="string"&&t==="true"||t==="false"?t==="true":t,Pi=(t,r)=>{const n=qi(t),s=Wi(n),o=Yi(s,r);return[...Object.keys(o).map(c=>Bi(c,o[c],r))].reduce((c,h)=>Array.isArray(h[0])?c.concat(h):[...c,h],[])},Bi=(t,r,n)=>{var i;const s=t.split("#")[0],o=(i=n.findById(s))==null?void 0:i.type;if(o==="char"||o==="text"||o==="many2one"||o==="many2many"||o==="one2many")return[t,"ilike",r];if(o==="float"||o==="integer"||o==="float_time"||o==="progressbar"){const a=t.indexOf("#from")!==-1?">=":"<=";return[s,a,r]}else if(o==="date"){const a=t.indexOf("#from")!==-1?">=":"<=";return[s,a,r.format("YYYY-MM-DD")]}else if(o==="datetime"){const a=[];return r[0]&&a.push([s,">=",r[0]]),r[1]&&a.push([s,"<=",r[1]]),a}else return o==="selection"?[t,"in",r.map(a=>rn(a))]:[t,"=",rn(r)]},Hi=t=>Object.keys(t).filter(r=>r.indexOf("#date")!==-1),Ki=t=>{const r={...t};return Object.keys(r).forEach(n=>(n.indexOf("#time")!==-1||n.indexOf("#date")!==-1)&&delete r[n]),r},Wi=t=>{const r={...Ki(t)};return Hi(t).forEach(s=>{const o=t[s],i=s.split("#")[0],a=i+"#time",c=t[a];let h,d;if(o[0]!==null&&(h=o[0].format("YYYY-MM-DD"),c&&c[0]!==null)){const f=c[0].format("HH:mm:ss");h=h+" "+f}if(o[1]!==null&&(d=o[1].format("YYYY-MM-DD"),c&&c[1]!==null)){const f=c[1].format("HH:mm:ss");d=d+" "+f}r[i+"#datetime"]=[h,d]}),r},Yi=(t,r)=>{const n=Object.keys(t).filter(o=>{const i=r.findById(o);return i&&i.type==="date"});let s={...t};return n.forEach(o=>{delete s[o],t[o][0]!==null&&(s[o+"#from"]=t[o][0]),t[o][1]!==null&&(s[o+"#to"]=t[o][1])}),s},qi=t=>{const r={...t};return Object.keys(r).forEach(n=>(r[n]===void 0||r[n]===null||r[n]==="")&&delete r[n]),r},Ui=t=>{const r={};return t.forEach(n=>{Array.isArray(n)&&n[0]?r[n[0]]=!0:r[n]=!0}),Object.keys(r)},Ct=(t,r)=>{const n=[...t],s=Ui(t);return r.forEach(o=>{Array.isArray(o)&&o[0]?s.includes(o[0])||n.push(o):s.includes(o)||n.push(o)}),n},bt=80,nn=t=>{const{model:r,setSearchTreeNameSearch:n,setSelectedRowItems:s,setSearchParams:o,setSearchVisible:i,setTreeIsLoading:a,nameSearch:c,searchNameGetDoneRef:h,context:d,setActionViewTotalItems:u,treeView:f,formView:g,sorter:w,setSorter:y,setCurrentItemIndex:m,setResultsActionView:v,resultsActionView:S,domain:T,currentId:E,limit:b,setLimit:V,searchParams:F=[],setSearchValues:L}=t,[x,O]=l.useState(!1),[_,C]=l.useState(!1),[P,I]=l.useState(),[D,$]=l.useState(1),[A,M]=l.useState(0),[N,k]=l.useState(),[Y,z]=l.useState([]),[j,U]=l.useState(void 0),[Z,B]=l.useState(void 0),W=l.useRef(b||bt),R=l.useRef([]),re=l.useCallback(ie=>{v==null||v([...ie]),z([...ie])},[]),ce=l.useCallback(()=>S||Y,[S,Y]),X=l.useCallback(async()=>{const ie=await K.getHandler().nameSearch({model:r,payload:c,limit:W.current,attrs:T,context:d});if(k(ie.length),u==null||u(ie.length),ie.length>0){const Me=ie.map(ae=>ae==null?void 0:ae[0]),{colors:ve,status:Ve}=at(f),Ae={};ve&&(Ae.colors=ve),Ve&&(Ae.status=Ve);const te=await K.getHandler().readEvalUiObjects({model:r,ids:Me,arch:f==null?void 0:f.arch,fields:f.field_parent?{...f.fields,[f.field_parent]:{}}:f.fields,context:d,attrs:Ae}),Se=te[0];R.current=[...Se],U(Mt(te[1])),B(Gr(te[1]));const _e=Se.map(ae=>ae.id),Ie=w!==void 0?lt({resultsToSort:Se,sorter:w,fields:{...f.fields,...g.fields}}):[...R.current];re(Ie),_e.length>0?m==null||m(0):m==null||m(void 0)}else re([]),m==null||m(void 0);O(!1),h.current=!0},[re,h,c,r,d,T,f,g,w,m,u]),Q=l.useCallback(async ie=>{const{params:Me,newOffset:ve}=ie||{},Ve=Ct(Me||F,T),{colors:Ae,status:te}=at(f),Se={};Ae&&(Se.colors=Ae),te&&(Se.status=te);const{totalItems:_e,results:Ie,attrsEvaluated:ae}=await K.getHandler().searchForTree({params:Ve,limit:W.current,offset:ve||A,model:r,fields:f.field_parent?{...f.fields,[f.field_parent]:{}}:f.fields,context:d,attrs:Se});U(Mt(ae)),B(Gr(ae)),R.current=[...Ie];const fe=w!==void 0?lt({resultsToSort:Ie,sorter:w,fields:{...f.fields,...g.fields}}):[...R.current];if(re(fe),S&&fe.length>0){const de=fe.findIndex(ze=>E===ze.id);de===-1?m==null||m(0):m==null||m(de)}else m==null||m(void 0);O(!1);const Be=await _e;k(Be),u==null||u(Be)},[m,S,re,E,r,d,T,f,g,w,u,b,A,F]),ue=l.useCallback(async ie=>{try{O(!0),a==null||a(!0),c&&!h.current?await X():await Q(ie)}catch(Me){I(Me.message)}finally{s==null||s([]),C(!1),a==null||a(!1)}},[d,E,T,g,b,r,c,A,S,h,u,m,re,I,C,O,a,w,f]),pe=l.useCallback(ie=>{if(JSON.stringify(ie)===JSON.stringify(w))return;y==null||y(ie);const Me=ie!==void 0?lt({resultsToSort:ce(),sorter:ie,fields:{...f.fields,...g.fields}}):[...R.current];re(Me)},[y,ce,f,g,re]),ke=l.useCallback(ie=>{const{params:Me,searchValues:ve,limit:Ve,offset:Ae}=ie;x||(n==null||n(void 0),s==null||s([]),L==null||L(ve),o==null||o(Me),i==null||i(!1),C(!0),I(void 0),$(1),Ve&&(W.current=Ve,V==null||V(Ve)),Ae&&M(Ae),ue({params:Me,newOffset:Ae}))},[x,n,s,o,i,C,I,$,V,M,ue]),Fe=l.useCallback(ie=>{O(!0),$(ie),M((ie-1)*b)},[O,b,M,$]),Ee=l.useCallback(()=>{x||(n==null||n(void 0),o==null||o([]),L==null||L({}),I(void 0),M(0),$(1),V==null||V(b||bt))},[x,n,o,I,M,$,V,b]),Pe=l.useCallback(async ie=>{const Me=ie[(f==null?void 0:f.field_parent)||"child_id"],ve=await K.getHandler().readObjects({model:r,ids:Me,fields:f.field_parent?{...f.fields,[f.field_parent]:{}}:f.fields,context:d});return re([...ce(),...ve]),Ur(at(f),ve)},[f,r,d,ce,re]),we=l.useCallback(async()=>await K.getHandler().searchAllIds({params:Ct(F,T),model:r,context:d,totalItems:N}),[r,d,N,F,T]);return{submit:ke,clear:Ee,fetchResults:ue,tableRefreshing:x,searchFilterLoading:_,searchError:P,page:D,offset:A,limit:b,getResults:ce,requestPageChange:Fe,changeSort:pe,fetchChildrenForRecord:Pe,colorsForResults:j,statusForResults:Z,totalItems:N,getAllIds:we}},Ue=Ke.default.createContext(null),Gi=t=>{const{children:r,currentView:n,title:s,setCurrentView:o,availableViews:i,formRef:a,searchTreeRef:c,onNewClicked:h,currentId:d,setCurrentId:u,setResults:f,results:g,currentItemIndex:w,setCurrentItemIndex:y,currentModel:m,sorter:v,setSorter:S,totalItems:T,setTotalItems:E,setSelectedRowItems:b,selectedRowItems:V,searchTreeNameSearch:F,setSearchTreeNameSearch:L,goToResourceId:x,limit:O}=t,[_,C]=l.useState(!1),[P,I]=l.useState(!1),[D,$]=l.useState(!1),[A,M]=l.useState(!0),[N,k]=l.useState(!0),[Y,z]=l.useState([]),[j,U]=l.useState(!1),[Z,B]=l.useState([]),[W,R]=l.useState(!1),[re,ce]=l.useState(!0),[X,Q]=l.useState(),[ue,pe]=l.useState({}),[ke,Fe]=l.useState(O!==void 0?O:bt),[Ee,Pe]=l.useState(s);l.useEffect(()=>{g&&g.length>0&&!w&&(y==null||y(0),u==null||u(g[0].id))},[g]),l.useEffect(()=>{Fe(O!==void 0?O:bt)},[O]),l.useEffect(()=>{i.length===1?Q(i[0]):i.length>1&&Q(i.filter(ie=>ie.view_id!==n.view_id)[0])},[i]),l.useEffect(()=>{(X==null?void 0:X.view_id)===n.view_id&&i.length>1&&Q(i.filter(ie=>ie.view_id!==n.view_id)[0])},[n]);const we=async()=>{var ie;return await((ie=a.current)==null?void 0:ie.submitForm())};return e.jsx(Ue.Provider,{value:{title:Ee,currentView:n,setCurrentView:o,availableViews:i,formIsSaving:_,setFormIsSaving:C,formHasChanges:P,setFormHasChanges:I,formRef:a,searchTreeRef:c,onFormSave:we,onNewClicked:h,currentId:d,setCurrentId:u,currentItemIndex:w,setCurrentItemIndex:y,results:g,setResults:f,currentModel:m,removingItem:D,setRemovingItem:$,formIsLoading:A,setFormIsLoading:M,treeIsLoading:N,setTreeIsLoading:k,attachments:Y,setAttachments:z,selectedRowItems:V,setSelectedRowItems:b,duplicatingItem:j,setDuplicatingItem:U,setSearchParams:B,searchParams:Z,searchVisible:W,setSearchVisible:R,sorter:v,setSorter:S,totalItems:T,setTotalItems:E,searchTreeNameSearch:F,setSearchTreeNameSearch:L,setGraphIsLoading:ce,graphIsLoading:re,previousView:X,setPreviousView:Q,goToResourceId:x,searchValues:ue,setSearchValues:pe,limit:ke,setLimit:Fe,setTitle:Pe},children:r})},Xe=Ke.default.createContext(null),ji=t=>{const{children:r,openAction:n,openRelate:s,openDefaultActionForModel:o,openShortcut:i,activeKey:a,onChangeTab:c,onRemoveTab:h,tabs:d}=t,[u,f]=l.useState(),[g,w]=l.useState();return e.jsx(Xe.Provider,{value:{openAction:n,openRelate:s,openDefaultActionForModel:o,activeKey:a,openShortcut:i,onChangeTab:c,onRemoveTab:h,tabs:d,currentId:g,currentView:u,setCurrentId:w,setCurrentView:f},children:r})},ut=Ke.default.createContext(null),on=async t=>{var r;for(let n=0;n<t.length;n++)await((r=t==null?void 0:t[n])==null?void 0:r.call(t))},zi=(t,r)=>{const{children:n,globalValues:s={}}=t,o=l.useRef(),i=l.useRef(),[a,c]=l.useState(!1),h=l.useContext(Xe),{openAction:d}=h||{},u=l.useRef([]),{t:f}=l.useContext(he);l.useImperativeHandle(r,()=>({openActionModal:b}));const[g,w]=l.useState(!1),[y,m]=l.useState({context:{}});async function v(L){const{reportData:x,fields:O,values:_,context:C={}}=L,{context:P,model:I,datas:D={},report_name:$,type:A}=x;if(A!=="ir.actions.report.xml"){Ne(`${A} action not supported`);return}const{ids:M}=D||{};let N=M||[];const k=typeof P=="string"?se.parseContext({context:P,fields:O,values:_}):P;try{const Y=await K.getHandler().createReport({model:I,name:$,datas:D,ids:N,context:{...C,...k}});c(!0),i.current=!0,o.current=setInterval(()=>{S(Y)},1e3)}catch(Y){i.current=!1,clearInterval(o.current),Ne(Y),c(!1)}}async function S(L){let x;try{if(x=await K.getHandler().getReport({id:L}),x.state&&i.current===!0){i.current=!1,clearInterval(o.current),c(!1);const O=await it(x.result);kt(x.result,O.mime)}}catch(O){i.current=!1,clearInterval(o.current),c(!1),Ne(O.exception||O)}}async function T({actionData:L,fields:x,values:O,context:_,onRefreshParentValues:C}){const{type:P}=L;if(u.current.push(C),P==="ir.actions.report.xml")return await v({reportData:L,fields:x,values:O,context:_});if(P==="ir.actions.act_window")return await E({actionData:L,fields:x,values:O,context:_});if(P==="ir.actions.act_url")window.open(xi(L.url,{...O,context:_}),"_blank");else return Ne(`${P} action not supported`),{}}async function E({actionData:L,fields:x={},values:O={},context:_={}}){var $;let C=L;L.res_model||(C=(await K.getHandler().readObjects({model:"ir.actions.act_window",ids:[parseInt(L.id)],context:_}))[0]);const P=typeof(C==null?void 0:C.context)=="string"?se.parseContext({context:C.context,fields:x,values:{...O,...s}}):C.context,I={..._,...P};let D=[];if(C.domain&&(D=await K.getHandler().evalDomain({domain:C.domain,values:dt({fields:x,values:{...O,...s}}),fields:x,context:I})),C.target==="new"){const A=await K.getHandler().getView({model:C.res_model,type:"form",id:(($=C==null?void 0:C.view_id)==null?void 0:$[0])||void 0,context:I});return b({domain:D,model:C.res_model,formView:A,context:I}),{}}else{const{initialView:A,views:M}=await Ji({model:C.res_model,context:I,view_mode:C.view_mode,views:C.views});return d==null||d({target:"current",context:I,domain:D,model:C.res_model,views:M,title:C.name,initialView:A,action_id:C.id,action_type:C.type}),{closeParent:!0}}}function b({domain:L,model:x,formView:O,context:_,actionData:C}){g?V({domain:L,model:x,formView:O,context:_,actionData:C}):(m({domain:L,model:x,context:_,formView:O,actionData:C}),w(!0))}async function V({domain:L,model:x,formView:O,context:_,actionData:C}){m({domain:void 0,model:void 0,context:{},formView:void 0,actionData:void 0}),w(!1),await new Promise(P=>setTimeout(P,300)),m({domain:L,model:x,context:_,formView:O,actionData:C}),w(!0)}async function F(){on(u.current),u.current=[],w(!1),m({domain:void 0,model:void 0,context:{},formView:void 0,actionData:void 0})}return e.jsx(e.Fragment,{children:e.jsx(ut.Provider,{value:{processAction:T,globalValues:s},children:e.jsxs(e.Fragment,{children:[n,e.jsx(p.Modal,{title:f("generatingReport"),open:a,footer:null,closable:!1,centered:!0,maskClosable:!1,children:e.jsx(p.Spin,{})}),e.jsx(ht,{buttonModal:!0,parentContext:y.context,model:y.model,formView:y.formView,visible:g,onSubmitSucceed:F,onCancel:()=>{on(u.current),u.current=[],w(!1),m({domain:void 0,model:void 0,context:{},formView:void 0,actionData:void 0})},showFooter:!1,actionDomain:y.domain,isMenuAction:(y==null?void 0:y.actionData)!==void 0,actionData:y==null?void 0:y.actionData})]})})})};async function Ji({views:t,view_mode:r,model:n,context:s,view_id:o}){const i=[];let a;if(t)for(const c of t){const h=await K.getHandler().getView({model:n,type:c[1],id:c[0],context:s});i.push([h.view_id,c[1]])}else{const c=r.split(",");for(const h of c){const d=await K.getHandler().getView({model:n,type:h,context:s});i.push([d.view_id,h])}}if(t&&t.length>0){const[c,h]=t[0];a={id:c,type:h}}else if(o)a={id:o,type:r.split(",")[0]};else{const c=r.split(",")[0],[h]=i.find(([d,u])=>u===c);a={id:h,type:c}}return{views:i,initialView:a}}const sn=l.forwardRef(zi),Zi=({error:t,className:r})=>{let n,s="error";if(typeof t=="string"&&t.indexOf(" -- ")!==-1&&t.indexOf(`
|
|
18
18
|
|
|
19
|
-
`)!==-1){const{message:o,type:i,title:a}=Dr(t);n=e.jsx(Kt.Interweave,{content:`${a}<br />${o}`}),s=i}else n=t.message?JSON.stringify(t.message):JSON.stringify(t);return e.jsx(p.Alert,{className:r,message:n,type:s,banner:!0})},Xi=800;function Qi(t,r){const{model:n,id:s,onCancel:o,onSubmitSucceed:i,showFooter:a=!1,getDataFromAction:c=!1,onFieldsChange:h,onSubmitError:d,readOnly:u=!1,mustClearAfterSave:f=!1,submitMode:g="api",values:w,formView:y,postSaveAction:m,insideButtonModal:v=!1,parentContext:S={},actionDomain:T,visible:E=!0,rootForm:b=!1,defaultValues:V,forcedValues:F={},parentWidth:L}=t,{t:x,lang:O}=l.useContext(he),[_,C]=l.useState(!1),[P,I]=l.useState(),[D,$]=l.useState(),[A]=p.Form.useForm(),[M,N]=l.useState(),[k,Y]=l.useState(),z=l.useContext(tn),[j,U]=l.useState(),[Z,B]=l.useState(!1),W=l.useRef(),R=l.useRef({}),re=l.useRef({}),ce=l.useRef(!1),X=l.useRef(!1),Q=l.useRef(!1),pe=(L!==void 0?L:j)<Xi,ke=l.useContext(De),{activeId:Fe,getPlainValues:Ee}=ke||{},Pe=l.useContext(Ue),{setFormIsSaving:we=void 0,setFormHasChanges:ie=void 0,setCurrentId:Me=void 0,setFormIsLoading:ve=void 0,setAttachments:Ve=void 0,title:Ae=void 0,setTitle:te=void 0}=(b?Pe:{})||{},Se=l.useContext(ut),{processAction:_e,globalValues:Ie}=Se||{};l.useImperativeHandle(r,()=>({submitForm:Ht,getFields:ze,getValues:$e,getPlainValues:ee,getContext:Ce,fetchValues:nt,cancelUnsavedChanges:lo,clearAndReload:()=>{W.current=void 0,$(void 0),ao()}})),l.useEffect(()=>{if(I(void 0),!(!n&&!y)){if(!E){W.current=void 0,$(void 0);return}(s===void 0&&k||s!==void 0&&k&&s<0)&&(W.current=void 0,$(void 0)),ao()}},[s,n,w,y,E]),l.useEffect(()=>{Z&&(fr({elementHasLostFocus:!0}),B(!1))},[Z]);const ae=(q,J,ne,oe)=>{ie==null||ie(!1),we==null||we(!1),i==null||i(q,J,ne,oe),Me==null||Me(q)},fe=()=>{we==null||we(!1),o==null||o()},Be=q=>{we==null||we(!1),d==null||d(q)};function de(){return s||W.current}function ze(){return k}function $e(){const q={...He(k),...be()};for(const J in q)q[J]===void 0&&delete q[J];return q}function ee(){const q=$e(),J=ze();let ne={};return Object.keys(q).forEach(oe=>{const ge=q[oe];J[oe]&&J[oe].type==="many2one"&&ge&&Array.isArray(ge)&&ge.length===2?ne[oe]=ge[0]:J[oe]&&(J[oe].type==="one2many"||J[oe].type==="many2many")&&ge&&ge.items?ne[oe]=ge.items.filter(je=>je.operation!=="pendingRemove").map(je=>je.id):ne[oe]=ge}),ne}function le(){const q={...He(k)};for(const J in q)q[J]===void 0&&delete q[J];return q}function Ce(){return{...S,...D==null?void 0:D.context}}function ye(){return de()?{active_id:de(),active_ids:[de()]}:{}}function be(){return{id:de(),active_id:de(),active_ids:[de()],parent_id:Fe,...Ie}}const Te=async q=>{const J=de()?D==null?void 0:D.context:{};return await K.getHandler().defaultGet({model:n,fields:q,context:{...S,...J},extraValues:V})},Ge=()=>Object.keys(Zt({source:R.current,target:He(k),fields:k})).length!==0,He=q=>{const J=A.getFieldsValue(!0);return ct(J,q)},Oe=(q,J)=>{Ot({values:{...ct(A.getFieldsValue(!0),k),[q]:J},fields:k,reset:!1})},Le=q=>A.getFieldsValue(!0)[q];async function yt(){try{return await A.validateFields(),!1}catch{return p.message.error(x("fillRequiredFields")),!0}}const ao=async()=>{I(void 0),ve==null||ve(!0);let q;try{y?q={arch:y.arch,fields:y.fields}:q=await Ac();const{fields:J,arch:ne}=q;Y(J),N(ne),await nt({fields:J,arch:ne})}catch(J){I(J!=null&&J.message?J.message+J.stack:J),ve==null||ve(!1)}},nt=async q=>{let J,ne,oe,ge;ve==null||ve(!0),I(void 0),q!=null&&q.fields?(ne=q.fields,oe=q.arch):(ne=k,oe=M),w&&(q==null?void 0:q.forceRefresh)!==!0?J=w:{values:J,defaultGetCalled:ge}=await $c({fields:ne,arch:oe}),T&&(J={...Ci(T),...J}),R.current=ct(J,ne),Ot({values:J,fields:ne,reset:!0,isDefaultGet:ge}),_t({fields:ne,arch:oe,values:J}),ve==null||ve(!1),ie==null||ie(!1),ge&&B(!0)},lo=async()=>new Promise(async q=>{Ge()?St({lang:O,onOk:()=>{fe==null||fe(),q(!0)},onCancel:()=>{q(!1)}}):(fe==null||fe(),q(!0))}),Ac=async()=>{if(c){const q=await K.getHandler().getActionStringForModel(n);return(await K.getHandler().getViewsForAction({action:q,context:S})).views.get("form")}return await K.getHandler().getView({model:n,type:"form",context:S})},Ot=({values:q,fields:J,reset:ne,isDefaultGet:oe=!1})=>{const je={...ne?{}:A.getFieldsValue(!0),...q},pr=ct(je,J),jc=Object.keys(J).map(gr=>{const zc=pr[gr]!==void 0?pr[gr]:void 0;return{name:gr,touched:!1,value:zc}});oe||(re.current=pr),A.setFields(jc)},$c=async({fields:q,arch:J})=>{let ne={},oe=!1;if(de()){ne=(await K.getHandler().readObjects({model:n,ids:[de()],fields:q,context:S}))[0];const ge=await K.getHandler().search({params:[["res_model","=",n],["res_id","=",de()]],fields:["id","name"],context:Ce(),model:"ir.attachment"});Ve==null||Ve(ge)}else Ve==null||Ve([]),ne=await Te(q),oe=!0;return{values:ne,defaultGetCalled:oe}},co=async q=>{const{callOnSubmitSucceed:J=!0}=q||{};if(de()){const ne=Zt({source:R.current,target:He(k),fields:k});await K.getHandler().update({model:n,id:de(),values:{...ne,...F},fields:k,context:{...S,...D==null?void 0:D.context}}),R.current=He(k)}else{const ne=He(k),oe=await K.getHandler().create({model:n,values:{...ne,...F},fields:k,context:{...S,...D==null?void 0:D.context}});W.current=oe,R.current=ne}m&&await m([de()]),!v&&J&&(ae==null||ae(de(),$e(),le()))},Lc=async q=>{const{callOnSubmitSucceed:J=!0}=q||{};!v&&J&&(ae==null||ae(de(),$e(),le()))},Ht=async q=>{let J=!1;const{callOnSubmitSucceed:ne=!0}=q||{};if(X.current=!0,I(void 0),Q.current&&!Ge()&&de()&&ne){X.current=!1,ie==null||ie(!1),ae==null||ae(de(),$e(),le(),Q.current),Q.current=!1;const oe=de();return f&&(W.current=void 0,Ot({values:{},fields:k,reset:!0})),{succeed:!0,id:oe}}if(!Ge()&&de()&&ne)return X.current=!1,ie==null||ie(!1),fe==null||fe(),{succeed:!0,id:de()};if(await yt())return X.current=!1,en(O),{succeed:!1,id:de()};C(!0),we==null||we(!0);try{g==="api"?await co(q):await Lc(q),f&&(W.current=void 0,Ot({values:{},fields:k,reset:!0})),await nt({forceRefresh:!0}),J=!0,p.message.success(x("savedRegisters"))}catch(oe){X.current=!1,C(!1),we==null||we(!1),Be==null||Be(oe),p.message.error(x("errorWhileSavingForm")),I(oe!=null&&oe.message?oe.message:oe)}finally{X.current=!1,we==null||we(!1),C(!1)}return{succeed:J,id:de()}},_t=({fields:q,arch:J,values:ne,operationInProgress:oe=!1})=>{var je;const ge=new se.Form(q);ge.parse(J,{readOnly:u||oe,values:fi({...ne,...be()},q)}),$(ge),ge.string&&ge.string!==Ae&&(te==null||te(ge.string)),z&&ge.string&&((je=z.setTitle)==null||je.call(z,ge.string))},fr=async({elementHasLostFocus:q=!1})=>{if(X.current)return;const J=Zt({source:re.current,target:He(k),fields:k}),ne=Object.keys(J);if(ne.length!==0){if(wi({changedFields:ne,formOoui:D,types:["text","codeeditor","email","url","char","float","float_time","integer","many2one"]})&&q!==!0)return;{const oe=ct(A.getFieldsValue(!0),k);re.current=oe,h==null||h(oe),ie==null||ie(!0),Pc(ne)}}},Nc=oi(fr,100),Pc=async q=>{try{for(let J=0;J<q.length;J+=1){const ne=q[J];await Bc(ne)}}catch(J){Ne(J)}},Bc=async q=>{const J=D==null?void 0:D.onChangeFields[q];if(!J){_t({fields:k,arch:M,values:He(k)});return}const ne=bi({values:{...He(k),context:{...S,...D==null?void 0:D.context}},parentValues:Ee==null?void 0:Ee(),onChangeFieldActionArgs:J.args}),oe=await K.getHandler().executeOnChange({model:n,action:J.method,ids:de()?[de()]:[],payload:ne,fields:k});if(oe.value){const ge={...He(k),...oe.value};_t({fields:k,arch:M,values:ge}),Ot({values:ge,fields:k,reset:!1})}if(oe.warning&&oe.warning.title&&oe.warning.message&&!ce.current){const{title:ge,message:je}=oe.warning;ce.current=!0,Li(ge,je,()=>{ce.current=!1})}if(oe.domain&&Object.keys(oe.domain).length>0){const ge=Si({fieldsDomain:oe.domain,fields:k});_t({fields:ge,arch:M,values:He(ge)}),Y(ge)}};async function Hc({action:q,context:J}){const ne=await K.getHandler().execute({model:n,action:q,payload:[de()],context:{...D==null?void 0:D.context,...S,...J}});if(typeof ne=="object"&&ne!==null&&Object.keys(ne).length===0&&v)ae==null||ae(de(),$e(),le());else if(ne.type&&ne.type==="ir.actions.act_window_close")ae==null||ae(de(),$e(),le());else if(ne.type){let oe={};ne.context&&(oe=se.parseContext({context:ne.context,fields:k,values:$e()})),await uo({actionData:ne,context:{...J,...oe}})}else await nt({forceRefresh:!0})}async function Kc({action:q}){const J=await K.getHandler().executeWorkflow({model:n,action:q,payload:de()});J.type&&J.type==="ir.actions.act_window_close"?ae==null||ae(de(),$e(),le()):await nt({forceRefresh:!0})}async function Wc({action:q,context:J}){const ne=(await K.getHandler().readObjects({model:"ir.actions.actions",ids:[parseInt(q)],context:S}))[0];await uo({actionData:ne,context:J})}async function uo({actionData:q,context:J}){const{closeParent:ne}=await(_e==null?void 0:_e({actionData:q,fields:k,values:$e(),context:{...S,...D==null?void 0:D.context,...J},onRefreshParentValues:()=>{nt({forceRefresh:!0})}}))||{};!b&&ne&&(ae==null||ae(de(),$e(),le()))}function Yc(){fr({elementHasLostFocus:!0})}function hr(q){_t({fields:k,arch:M,values:He(k),operationInProgress:q})}async function qc({type:q,action:J,context:ne}){if(q==="cancel"){fe==null||fe();return}if(await yt()){en(O);return}let oe=!1;try{!u&&(Ge()||de()===void 0)&&(oe=!0,hr(!0),g==="2many"?(await co({callOnSubmitSucceed:!1}),Q.current=!0):await Ht({callOnSubmitSucceed:!1}));const ge=Q.current?ye():{},je={...ne,...ge};q==="object"?await Hc({action:J,context:je}):q==="workflow"?await Kc({action:J}):q==="action"&&await Wc({action:J,context:je}),oe&&hr(!1)}catch(ge){oe&&hr(!1),Ne(ge)}}const Uc=()=>!D&&!P?e.jsx(p.Spin,{}):!n&&!y||!E?null:e.jsx(e.Fragment,{children:e.jsx(Wo,{getValues:$e,getPlainValues:ee,getFields:ze,domain:T,activeId:s,activeModel:n,setFieldValue:Oe,getFieldValue:Le,executeButtonAction:qc,getContext:Ce,submitForm:Ht,fetchValues:nt,formHasChanges:Ge,elementHasLostFocus:Yc,children:e.jsx(p.Form,{form:A,onFieldsChange:()=>{Nc({elementHasLostFocus:!1})},component:!1,children:D&&e.jsx(Xt,{container:D.container,responsiveBehaviour:pe})})})}),Gc=()=>e.jsxs(e.Fragment,{children:[e.jsx(p.Divider,{}),e.jsx(p.Row,{justify:"end",children:e.jsxs(p.Space,{children:[e.jsx(p.Button,{icon:e.jsx(H.CloseOutlined,{}),disabled:_,onClick:async()=>{await lo()},children:"Cancel"}),e.jsx(p.Button,{disabled:_||u,loading:_,icon:e.jsx(H.CheckOutlined,{}),onClick:async()=>{await Ht()},type:"primary",children:"OK"})]})})]});return E?e.jsx(Yt.default,{bounds:!0,onResize:q=>{var J;U((J=q.bounds)==null?void 0:J.width)},children:({measureRef:q})=>e.jsxs("div",{className:"pb-2",ref:q,children:[P&&e.jsx(Zi,{className:"mt-5 mb-10",error:P}),Uc(),a&&Gc()]})}):null}const ft=l.forwardRef(Qi),ht=t=>{const{visible:r,id:n,title:s,buttonModal:o=!1,onCancel:i,isMenuAction:a=!1,actionData:c,...h}=t,{modalWidth:d}=Dt(),[u,f]=l.useState(s),[g,w]=l.useState(!1),[y,m]=l.useState();l.useEffect(()=>{a&&v()},[c,a]);async function v(){const{action_id:b,res_id:V,action_type:F,view_id:L}=c,x=await K.getHandler().isShortcutFavorite({action_id:b,action_type:F,view_id:L,res_id:V||!1});w(x!==!1),x!==!1&&m(x)}async function S(){if(g&&y)await K.getHandler().removeFavourite({shortcut_id:y});else{const{action_id:b,res_id:V,action_type:F,view_id:L}=c;await K.getHandler().addFavourite({action_id:b,action_type:F,view_id:L,res_id:V||!1})}w(!g)}function T(){return e.jsxs(p.Row,{align:"middle",children:[e.jsx(p.Col,{children:e.jsx(p.Button,{type:g?"primary":"default",icon:g?e.jsx(H.StarFilled,{style:{color:"white"}}):e.jsx(H.StarOutlined,{}),style:{width:30},onClick:S})}),e.jsx(p.Col,{style:{paddingLeft:10},children:u})]})}const E=d*.95;return e.jsx(Ni,{setTitle:f,children:e.jsx(p.Modal,{title:a?T():u,centered:!0,width:d,open:r,footer:null,destroyOnClose:!0,onCancel:i,maskClosable:!1,children:e.jsx(ft,{id:n,showFooter:!0,insideButtonModal:o,onCancel:i,parentWidth:E,...h})})})},Ri=t=>e.jsx(me,{...t,layout:"vertical",children:e.jsx(p.DatePicker.RangePicker,{allowEmpty:[!0,!0],format:"DD/MM/YYYY"})}),ea=t=>{const{ooui:r,showLabel:n=!1}=t,{label:s,id:o}=r,i=[new se.Field({name:o+"#date",label:""}),new se.Field({name:o+"#time",label:""})];return e.jsxs(e.Fragment,{children:[n&&e.jsx(vt,{ooui:new se.Label({name:o+"_label",string:s,help:r.tooltip,fieldForLabel:o}),align:"left"}),e.jsxs(p.Row,{align:"bottom",className:"p-0",children:[e.jsx(p.Col,{className:"mr-2",children:e.jsx(me,{...t,ooui:i[0],showLabel:!1,children:e.jsx(p.DatePicker.RangePicker,{className:"w-60",allowEmpty:[!0,!0],format:"DD/MM/YYYY"})})}),e.jsx(p.Col,{children:e.jsx(me,{...t,ooui:i[1],showLabel:!1,children:e.jsx(p.TimePicker.RangePicker,{className:"w-60",allowEmpty:[!0,!0],format:"HH:mm"})})})]})]})},{useToken:ta}=p.theme,Qt=t=>{const{ooui:r}=t,{id:n,decimalDigits:s,readOnly:o,required:i}=r,{token:a}=ta(),c=i&&!o?{backgroundColor:a.colorPrimaryBg}:void 0,h=l.useContext(De),{elementHasLostFocus:d}=h||{};return e.jsx(me,{required:i,type:"number",...t,children:e.jsx(p.InputNumber,{disabled:o,className:"w-full",style:c,id:n,precision:s,formatter:u=>`${u}`.replace(/[^0-9\.\-]+/g,""),defaultValue:0,decimalSeparator:".",onBlur:d})})},{useToken:ra}=p.theme,xt=t=>{const{ooui:r,onChange:n}=t,{id:s,readOnly:o,required:i}=r,{token:a}=ra(),c=i&&!o?{backgroundColor:a.colorPrimaryBg}:void 0,h=l.useContext(De),{elementHasLostFocus:d}=h||{};return e.jsx(me,{required:i,type:"number",...t,children:e.jsx(p.InputNumber,{id:s,className:"w-full ",disabled:o,formatter:u=>u===void 0?"":typeof u=="string"&&!isNaN(parseFloat(u))?`${Math.trunc(parseFloat(u))}`.replace(/[^0-9\-]+/g,""):typeof u=="number"?`${Math.trunc(u)}`.replace(/[^0-9\-]+/g,""):"",onChange:u=>{const f=u;n==null||n(f)},defaultValue:0,onBlur:d,precision:0,style:c})})};function na(t){const{ooui:r,showLabel:n}=t,{id:s,label:o,tooltip:i}=r,a=r instanceof se.Integer?xt:Qt,c=h=>e.jsx(a,{ooui:{...r,id:s+h,label:"",tooltip:void 0},layout:"vertical"});return e.jsxs(e.Fragment,{children:[n&&e.jsx(vt,{ooui:new se.Label({name:s+"_label",string:o,help:i,fieldForLabel:s}),align:"left"}),e.jsxs(p.Row,{align:"bottom",className:"mt-0",wrap:!1,children:[e.jsx(p.Col,{children:c("#from")}),e.jsx(p.Col,{className:"pb-1",children:e.jsx("span",{className:"pl-2 pr-2 h-full",children:" - "})}),e.jsx(p.Col,{children:c("#to")})]})]})}const{defaultAlgorithm:oa,defaultSeed:sa}=p.theme,ia=oa(sa),{Option:aa}=p.Select,la=t=>{const{ooui:r}=t,{required:n}=r;return e.jsx(me,{required:n,type:"any",...t,children:e.jsx(ca,{...t})})},ca=t=>{const{ooui:r,onChange:n,value:s}=t,{selectionValues:o,readOnly:i,required:a}=r,c=Array.from(o.entries()),h=c&&c.length&&c.filter(f=>{const[g]=f;return s?!s.includes(g):!0}).map(f=>{const[g,w]=f;return e.jsx(aa,{value:w,children:w},g)}),d=a&&!i?da:p.Select;function u(f){const g=f.map(w=>{const y=c.find(([m,v])=>w===v);return y&&y[0]});if(g.length===0){n==null||n(void 0);return}n==null||n(g)}return e.jsx(d,{disabled:i,onChange:u,value:s==null?void 0:s.map(f=>o.get(f)),mode:"multiple",showArrow:!0,children:h})},da=ot.default(p.Select)`
|
|
19
|
+
`)!==-1){const{message:o,type:i,title:a}=Dr(t);n=e.jsx(Kt.Interweave,{content:`${a}<br />${o}`}),s=i}else n=t.message?JSON.stringify(t.message):JSON.stringify(t);return e.jsx(p.Alert,{className:r,message:n,type:s,banner:!0})},Xi=800;function Qi(t,r){const{model:n,id:s,onCancel:o,onSubmitSucceed:i,showFooter:a=!1,getDataFromAction:c=!1,onFieldsChange:h,onSubmitError:d,readOnly:u=!1,mustClearAfterSave:f=!1,submitMode:g="api",values:w,formView:y,postSaveAction:m,insideButtonModal:v=!1,parentContext:S={},actionDomain:T,visible:E=!0,rootForm:b=!1,defaultValues:V,forcedValues:F={},parentWidth:L}=t,{t:x,lang:O}=l.useContext(he),[_,C]=l.useState(!1),[P,I]=l.useState(),[D,$]=l.useState(),[A]=p.Form.useForm(),[M,N]=l.useState(),[k,Y]=l.useState(),z=l.useContext(tn),[j,U]=l.useState(),[Z,B]=l.useState(!1),W=l.useRef(),R=l.useRef({}),re=l.useRef({}),ce=l.useRef(!1),X=l.useRef(!1),Q=l.useRef(!1),pe=(L!==void 0?L:j)<Xi,ke=l.useContext(De),{activeId:Fe,getPlainValues:Ee}=ke||{},Pe=l.useContext(Ue),{setFormIsSaving:we=void 0,setFormHasChanges:ie=void 0,setCurrentId:Me=void 0,setFormIsLoading:ve=void 0,setAttachments:Ve=void 0,title:Ae=void 0,setTitle:te=void 0}=(b?Pe:{})||{},Se=l.useContext(ut),{processAction:_e,globalValues:Ie}=Se||{};l.useImperativeHandle(r,()=>({submitForm:Ht,getFields:ze,getValues:$e,getPlainValues:ee,getContext:Ce,fetchValues:nt,cancelUnsavedChanges:lo,clearAndReload:()=>{W.current=void 0,$(void 0),ao()}})),l.useEffect(()=>{if(I(void 0),!(!n&&!y)){if(!E){W.current=void 0,$(void 0);return}(s===void 0&&k||s!==void 0&&k&&s<0)&&(W.current=void 0,$(void 0)),ao()}},[s,n,w,y,E]),l.useEffect(()=>{Z&&(fr({elementHasLostFocus:!0}),B(!1))},[Z]);const ae=(q,J,ne,oe)=>{ie==null||ie(!1),we==null||we(!1),i==null||i(q,J,ne,oe),Me==null||Me(q)},fe=()=>{we==null||we(!1),o==null||o()},Be=q=>{we==null||we(!1),d==null||d(q)};function de(){return s||W.current}function ze(){return k}function $e(){const q={...He(k),...be()};for(const J in q)q[J]===void 0&&delete q[J];return q}function ee(){const q=$e(),J=ze();let ne={};return Object.keys(q).forEach(oe=>{const ge=q[oe];J[oe]&&J[oe].type==="many2one"&&ge&&Array.isArray(ge)&&ge.length===2?ne[oe]=ge[0]:J[oe]&&(J[oe].type==="one2many"||J[oe].type==="many2many")&&ge&&ge.items?ne[oe]=ge.items.filter(je=>je.operation!=="pendingRemove").map(je=>je.id):ne[oe]=ge}),ne}function le(){const q={...He(k)};for(const J in q)q[J]===void 0&&delete q[J];return q}function Ce(){return{...S,...D==null?void 0:D.context}}function ye(){return de()?{active_id:de(),active_ids:[de()]}:{}}function be(){return{id:de(),active_id:de(),active_ids:[de()],parent_id:Fe,...Ie}}const Te=async q=>{const J=de()?D==null?void 0:D.context:{};return await K.getHandler().defaultGet({model:n,fields:q,context:{...S,...J},extraValues:V})},Ge=()=>Object.keys(Zt({source:R.current,target:He(k),fields:k})).length!==0,He=q=>{const J=A.getFieldsValue(!0);return ct(J,q)},Oe=(q,J)=>{Ot({values:{...ct(A.getFieldsValue(!0),k),[q]:J},fields:k,reset:!1})},Le=q=>A.getFieldsValue(!0)[q];async function yt(){try{return await A.validateFields(),!1}catch{return p.message.error(x("fillRequiredFields")),!0}}const ao=async()=>{I(void 0),ve==null||ve(!0);let q;try{y?q={arch:y.arch,fields:y.fields}:q=await Ac();const{fields:J,arch:ne}=q;Y(J),N(ne),await nt({fields:J,arch:ne})}catch(J){I(J!=null&&J.message?J.message+J.stack:J),ve==null||ve(!1)}},nt=async q=>{let J,ne,oe,ge;ve==null||ve(!0),I(void 0),q!=null&&q.fields?(ne=q.fields,oe=q.arch):(ne=k,oe=M),w&&(q==null?void 0:q.forceRefresh)!==!0?J=w:{values:J,defaultGetCalled:ge}=await $c({fields:ne,arch:oe}),T&&(J={...Ci(T),...J}),R.current=ct(J,ne),Ot({values:J,fields:ne,reset:!0,isDefaultGet:ge}),_t({fields:ne,arch:oe,values:J}),ve==null||ve(!1),ie==null||ie(!1),ge&&B(!0)},lo=async()=>new Promise(async q=>{Ge()?St({lang:O,onOk:()=>{fe==null||fe(),q(!0)},onCancel:()=>{q(!1)}}):(fe==null||fe(),q(!0))}),Ac=async()=>{if(c){const q=await K.getHandler().getActionStringForModel(n);return(await K.getHandler().getViewsForAction({action:q,context:S})).views.get("form")}return await K.getHandler().getView({model:n,type:"form",context:S})},Ot=({values:q,fields:J,reset:ne,isDefaultGet:oe=!1})=>{const je={...ne?{}:A.getFieldsValue(!0),...q},pr=ct(je,J),jc=Object.keys(J).map(gr=>{const zc=pr[gr]!==void 0?pr[gr]:void 0;return{name:gr,touched:!1,value:zc}});oe||(re.current=pr),A.setFields(jc)},$c=async({fields:q,arch:J})=>{let ne={},oe=!1;if(de()){ne=(await K.getHandler().readObjects({model:n,ids:[de()],fields:q,context:S}))[0];const ge=await K.getHandler().search({params:[["res_model","=",n],["res_id","=",de()]],fields:["id","name"],context:Ce(),model:"ir.attachment"});Ve==null||Ve(ge)}else Ve==null||Ve([]),ne=await Te(q),oe=!0;return{values:ne,defaultGetCalled:oe}},co=async q=>{const{callOnSubmitSucceed:J=!0}=q||{};if(de()){const ne=Zt({source:R.current,target:He(k),fields:k});await K.getHandler().update({model:n,id:de(),values:{...ne,...F},fields:k,context:{...S,...D==null?void 0:D.context}}),R.current=He(k)}else{const ne=He(k),oe=await K.getHandler().create({model:n,values:{...ne,...F},fields:k,context:{...S,...D==null?void 0:D.context}});W.current=oe,R.current=ne}m&&await m([de()]),!v&&J&&(ae==null||ae(de(),$e(),le()))},Lc=async q=>{const{callOnSubmitSucceed:J=!0}=q||{};!v&&J&&(ae==null||ae(de(),$e(),le()))},Ht=async q=>{let J=!1;const{callOnSubmitSucceed:ne=!0}=q||{};if(X.current=!0,I(void 0),Q.current&&!Ge()&&de()&&ne){X.current=!1,ie==null||ie(!1),ae==null||ae(de(),$e(),le(),Q.current),Q.current=!1;const oe=de();return f&&(W.current=void 0,Ot({values:{},fields:k,reset:!0})),{succeed:!0,id:oe}}if(!Ge()&&de()&&ne)return X.current=!1,ie==null||ie(!1),fe==null||fe(),{succeed:!0,id:de()};if(await yt())return X.current=!1,en(O),{succeed:!1,id:de()};C(!0),we==null||we(!0);try{g==="api"?await co(q):await Lc(q),f&&(W.current=void 0,Ot({values:{},fields:k,reset:!0})),await nt({forceRefresh:!0}),J=!0,p.message.success(x("savedRegisters"))}catch(oe){X.current=!1,C(!1),we==null||we(!1),Be==null||Be(oe),p.message.error(x("errorWhileSavingForm")),I(oe!=null&&oe.message?oe.message:oe)}finally{X.current=!1,we==null||we(!1),C(!1)}return{succeed:J,id:de()}},_t=({fields:q,arch:J,values:ne,operationInProgress:oe=!1})=>{var je;const ge=new se.Form(q);ge.parse(J,{readOnly:u||oe,values:fi({...ne,...be()},q)}),$(ge),ge.string&&ge.string!==Ae&&(te==null||te(ge.string)),z&&ge.string&&((je=z.setTitle)==null||je.call(z,ge.string))},fr=async({elementHasLostFocus:q=!1})=>{if(X.current)return;const J=Zt({source:re.current,target:He(k),fields:k}),ne=Object.keys(J);if(ne.length!==0){if(wi({changedFields:ne,formOoui:D,types:["text","codeeditor","email","url","char","float","float_time","integer","many2one"]})&&q!==!0)return;{const oe=ct(A.getFieldsValue(!0),k);re.current=oe,h==null||h(oe),ie==null||ie(!0),Pc(ne)}}},Nc=oi(fr,100),Pc=async q=>{try{for(let J=0;J<q.length;J+=1){const ne=q[J];await Bc(ne)}}catch(J){Ne(J)}},Bc=async q=>{const J=D==null?void 0:D.onChangeFields[q];if(!J){_t({fields:k,arch:M,values:He(k)});return}const ne=bi({values:{...He(k),context:{...S,...D==null?void 0:D.context}},parentValues:Ee==null?void 0:Ee(),onChangeFieldActionArgs:J.args}),oe=await K.getHandler().executeOnChange({model:n,action:J.method,ids:de()?[de()]:[],payload:ne,fields:k});if(oe.value){const ge={...He(k),...oe.value};_t({fields:k,arch:M,values:ge}),Ot({values:ge,fields:k,reset:!1})}if(oe.warning&&oe.warning.title&&oe.warning.message&&!ce.current){const{title:ge,message:je}=oe.warning;ce.current=!0,Li(ge,je,()=>{ce.current=!1})}if(oe.domain&&Object.keys(oe.domain).length>0){const ge=Si({fieldsDomain:oe.domain,fields:k});_t({fields:ge,arch:M,values:He(ge)}),Y(ge)}};async function Hc({action:q,context:J}){const ne=await K.getHandler().execute({model:n,action:q,payload:[de()],context:{...D==null?void 0:D.context,...S,...J}});if(typeof ne=="object"&&ne!==null&&Object.keys(ne).length===0&&v)ae==null||ae(de(),$e(),le());else if(ne.type&&ne.type==="ir.actions.act_window_close")ae==null||ae(de(),$e(),le());else if(ne.type){let oe={};ne.context&&(oe=se.parseContext({context:ne.context,fields:k,values:$e()})),await uo({actionData:ne,context:{...J,...oe}})}else await nt({forceRefresh:!0})}async function Kc({action:q}){const J=await K.getHandler().executeWorkflow({model:n,action:q,payload:de()});J.type&&J.type==="ir.actions.act_window_close"?ae==null||ae(de(),$e(),le()):await nt({forceRefresh:!0})}async function Wc({action:q,context:J}){const ne=(await K.getHandler().readObjects({model:"ir.actions.actions",ids:[parseInt(q)],context:S}))[0];await uo({actionData:ne,context:J})}async function uo({actionData:q,context:J}){const{closeParent:ne}=await(_e==null?void 0:_e({actionData:q,fields:k,values:$e(),context:{...S,...D==null?void 0:D.context,...J},onRefreshParentValues:()=>{nt({forceRefresh:!0})}}))||{};!b&&ne&&(ae==null||ae(de(),$e(),le()))}function Yc(){fr({elementHasLostFocus:!0})}function hr(q){_t({fields:k,arch:M,values:He(k),operationInProgress:q})}async function qc({type:q,action:J,context:ne}){if(q==="cancel"){fe==null||fe();return}if(await yt()){en(O);return}let oe=!1;try{!u&&(Ge()||de()===void 0)&&(oe=!0,hr(!0),g==="2many"?(await co({callOnSubmitSucceed:!1}),Q.current=!0):await Ht({callOnSubmitSucceed:!1}));const ge=Q.current?ye():{},je={...ne,...ge};q==="object"?await Hc({action:J,context:je}):q==="workflow"?await Kc({action:J}):q==="action"&&await Wc({action:J,context:je}),oe&&hr(!1)}catch(ge){oe&&hr(!1),Ne(ge)}}const Uc=()=>!D&&!P?e.jsx(p.Spin,{}):!n&&!y||!E?null:e.jsx(e.Fragment,{children:e.jsx(Wo,{getValues:$e,getPlainValues:ee,getFields:ze,domain:T,activeId:s,activeModel:n,setFieldValue:Oe,getFieldValue:Le,executeButtonAction:qc,getContext:Ce,submitForm:Ht,fetchValues:nt,formHasChanges:Ge,elementHasLostFocus:Yc,children:e.jsx(p.Form,{form:A,onFieldsChange:()=>{Nc({elementHasLostFocus:!1})},component:!1,children:D&&e.jsx(Xt,{container:D.container,responsiveBehaviour:pe})})})}),Gc=()=>e.jsxs(e.Fragment,{children:[e.jsx(p.Divider,{}),e.jsx(p.Row,{justify:"end",children:e.jsxs(p.Space,{children:[e.jsx(p.Button,{icon:e.jsx(H.CloseOutlined,{}),disabled:_,onClick:async()=>{await lo()},children:"Cancel"}),e.jsx(p.Button,{disabled:_||u,loading:_,icon:e.jsx(H.CheckOutlined,{}),onClick:async()=>{await Ht()},type:"primary",children:"OK"})]})})]});return E?e.jsx(Yt.default,{bounds:!0,onResize:q=>{var J;U((J=q.bounds)==null?void 0:J.width)},children:({measureRef:q})=>e.jsxs("div",{className:"pb-2",ref:q,children:[P&&e.jsx(Zi,{className:"mt-5 mb-10",error:P}),Uc(),a&&Gc()]})}):null}const ft=l.forwardRef(Qi),ht=t=>{const{visible:r,id:n,title:s,buttonModal:o=!1,onCancel:i,isMenuAction:a=!1,actionData:c,...h}=t,{modalWidth:d}=Dt(),[u,f]=l.useState(s),[g,w]=l.useState(!1),[y,m]=l.useState();l.useEffect(()=>{a&&v()},[c,a]);async function v(){const{action_id:b,res_id:V,action_type:F,view_id:L}=c,x=await K.getHandler().isShortcutFavorite({action_id:b,action_type:F,view_id:L,res_id:V||!1});w(x!==!1),x!==!1&&m(x)}async function S(){if(g&&y)await K.getHandler().removeFavourite({shortcut_id:y});else{const{action_id:b,res_id:V,action_type:F,view_id:L}=c;await K.getHandler().addFavourite({action_id:b,action_type:F,view_id:L,res_id:V||!1})}w(!g)}function T(){return e.jsxs(p.Row,{align:"middle",children:[e.jsx(p.Col,{children:e.jsx(p.Button,{type:g?"primary":"default",icon:g?e.jsx(H.StarFilled,{style:{color:"white"}}):e.jsx(H.StarOutlined,{}),style:{width:30},onClick:S})}),e.jsx(p.Col,{style:{paddingLeft:10},children:u})]})}const E=d*.95;return e.jsx(Ni,{setTitle:f,children:e.jsx(p.Modal,{title:a?T():u,centered:!0,width:d,open:r,footer:null,destroyOnClose:!0,onCancel:i,maskClosable:!1,children:e.jsx(ft,{id:n,showFooter:!0,insideButtonModal:o,onCancel:i,parentWidth:E,...h})})})},Ri=t=>e.jsx(me,{...t,layout:"vertical",children:e.jsx(p.DatePicker.RangePicker,{allowEmpty:[!0,!0],format:"DD/MM/YYYY"})}),ea=t=>{const{ooui:r,showLabel:n=!1}=t,{label:s,id:o}=r,i=[new se.Field({name:o+"#date",label:""}),new se.Field({name:o+"#time",label:""})];return e.jsxs(e.Fragment,{children:[n&&e.jsx(vt,{ooui:new se.Label({name:o+"_label",string:s,help:r.tooltip,fieldForLabel:o}),align:"left"}),e.jsxs(p.Row,{align:"bottom",className:"p-0",children:[e.jsx(p.Col,{className:"mr-2",children:e.jsx(me,{...t,ooui:i[0],showLabel:!1,children:e.jsx(p.DatePicker.RangePicker,{className:"w-60",allowEmpty:[!0,!0],format:"DD/MM/YYYY"})})}),e.jsx(p.Col,{children:e.jsx(me,{...t,ooui:i[1],showLabel:!1,children:e.jsx(p.TimePicker.RangePicker,{className:"w-60",allowEmpty:[!0,!0],format:"HH:mm"})})})]})]})},{useToken:ta}=p.theme,Qt=t=>{const{ooui:r}=t,{id:n,decimalDigits:s,readOnly:o,required:i}=r,{token:a}=ta(),c=i&&!o?{backgroundColor:a.colorPrimaryBg}:void 0,h=l.useContext(De),{elementHasLostFocus:d}=h||{};return e.jsx(me,{required:i,type:"number",...t,children:e.jsx(p.InputNumber,{disabled:o,className:"w-full",style:c,id:n,precision:s,formatter:u=>`${u}`.replace(/[^0-9\.\-]+/g,""),decimalSeparator:".",onBlur:d})})},{useToken:ra}=p.theme,xt=t=>{const{ooui:r,onChange:n}=t,{id:s,readOnly:o,required:i}=r,{token:a}=ra(),c=i&&!o?{backgroundColor:a.colorPrimaryBg}:void 0,h=l.useContext(De),{elementHasLostFocus:d}=h||{};return e.jsx(me,{required:i,type:"number",...t,children:e.jsx(p.InputNumber,{id:s,className:"w-full ",disabled:o,formatter:u=>u===void 0?"":typeof u=="string"&&!isNaN(parseFloat(u))?`${Math.trunc(parseFloat(u))}`.replace(/[^0-9\-]+/g,""):typeof u=="number"?`${Math.trunc(u)}`.replace(/[^0-9\-]+/g,""):"",onChange:u=>{const f=u;n==null||n(f)},onBlur:d,precision:0,style:c})})};function na(t){const{ooui:r,showLabel:n}=t,{id:s,label:o,tooltip:i}=r,a=r instanceof se.Integer?xt:Qt,c=h=>e.jsx(a,{ooui:{...r,id:s+h,label:"",tooltip:void 0},layout:"vertical"});return e.jsxs(e.Fragment,{children:[n&&e.jsx(vt,{ooui:new se.Label({name:s+"_label",string:o,help:i,fieldForLabel:s}),align:"left"}),e.jsxs(p.Row,{align:"bottom",className:"mt-0",wrap:!1,children:[e.jsx(p.Col,{children:c("#from")}),e.jsx(p.Col,{className:"pb-1",children:e.jsx("span",{className:"pl-2 pr-2 h-full",children:" - "})}),e.jsx(p.Col,{children:c("#to")})]})]})}const{defaultAlgorithm:oa,defaultSeed:sa}=p.theme,ia=oa(sa),{Option:aa}=p.Select,la=t=>{const{ooui:r}=t,{required:n}=r;return e.jsx(me,{required:n,type:"any",...t,children:e.jsx(ca,{...t})})},ca=t=>{const{ooui:r,onChange:n,value:s}=t,{selectionValues:o,readOnly:i,required:a}=r,c=Array.from(o.entries()),h=c&&c.length&&c.filter(f=>{const[g]=f;return s?!s.includes(g):!0}).map(f=>{const[g,w]=f;return e.jsx(aa,{value:w,children:w},g)}),d=a&&!i?da:p.Select;function u(f){const g=f.map(w=>{const y=c.find(([m,v])=>w===v);return y&&y[0]});if(g.length===0){n==null||n(void 0);return}n==null||n(g)}return e.jsx(d,{disabled:i,onChange:u,value:s==null?void 0:s.map(f=>o.get(f)),mode:"multiple",showArrow:!0,children:h})},da=ot.default(p.Select)`
|
|
20
20
|
&.ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
21
21
|
background-color: ${ia.colorPrimaryBg};
|
|
22
22
|
}
|