@ram_28/kf-ai-sdk 2.0.14 → 2.0.15
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/README.md +2 -1
- package/dist/FileField-BWrSHNRq.js +296 -0
- package/dist/FileField-eDeuzln8.cjs +1 -0
- package/dist/api.cjs +1 -1
- package/dist/api.mjs +2 -2
- package/dist/auth.cjs +1 -1
- package/dist/auth.mjs +1 -1
- package/dist/bdo.cjs +1 -1
- package/dist/bdo.mjs +228 -472
- package/dist/{client-DnO2KKrw.cjs → client-D5k4SYuw.cjs} +1 -1
- package/dist/{client-iQTqFDNI.js → client-_ayziI1d.js} +33 -32
- package/dist/components/hooks/index.d.ts +9 -3
- package/dist/components/hooks/index.d.ts.map +1 -1
- package/dist/{workflow/components → components/hooks}/useActivityForm/createActivityItemProxy.d.ts +9 -5
- package/dist/components/hooks/useActivityForm/createActivityItemProxy.d.ts.map +1 -0
- package/dist/components/hooks/useActivityForm/createActivityResolver.d.ts +23 -0
- package/dist/components/hooks/useActivityForm/createActivityResolver.d.ts.map +1 -0
- package/dist/components/hooks/useActivityForm/index.d.ts.map +1 -0
- package/dist/{workflow/components → components/hooks}/useActivityForm/types.d.ts +11 -7
- package/dist/components/hooks/useActivityForm/types.d.ts.map +1 -0
- package/dist/{workflow/components → components/hooks}/useActivityForm/useActivityForm.d.ts +2 -2
- package/dist/components/hooks/useActivityForm/useActivityForm.d.ts.map +1 -0
- package/dist/components/hooks/useActivityTable/index.d.ts +4 -0
- package/dist/components/hooks/useActivityTable/index.d.ts.map +1 -0
- package/dist/components/hooks/useActivityTable/types.d.ts +36 -0
- package/dist/components/hooks/useActivityTable/types.d.ts.map +1 -0
- package/dist/components/hooks/useActivityTable/useActivityTable.d.ts +4 -0
- package/dist/components/hooks/useActivityTable/useActivityTable.d.ts.map +1 -0
- package/dist/components/hooks/useBDOTable/index.d.ts +3 -0
- package/dist/components/hooks/useBDOTable/index.d.ts.map +1 -0
- package/dist/components/hooks/useBDOTable/types.d.ts +26 -0
- package/dist/components/hooks/useBDOTable/types.d.ts.map +1 -0
- package/dist/components/hooks/useBDOTable/useBDOTable.d.ts +3 -0
- package/dist/components/hooks/useBDOTable/useBDOTable.d.ts.map +1 -0
- package/dist/components/hooks/useTable/index.d.ts +2 -2
- package/dist/components/hooks/useTable/index.d.ts.map +1 -1
- package/dist/components/hooks/useTable/types.d.ts +11 -10
- package/dist/components/hooks/useTable/types.d.ts.map +1 -1
- package/dist/components/hooks/useTable/useTable.d.ts +1 -1
- package/dist/components/hooks/useTable/useTable.d.ts.map +1 -1
- package/dist/createResolver-AIgUwoS6.cjs +1 -0
- package/dist/createResolver-ZHXQ7QMa.js +1078 -0
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +252 -314
- package/dist/{metadata-DpfI3zRN.js → metadata-Cc1mBcLS.js} +1 -1
- package/dist/{metadata-DgLSJkF5.cjs → metadata-DWXQPDav.cjs} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.d.ts +1 -0
- package/dist/table.d.ts.map +1 -1
- package/dist/table.mjs +16 -192
- package/dist/table.types.d.ts +2 -1
- package/dist/table.types.d.ts.map +1 -1
- package/dist/types/base-fields.d.ts +4 -4
- package/dist/types/base-fields.d.ts.map +1 -1
- package/dist/useTable-CeRklbdT.cjs +1 -0
- package/dist/useTable-DS0-WInw.js +203 -0
- package/dist/workflow/Activity.d.ts +9 -9
- package/dist/workflow/Activity.d.ts.map +1 -1
- package/dist/workflow/client.d.ts.map +1 -1
- package/dist/workflow/createFieldFromMeta.d.ts +29 -0
- package/dist/workflow/createFieldFromMeta.d.ts.map +1 -0
- package/dist/workflow/index.d.ts +1 -2
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/types.d.ts +12 -12
- package/dist/workflow/types.d.ts.map +1 -1
- package/dist/workflow.cjs +1 -1
- package/dist/workflow.d.ts +5 -2
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.mjs +716 -338
- package/dist/workflow.types.d.ts +1 -0
- package/dist/workflow.types.d.ts.map +1 -1
- package/docs/gaps.md +410 -0
- package/docs/useActivityTable.md +481 -0
- package/docs/useBDOTable.md +317 -0
- package/docs/workflow.md +143 -34
- package/package.json +1 -1
- package/sdk/bdo/fields/UserField.ts +1 -1
- package/sdk/components/hooks/index.ts +28 -5
- package/sdk/components/hooks/useActivityForm/createActivityItemProxy.ts +400 -0
- package/sdk/components/hooks/useActivityForm/createActivityResolver.ts +87 -0
- package/sdk/{workflow/components → components/hooks}/useActivityForm/types.ts +21 -8
- package/sdk/components/hooks/useActivityForm/useActivityForm.ts +628 -0
- package/sdk/components/hooks/useActivityTable/index.ts +8 -0
- package/sdk/components/hooks/useActivityTable/types.ts +45 -0
- package/sdk/components/hooks/useActivityTable/useActivityTable.ts +71 -0
- package/sdk/components/hooks/useBDOTable/index.ts +2 -0
- package/sdk/components/hooks/useBDOTable/types.ts +24 -0
- package/sdk/components/hooks/useBDOTable/useBDOTable.ts +15 -0
- package/sdk/components/hooks/useTable/index.ts +3 -3
- package/sdk/components/hooks/useTable/types.ts +16 -12
- package/sdk/components/hooks/useTable/useTable.ts +56 -49
- package/sdk/table.ts +4 -1
- package/sdk/table.types.ts +7 -4
- package/sdk/types/base-fields.ts +4 -4
- package/sdk/workflow/Activity.ts +14 -13
- package/sdk/workflow/client.ts +21 -8
- package/sdk/workflow/createFieldFromMeta.ts +110 -0
- package/sdk/workflow/index.ts +1 -6
- package/sdk/workflow/types.ts +13 -12
- package/sdk/workflow.ts +11 -2
- package/sdk/workflow.types.ts +7 -0
- package/dist/BaseField-B6da88U7.js +0 -40
- package/dist/BaseField-Drp0-OxL.cjs +0 -1
- package/dist/error-handling-CAoD0Kwb.cjs +0 -1
- package/dist/error-handling-CrhTtD88.js +0 -14
- package/dist/index.esm-Cj63v5ny.js +0 -1014
- package/dist/index.esm-DuwT11sx.cjs +0 -1
- package/dist/workflow/components/useActivityForm/createActivityItemProxy.d.ts.map +0 -1
- package/dist/workflow/components/useActivityForm/createActivityResolver.d.ts +0 -22
- package/dist/workflow/components/useActivityForm/createActivityResolver.d.ts.map +0 -1
- package/dist/workflow/components/useActivityForm/index.d.ts.map +0 -1
- package/dist/workflow/components/useActivityForm/types.d.ts.map +0 -1
- package/dist/workflow/components/useActivityForm/useActivityForm.d.ts.map +0 -1
- package/docs/useTable.md +0 -369
- package/sdk/workflow/components/useActivityForm/createActivityItemProxy.ts +0 -130
- package/sdk/workflow/components/useActivityForm/createActivityResolver.ts +0 -61
- package/sdk/workflow/components/useActivityForm/useActivityForm.ts +0 -386
- /package/dist/{workflow/components → components/hooks}/useActivityForm/index.d.ts +0 -0
- /package/sdk/{workflow/components → components/hooks}/useActivityForm/index.ts +0 -0
package/dist/form.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("./constants-QX2RX-wu.cjs"),b=require("react"),A=require("./createResolver-AIgUwoS6.cjs"),k=require("@tanstack/react-query"),_=require("./client-D5k4SYuw.cjs"),z=require("./attachment-constants-B5jlqoKI.cjs"),K=require("./metadata-DWXQPDav.cjs");function Q(T,t){const d=T.getFields(),g=new Map,D=T.getBoId();let V=null,I=null;async function N(){const O=t.getValues("_id");return O||V||(I||(I=_.api(D).draftInteraction({}).then(e=>(V=e._id,t.setValue("_id",V,{shouldDirty:!1}),V)).catch(e=>{throw I=null,e})),I)}return new Proxy({},{get(O,e){if(typeof e=="symbol")return;if(e==="_id")return t.getValues("_id");if(e==="toJSON")return()=>t.getValues();if(e==="validate")return()=>t.trigger();if(e==="_hasDraft")return()=>!!V;if(g.has(e))return g.get(e);const i=d[e],h=(i==null?void 0:i.meta)??{_id:e,Name:e,Type:"String"},B=(i==null?void 0:i.readOnly)??!1,E=()=>{if(!i)return{valid:!0,errors:[]};let l=t.getValues(e);if("integerPart"in i&&typeof l=="string"&&l!==""){const o=Number(l);isNaN(o)||(l=o,t.setValue(e,o,{shouldDirty:!1}))}if(!i.required&&(l==null||l===""||Array.isArray(l)&&l.length===0))return{valid:!0,errors:[]};const r=i.validate(l);if(!r.valid)return r;const a=A.validateConstraints(i,l);if(!a.valid)return a;if(T.hasMetadata()){const o=T.validateFieldExpression(e,l,t.getValues());if(!o.valid)return o}return{valid:!0,errors:[]}},M=l=>{const r=t.getValues(e);return r??l};if(!B){const l=()=>{const a=t.getValues(e);return h.Type==="File"?a??[]:a},r={label:(i==null?void 0:i.label)??e,required:(i==null?void 0:i.required)??!1,readOnly:!1,defaultValue:i==null?void 0:i.defaultValue,meta:h,get:l,getOrDefault:M,set:a=>{t.setValue(e,a,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!1})},validate:E};if(h.Type==="Image"||h.Type==="File"){const a=D,o=()=>{const n=t.getValues("_id");if(!n)throw new Error("Save the record before attachment operations");return n};h.Type==="Image"?(r.upload=async n=>{z.validateFileExtension(n.name,"Image");const s=await N(),[f]=await _.api(a).getUploadUrl(s,e,[{FileName:n.name,Size:n.size,FileExtension:z.extractFileExtension(n.name)}]);await fetch(f.UploadUrl.URL,{method:"PUT",headers:{"Content-Type":f.ContentType},body:n});const c={_id:f._id,_name:f._name,FileName:f.FileName,FileExtension:f.FileExtension,Size:f.Size,ContentType:f.ContentType};return t.setValue(e,c,{shouldDirty:!0}),c},r.deleteAttachment=async()=>{const n=t.getValues(e),s=o();if(!(n!=null&&n._id))throw new Error(`${e} has no image to delete`);await _.api(a).deleteAttachment(s,e,n._id),t.setValue(e,null,{shouldDirty:!0})},r.getDownloadUrl=async n=>{const s=t.getValues(e),f=o();if(!(s!=null&&s._id))throw new Error(`${e} has no image`);return _.api(a).getDownloadUrl(f,e,s._id,n)}):(r.upload=async n=>{for(const m of n)z.validateFileExtension(m.name,"File");const s=await N(),f=n.map(m=>({FileName:m.name,Size:m.size,FileExtension:z.extractFileExtension(m.name)})),c=await _.api(a).getUploadUrl(s,e,f),P=await Promise.all(n.map(async(m,y)=>(await fetch(c[y].UploadUrl.URL,{method:"PUT",headers:{"Content-Type":c[y].ContentType},body:m}),{_id:c[y]._id,_name:c[y]._name,FileName:c[y].FileName,FileExtension:c[y].FileExtension,Size:c[y].Size,ContentType:c[y].ContentType}))),w=t.getValues(e)??[];return t.setValue(e,[...w,...P],{shouldDirty:!0}),P},r.deleteAttachment=async n=>{const s=t.getValues(e)??[],f=o();await _.api(a).deleteAttachment(f,e,n),t.setValue(e,s.filter(c=>c._id!==n),{shouldDirty:!0})},r.getDownloadUrl=async(n,s)=>{const f=o();return _.api(a).getDownloadUrl(f,e,n,s)},r.getDownloadUrls=async n=>{const s=o();return _.api(a).getDownloadUrls(s,e,n)})}return g.set(e,r),r}const u=()=>{const l=t.getValues(e);return h.Type==="File"?l??[]:l},U={label:(i==null?void 0:i.label)??e,required:(i==null?void 0:i.required)??!1,readOnly:!0,defaultValue:i==null?void 0:i.defaultValue,meta:h,get:u,getOrDefault:M,validate:E};if(h.Type==="Image"||h.Type==="File"){const l=D,r=()=>{const a=t.getValues("_id");if(!a)throw new Error("Cannot perform attachment operation: item has no _id. Save the item first.");return a};h.Type==="Image"?U.getDownloadUrl=async a=>{const o=t.getValues(e),n=r();if(!(o!=null&&o._id))throw new Error(`${e} has no image to download`);return _.api(l).getDownloadUrl(n,e,o._id,a)}:(U.getDownloadUrl=async(a,o)=>{const n=r();return _.api(l).getDownloadUrl(n,e,a,o)},U.getDownloadUrls=async a=>{const o=r();return _.api(l).getDownloadUrls(o,e,a)})}return g.set(e,U),U},has(O,e){return typeof e=="symbol"?!1:e==="_id"||e==="toJSON"||e==="validate"||e==="_hasDraft"?!0:e in d},ownKeys(O){return[...Object.keys(d),"_id","toJSON","validate"]},getOwnPropertyDescriptor(O,e){if(typeof e!="symbol")return{configurable:!0,enumerable:e!=="toJSON"&&e!=="validate"&&e!=="_hasDraft"}}})}function j(T,t){const d=T.meta.Type;if(typeof t=="string"&&d==="Number")return t===""?void 0:Number(t);if(!(typeof t=="string"&&t===""&&(d==="Date"||d==="DateTime"))){if(typeof t=="string"&&t!==""&&d==="DateTime"){let g=t;return g.endsWith("Z")&&(g=g.slice(0,-1)),((g.split("T")[1]||"").match(/:/g)||[]).length===1&&(g+=":00"),g+"Z"}return t}}function Z(T,t){var D;const d=T.getFields(),g={...t};for(const[V,I]of Object.entries(g))typeof I=="string"&&((D=d[V])==null?void 0:D.meta.Type)==="DateTime"&&I.endsWith("Z")&&(g[V]=I.slice(0,-1));return g}function $(T){const{bdo:t,recordId:d,operation:g,defaultValues:D,mode:V="onBlur",enableDraft:I=!1,enableConstraintValidation:N,enableExpressionValidation:O}=T,e=g??(d?"update":"create"),i=b.useMemo(()=>A.createResolver(t,{enableConstraintValidation:N}),[t,N]),{data:h,isLoading:B,isFetching:E,error:M}=k.useQuery({queryKey:["form-record",t.meta._id,d],queryFn:async()=>{const w=await t.get(d);return Z(t,w.toJSON())},enabled:e==="update"&&!!d,staleTime:0}),{data:u,isLoading:U,error:l}=k.useQuery({queryKey:["form-draft",t.meta._id],queryFn:async()=>_.api(t.meta._id).draftInteraction({}),enabled:e==="create",staleTime:1/0,gcTime:0,retry:1}),{data:r}=k.useQuery({queryKey:["form-schema",t.meta._id],queryFn:()=>K.getBdoSchema(t.meta._id),staleTime:30*60*1e3,gcTime:60*60*1e3,enabled:O!==!1});b.useEffect(()=>{r!=null&&r.BDOBlob?t.loadMetadata(r.BDOBlob):r!=null&&r.MetaBlob&&t.loadMetadata(r.MetaBlob)},[r,t]);const a=A.useForm({mode:V,resolver:i,defaultValues:D}),o=b.useRef(null);b.useEffect(()=>{e==="update"&&h&&h!==o.current&&(a.reset(h),o.current=h)},[h,e,a]),b.useEffect(()=>{u!=null&&u._id&&a.setValue("_id",u._id)},[u,a]);const n=b.useMemo(()=>Q(t,a),[t,a]),s=t.getFields(),f=b.useCallback((w,m)=>{var S;const y=a.register(w,m);return(S=s[w])!=null&&S.readOnly?{...y,disabled:!0}:y},[a,s]),c=b.useRef(null);b.useEffect(()=>{if(e!=="create"||!(u!=null&&u._id))return;const w=a.watch((m,{type:y})=>{y==="change"&&(c.current&&clearTimeout(c.current),c.current=setTimeout(async()=>{const S=a.getValues(),F=a.formState.dirtyFields,q={};for(const[v,x]of Object.entries(S))s[v]&&!s[v].readOnly&&F[v]&&(q[v]=j(s[v],x));if(Object.keys(q).length>0)try{await _.api(t.meta._id).draftInteraction({_id:u._id,...q})}catch{}},800))});return()=>{w.unsubscribe(),c.current&&clearTimeout(c.current)}},[a,e,u,s,t]);const P=b.useCallback((w,m)=>a.handleSubmit(async(y,S)=>{try{const F={},q=a.getValues();if(e==="create")for(const[x,R]of Object.entries(s)){if(R.readOnly)continue;const C=q[x]!==void 0?q[x]:y[x];C!==void 0&&(F[x]=j(R,C))}else{const x=a.formState.dirtyFields;for(const[R,C]of Object.entries(s)){if(C.readOnly||!x[R])continue;const J=q[R]!==void 0?q[R]:y[R];F[R]=j(C,J)}}let v;e==="create"?(F._id=u==null?void 0:u._id,v=await _.api(t.meta._id).draft(F)):v=await _.api(t.meta._id).update(d,F),w==null||w(v,S)}catch(F){m==null||m(F,S)}},(y,S)=>{m==null||m(y,S)}),[a,t,e,d,s,u]);return{item:n,bdo:t,operation:e,recordId:d,register:f,handleSubmit:P,watch:a.watch,setValue:a.setValue,getValues:a.getValues,reset:a.reset,trigger:a.trigger,control:a.control,formState:a.formState,errors:a.formState.errors,isDirty:a.formState.isDirty,isValid:a.formState.isValid,isSubmitting:a.formState.isSubmitting,isSubmitSuccessful:a.formState.isSubmitSuccessful,dirtyFields:a.formState.dirtyFields,isLoading:B||U,isFetching:E,loadError:M??l,draftId:u==null?void 0:u._id,isCreatingDraft:U}}exports.FormOperation=L.FormOperation;exports.InteractionMode=L.InteractionMode;exports.ValidationMode=L.ValidationMode;exports.useForm=$;
|