@fluig-kit/ecm 1.0.11 → 1.0.13
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/index.cjs +1 -1
- package/dist/index.js +245 -252
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),l=require("react"),I=require("react-hook-form"),N=require("@hookform/resolvers"),W=require("zod"),h=require("@fluig-kit/core");var B=function(e,n){for(var t={};e.length;){var o=e[0],i=o.code,s=o.message,u=o.path.join(".");if(!t[u])if("unionErrors"in o){var a=o.unionErrors[0].errors[0];t[u]={message:a.message,type:a.code}}else t[u]={message:s,type:i};if("unionErrors"in o&&o.unionErrors.forEach(function(y){return y.errors.forEach(function(m){return e.push(m)})}),n){var c=t[u].types,r=c&&c[o.code];t[u]=I.appendErrors(u,n,t,i,r?[].concat(r,o.message):o.message)}e.shift()}return t},z=function(e,n,t){return t===void 0&&(t={}),function(o,i,s){try{return Promise.resolve(function(u,a){try{var c=Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](o,n)).then(function(r){return s.shouldUseNativeValidation&&N.validateFieldsNatively({},s),{errors:{},values:t.raw?o:r}})}catch(r){return a(r)}return c&&c.then?c.then(void 0,a):c}(0,function(u){if(function(a){return Array.isArray(a==null?void 0:a.errors)}(u))return{values:{},errors:N.toNestErrors(B(u.errors,!s.shouldUseNativeValidation&&s.criteriaMode==="all"),s)};throw u}))}catch(u){return Promise.reject(u)}}};const j=l.createContext(null);function G({children:e,baseSchema:n}){const[t,o]=l.useState([]),i=l.useMemo(()=>n??W.z.object({}),[n]),s=l.useCallback((r,y)=>{o(m=>m.some(w=>w.id===r)?m:[...m,{id:r,schema:y}])},[]),u=l.useCallback(r=>{o(y=>y.some(m=>m.id===r)?y.filter(m=>m.id!==r):y)},[]),a=l.useMemo(()=>t.length?t.map(r=>r.schema).reduce((r,y)=>r.and(y),i):i,[t,i]),c=l.useMemo(()=>({registerSchema:s,unregisterSchema:u,mergedSchema:a}),[s,u,a]);return g.jsx(j.Provider,{value:c,children:e})}function D(){const e=l.useContext(j);if(!e)throw new Error("useSchemaRegistry deve ser usado dentro de <SchemaRegistryProvider>");return e}function L(e){return typeof e=="number"?e:isNaN(Number(e))?null:Number(e)}function M(e,n,t){if(!e)return!0;const o=Array.isArray(n)?n[0]:n,i=e.field??o,s=t==null?void 0:t[i];return e.hasValue!==void 0?e.hasValue?s!=null&&s!=="":s==null||s==="":e.equals!==void 0?s===e.equals:e.notEquals!==void 0?s!==e.notEquals:!0}function H(e,n,t,o,i){const s=new Set(e),u=new Set(n);return t==null||t.forEach(a=>{if(a.from!==void 0){const r=Array.isArray(a.from)?a.from:[a.from];if(o===null||!r.includes(o))return}if(!M(a.when,a.target,i))return;const c=Array.isArray(a.target)?a.target:[a.target];switch(a.type){case"readonly":c.forEach(r=>{u.add(r),s.delete(r)});break;case"active":c.forEach(r=>{s.add(r),u.delete(r)});break;case"hidden":c.forEach(r=>{s.delete(r),u.delete(r)});break}}),{active:Array.from(s),readonly:Array.from(u)}}function $(e,n,t,o){const i=new Set(e.active),s=new Set(e.readonly),u=new Set(e.hidden??[]);return n==null||n.forEach(a=>{if(a.from!==void 0){const r=Array.isArray(a.from)?a.from:[a.from];if(t===null||!r.includes(t))return}if(!M(a.when,a.target,o))return;const c=Array.isArray(a.target)?a.target:[a.target];switch(a.type){case"hidden":c.forEach(r=>{u.add(r),i.delete(r),s.delete(r)});break;case"active":c.forEach(r=>{i.add(r),s.delete(r),u.delete(r)});break;case"readonly":c.forEach(r=>{s.add(r),i.delete(r),u.delete(r)});break}}),{active:Array.from(i),readonly:Array.from(s),hidden:Array.from(u)}}function K(e,n){if(!(e!=null&&e.length))return n;const t=new Map(n.map(i=>[i.name,i])),o=[];return e.forEach(i=>{t.has(i)&&(o.push(t.get(i)),t.delete(i))}),t.forEach(i=>o.push(i)),o}function J(e){var o,i;const n=new Set,t=(s=[])=>{s.forEach(u=>{var a;u.target&&(Array.isArray(u.target)?u.target:[u.target]).forEach(r=>n.add(r)),(a=u.when)!=null&&a.field&&n.add(u.when.field)})};return t((o=e==null?void 0:e.fields)==null?void 0:o.rules),t((i=e==null?void 0:e.sections)==null?void 0:i.rules),Array.from(n)}function Q({activityId:e,previousActivityId:n,control:t,workflowStructure:o,sectionsRegistry:i}){const{registerSchema:s,unregisterSchema:u}=D(),a=L(e),c=L(n),r=a!==null?o[a]:null,y=l.useMemo(()=>J(r),[a,r]),m=I.useWatch({control:t,name:y,defaultValue:{}}),w=l.useMemo(()=>{const f={};return y.forEach((v,b)=>{f[v]=Array.isArray(m)?m[b]:m}),f},[m,y]),d=l.useMemo(()=>{if(!r)return{sections:[],fields:{active:[],readonly:[],hidden:[]}};const f=H(r.sections.active,r.sections.readonly,r.sections.rules,c,w);let v=[...f.readonly.map(A=>({name:A,mode:"readonly"})),...f.active.map(A=>({name:A,mode:"active"}))];v=K(r.sections.order,v);const b=$({active:r.fields.active,readonly:r.fields.readonly,hidden:r.fields.hidden},r.fields.rules,c,w);return{sections:v,fields:b}},[r,c,w,i]);return l.useEffect(()=>{const f=d.sections.filter(v=>v.mode==="active").map(v=>v.name);f.forEach(v=>{var A;const b=(A=i==null?void 0:i[v])==null?void 0:A.schema;b&&s(v,b)}),Object.keys(i??{}).filter(v=>!f.includes(v)).forEach(u)},[d.sections,i,s,u]),d}function X(){if(typeof document>"u")return{};const e={};return document.querySelectorAll("input[type='radio'][name]").forEach(n=>{const t=n,o=t.getAttribute("name");o&&t.checked&&(e[o]=t.value)}),document.querySelectorAll("input[name], textarea[name], select[name]").forEach(n=>{const t=n,o=t.getAttribute("name");if(!o||e[o]!==void 0)return;const i=t.getAttribute("value")??t.value??t.textContent??"";e[o]=String(i).trim()}),document.querySelectorAll("span[name]").forEach(n=>{var i;const t=n,o=t.getAttribute("name");if(o){const s=((i=t.textContent)==null?void 0:i.trim())??"";s!==""&&(e[o]=s)}}),e}const q=()=>{var a;if(typeof window>"u"||!window.top)return null;const e=((a=window.top.ECM)==null?void 0:a.workflowView)||window.top.ECM_WKFView,n=new URLSearchParams(window.location.search),t=(e==null?void 0:e.newRequest)===!0||(e==null?void 0:e.isNewRequest)===!0,o=(e==null?void 0:e.movimentWindow)===!0,i=n.get("edit")==="true"||n.get("mode")==="edit",s=t||o||i;return{isCreation:t,isEdit:s,isView:!s}},Z=()=>{var e;return((e=q())==null?void 0:e.isCreation)??!1},ee=()=>{var e;return((e=q())==null?void 0:e.isEdit)??!1},_=l.createContext(null);function te({children:e,devConfig:n}){const[t,o]=l.useState(null),i=l.useMemo(()=>X()??{},[]);return l.useEffect(()=>{let s=!0;return(async()=>{const a=typeof window<"u"&&window.location.hostname==="localhost",c=typeof window<"u"&&window.self!==window.top;let r=null;try{const f=await h.parentProxy.top.ECM.workflowView.sequence;f!=null&&(r=Number(f),n!=null&&n.showDebugLogs&&console.log("[FluigRuntime] Atividade:",r))}catch(f){console.warn("[FluigRuntime] Falha ao detectar atividade:",f)}const y=!a&&c&&!(Z()||ee()),m=i.LASTACTIVITYID?Number(i.LASTACTIVITYID):null,w={isView:y,isReadOnly:y,activityId:r,previousActivityId:m,prefilledValues:i,showDebugSubmit:!1,showDebugLogs:!1,isDev:!1};let d=w;if(n!=null&&n.enabled){const f=n.isView??w.isView;d={...w,...n,isView:f,isReadOnly:f,isDev:!0,activityId:n.activityId!==void 0?n.activityId:r}}typeof window<"u"&&(window.__FLUIG_DEBUG_ENABLED__=d.showDebugLogs),d.showDebugLogs&&s&&(h.DebugLogger.header("Runtime Initialized"),h.DebugLogger.table("State",{"Detected Activity":r,"Final Activity":d.activityId,"Dev Mode":d.isDev}),h.DebugLogger.end()),s&&o(d)})(),()=>{s=!1}},[n,i]),t?g.jsx(_.Provider,{value:t,children:e}):null}function x(){const e=l.useContext(_);if(!e)throw new Error("useFluigRuntime deve ser usado dentro de <FluigRuntimeProvider>");return e}function ne(e){const{activityId:n,previousActivityId:t}=x();l.useEffect(()=>{n!=null&&e.setValue("CURRENTACTIVITYID",n),t!=null&&e.setValue("LASTACTIVITYID",t)},[n,t,e]),l.useEffect(()=>{var i,s;if(typeof window>"u")return;const o=((i=window.top)==null?void 0:i.document.getElementById("send-process-button"))||((s=window.parent)==null?void 0:s.document.getElementById("workflow-actions-send"))||document.getElementById("send-process-button");if(!o){console.warn("[FluigWorkflowReact] Botão de envio do Fluig não encontrado. A validação automática pode falhar.");return}return window.beforeSendValidate=()=>(e.handleSubmit(()=>{window.top.__FLUIG_REACT_FORM_DATA__=e.getValues(),window.beforeSendValidate=()=>!0;try{o.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))}catch{o.click()}},u=>{var a,c,r;console.error("[Validation Errors]",u),(c=(a=window.top)==null?void 0:a.FLUIGC)!=null&&c.toast?(r=window.top)==null||r.FLUIGC.toast({title:"Atenção",message:"Verifique os campos obrigatórios destacados em vermelho.",type:"danger"}):alert("Verifique os campos obrigatórios.")})(),!1),()=>{}},[e])}const re=({workflowStructure:e,sectionsRegistry:n,className:t})=>{const{control:o,handleSubmit:i,register:s,setValue:u,getValues:a}=I.useFormContext(),c=x(),r=l.useRef(!1);l.useEffect(()=>{r.current||(c.activityId!=null&&u("CURRENTACTIVITYID",c.activityId),c.previousActivityId!=null&&u("LASTACTIVITYID",c.previousActivityId),r.current=!0)},[c,u]);const{sections:y,fields:m}=Q({control:o,activityId:c.activityId,previousActivityId:c.previousActivityId,workflowStructure:e,sectionsRegistry:n}),w=d=>{console.log("✅ [FluigWorkflowForm] Dados válidos:",d)};return g.jsxs("form",{id:"fluig-react-form",className:t,onSubmit:i(w),noValidate:!0,children:[g.jsxs("div",{className:"hidden",style:{display:"none"},children:[g.jsx("input",{type:"hidden",...s("CURRENTACTIVITYID")}),g.jsx("input",{type:"hidden",...s("LASTACTIVITYID")})]}),y.length===0&&c.activityId!==null&&g.jsxs("p",{children:["Não foi possível encontrar a atividade: ",String(c.activityId)]}),y.map(({name:d,mode:f})=>{if(f==="hidden")return null;const v=n[d];if(!v)return null;const b=v.Component;return g.jsx(b,{id:d,fields:m,readOnly:f==="readonly"},d)}),c.isDev&&c.showDebugSubmit&&g.jsx("div",{style:{width:"100%",padding:"16px",paddingTop:"0"},children:g.jsx("button",{type:"submit",className:"btn btn-primary btn-lg btn-block",children:"Submit (Debug)"})})]})},oe=e=>{const{mergedSchema:n}=D(),t=x(),o=I.useForm({resolver:n?z(n):void 0,defaultValues:t.prefilledValues,mode:"onBlur"});return ne(o),l.useEffect(()=>{t.showDebugLogs&&(h.DebugLogger.header("Form Initialized"),h.DebugLogger.table("Prefilled Values (DOM Capture)",t.prefilledValues),h.DebugLogger.info("RHF Current Values",o.getValues()),h.DebugLogger.end())},[t.showDebugLogs,t.prefilledValues,o]),g.jsx(I.FormProvider,{...o,children:g.jsx(re,{...e})})};async function ie(e){if(!e)return console.warn("[setFluigNextActivity] Nenhuma atividade informada."),!1;const{wfView:n,wkfView:t}=await se();if(!n||!t)return!1;ae(n);const o=Number(e),i=ue(n,o);return i?(ce(n,t,i,o),console.log(`[setFluigNextActivity] Próxima atividade definida: ${o}`),!0):(console.warn(`[setFluigNextActivity] Estado ${o} não encontrado nas próximas atividades disponíveis.`),console.log("Estados disponíveis:",n.availableStatesCOPY||n.availableStates),!1)}async function se(){const e=await h.parentProxy.top.ECM.workflowView,n=await h.parentProxy.top.ECM_WKFView;return!e||!n?(console.warn("[setFluigNextActivity] Contexto Fluig inválido ou não carregado."),{}):{wfView:e,wkfView:n}}function ae(e){e.availableStatesCOPY||(e.availableStatesCOPY=e.availableStates)}function ue(e,n){const t=e.availableStatesCOPY||e.availableStates;return t==null?void 0:t.find(o=>o.sequence===n)}function ce(e,n,t,o){e.availableUsers.users=[],e.availableStates=[t],n.selectActivity=()=>o}const O=l.createContext(null);function le(){const e=l.useContext(O);if(!e)throw new Error("useSection deve ser usado dentro de um componente <Section>");return e}function de({id:e,className:n,schema:t,children:o,form:i,prefilledValues:s,readOnly:u,fields:a={},hidden:c=!1}){const{isView:r,activityId:y}=x(),m=y,w=I.useFormContext(),d=i||w;if(!d)return console.error(`[FluigWorkflowReact] Section "${e}" não encontrou o 'form'.`),null;if(c)return null;const f=l.useCallback(p=>{var E,F,C;return(E=a.hidden)!=null&&E.includes(p)?"hidden":(F=a.readonly)!=null&&F.includes(p)?"readonly":(C=a.active)!=null&&C.includes(p)?"active":u?"readonly":"active"},[a,u]),v=l.useCallback(p=>f(p)==="hidden",[f]),b=l.useCallback(p=>f(p)==="readonly",[f]),A=l.useCallback(p=>{if(!p)return;const E=d.getValues("CURRENTACTIVITYID");d.setValue("LASTACTIVITYID",E),d.setValue("CURRENTACTIVITYID",m),ie(Number(p))},[d,m]);l.useEffect(()=>{if(!r||!s||!t||!d)return;const p=d.getValues(),E=t.shape;E&&Object.entries(E).forEach(([F,C])=>{var R,T;let S=C;for(;(R=S==null?void 0:S._def)!=null&&R.schema;)S=S._def.schema;const V=(T=S==null?void 0:S._def)==null?void 0:T.fluig;if((V==null?void 0:V.type)!=="options"||!Array.isArray(V.values)||p[F]!==void 0)return;const P={};V.values.forEach(k=>{P[k]=s[k]==="on"}),d.setValue(F,P,{shouldDirty:!1,shouldValidate:!1})})},[r,s,t,d]);const U=l.useMemo(()=>({id:e,form:d,isHidden:v,isReadOnly:b,isView:r,next:A,wf_activity_id:m}),[e,d,v,b,r,A,m]);return g.jsx(O.Provider,{value:U,children:g.jsx("section",{id:e,className:[e,n].filter(Boolean).join(" "),children:o})})}const Y=l.createContext(null);function fe({children:e,config:n}){const t=l.useMemo(()=>h.createFluigClient(n),[n]);return g.jsx(Y.Provider,{value:t,children:e})}function me(){const e=l.useContext(Y);if(!e)throw new Error("useFluigApi deve ser usado dentro de um <FluigApiProvider>");return e}Object.defineProperty(exports,"DebugLogger",{enumerable:!0,get:()=>h.DebugLogger});Object.defineProperty(exports,"createFluigClient",{enumerable:!0,get:()=>h.createFluigClient});Object.defineProperty(exports,"parentProxy",{enumerable:!0,get:()=>h.parentProxy});exports.FluigApiProvider=fe;exports.FluigRuntimeProvider=te;exports.FluigWorkflowForm=oe;exports.SchemaRegistryProvider=G;exports.Section=de;exports.useFluigApi=me;exports.useFluigRuntime=x;exports.useSchemaRegistry=D;exports.useSection=le;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react/jsx-runtime"),l=require("react"),E=require("react-hook-form"),N=require("@hookform/resolvers"),W=require("zod"),A=require("@fluig-kit/core");var _=function(e,r){for(var t={};e.length;){var o=e[0],i=o.code,s=o.message,c=o.path.join(".");if(!t[c])if("unionErrors"in o){var a=o.unionErrors[0].errors[0];t[c]={message:a.message,type:a.code}}else t[c]={message:s,type:i};if("unionErrors"in o&&o.unionErrors.forEach(function(y){return y.errors.forEach(function(d){return e.push(d)})}),r){var u=t[c].types,n=u&&u[o.code];t[c]=E.appendErrors(c,r,t,i,n?[].concat(n,o.message):o.message)}e.shift()}return t},B=function(e,r,t){return t===void 0&&(t={}),function(o,i,s){try{return Promise.resolve(function(c,a){try{var u=Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](o,r)).then(function(n){return s.shouldUseNativeValidation&&N.validateFieldsNatively({},s),{errors:{},values:t.raw?o:n}})}catch(n){return a(n)}return u&&u.then?u.then(void 0,a):u}(0,function(c){if(function(a){return Array.isArray(a==null?void 0:a.errors)}(c))return{values:{},errors:N.toNestErrors(_(c.errors,!s.shouldUseNativeValidation&&s.criteriaMode==="all"),s)};throw c}))}catch(c){return Promise.reject(c)}}};const M=l.createContext(null);function G({children:e,baseSchema:r}){const[t,o]=l.useState([]),i=l.useMemo(()=>r??W.z.object({}),[r]),s=l.useCallback((n,y)=>{o(d=>d.some(b=>b.id===n)?d:[...d,{id:n,schema:y}])},[]),c=l.useCallback(n=>{o(y=>y.some(d=>d.id===n)?y.filter(d=>d.id!==n):y)},[]),a=l.useMemo(()=>t.length?t.map(n=>n.schema).reduce((n,y)=>n.and(y),i):i,[t,i]),u=l.useMemo(()=>({registerSchema:s,unregisterSchema:c,mergedSchema:a}),[s,c,a]);return g.jsx(M.Provider,{value:u,children:e})}function P(){const e=l.useContext(M);if(!e)throw new Error("useSchemaRegistry deve ser usado dentro de <SchemaRegistryProvider>");return e}function j(e){return typeof e=="number"?e:isNaN(Number(e))?null:Number(e)}function L(e,r,t){if(!e)return!0;const o=Array.isArray(r)?r[0]:r,i=e.field??o,s=t==null?void 0:t[i];return e.hasValue!==void 0?e.hasValue?s!=null&&s!=="":s==null||s==="":e.equals!==void 0?s===e.equals:e.notEquals!==void 0?s!==e.notEquals:!0}function z(e,r,t,o,i){const s=new Set(e),c=new Set(r);return t==null||t.forEach(a=>{if(a.from!==void 0){const n=Array.isArray(a.from)?a.from:[a.from];if(o===null||!n.includes(o))return}if(!L(a.when,a.target,i))return;const u=Array.isArray(a.target)?a.target:[a.target];switch(a.type){case"readonly":u.forEach(n=>{c.add(n),s.delete(n)});break;case"active":u.forEach(n=>{s.add(n),c.delete(n)});break;case"hidden":u.forEach(n=>{s.delete(n),c.delete(n)});break}}),{active:Array.from(s),readonly:Array.from(c)}}function H(e,r,t,o){const i=new Set(e.active),s=new Set(e.readonly),c=new Set(e.hidden??[]);return r==null||r.forEach(a=>{if(a.from!==void 0){const n=Array.isArray(a.from)?a.from:[a.from];if(t===null||!n.includes(t))return}if(!L(a.when,a.target,o))return;const u=Array.isArray(a.target)?a.target:[a.target];switch(a.type){case"hidden":u.forEach(n=>{c.add(n),i.delete(n),s.delete(n)});break;case"active":u.forEach(n=>{i.add(n),s.delete(n),c.delete(n)});break;case"readonly":u.forEach(n=>{s.add(n),i.delete(n),c.delete(n)});break}}),{active:Array.from(i),readonly:Array.from(s),hidden:Array.from(c)}}function $(e,r){if(!(e!=null&&e.length))return r;const t=new Map(r.map(i=>[i.name,i])),o=[];return e.forEach(i=>{t.has(i)&&(o.push(t.get(i)),t.delete(i))}),t.forEach(i=>o.push(i)),o}function K(e){var o,i;const r=new Set,t=(s=[])=>{s.forEach(c=>{var a;c.target&&(Array.isArray(c.target)?c.target:[c.target]).forEach(n=>r.add(n)),(a=c.when)!=null&&a.field&&r.add(c.when.field)})};return t((o=e==null?void 0:e.fields)==null?void 0:o.rules),t((i=e==null?void 0:e.sections)==null?void 0:i.rules),Array.from(r)}function J({activityId:e,previousActivityId:r,control:t,workflowStructure:o,sectionsRegistry:i}){const{registerSchema:s,unregisterSchema:c}=P(),a=j(e),u=j(r),n=a!==null?o[a]:null,y=l.useMemo(()=>K(n),[a,n]),d=E.useWatch({control:t,name:y,defaultValue:{}}),b=l.useMemo(()=>{const v={};return y.forEach((m,w)=>{v[m]=Array.isArray(d)?d[w]:d}),v},[d,y]),f=l.useMemo(()=>{if(!n)return{sections:[],fields:{active:[],readonly:[],hidden:[]}};const v=z(n.sections.active,n.sections.readonly,n.sections.rules,u,b);let m=[...v.readonly.map(h=>({name:h,mode:"readonly"})),...v.active.map(h=>({name:h,mode:"active"}))];m=$(n.sections.order,m);const w=H({active:n.fields.active,readonly:n.fields.readonly,hidden:n.fields.hidden},n.fields.rules,u,b);return{sections:m,fields:w}},[n,u,b,i]);return l.useEffect(()=>{const v=f.sections.filter(m=>m.mode==="active").map(m=>m.name);v.forEach(m=>{var h;const w=(h=i==null?void 0:i[m])==null?void 0:h.schema;w&&s(m,w)}),Object.keys(i??{}).filter(m=>!v.includes(m)).forEach(c)},[f.sections,i,s,c]),f}function Q(){if(typeof document>"u")return{};const e={};return document.querySelectorAll("input[type='radio'][name]").forEach(r=>{const t=r,o=t.getAttribute("name");o&&t.checked&&(e[o]=t.value)}),document.querySelectorAll("input[name], textarea[name], select[name]").forEach(r=>{const t=r,o=t.getAttribute("name");if(!o||e[o]!==void 0)return;const i=t.getAttribute("value")??t.value??t.textContent??"";e[o]=String(i).trim()}),document.querySelectorAll("span[name]").forEach(r=>{var i;const t=r,o=t.getAttribute("name");if(o){const s=((i=t.textContent)==null?void 0:i.trim())??"";s!==""&&(e[o]=s)}}),e}const X=()=>{var d;const e={isCreation:!1,isEdit:!1,isView:!0};if(typeof window>"u"||!window.top)return e;const r=new URLSearchParams(window.location.search),t=window.top,o=window.top.document,i=((d=t.ECM)==null?void 0:d.workflowView)||t.ECM_WKFView,s=(i==null?void 0:i.newRequest)===!0||(i==null?void 0:i.isNewRequest)===!0,c=r.get("edit")==="true"||r.get("mode")==="edit",a=r.has("taskUserId"),u=r.get("view")==="true"||r.get("publicView")==="true",n=!!o.getElementById("sendModal")||!!o.querySelector(".fluig-style-guide.modal-dialog"),y=s||c||a&&!u&&n;return{isCreation:s,isEdit:y,isView:!y}},q=l.createContext(null);function Z({children:e,devConfig:r}){const[t,o]=l.useState(null),i=l.useMemo(()=>Q()??{},[]);return l.useEffect(()=>{let s=!0;const c=async()=>{let u=(t==null?void 0:t.activityId)??null;try{const h=await A.parentProxy.top.ECM.workflowView.sequence;h!=null&&(u=Number(h))}catch{}const{isEdit:n,isView:y}=X(),d=typeof window<"u"&&window.location.hostname==="localhost",b=typeof window<"u"&&window.self!==window.top,f=!d&&b?y:!1,v=i.LASTACTIVITYID?Number(i.LASTACTIVITYID):null,m={isView:f,isReadOnly:f,activityId:u,previousActivityId:v,prefilledValues:i,showDebugSubmit:(r==null?void 0:r.showDebugSubmit)??!1,showDebugLogs:(r==null?void 0:r.showDebugLogs)??!1,isDev:!1};let w=m;if(r!=null&&r.enabled){const h=r.isView??m.isView;w={...m,...r,isView:h,isReadOnly:h,isDev:!0,activityId:r.activityId??u}}s&&o(h=>h&&h.isView===w.isView&&h.activityId===w.activityId?h:w),r!=null&&r.showDebugLogs&&n&&console.log("[FluigRuntime] Modo Edição Detectado via Modal/URL")};c();const a=setInterval(c,800);return()=>{s=!1,clearInterval(a)}},[r,i]),t?g.jsx(q.Provider,{value:t,children:e}):null}function F(){const e=l.useContext(q);if(!e)throw new Error("useFluigRuntime deve ser usado dentro de FluigRuntimeProvider");return e}function ee(e){const{activityId:r,previousActivityId:t}=F();l.useEffect(()=>{r!=null&&e.setValue("CURRENTACTIVITYID",r),t!=null&&e.setValue("LASTACTIVITYID",t)},[r,t,e]),l.useEffect(()=>{var i,s;if(typeof window>"u")return;const o=((i=window.top)==null?void 0:i.document.getElementById("send-process-button"))||((s=window.parent)==null?void 0:s.document.getElementById("workflow-actions-send"))||document.getElementById("send-process-button");if(!o){console.warn("[FluigWorkflowReact] Botão de envio do Fluig não encontrado. A validação automática pode falhar.");return}return window.beforeSendValidate=()=>(e.handleSubmit(()=>{window.top.__FLUIG_REACT_FORM_DATA__=e.getValues(),window.beforeSendValidate=()=>!0;try{o.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))}catch{o.click()}},c=>{var a,u,n;console.error("[Validation Errors]",c),(u=(a=window.top)==null?void 0:a.FLUIGC)!=null&&u.toast?(n=window.top)==null||n.FLUIGC.toast({title:"Atenção",message:"Verifique os campos obrigatórios destacados em vermelho.",type:"danger"}):alert("Verifique os campos obrigatórios.")})(),!1),()=>{}},[e])}const te=({workflowStructure:e,sectionsRegistry:r,className:t})=>{const{control:o,handleSubmit:i,register:s,setValue:c,getValues:a}=E.useFormContext(),u=F(),n=l.useRef(!1);l.useEffect(()=>{n.current||(u.activityId!=null&&c("CURRENTACTIVITYID",u.activityId),u.previousActivityId!=null&&c("LASTACTIVITYID",u.previousActivityId),n.current=!0)},[u,c]);const{sections:y,fields:d}=J({control:o,activityId:u.activityId,previousActivityId:u.previousActivityId,workflowStructure:e,sectionsRegistry:r}),b=f=>{console.log("✅ [FluigWorkflowForm] Dados válidos:",f)};return g.jsxs("form",{id:"fluig-react-form",className:t,onSubmit:i(b),noValidate:!0,children:[g.jsxs("div",{className:"hidden",style:{display:"none"},children:[g.jsx("input",{type:"hidden",...s("CURRENTACTIVITYID")}),g.jsx("input",{type:"hidden",...s("LASTACTIVITYID")})]}),y.length===0&&u.activityId!==null&&g.jsxs("p",{children:["Não foi possível encontrar a atividade: ",String(u.activityId)]}),y.map(({name:f,mode:v})=>{if(v==="hidden")return null;const m=r[f];if(!m)return null;const w=m.Component;return g.jsx(w,{id:f,fields:d,readOnly:v==="readonly"},f)}),u.isDev&&u.showDebugSubmit&&g.jsx("div",{style:{width:"100%",padding:"16px",paddingTop:"0"},children:g.jsx("button",{type:"submit",className:"btn btn-primary btn-lg btn-block",children:"Submit (Debug)"})})]})},re=e=>{const{mergedSchema:r}=P(),t=F(),o=E.useForm({resolver:r?B(r):void 0,defaultValues:t.prefilledValues,mode:"onBlur"});return ee(o),l.useEffect(()=>{t.showDebugLogs&&(A.DebugLogger.header("Form Initialized"),A.DebugLogger.table("Prefilled Values (DOM Capture)",t.prefilledValues),A.DebugLogger.info("RHF Current Values",o.getValues()),A.DebugLogger.end())},[t.showDebugLogs,t.prefilledValues,o]),g.jsx(E.FormProvider,{...o,children:g.jsx(te,{...e})})};async function ne(e){if(!e)return console.warn("[setFluigNextActivity] Nenhuma atividade informada."),!1;const{wfView:r,wkfView:t}=await oe();if(!r||!t)return!1;ie(r);const o=Number(e),i=se(r,o);return i?(ae(r,t,i,o),console.log(`[setFluigNextActivity] Próxima atividade definida: ${o}`),!0):(console.warn(`[setFluigNextActivity] Estado ${o} não encontrado nas próximas atividades disponíveis.`),console.log("Estados disponíveis:",r.availableStatesCOPY||r.availableStates),!1)}async function oe(){const e=await A.parentProxy.top.ECM.workflowView,r=await A.parentProxy.top.ECM_WKFView;return!e||!r?(console.warn("[setFluigNextActivity] Contexto Fluig inválido ou não carregado."),{}):{wfView:e,wkfView:r}}function ie(e){e.availableStatesCOPY||(e.availableStatesCOPY=e.availableStates)}function se(e,r){const t=e.availableStatesCOPY||e.availableStates;return t==null?void 0:t.find(o=>o.sequence===r)}function ae(e,r,t,o){e.availableUsers.users=[],e.availableStates=[t],r.selectActivity=()=>o}const O=l.createContext(null);function ce(){const e=l.useContext(O);if(!e)throw new Error("useSection deve ser usado dentro de um componente <Section>");return e}function ue({id:e,className:r,schema:t,children:o,form:i,prefilledValues:s,readOnly:c,fields:a={},hidden:u=!1}){const{isView:n,activityId:y}=F(),d=y,b=E.useFormContext(),f=i||b;if(!f)return console.error(`[FluigWorkflowReact] Section "${e}" não encontrou o 'form'.`),null;if(u)return null;const v=l.useCallback(p=>{var I,V,C;return(I=a.hidden)!=null&&I.includes(p)?"hidden":(V=a.readonly)!=null&&V.includes(p)?"readonly":(C=a.active)!=null&&C.includes(p)?"active":c?"readonly":"active"},[a,c]),m=l.useCallback(p=>v(p)==="hidden",[v]),w=l.useCallback(p=>v(p)==="readonly",[v]),h=l.useCallback(p=>{if(!p)return;const I=f.getValues("CURRENTACTIVITYID");f.setValue("LASTACTIVITYID",I),f.setValue("CURRENTACTIVITYID",d),ne(Number(p))},[f,d]);l.useEffect(()=>{if(!n||!s||!t||!f)return;const p=f.getValues(),I=t.shape;I&&Object.entries(I).forEach(([V,C])=>{var D,k;let S=C;for(;(D=S==null?void 0:S._def)!=null&&D.schema;)S=S._def.schema;const x=(k=S==null?void 0:S._def)==null?void 0:k.fluig;if((x==null?void 0:x.type)!=="options"||!Array.isArray(x.values)||p[V]!==void 0)return;const T={};x.values.forEach(R=>{T[R]=s[R]==="on"}),f.setValue(V,T,{shouldDirty:!1,shouldValidate:!1})})},[n,s,t,f]);const Y=l.useMemo(()=>({id:e,form:f,isHidden:m,isReadOnly:w,isView:n,next:h,wf_activity_id:d}),[e,f,m,w,n,h,d]);return g.jsx(O.Provider,{value:Y,children:g.jsx("section",{id:e,className:[e,r].filter(Boolean).join(" "),children:o})})}const U=l.createContext(null);function le({children:e,config:r}){const t=l.useMemo(()=>A.createFluigClient(r),[r]);return g.jsx(U.Provider,{value:t,children:e})}function de(){const e=l.useContext(U);if(!e)throw new Error("useFluigApi deve ser usado dentro de um <FluigApiProvider>");return e}Object.defineProperty(exports,"DebugLogger",{enumerable:!0,get:()=>A.DebugLogger});Object.defineProperty(exports,"createFluigClient",{enumerable:!0,get:()=>A.createFluigClient});Object.defineProperty(exports,"parentProxy",{enumerable:!0,get:()=>A.parentProxy});exports.FluigApiProvider=le;exports.FluigRuntimeProvider=Z;exports.FluigWorkflowForm=re;exports.SchemaRegistryProvider=G;exports.Section=ue;exports.useFluigApi=de;exports.useFluigRuntime=F;exports.useSchemaRegistry=P;exports.useSection=ce;
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { createContext as
|
|
3
|
-
import { appendErrors as
|
|
4
|
-
import { validateFieldsNatively as
|
|
5
|
-
import { z as
|
|
6
|
-
import { parentProxy as
|
|
7
|
-
import { DebugLogger as
|
|
8
|
-
var
|
|
1
|
+
import { jsx as p, jsxs as P } from "react/jsx-runtime";
|
|
2
|
+
import { createContext as D, useState as U, useMemo as b, useCallback as V, useContext as N, useEffect as I, useRef as H } from "react";
|
|
3
|
+
import { appendErrors as K, useWatch as J, useForm as Q, FormProvider as X, useFormContext as Y } from "react-hook-form";
|
|
4
|
+
import { validateFieldsNatively as Z, toNestErrors as ee } from "@hookform/resolvers";
|
|
5
|
+
import { z as te } from "zod";
|
|
6
|
+
import { parentProxy as k, DebugLogger as x, createFluigClient as ne } from "@fluig-kit/core";
|
|
7
|
+
import { DebugLogger as Ce, createFluigClient as Le, parentProxy as Me } from "@fluig-kit/core";
|
|
8
|
+
var re = function(e, n) {
|
|
9
9
|
for (var t = {}; e.length; ) {
|
|
10
|
-
var
|
|
11
|
-
if (!t[c]) if ("unionErrors" in
|
|
12
|
-
var s =
|
|
10
|
+
var o = e[0], i = o.code, a = o.message, c = o.path.join(".");
|
|
11
|
+
if (!t[c]) if ("unionErrors" in o) {
|
|
12
|
+
var s = o.unionErrors[0].errors[0];
|
|
13
13
|
t[c] = { message: s.message, type: s.code };
|
|
14
|
-
} else t[c] = { message: a, type:
|
|
15
|
-
if ("unionErrors" in
|
|
16
|
-
return m.errors.forEach(function(
|
|
17
|
-
return e.push(
|
|
14
|
+
} else t[c] = { message: a, type: i };
|
|
15
|
+
if ("unionErrors" in o && o.unionErrors.forEach(function(m) {
|
|
16
|
+
return m.errors.forEach(function(l) {
|
|
17
|
+
return e.push(l);
|
|
18
18
|
});
|
|
19
19
|
}), n) {
|
|
20
|
-
var u = t[c].types, r = u && u[
|
|
21
|
-
t[c] =
|
|
20
|
+
var u = t[c].types, r = u && u[o.code];
|
|
21
|
+
t[c] = K(c, n, t, i, r ? [].concat(r, o.message) : o.message);
|
|
22
22
|
}
|
|
23
23
|
e.shift();
|
|
24
24
|
}
|
|
25
25
|
return t;
|
|
26
26
|
}, oe = function(e, n, t) {
|
|
27
|
-
return t === void 0 && (t = {}), function(
|
|
27
|
+
return t === void 0 && (t = {}), function(o, i, a) {
|
|
28
28
|
try {
|
|
29
29
|
return Promise.resolve(function(c, s) {
|
|
30
30
|
try {
|
|
31
|
-
var u = Promise.resolve(e[t.mode === "sync" ? "parse" : "parseAsync"](
|
|
32
|
-
return a.shouldUseNativeValidation &&
|
|
31
|
+
var u = Promise.resolve(e[t.mode === "sync" ? "parse" : "parseAsync"](o, n)).then(function(r) {
|
|
32
|
+
return a.shouldUseNativeValidation && Z({}, a), { errors: {}, values: t.raw ? o : r };
|
|
33
33
|
});
|
|
34
34
|
} catch (r) {
|
|
35
35
|
return s(r);
|
|
@@ -38,7 +38,7 @@ var ie = function(e, n) {
|
|
|
38
38
|
}(0, function(c) {
|
|
39
39
|
if (function(s) {
|
|
40
40
|
return Array.isArray(s == null ? void 0 : s.errors);
|
|
41
|
-
}(c)) return { values: {}, errors:
|
|
41
|
+
}(c)) return { values: {}, errors: ee(re(c.errors, !a.shouldUseNativeValidation && a.criteriaMode === "all"), a) };
|
|
42
42
|
throw c;
|
|
43
43
|
}));
|
|
44
44
|
} catch (c) {
|
|
@@ -46,18 +46,18 @@ var ie = function(e, n) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
|
-
const
|
|
49
|
+
const _ = D(
|
|
50
50
|
null
|
|
51
51
|
);
|
|
52
|
-
function
|
|
52
|
+
function Ee({
|
|
53
53
|
children: e,
|
|
54
54
|
baseSchema: n
|
|
55
55
|
}) {
|
|
56
|
-
const [t,
|
|
57
|
-
|
|
56
|
+
const [t, o] = U([]), i = b(() => n ?? te.object({}), [n]), a = V((r, m) => {
|
|
57
|
+
o((l) => l.some((g) => g.id === r) ? l : [...l, { id: r, schema: m }]);
|
|
58
58
|
}, []), c = V((r) => {
|
|
59
|
-
|
|
60
|
-
}, []), s =
|
|
59
|
+
o((m) => m.some((l) => l.id === r) ? m.filter((l) => l.id !== r) : m);
|
|
60
|
+
}, []), s = b(() => t.length ? t.map((r) => r.schema).reduce((r, m) => r.and(m), i) : i, [t, i]), u = b(
|
|
61
61
|
() => ({
|
|
62
62
|
registerSchema: a,
|
|
63
63
|
unregisterSchema: c,
|
|
@@ -65,32 +65,32 @@ function Ce({
|
|
|
65
65
|
}),
|
|
66
66
|
[a, c, s]
|
|
67
67
|
);
|
|
68
|
-
return /* @__PURE__ */
|
|
68
|
+
return /* @__PURE__ */ p(_.Provider, { value: u, children: e });
|
|
69
69
|
}
|
|
70
70
|
function W() {
|
|
71
|
-
const e =
|
|
71
|
+
const e = N(_);
|
|
72
72
|
if (!e)
|
|
73
73
|
throw new Error(
|
|
74
74
|
"useSchemaRegistry deve ser usado dentro de <SchemaRegistryProvider>"
|
|
75
75
|
);
|
|
76
76
|
return e;
|
|
77
77
|
}
|
|
78
|
-
function
|
|
78
|
+
function O(e) {
|
|
79
79
|
return typeof e == "number" ? e : isNaN(Number(e)) ? null : Number(e);
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function j(e, n, t) {
|
|
82
82
|
if (!e) return !0;
|
|
83
|
-
const
|
|
83
|
+
const o = Array.isArray(n) ? n[0] : n, i = e.field ?? o, a = t == null ? void 0 : t[i];
|
|
84
84
|
return e.hasValue !== void 0 ? e.hasValue ? a != null && a !== "" : a == null || a === "" : e.equals !== void 0 ? a === e.equals : e.notEquals !== void 0 ? a !== e.notEquals : !0;
|
|
85
85
|
}
|
|
86
|
-
function
|
|
86
|
+
function ie(e, n, t, o, i) {
|
|
87
87
|
const a = new Set(e), c = new Set(n);
|
|
88
88
|
return t == null || t.forEach((s) => {
|
|
89
89
|
if (s.from !== void 0) {
|
|
90
90
|
const r = Array.isArray(s.from) ? s.from : [s.from];
|
|
91
|
-
if (
|
|
91
|
+
if (o === null || !r.includes(o)) return;
|
|
92
92
|
}
|
|
93
|
-
if (!
|
|
93
|
+
if (!j(s.when, s.target, i)) return;
|
|
94
94
|
const u = Array.isArray(s.target) ? s.target : [s.target];
|
|
95
95
|
switch (s.type) {
|
|
96
96
|
case "readonly":
|
|
@@ -111,96 +111,96 @@ function ae(e, n, t, i, o) {
|
|
|
111
111
|
}
|
|
112
112
|
}), { active: Array.from(a), readonly: Array.from(c) };
|
|
113
113
|
}
|
|
114
|
-
function
|
|
115
|
-
const
|
|
114
|
+
function ae(e, n, t, o) {
|
|
115
|
+
const i = new Set(e.active), a = new Set(e.readonly), c = new Set(e.hidden ?? []);
|
|
116
116
|
return n == null || n.forEach((s) => {
|
|
117
117
|
if (s.from !== void 0) {
|
|
118
118
|
const r = Array.isArray(s.from) ? s.from : [s.from];
|
|
119
119
|
if (t === null || !r.includes(t)) return;
|
|
120
120
|
}
|
|
121
|
-
if (!
|
|
121
|
+
if (!j(s.when, s.target, o)) return;
|
|
122
122
|
const u = Array.isArray(s.target) ? s.target : [s.target];
|
|
123
123
|
switch (s.type) {
|
|
124
124
|
case "hidden":
|
|
125
125
|
u.forEach((r) => {
|
|
126
|
-
c.add(r),
|
|
126
|
+
c.add(r), i.delete(r), a.delete(r);
|
|
127
127
|
});
|
|
128
128
|
break;
|
|
129
129
|
case "active":
|
|
130
130
|
u.forEach((r) => {
|
|
131
|
-
|
|
131
|
+
i.add(r), a.delete(r), c.delete(r);
|
|
132
132
|
});
|
|
133
133
|
break;
|
|
134
134
|
case "readonly":
|
|
135
135
|
u.forEach((r) => {
|
|
136
|
-
a.add(r),
|
|
136
|
+
a.add(r), i.delete(r), c.delete(r);
|
|
137
137
|
});
|
|
138
138
|
break;
|
|
139
139
|
}
|
|
140
140
|
}), {
|
|
141
|
-
active: Array.from(
|
|
141
|
+
active: Array.from(i),
|
|
142
142
|
readonly: Array.from(a),
|
|
143
143
|
hidden: Array.from(c)
|
|
144
144
|
};
|
|
145
145
|
}
|
|
146
|
-
function
|
|
146
|
+
function se(e, n) {
|
|
147
147
|
if (!(e != null && e.length)) return n;
|
|
148
|
-
const t = new Map(n.map((
|
|
149
|
-
return e.forEach((
|
|
150
|
-
t.has(
|
|
151
|
-
}), t.forEach((
|
|
148
|
+
const t = new Map(n.map((i) => [i.name, i])), o = [];
|
|
149
|
+
return e.forEach((i) => {
|
|
150
|
+
t.has(i) && (o.push(t.get(i)), t.delete(i));
|
|
151
|
+
}), t.forEach((i) => o.push(i)), o;
|
|
152
152
|
}
|
|
153
|
-
function
|
|
154
|
-
var
|
|
153
|
+
function ce(e) {
|
|
154
|
+
var o, i;
|
|
155
155
|
const n = /* @__PURE__ */ new Set(), t = (a = []) => {
|
|
156
156
|
a.forEach((c) => {
|
|
157
157
|
var s;
|
|
158
158
|
c.target && (Array.isArray(c.target) ? c.target : [c.target]).forEach((r) => n.add(r)), (s = c.when) != null && s.field && n.add(c.when.field);
|
|
159
159
|
});
|
|
160
160
|
};
|
|
161
|
-
return t((
|
|
161
|
+
return t((o = e == null ? void 0 : e.fields) == null ? void 0 : o.rules), t((i = e == null ? void 0 : e.sections) == null ? void 0 : i.rules), Array.from(n);
|
|
162
162
|
}
|
|
163
|
-
function
|
|
163
|
+
function ue({
|
|
164
164
|
activityId: e,
|
|
165
165
|
previousActivityId: n,
|
|
166
166
|
control: t,
|
|
167
|
-
workflowStructure:
|
|
168
|
-
sectionsRegistry:
|
|
167
|
+
workflowStructure: o,
|
|
168
|
+
sectionsRegistry: i
|
|
169
169
|
}) {
|
|
170
|
-
const { registerSchema: a, unregisterSchema: c } = W(), s =
|
|
170
|
+
const { registerSchema: a, unregisterSchema: c } = W(), s = O(e), u = O(n), r = s !== null ? o[s] : null, m = b(() => ce(r), [s, r]), l = J({
|
|
171
171
|
control: t,
|
|
172
172
|
name: m,
|
|
173
173
|
defaultValue: {}
|
|
174
|
-
}),
|
|
175
|
-
const
|
|
176
|
-
return m.forEach((
|
|
177
|
-
|
|
178
|
-
}),
|
|
179
|
-
}, [
|
|
174
|
+
}), g = b(() => {
|
|
175
|
+
const h = {};
|
|
176
|
+
return m.forEach((f, v) => {
|
|
177
|
+
h[f] = Array.isArray(l) ? l[v] : l;
|
|
178
|
+
}), h;
|
|
179
|
+
}, [l, m]), d = b(() => {
|
|
180
180
|
if (!r)
|
|
181
181
|
return {
|
|
182
182
|
sections: [],
|
|
183
183
|
fields: { active: [], readonly: [], hidden: [] }
|
|
184
184
|
};
|
|
185
|
-
const
|
|
185
|
+
const h = ie(
|
|
186
186
|
r.sections.active,
|
|
187
187
|
r.sections.readonly,
|
|
188
188
|
r.sections.rules,
|
|
189
189
|
u,
|
|
190
|
-
|
|
190
|
+
g
|
|
191
191
|
);
|
|
192
|
-
let
|
|
193
|
-
...
|
|
194
|
-
name:
|
|
192
|
+
let f = [
|
|
193
|
+
...h.readonly.map((y) => ({
|
|
194
|
+
name: y,
|
|
195
195
|
mode: "readonly"
|
|
196
196
|
})),
|
|
197
|
-
...
|
|
198
|
-
name:
|
|
197
|
+
...h.active.map((y) => ({
|
|
198
|
+
name: y,
|
|
199
199
|
mode: "active"
|
|
200
200
|
}))
|
|
201
201
|
];
|
|
202
|
-
|
|
203
|
-
const
|
|
202
|
+
f = se(r.sections.order, f);
|
|
203
|
+
const v = ae(
|
|
204
204
|
{
|
|
205
205
|
active: r.fields.active,
|
|
206
206
|
readonly: r.fields.readonly,
|
|
@@ -208,119 +208,112 @@ function le({
|
|
|
208
208
|
},
|
|
209
209
|
r.fields.rules,
|
|
210
210
|
u,
|
|
211
|
-
|
|
211
|
+
g
|
|
212
212
|
);
|
|
213
|
-
return { sections:
|
|
214
|
-
}, [r, u,
|
|
215
|
-
return
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
var
|
|
219
|
-
const
|
|
220
|
-
|
|
221
|
-
}), Object.keys(
|
|
222
|
-
}, [
|
|
213
|
+
return { sections: f, fields: v };
|
|
214
|
+
}, [r, u, g, i]);
|
|
215
|
+
return I(() => {
|
|
216
|
+
const h = d.sections.filter((f) => f.mode === "active").map((f) => f.name);
|
|
217
|
+
h.forEach((f) => {
|
|
218
|
+
var y;
|
|
219
|
+
const v = (y = i == null ? void 0 : i[f]) == null ? void 0 : y.schema;
|
|
220
|
+
v && a(f, v);
|
|
221
|
+
}), Object.keys(i ?? {}).filter((f) => !h.includes(f)).forEach(c);
|
|
222
|
+
}, [d.sections, i, a, c]), d;
|
|
223
223
|
}
|
|
224
|
-
function
|
|
224
|
+
function le() {
|
|
225
225
|
if (typeof document > "u") return {};
|
|
226
226
|
const e = {};
|
|
227
227
|
return document.querySelectorAll("input[type='radio'][name]").forEach((n) => {
|
|
228
|
-
const t = n,
|
|
229
|
-
|
|
228
|
+
const t = n, o = t.getAttribute("name");
|
|
229
|
+
o && t.checked && (e[o] = t.value);
|
|
230
230
|
}), document.querySelectorAll("input[name], textarea[name], select[name]").forEach((n) => {
|
|
231
|
-
const t = n,
|
|
232
|
-
if (!
|
|
233
|
-
const
|
|
234
|
-
e[
|
|
231
|
+
const t = n, o = t.getAttribute("name");
|
|
232
|
+
if (!o || e[o] !== void 0) return;
|
|
233
|
+
const i = t.getAttribute("value") ?? t.value ?? t.textContent ?? "";
|
|
234
|
+
e[o] = String(i).trim();
|
|
235
235
|
}), document.querySelectorAll("span[name]").forEach((n) => {
|
|
236
|
-
var
|
|
237
|
-
const t = n,
|
|
238
|
-
if (
|
|
239
|
-
const a = ((
|
|
240
|
-
a !== "" && (e[
|
|
236
|
+
var i;
|
|
237
|
+
const t = n, o = t.getAttribute("name");
|
|
238
|
+
if (o) {
|
|
239
|
+
const a = ((i = t.textContent) == null ? void 0 : i.trim()) ?? "";
|
|
240
|
+
a !== "" && (e[o] = a);
|
|
241
241
|
}
|
|
242
242
|
}), e;
|
|
243
243
|
}
|
|
244
|
-
const
|
|
245
|
-
var
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
function Te({
|
|
244
|
+
const de = () => {
|
|
245
|
+
var l;
|
|
246
|
+
const e = { isCreation: !1, isEdit: !1, isView: !0 };
|
|
247
|
+
if (typeof window > "u" || !window.top) return e;
|
|
248
|
+
const n = new URLSearchParams(window.location.search), t = window.top, o = window.top.document, i = ((l = t.ECM) == null ? void 0 : l.workflowView) || t.ECM_WKFView, a = (i == null ? void 0 : i.newRequest) === !0 || (i == null ? void 0 : i.isNewRequest) === !0, c = n.get("edit") === "true" || n.get("mode") === "edit", s = n.has("taskUserId"), u = n.get("view") === "true" || n.get("publicView") === "true", r = !!o.getElementById("sendModal") || !!o.querySelector(".fluig-style-guide.modal-dialog"), m = a || c || s && !u && r;
|
|
249
|
+
return {
|
|
250
|
+
isCreation: a,
|
|
251
|
+
isEdit: m,
|
|
252
|
+
isView: !m
|
|
253
|
+
};
|
|
254
|
+
}, B = D(null);
|
|
255
|
+
function Fe({
|
|
257
256
|
children: e,
|
|
258
257
|
devConfig: n
|
|
259
258
|
}) {
|
|
260
|
-
const [t,
|
|
261
|
-
return
|
|
259
|
+
const [t, o] = U(null), i = b(() => le() ?? {}, []);
|
|
260
|
+
return I(() => {
|
|
262
261
|
let a = !0;
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
let r = null;
|
|
262
|
+
const c = async () => {
|
|
263
|
+
let u = (t == null ? void 0 : t.activityId) ?? null;
|
|
266
264
|
try {
|
|
267
|
-
const
|
|
268
|
-
|
|
269
|
-
} catch
|
|
270
|
-
console.warn("[FluigRuntime] Falha ao detectar atividade:", d);
|
|
265
|
+
const y = await k.top.ECM.workflowView.sequence;
|
|
266
|
+
y != null && (u = Number(y));
|
|
267
|
+
} catch {
|
|
271
268
|
}
|
|
272
|
-
const m =
|
|
273
|
-
isView:
|
|
274
|
-
isReadOnly:
|
|
275
|
-
activityId:
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
showDebugLogs: !1,
|
|
269
|
+
const { isEdit: r, isView: m } = de(), l = typeof window < "u" && window.location.hostname === "localhost", g = typeof window < "u" && window.self !== window.top, d = !l && g ? m : !1, h = i.LASTACTIVITYID ? Number(i.LASTACTIVITYID) : null, f = {
|
|
270
|
+
isView: d,
|
|
271
|
+
isReadOnly: d,
|
|
272
|
+
activityId: u,
|
|
273
|
+
previousActivityId: h,
|
|
274
|
+
prefilledValues: i,
|
|
275
|
+
showDebugSubmit: (n == null ? void 0 : n.showDebugSubmit) ?? !1,
|
|
276
|
+
showDebugLogs: (n == null ? void 0 : n.showDebugLogs) ?? !1,
|
|
281
277
|
isDev: !1
|
|
282
278
|
};
|
|
283
|
-
let
|
|
279
|
+
let v = f;
|
|
284
280
|
if (n != null && n.enabled) {
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
...
|
|
281
|
+
const y = n.isView ?? f.isView;
|
|
282
|
+
v = {
|
|
283
|
+
...f,
|
|
288
284
|
...n,
|
|
289
|
-
isView:
|
|
290
|
-
isReadOnly:
|
|
285
|
+
isView: y,
|
|
286
|
+
isReadOnly: y,
|
|
291
287
|
isDev: !0,
|
|
292
|
-
|
|
293
|
-
// Se não, mantém o detectado (permite usar devConfig só para logs, por exemplo)
|
|
294
|
-
activityId: n.activityId !== void 0 ? n.activityId : r
|
|
288
|
+
activityId: n.activityId ?? u
|
|
295
289
|
};
|
|
296
290
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
a = !1;
|
|
291
|
+
a && o((y) => y && y.isView === v.isView && y.activityId === v.activityId ? y : v), n != null && n.showDebugLogs && r && console.log("[FluigRuntime] Modo Edição Detectado via Modal/URL");
|
|
292
|
+
};
|
|
293
|
+
c();
|
|
294
|
+
const s = setInterval(c, 800);
|
|
295
|
+
return () => {
|
|
296
|
+
a = !1, clearInterval(s);
|
|
304
297
|
};
|
|
305
|
-
}, [n,
|
|
298
|
+
}, [n, i]), t ? /* @__PURE__ */ p(B.Provider, { value: t, children: e }) : null;
|
|
306
299
|
}
|
|
307
300
|
function R() {
|
|
308
|
-
const e =
|
|
301
|
+
const e = N(B);
|
|
309
302
|
if (!e)
|
|
310
303
|
throw new Error(
|
|
311
|
-
"useFluigRuntime deve ser usado dentro de
|
|
304
|
+
"useFluigRuntime deve ser usado dentro de FluigRuntimeProvider"
|
|
312
305
|
);
|
|
313
306
|
return e;
|
|
314
307
|
}
|
|
315
|
-
function
|
|
308
|
+
function fe(e) {
|
|
316
309
|
const { activityId: n, previousActivityId: t } = R();
|
|
317
|
-
|
|
310
|
+
I(() => {
|
|
318
311
|
n != null && e.setValue("CURRENTACTIVITYID", n), t != null && e.setValue("LASTACTIVITYID", t);
|
|
319
|
-
}, [n, t, e]),
|
|
320
|
-
var
|
|
312
|
+
}, [n, t, e]), I(() => {
|
|
313
|
+
var i, a;
|
|
321
314
|
if (typeof window > "u") return;
|
|
322
|
-
const
|
|
323
|
-
if (!
|
|
315
|
+
const o = ((i = window.top) == null ? void 0 : i.document.getElementById("send-process-button")) || ((a = window.parent) == null ? void 0 : a.document.getElementById("workflow-actions-send")) || document.getElementById("send-process-button");
|
|
316
|
+
if (!o) {
|
|
324
317
|
console.warn(
|
|
325
318
|
"[FluigWorkflowReact] Botão de envio do Fluig não encontrado. A validação automática pode falhar."
|
|
326
319
|
);
|
|
@@ -330,7 +323,7 @@ function ve(e) {
|
|
|
330
323
|
() => {
|
|
331
324
|
window.top.__FLUIG_REACT_FORM_DATA__ = e.getValues(), window.beforeSendValidate = () => !0;
|
|
332
325
|
try {
|
|
333
|
-
|
|
326
|
+
o.dispatchEvent(
|
|
334
327
|
new MouseEvent("click", {
|
|
335
328
|
view: window,
|
|
336
329
|
bubbles: !0,
|
|
@@ -338,7 +331,7 @@ function ve(e) {
|
|
|
338
331
|
})
|
|
339
332
|
);
|
|
340
333
|
} catch {
|
|
341
|
-
|
|
334
|
+
o.click();
|
|
342
335
|
}
|
|
343
336
|
},
|
|
344
337
|
(c) => {
|
|
@@ -353,181 +346,181 @@ function ve(e) {
|
|
|
353
346
|
};
|
|
354
347
|
}, [e]);
|
|
355
348
|
}
|
|
356
|
-
const
|
|
349
|
+
const me = ({
|
|
357
350
|
workflowStructure: e,
|
|
358
351
|
sectionsRegistry: n,
|
|
359
352
|
className: t
|
|
360
353
|
}) => {
|
|
361
|
-
const { control:
|
|
362
|
-
|
|
354
|
+
const { control: o, handleSubmit: i, register: a, setValue: c, getValues: s } = Y(), u = R(), r = H(!1);
|
|
355
|
+
I(() => {
|
|
363
356
|
r.current || (u.activityId != null && c("CURRENTACTIVITYID", u.activityId), u.previousActivityId != null && c("LASTACTIVITYID", u.previousActivityId), r.current = !0);
|
|
364
357
|
}, [u, c]);
|
|
365
|
-
const { sections: m, fields:
|
|
366
|
-
control:
|
|
358
|
+
const { sections: m, fields: l } = ue({
|
|
359
|
+
control: o,
|
|
367
360
|
activityId: u.activityId,
|
|
368
361
|
previousActivityId: u.previousActivityId,
|
|
369
362
|
workflowStructure: e,
|
|
370
363
|
sectionsRegistry: n
|
|
371
364
|
});
|
|
372
|
-
return /* @__PURE__ */
|
|
365
|
+
return /* @__PURE__ */ P(
|
|
373
366
|
"form",
|
|
374
367
|
{
|
|
375
368
|
id: "fluig-react-form",
|
|
376
369
|
className: t,
|
|
377
|
-
onSubmit:
|
|
378
|
-
console.log("✅ [FluigWorkflowForm] Dados válidos:",
|
|
370
|
+
onSubmit: i((d) => {
|
|
371
|
+
console.log("✅ [FluigWorkflowForm] Dados válidos:", d);
|
|
379
372
|
}),
|
|
380
373
|
noValidate: !0,
|
|
381
374
|
children: [
|
|
382
|
-
/* @__PURE__ */
|
|
383
|
-
/* @__PURE__ */
|
|
384
|
-
/* @__PURE__ */
|
|
375
|
+
/* @__PURE__ */ P("div", { className: "hidden", style: { display: "none" }, children: [
|
|
376
|
+
/* @__PURE__ */ p("input", { type: "hidden", ...a("CURRENTACTIVITYID") }),
|
|
377
|
+
/* @__PURE__ */ p("input", { type: "hidden", ...a("LASTACTIVITYID") })
|
|
385
378
|
] }),
|
|
386
|
-
m.length === 0 && u.activityId !== null && /* @__PURE__ */
|
|
379
|
+
m.length === 0 && u.activityId !== null && /* @__PURE__ */ P("p", { children: [
|
|
387
380
|
"Não foi possível encontrar a atividade: ",
|
|
388
381
|
String(u.activityId)
|
|
389
382
|
] }),
|
|
390
|
-
m.map(({ name:
|
|
391
|
-
if (
|
|
392
|
-
const
|
|
393
|
-
if (!
|
|
394
|
-
const
|
|
395
|
-
return /* @__PURE__ */
|
|
396
|
-
|
|
383
|
+
m.map(({ name: d, mode: h }) => {
|
|
384
|
+
if (h === "hidden") return null;
|
|
385
|
+
const f = n[d];
|
|
386
|
+
if (!f) return null;
|
|
387
|
+
const v = f.Component;
|
|
388
|
+
return /* @__PURE__ */ p(
|
|
389
|
+
v,
|
|
397
390
|
{
|
|
398
|
-
id:
|
|
399
|
-
fields:
|
|
400
|
-
readOnly:
|
|
391
|
+
id: d,
|
|
392
|
+
fields: l,
|
|
393
|
+
readOnly: h === "readonly"
|
|
401
394
|
},
|
|
402
|
-
|
|
395
|
+
d
|
|
403
396
|
);
|
|
404
397
|
}),
|
|
405
|
-
u.isDev && u.showDebugSubmit && /* @__PURE__ */
|
|
398
|
+
u.isDev && u.showDebugSubmit && /* @__PURE__ */ p("div", { style: { width: "100%", padding: "16px", paddingTop: "0" }, children: /* @__PURE__ */ p("button", { type: "submit", className: "btn btn-primary btn-lg btn-block", children: "Submit (Debug)" }) })
|
|
406
399
|
]
|
|
407
400
|
}
|
|
408
401
|
);
|
|
409
|
-
},
|
|
410
|
-
const { mergedSchema: n } = W(), t = R(),
|
|
402
|
+
}, Te = (e) => {
|
|
403
|
+
const { mergedSchema: n } = W(), t = R(), o = Q({
|
|
411
404
|
resolver: n ? oe(n) : void 0,
|
|
412
405
|
defaultValues: t.prefilledValues,
|
|
413
406
|
mode: "onBlur"
|
|
414
407
|
});
|
|
415
|
-
return
|
|
416
|
-
t.showDebugLogs && (
|
|
408
|
+
return fe(o), I(() => {
|
|
409
|
+
t.showDebugLogs && (x.header("Form Initialized"), x.table(
|
|
417
410
|
"Prefilled Values (DOM Capture)",
|
|
418
411
|
t.prefilledValues
|
|
419
|
-
),
|
|
420
|
-
}, [t.showDebugLogs, t.prefilledValues,
|
|
412
|
+
), x.info("RHF Current Values", o.getValues()), x.end());
|
|
413
|
+
}, [t.showDebugLogs, t.prefilledValues, o]), /* @__PURE__ */ p(X, { ...o, children: /* @__PURE__ */ p(me, { ...e }) });
|
|
421
414
|
};
|
|
422
|
-
async function
|
|
415
|
+
async function ye(e) {
|
|
423
416
|
if (!e)
|
|
424
417
|
return console.warn("[setFluigNextActivity] Nenhuma atividade informada."), !1;
|
|
425
|
-
const { wfView: n, wkfView: t } = await
|
|
418
|
+
const { wfView: n, wkfView: t } = await he();
|
|
426
419
|
if (!n || !t) return !1;
|
|
427
|
-
|
|
428
|
-
const
|
|
429
|
-
return
|
|
420
|
+
ve(n);
|
|
421
|
+
const o = Number(e), i = we(n, o);
|
|
422
|
+
return i ? (pe(n, t, i, o), console.log(`[setFluigNextActivity] Próxima atividade definida: ${o}`), !0) : (console.warn(`[setFluigNextActivity] Estado ${o} não encontrado nas próximas atividades disponíveis.`), console.log("Estados disponíveis:", n.availableStatesCOPY || n.availableStates), !1);
|
|
430
423
|
}
|
|
431
|
-
async function
|
|
432
|
-
const e = await
|
|
424
|
+
async function he() {
|
|
425
|
+
const e = await k.top.ECM.workflowView, n = await k.top.ECM_WKFView;
|
|
433
426
|
return !e || !n ? (console.warn("[setFluigNextActivity] Contexto Fluig inválido ou não carregado."), {}) : { wfView: e, wkfView: n };
|
|
434
427
|
}
|
|
435
|
-
function
|
|
428
|
+
function ve(e) {
|
|
436
429
|
e.availableStatesCOPY || (e.availableStatesCOPY = e.availableStates);
|
|
437
430
|
}
|
|
438
|
-
function
|
|
431
|
+
function we(e, n) {
|
|
439
432
|
const t = e.availableStatesCOPY || e.availableStates;
|
|
440
|
-
return t == null ? void 0 : t.find((
|
|
433
|
+
return t == null ? void 0 : t.find((o) => o.sequence === n);
|
|
441
434
|
}
|
|
442
|
-
function
|
|
443
|
-
e.availableUsers.users = [], e.availableStates = [t], n.selectActivity = () =>
|
|
435
|
+
function pe(e, n, t, o) {
|
|
436
|
+
e.availableUsers.users = [], e.availableStates = [t], n.selectActivity = () => o;
|
|
444
437
|
}
|
|
445
|
-
const
|
|
446
|
-
function
|
|
447
|
-
const e =
|
|
438
|
+
const G = D(null);
|
|
439
|
+
function xe() {
|
|
440
|
+
const e = N(G);
|
|
448
441
|
if (!e)
|
|
449
442
|
throw new Error(
|
|
450
443
|
"useSection deve ser usado dentro de um componente <Section>"
|
|
451
444
|
);
|
|
452
445
|
return e;
|
|
453
446
|
}
|
|
454
|
-
function
|
|
447
|
+
function De({
|
|
455
448
|
id: e,
|
|
456
449
|
className: n,
|
|
457
450
|
schema: t,
|
|
458
|
-
children:
|
|
459
|
-
form:
|
|
451
|
+
children: o,
|
|
452
|
+
form: i,
|
|
460
453
|
prefilledValues: a,
|
|
461
454
|
readOnly: c,
|
|
462
455
|
fields: s = {},
|
|
463
456
|
hidden: u = !1
|
|
464
457
|
}) {
|
|
465
|
-
const { isView: r, activityId: m } = R(),
|
|
466
|
-
if (!
|
|
458
|
+
const { isView: r, activityId: m } = R(), l = m, g = Y(), d = i || g;
|
|
459
|
+
if (!d)
|
|
467
460
|
return console.error(
|
|
468
461
|
`[FluigWorkflowReact] Section "${e}" não encontrou o 'form'.`
|
|
469
462
|
), null;
|
|
470
463
|
if (u) return null;
|
|
471
|
-
const
|
|
472
|
-
(
|
|
473
|
-
var S,
|
|
474
|
-
return (S = s.hidden) != null && S.includes(
|
|
464
|
+
const h = V(
|
|
465
|
+
(w) => {
|
|
466
|
+
var S, E, T;
|
|
467
|
+
return (S = s.hidden) != null && S.includes(w) ? "hidden" : (E = s.readonly) != null && E.includes(w) ? "readonly" : (T = s.active) != null && T.includes(w) ? "active" : c ? "readonly" : "active";
|
|
475
468
|
},
|
|
476
469
|
[s, c]
|
|
470
|
+
), f = V(
|
|
471
|
+
(w) => h(w) === "hidden",
|
|
472
|
+
[h]
|
|
477
473
|
), v = V(
|
|
478
|
-
(
|
|
479
|
-
[
|
|
480
|
-
),
|
|
481
|
-
(
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
if (!h) return;
|
|
486
|
-
const S = l.getValues("CURRENTACTIVITYID");
|
|
487
|
-
l.setValue("LASTACTIVITYID", S), l.setValue("CURRENTACTIVITYID", f), he(Number(h));
|
|
474
|
+
(w) => h(w) === "readonly",
|
|
475
|
+
[h]
|
|
476
|
+
), y = V(
|
|
477
|
+
(w) => {
|
|
478
|
+
if (!w) return;
|
|
479
|
+
const S = d.getValues("CURRENTACTIVITYID");
|
|
480
|
+
d.setValue("LASTACTIVITYID", S), d.setValue("CURRENTACTIVITYID", l), ye(Number(w));
|
|
488
481
|
},
|
|
489
|
-
[
|
|
482
|
+
[d, l]
|
|
490
483
|
);
|
|
491
|
-
|
|
492
|
-
if (!r || !a || !t || !
|
|
493
|
-
const
|
|
494
|
-
S && Object.entries(S).forEach(([
|
|
495
|
-
var L,
|
|
496
|
-
let
|
|
497
|
-
for (; (L =
|
|
498
|
-
|
|
499
|
-
const
|
|
500
|
-
if ((
|
|
501
|
-
const
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
}),
|
|
484
|
+
I(() => {
|
|
485
|
+
if (!r || !a || !t || !d) return;
|
|
486
|
+
const w = d.getValues(), S = t.shape;
|
|
487
|
+
S && Object.entries(S).forEach(([E, T]) => {
|
|
488
|
+
var L, M;
|
|
489
|
+
let A = T;
|
|
490
|
+
for (; (L = A == null ? void 0 : A._def) != null && L.schema; )
|
|
491
|
+
A = A._def.schema;
|
|
492
|
+
const F = (M = A == null ? void 0 : A._def) == null ? void 0 : M.fluig;
|
|
493
|
+
if ((F == null ? void 0 : F.type) !== "options" || !Array.isArray(F.values) || w[E] !== void 0) return;
|
|
494
|
+
const C = {};
|
|
495
|
+
F.values.forEach((q) => {
|
|
496
|
+
C[q] = a[q] === "on";
|
|
497
|
+
}), d.setValue(E, C, {
|
|
505
498
|
shouldDirty: !1,
|
|
506
499
|
shouldValidate: !1
|
|
507
500
|
});
|
|
508
501
|
});
|
|
509
|
-
}, [r, a, t,
|
|
510
|
-
const
|
|
502
|
+
}, [r, a, t, d]);
|
|
503
|
+
const z = b(
|
|
511
504
|
() => ({
|
|
512
505
|
id: e,
|
|
513
|
-
form:
|
|
514
|
-
isHidden:
|
|
515
|
-
isReadOnly:
|
|
506
|
+
form: d,
|
|
507
|
+
isHidden: f,
|
|
508
|
+
isReadOnly: v,
|
|
516
509
|
isView: r,
|
|
517
|
-
next:
|
|
518
|
-
wf_activity_id:
|
|
510
|
+
next: y,
|
|
511
|
+
wf_activity_id: l
|
|
519
512
|
}),
|
|
520
|
-
[e,
|
|
513
|
+
[e, d, f, v, r, y, l]
|
|
521
514
|
);
|
|
522
|
-
return /* @__PURE__ */
|
|
515
|
+
return /* @__PURE__ */ p(G.Provider, { value: z, children: /* @__PURE__ */ p("section", { id: e, className: [e, n].filter(Boolean).join(" "), children: o }) });
|
|
523
516
|
}
|
|
524
|
-
const $ =
|
|
517
|
+
const $ = D(null);
|
|
525
518
|
function Ne({ children: e, config: n }) {
|
|
526
|
-
const t =
|
|
527
|
-
return /* @__PURE__ */
|
|
519
|
+
const t = b(() => ne(n), [n]);
|
|
520
|
+
return /* @__PURE__ */ p($.Provider, { value: t, children: e });
|
|
528
521
|
}
|
|
529
|
-
function
|
|
530
|
-
const e =
|
|
522
|
+
function Re() {
|
|
523
|
+
const e = N($);
|
|
531
524
|
if (!e)
|
|
532
525
|
throw new Error(
|
|
533
526
|
"useFluigApi deve ser usado dentro de um <FluigApiProvider>"
|
|
@@ -535,16 +528,16 @@ function Pe() {
|
|
|
535
528
|
return e;
|
|
536
529
|
}
|
|
537
530
|
export {
|
|
538
|
-
|
|
531
|
+
Ce as DebugLogger,
|
|
539
532
|
Ne as FluigApiProvider,
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
533
|
+
Fe as FluigRuntimeProvider,
|
|
534
|
+
Te as FluigWorkflowForm,
|
|
535
|
+
Ee as SchemaRegistryProvider,
|
|
536
|
+
De as Section,
|
|
537
|
+
Le as createFluigClient,
|
|
538
|
+
Me as parentProxy,
|
|
539
|
+
Re as useFluigApi,
|
|
547
540
|
R as useFluigRuntime,
|
|
548
541
|
W as useSchemaRegistry,
|
|
549
|
-
|
|
542
|
+
xe as useSection
|
|
550
543
|
};
|