@cxbox-ui/core 2.7.0-beta.0 → 2.7.1-CXBOX-1100-alpha.0

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.js CHANGED
@@ -1,2 +1,2 @@
1
- import{createAction as e,nanoid as a,isAnyOf as t}from"@reduxjs/toolkit";import{of as o,EMPTY as n,filter as i,mergeMap as r,concat as s,catchError as c,map as d,switchMap as l,takeUntil as p,TimeoutError as u,delay as m,timeout as y,take as b,withLatestFrom as g,tap as h,race as f,from as N,takeWhile as w,expand as v,reduce as C}from"rxjs";import D from"axios";const F=e("changeLocation"),T=e("login"),I=e("loginDone"),k=e("loginFail"),O=e("logout"),E=e("logoutDone"),R=e("selectScreen"),P=e("selectScreenFail"),A=e("selectView"),S=e("selectViewFail"),M=e("bcFetchDataRequest"),V=e("bcFetchDataPages"),U=e("bcClearData"),_=e("inlinePickListFetchDataRequest"),j=e("bcFetchDataSuccess"),B=e("bcFetchDataFail"),$=e("bcLoadMore"),q=e("bcFetchRowMeta"),L=e("bcFetchRowMetaSuccess"),W=e("bcFetchRowMetaFail"),x=e("bcNewData"),K=e("bcNewDataSuccess"),G=e("bcNewDataFail"),z=e("bcDeleteDataFail"),H=e("forceActiveChangeFail"),J=e("sendOperation"),Y=e("sendOperationFail"),Q=e("sendOperationSuccess"),X=e("processPostInvoke"),Z=e("processPreInvoke"),ee=e("processPostInvokeConfirm"),ae=e("userDrillDown"),te=e("userDrillDownSuccess"),oe=e("drillDown"),ne=e("bcChangeCursors"),ie=e("bcChangeDepthCursor"),re=e("changeDataItem"),se=e("changeDataItems"),ce=e("forceActiveRmUpdate"),de=e("showViewPopup"),le=e("showFileUploadPopup"),pe=e("closeViewPopup"),ue=e("viewPutPickMap"),me=e("viewClearPickMap"),ye=e("saveAssociations"),be=e("cnangeAssociations"),ge=e("removeMultivalueTag"),he=e("bcSaveDataSuccess"),fe=e("bcSaveDataFail"),Ne=e("operationConfirmation"),we=e("bcForceUpdate"),ve=e("uploadFile"),Ce=e("uploadFileDone"),De=e("uploadFileFailed"),Fe=e("bcCancelPendingChanges"),Te=e("bcSelectRecord"),Ie=e("bcSelectDepthRecord"),ke=e("changeAssociations"),Oe=e("changeAssociationsSameBc"),Ee=e("changeAssociationFull"),Re=e("changeChildrenAssociations"),Pe=e("changeChildrenAssociationsSameBc"),Ae=e("changeDescendantsAssociationsFull"),Se=e("dropAllAssociations"),Me=e("dropAllAssociationsSameBc"),Ve=e("dropAllAssociationsFull"),Ue=e("handleRouter"),_e=e("selectTableRowInit"),je=e("selectTableRow"),Be=e("deselectTableRow"),$e=e("showAllTableRecordsInit"),qe=e("showNotification"),Le=e("closeNotification"),We=e("bcAddFilter"),xe=e("bcRemoveFilter"),Ke=e("bcRemoveAllFilters"),Ge=e("bcAddSorter"),ze=e("bcRemoveSorter"),He=e("bcChangePage"),Je=e("showViewError"),Ye=e("closeViewError"),Qe=e("closeConfirmModal"),Xe=e("clearValidationFails"),Ze=e("downloadFile"),ea=e("downloadFileByUrl"),aa=e("bulkUploadFiles"),ta=e("apiError"),oa=e("httpError"),na=e("switchDebugMode"),ia=e("exportState"),ra=e("emptyAction"),sa=e("refreshMeta"),ca=e("refreshMetaDone"),da=e("refreshMetaFail"),la=e("refreshMetaAndReloadPage"),pa=e("switchRole"),ua=e("addPendingRequest"),ma=e("removePendingRequest"),ya=e("addNotification"),ba=e("removeNotifications"),ga=e("waitUntil"),ha=e("setPendingSendOperation"),fa=e("associateInProgress"),Na=e("setOperationFinished"),wa=e("selectRows"),va=e("deselectRows"),Ca=e("clearSelectedRows"),Da=e("setPendingPostInvoke"),Fa=e("applyPendingPostInvoke"),Ta=e("inlinePickListFetchDataSuccess");var Ia=Object.freeze({__proto__:null,addNotification:ya,addPendingRequest:ua,apiError:ta,applyPendingPostInvoke:Fa,associateInProgress:fa,bcAddFilter:We,bcAddSorter:Ge,bcCancelPendingChanges:Fe,bcChangeCursors:ne,bcChangeDepthCursor:ie,bcChangePage:He,bcClearData:U,bcDeleteDataFail:z,bcFetchDataFail:B,bcFetchDataPages:V,bcFetchDataRequest:M,bcFetchDataSuccess:j,bcFetchRowMeta:q,bcFetchRowMetaFail:W,bcFetchRowMetaSuccess:L,bcForceUpdate:we,bcLoadMore:$,bcNewData:x,bcNewDataFail:G,bcNewDataSuccess:K,bcRemoveAllFilters:Ke,bcRemoveFilter:xe,bcRemoveSorter:ze,bcSaveDataFail:fe,bcSaveDataSuccess:he,bcSelectDepthRecord:Ie,bcSelectRecord:Te,bulkUploadFiles:aa,changeAssociation:ke,changeAssociationFull:Ee,changeAssociationSameBc:Oe,changeAssociations:be,changeChildrenAssociations:Re,changeChildrenAssociationsSameBc:Pe,changeDataItem:re,changeDataItems:se,changeDescendantsAssociationsFull:Ae,changeLocation:F,clearSelectedRows:Ca,clearValidationFails:Xe,closeConfirmModal:Qe,closeNotification:Le,closeViewError:Ye,closeViewPopup:pe,deselectRows:va,deselectTableRow:Be,downloadFile:Ze,downloadFileByUrl:ea,drillDown:oe,dropAllAssociations:Se,dropAllAssociationsFull:Ve,dropAllAssociationsSameBc:Me,emptyAction:ra,exportState:ia,forceActiveChangeFail:H,forceActiveRmUpdate:ce,handleRouter:Ue,httpError:oa,inlinePickListFetchDataRequest:_,inlinePickListFetchDataSuccess:Ta,login:T,loginDone:I,loginFail:k,logout:O,logoutDone:E,operationConfirmation:Ne,processPostInvoke:X,processPostInvokeConfirm:ee,processPreInvoke:Z,refreshMeta:sa,refreshMetaAndReloadPage:la,refreshMetaDone:ca,refreshMetaFail:da,removeMultivalueTag:ge,removeNotifications:ba,removePendingRequest:ma,saveAssociations:ye,selectRows:wa,selectScreen:R,selectScreenFail:P,selectTableRow:je,selectTableRowInit:_e,selectView:A,selectViewFail:S,sendOperation:J,sendOperationFail:Y,sendOperationSuccess:Q,setOperationFinished:Na,setPendingPostInvoke:Da,setPendingSendOperation:ha,showAllTableRecordsInit:$e,showFileUploadPopup:le,showNotification:qe,showViewError:Je,showViewPopup:de,switchDebugMode:na,switchRole:pa,uploadFile:ve,uploadFileDone:Ce,uploadFileFailed:De,userDrillDown:ae,userDrillDownSuccess:te,viewClearPickMap:me,viewPutPickMap:ue,waitUntil:ga});class ka{reducers=[];matchers=[];defaultCaseReducer=void 0;addCase(e,a){return this.reducers.push([e,a]),this}removeCase(e){return this.reducers=this.reducers.filter((a=>a[0].type!==e.type)),this}replaceCase(e,a){return this.removeCase(e).addCase(e,a),this}addMatcher(e,a){return this.matchers.push([e,a]),this}addDefaultCase(e){return this.defaultCaseReducer=e,this}get builder(){return e=>{const a=this.reducers.reduce(((e,a)=>e.addCase(...a)),e),t=this.matchers.reduce(((e,a)=>e.addMatcher(...a)),a);return void 0!==this.defaultCaseReducer?t.addDefaultCase(this.defaultCaseReducer):t}}}const Oa=[];var Ea=Object.defineProperty,Ra=Object.getOwnPropertyDescriptor,Pa=Object.getOwnPropertyNames,Aa=Object.prototype.hasOwnProperty,Sa={};((e,a)=>{for(var t in a)Ea(e,t,{get:a[t],enumerable:!0})})(Sa,{DrillDownType:()=>za,FieldType:()=>Ya,OperationTypeCrud:()=>Ga,PositionTypes:()=>Ja,RecordSnapshotState:()=>Ka,WidgetTypes:()=>Ha});var Ma,Va,Ua,_a,ja,Ba,$a,qa,La,Wa,xa=(Ma=Sa,((e,a,t,o)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let n of Pa(a))!Aa.call(e,n)&&n!==t&&Ea(e,n,{get:()=>a[n],enumerable:!(o=Ra(a,n))||o.enumerable});return e})(Ea({},"__esModule",{value:!0}),Ma)),Ka=((Va=Ka||{}).noChange="noChange",Va.new="new",Va.deleted="deleted",Va),Ga=((Ua=Ga||{}).create="create",Ua.save="save",Ua.delete="delete",Ua.associate="associate",Ua.cancelCreate="cancel-create",Ua.fileUpload="file-upload",Ua),za=((_a=za||{}).inner="inner",_a.relative="relative",_a.relativeNew="relativeNew",_a.external="external",_a.externalNew="externalNew",_a),Ha=((Ba=Ha||{}).Info="Info",Ba.Form="Form",Ba.List="List",Ba.DataGrid="DataGrid",Ba.AssocListPopup="AssocListPopup",Ba.PickListPopup="PickListPopup",Ba.HeaderWidget="HeaderWidget",Ba.SecondLevelMenu="SecondLevelMenu",Ba.ThirdLevelMenu="ThirdLevelMenu",Ba.FourthLevelMenu="FourthLevelMenu",Ba.WidgetCreator="WidgetCreator",Ba.Pivot="Pivot",Ba.DimFilter="DimFilter",Ba.Text="Text",Ba.FlatTree="FlatTree",Ba.FlatTreePopup="FlatTreePopup",Ba.ViewNavigation="ViewNavigation",Ba.NavigationTabs="NavigationTabs",Ba),Ja=(e=>(e.Top="Top",e.Bottom="Bottom",e.TopAndBottom="TopAndBottom",e))(Ja||{}),Ya=((ja=Ya||{}).number="number",ja.input="input",ja.monthYear="monthYear",ja.date="date",ja.dateTime="dateTime",ja.dateTimeWithSeconds="dateTimeWithSeconds",ja.checkbox="checkbox",ja.checkboxSql="checkboxSql",ja.DMN="DMN",ja.pickList="pickList",ja.inlinePickList="inline-pickList",ja.dictionary="dictionary",ja.hidden="hidden",ja.text="text",ja.percent="percent",ja.fileUpload="fileUpload",ja.money="money",ja.comboCondition="combo-condition",ja.richText="richText",ja.printForm="printForm",ja.multifield="multifield",ja.multivalue="multivalue",ja.multivalueHover="multivalueHover",ja.hint="hint",ja.radio="radio",ja);!function(e){e.success="success",e.info="info",e.warning="warning",e.error="error"}($a||($a={})),function(e){e.screen="screen",e.default="default",e.router="router",e.invalid="invalid",e.unknown="unknown"}(qa||(qa={})),function(e){e.old="old",e.target="target"}(La||(La={})),function(e){e[e.BusinessError=0]="BusinessError",e[e.SystemError=1]="SystemError",e[e.NetworkError=2]="NetworkError"}(Wa||(Wa={}));const Qa=[xa.WidgetTypes.List,xa.WidgetTypes.DataGrid,xa.WidgetTypes.AssocListPopup,xa.WidgetTypes.PickListPopup,xa.WidgetTypes.FlatTree,xa.WidgetTypes.FlatTreePopup],Xa=[xa.WidgetTypes.PickListPopup,xa.WidgetTypes.AssocListPopup,xa.WidgetTypes.FlatTreePopup];function Za(e){return!!e&&!("component"in e)}function et(e){return e&&"component"in e}function at(e){return!!e&&"blockId"in e}var tt;!function(e){e.page="page",e.loadMore="loadMore"}(tt||(tt={}));const ot=[xa.OperationTypeCrud.create,xa.OperationTypeCrud.save,xa.OperationTypeCrud.delete,xa.OperationTypeCrud.associate,xa.OperationTypeCrud.cancelCreate,xa.OperationTypeCrud.fileUpload];function nt(e){return Array.isArray(e.actions)}var it,rt,st,ct;function dt(e){return!!e&&"viewName"in e}function lt(e){return!!e&&"categoryName"in e}function pt(e){return!!e&&"child"in e&&!("categoryName"in e)}!function(e){e.confirm="confirm",e.info="info",e.error="error"}(it||(it={})),function(e){e.refreshBC="refreshBC",e.downloadFile="downloadFile",e.downloadFileByUrl="downloadFileByUrl",e.drillDown="drillDown",e.openPickList="openPickList",e.showMessage="showMessage",e.postDelete="postDelete",e.waitUntil="waitUntil",e.drillDownAndWaitUntil="drillDownAndWaitUntil"}(rt||(rt={})),function(e){e.confirm="confirm",e.confirmText="confirmText"}(st||(st={})),function(e){e.range="range",e.equals="equals",e.greaterThan="greaterThan",e.lessThan="lessThan",e.greaterOrEqualThan="greaterOrEqualThan",e.lessOrEqualThan="lessOrEqualThan",e.contains="contains",e.specified="specified",e.specifiedBooleanSql="specifiedBooleanSql",e.equalsOneOf="equalsOneOf",e.containsOneOf="containsOneOf"}(ct||(ct={}));var ut=Object.freeze({__proto__:null,get AppNotificationType(){return $a},get ApplicationErrorType(){return Wa},DrillDownType:xa.DrillDownType,FieldType:xa.FieldType,get FilterType(){return ct},get OperationPostInvokeConfirmType(){return st},get OperationPostInvokeType(){return rt},get OperationPreInvokeType(){return it},OperationTypeCrud:xa.OperationTypeCrud,get PaginationMode(){return tt},get PendingValidationFailsFormat(){return La},PopupWidgetTypes:Xa,PositionTypes:xa.PositionTypes,RecordSnapshotState:xa.RecordSnapshotState,get RouteType(){return qa},TableLikeWidgetTypes:Qa,WidgetTypes:xa.WidgetTypes,coreOperations:ot,isCustomWidget:Za,isCustomWidgetConfiguration:et,isOperationGroup:nt,isViewNavigationCategory:lt,isViewNavigationGroup:pt,isViewNavigationItem:dt,isWidgetFieldBlock:at});const mt={type:qa.default,path:"/",search:"",params:null,screenName:null};function yt(e){return e.includes("?")?e+"&":e+"?"}function bt(e,a){return a?gt(e,function(e){const a={...e};return Object.keys(a).reduce(((e,a)=>(e[a]||"number"==typeof e[a]||delete e[a],e)),a)}(a)):e}function gt(e,a){if(!a)return e;const t=new URLSearchParams(a).toString();return`${yt(e)}${t&&`${t}`}`}function ht(e,a={widgetName:"unknown"}){if(e.isAxiosError)return ta({error:e,callContext:a})}function ft(e,a){const t=ht(e,a);return t?o(t):n}function Nt(e,...a){let t="";for(let o=0;o<a.length;o++)t+=e[o],t+="${"+o+"}";return t+=e[e.length-1],t}function wt(e,a=!1,t){const o=t.screen.bo.bc,n=o[e];if(!n)return null;const i=[n.cursor&&a?`${n.name}/${n.cursor}`:n.name];let r=n;for(;r.parentName;)r=o[r.parentName],i.push(`${r.name}/${r.cursor??null}`);return i.reverse().join("/")}const vt=/\${([^{}]+)}/g;function Ct(e){return new RegExp(`(${e?.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")})`,"gi")}function Dt(e){return e.startsWith("/")?e:`/${e}`}function Ft(e){if(!e)return null;const a={},t=e.split("/");for(let e=0;e<t.length;e+=2)t[e+1]&&(a[t[e]]=t[e+1]);return a}function Tt(e,...a){let t="";for(let o=0;o<a.length;o++){t+=e[o];const n=a[o];if("number"==typeof n)t+=n.toString(10);else{if("string"!=typeof n){const t=Nt(e,a);throw new Error(`Неверный тип подстановочного знака в ${t}, index: ${o}, value: ${JSON.stringify(n)}`)}t+=encodeURIComponent(n)}}return t+=e[e.length-1],t}function It(e){let a=e.pathname;a.startsWith("/")&&(a=a.substring(1)),a.endsWith("/")&&(a=a.substring(0,a.length-1)),a?.includes("&")&&!a?.includes("?")&&(a=a.substring(0,a.indexOf("&")));const t={};e.searchParams.forEach(((e,a)=>t[a]=e));const o=a.split("/").map(decodeURIComponent);let n=qa.unknown,i=null,r=null,s=null;if(o.length>0&&"router"===o[0])n=qa.router;else if(1===o.length)n=qa.default;else if(o.length>=2&&"screen"===o[0]){let e=2;n=qa.screen,i=o[1],o.length>=4&&"view"===o[2]&&(e+=2,r=o[3]),s=o.slice(e).map(encodeURIComponent).join("/")}return{type:n,path:0===a.length||a.startsWith("/")?a:`/${a}`,search:e.search,params:t,screenName:i,viewName:r,bcPath:s}}function kt(e){return`/screen/${e.screenName}/view/${e.viewName}/${e.bcPath}`}const Ot=e=>It(new URL(e,window.location.origin));function Et(e){if(!e||!e.length)return null;const a={};return e.forEach((e=>{if(e.type===ct.range){const t=e.value;t[0]&&(a[`${e.fieldName}.${ct.greaterOrEqualThan}`]=String(t[0])),t[1]&&(a[`${e.fieldName}.${ct.lessOrEqualThan}`]=String(t[1]))}else{const t=Array.isArray(e.value)?JSON.stringify(e.value):String(e.value),o=e.fieldName?".":"";a[`${e.fieldName}${o}${e.type}`]=t}})),a}function Rt(e){if(!e||!e.length)return null;const a={};return e.forEach(((e,t)=>{a[`_sort.${t}.${e.direction}`]=e.fieldName})),a}const Pt=e=>{try{return JSON.parse(e)}catch(e){return console.warn(e),null}};function At(e=""){const a=[],t=new URLSearchParams(e);return Object.keys(Object.fromEntries(t)).forEach((o=>{const[n,i]=o.split(".");if(n&&i&&t.get(o)){let e=t.getAll(o);i===ct.containsOneOf||i===ct.equalsOneOf?(1===e.length&&(e=Pt(e[0])??e),e=Array.isArray(e)?e:[]):e=Array.isArray(e)?e[0]:e,a.push({fieldName:n,type:i,value:e})}else if(e){let e=t.getAll(o);1===e.length&&(e=Pt(e[0])??e[0]),a.push({fieldName:"",type:o,value:e})}})),a.length?a:null}function St(e){if(!e||!e.length)return null;const a=[],t=new URLSearchParams(e);return Array.from(t.entries()).map((([e,a])=>{const[t,o]=e.split(".").slice(1);return{fieldName:a,order:Number.parseInt(t,10),direction:o}})).sort(((e,a)=>e.order-a.order)).forEach((e=>{a.push({fieldName:e.fieldName,direction:e.direction})})),a}const Mt=e=>{const a=[],t={};return e.forEach((e=>{const{type:o,fieldName:n,value:i}=e;if(o===ct.greaterOrEqualThan||o===ct.lessOrEqualThan){t[n]||(t[n]={...e,type:ct.range,value:[null,null]});t[n].value[o===ct.greaterOrEqualThan?0:1]=i}else a.push(e)})),[...a,...Object.values(t)]};function Vt(e){const a=[];return e?.forEach((e=>{if(nt(e)){e.actions.forEach((e=>{a.push(e)}))}else a.push(e)})),a}function Ut(e,a,t){if(a.operationType===e)return!0;const o=wt(a.bcName,!0,t),n=Vt(t.view.rowMeta[a.bcName]?.[o]?.actions).find((e=>e.type===a.operationType));return"none"===e?ot.every((e=>e!==a.operationType&&e!==n?.actionRole)):n?.actionRole===e}function _t(e,a,t){const o={};return a.filter((e=>e.bcName)).forEach((a=>{const n=[];n.push(a.bcName);let i=t[a.bcName].parentName;for(;i;)n.push(i),i=t[i].parentName;n.filter((a=>t[a].parentName===e)).forEach((e=>{o[e]=[...o[e]||[],a.name]}))})),a.filter((e=>e.options?.hierarchy)).forEach((a=>{const[t,n]=function(e,a){const t=a?.options?.hierarchy?.map((e=>e.bcName));if(e!==a.bcName&&!t?.includes(e))return[];const o=t?.findIndex((a=>a===e)),n=t?.[o+1];return[n,a.name]}(e,a);t&&(o[t]=[...o[t]||[],n])})),o}const jt=(e,a,t)=>{const o=!a.includes(e.name),n=t?.(e)??!0;return o&&n};function Bt(e,a,t,o,n){const i=_t(e,a,t),r={};for(const[e,t]of Object.entries(i)){a.find((e=>t.includes(e.name)&&jt(e,o,n)))&&(r[e]=t)}return r}function $t(e,a,t,o){const{bcName:n,isDefault:i,params:r}=e||{};if(!e||Array.isArray(e)||i)return!0;const s=a&&t?.find((e=>e.id===a));if(!s)return!1;const c=s?.[r?.fieldKey],d=o?.[n]?.[a]?.[r?.fieldKey];return void 0!==d?d===r?.value:c===r?.value}function qt(e){const a=e.map((e=>({...e}))),t={},o=[];return a.forEach((n=>{if(!n.parentId||"0"===n.parentId)return;let i=t[n.parentId];if("number"!=typeof i&&(i=e.findIndex((e=>e.id===n.parentId)),t[n.parentId]=i),-1===i)return o.push(n.parentId),void console.warn(`Record with [id] = ${n.id} has [parentId] = ${n.parentId}, but no matching parent record exist. Check the service for this BC.`);n.parent=a[i],a[i].children?a[i]?.children?.push(n):a[i].children=[n]})),o.length?a.filter((e=>!o.includes(e.parentId))):a}function Lt(e,a){e.forEach((e=>{a.push(e.id),e.children&&Lt(e.children,a)}))}const Wt=(e,a)=>e?a.find((a=>a.name===e))??null:null,xt=(e,a)=>{if(!e)return null;let t=null;for(const o of e){if(null!==t)break;t=a.find((e=>e.name===o))??null}return t},Kt=(e,a)=>(a&&Object.keys(e).forEach((t=>{const o=a.fields.find((e=>e.key===t&&e.disabled));o&&(delete e[t],void 0!==o.currentValue&&console.error("Changes to disabled fields are not taken into account when sending"))})),e),Gt=(e,a)=>Kt({...e},a),zt=(e,a,t)=>{const o=[],n=[];for(const a of e)!Xa.includes(a.type)||t&&a.bcName===t?n.push(a):o.push(a);const i=a?.(o)||[],r=a?.(n)||[],s=new Set([...i,...r]),c=o.filter((e=>!s.has(e.name))),d=n.filter((e=>!s.has(e.name))),l=new Set([...d.map((e=>e.name)),...r]),p=i.filter((e=>!l.has(e)));return[...new Set([...c.map((e=>e.name)),...p])]};var Ht=Object.freeze({__proto__:null,addTailControlSequences:yt,applyParams:bt,applyRawParams:gt,assignTreeLinks:qt,breadthFirstSearch:function e(a,t,o=1,n="child"){const i=t(a)&&a,r=a[n];if(!i&&!r)return null;if(i)return{node:i,depth:o};let s=r.filter((e=>!e[n])).find((e=>t(e)));if(s)return{node:s,depth:o+1};let c=o;return r.some((a=>{const o=e(a,t,c+1,n??"child");return s=o?.node,c=o?.depth,o?.node})),s?{node:s,depth:c}:null},buildBcUrl:wt,buildSearchResultTree:function(e,a){const t={};return e.forEach((e=>{if(!a.includes(e.id))return;let o=e.parent;for(;o;)t[o.id]=!0,o=o.parent;t[e.id]=!0,e.children?.forEach((e=>{t[e.id]=!0}))})),e.filter((e=>!0===t[e.id]))},buildUrl:Tt,checkShowCondition:$t,createApiError:ht,createApiErrorObservable:ft,defaultBuildURL:kt,defaultParseURL:It,deleteUndefinedFromObject:function(e){Object.keys(e).forEach((a=>{void 0===e[a]&&delete e[a]}))},escapedSrc:Ct,extendPopupWidgetTypes:function(e){e&&Object.entries(e).forEach((([e,a])=>{et(a)&&a.isPopup&&(Xa.includes(e)||Xa.push(e))}))},flattenOperations:Vt,getBcChildren:_t,getDefaultViewForPrimary:Wt,getDefaultViewFromPrimaries:xt,getDescendants:Lt,getEagerBcChildren:Bt,getFieldTitle:function(e,a){return(t=e)&&null!==t.match(vt)?((e,a)=>e?e.replace(vt,((e,t)=>{const[o,n]=t.split(":");return String(a?.[o]||n||"")})):"")(e,a):e;var t},getFilterType:function(e){switch(e){case xa.FieldType.dictionary:return ct.equalsOneOf;case xa.FieldType.checkbox:return ct.specified;case xa.FieldType.input:case xa.FieldType.text:return ct.contains;default:return ct.equals}},getFilters:Et,getRouteFromString:Ot,getSorters:Rt,getTemplate:Nt,getWidgetsForLazyLoad:zt,isEagerWidget:jt,makeRelativeUrl:Dt,matchOperationRole:Ut,parseBcCursors:Ft,parseFilters:At,parseSorters:St,presort:function(e){const a=[];return e.filter((e=>1===e.level)).forEach((e=>{a.push(e.id),e.children&&Lt(e.children,a)})),a.map((a=>e.find((e=>e.id===a))))},processDrilldownFilters:Mt,removeDisabledFields:Gt,removeDisabledFieldsMutate:Kt,splitBcUrl:function(e){const a=e.split("/"),t=[];for(let e=0;e<a.length;e+=2){const o=a[e],n=a[e+1],i=o&&n;t.push(i?`${o}/${n}`:o)}return t},splitIntoTokens:function(e,a){const t=a instanceof RegExp?a:Ct(a);return e.split(t)}});const Jt=[xa.OperationTypeCrud.associate,xa.OperationTypeCrud.fileUpload],Yt={id:void 0,name:null,url:null,widgets:[],columns:null,readOnly:!1,rowHeight:null,rowMeta:{},metaInProgress:{},popupData:{bcName:null},pendingDataChanges:{},pendingPostInvoke:{},pendingDataChangesNow:{},infiniteWidgets:[],pendingValidationFailsFormat:La.old,pendingValidationFails:{},handledForceActive:{},selectedRow:null,selectedRows:{},ignoreHistory:null,systemNotifications:[],error:null,modalInvoke:null},Qt=(e,a)=>{const t={};return Object.keys(e).forEach((o=>{var n;a(o)&&(null==(n=e[o])||""===n||Array.isArray(n)&&0===Object.keys(n).length)&&(t[o]="This field is mandatory")})),t};var Xt=Object.freeze({__proto__:null,createDataReducerBuilderManager:e=>(new ka).addCase(j,((e,a)=>{e[a.payload.bcName]=a.payload.data})).addCase(Ta,((e,a)=>{e[a.payload.bcName]=a.payload.data})).addCase(K,((e,a)=>{e[a.payload.bcName]=[...e[a.payload.bcName]||Oa,a.payload.dataItem]})).addCase(he,((e,a)=>{const t=a.payload.dataItem,o=e[a.payload.bcName].findIndex((e=>e.id===t.id));e[a.payload.bcName][o]=t})).addCase(L,((e,a)=>{const t=a.payload.cursor;if(!t)return;const o=(e[a.payload.bcName]||Oa).find((e=>e.id===t)),n={...o,id:t,vstamp:-1,_associate:o&&o._associate};a.payload.rowMeta.fields.find((e=>"id"===e.key&&!e.currentValue))||(a.payload.rowMeta.fields.filter((e=>"_associate"!==e.key)).forEach((e=>n[e.key]=e.currentValue)),e[a.payload.bcName]=o?e[a.payload.bcName].map((e=>e===o?n:e)):[...e[a.payload.bcName]||Oa,n])})).addCase(be,((e,a)=>{e[`${a.payload.bcName}Delta`]=a.payload.records||[]})).addCase(A,((a,t)=>t.payload.isTab?a:e)).addCase(U,((e,a)=>{a.payload.bcNames?.forEach((a=>{delete e[a]}))})),createDepthDataReducerBuilderManager:e=>(new ka).addCase(j,((e,a)=>{!a.payload.depth||a.payload.depth<2||(e[a.payload.depth]=e[a.payload.depth]??{},e[a.payload.depth][a.payload.bcName]=a.payload.data)})).addCase(A,(a=>e)),createRouterReducerBuilderManager:e=>(new ka).addCase(F,((e,a)=>{const{isTab:t,location:o}=a.payload;return t?{...o,bcPath:o.bcPath||e.bcPath}:o})),createScreenReducerBuilderManager:e=>(new ka).addCase(R,((e,a)=>{const t={},o={},n={};a.payload.screen.meta?.bo.bc.forEach((e=>{t[e.name]=e;const a=St(e.defaultSort),i=At(e.defaultFilter);a&&(o[e.name]=a),i&&(n[e.name]=i)})),e.screenName=a.payload.screen.name,e.primaryView=a.payload.screen.meta?.primary??e.primaryView,e.primaryViews=a.payload.screen.meta?.primaries??e.primaryViews,e.views=a.payload.screen.meta?.views??e.views,e.bo={activeBcName:null,bc:t},e.sorters={...e.sorters,...o},e.filters={...e.filters,...n}})).addCase(P,((e,a)=>{e.screenName=a.payload.screenName,e.views=[]})).addCase(M,((e,a)=>{const t=a.payload.bcName;a.payload.bcName&&(e.bo.bc[t].loading=!0)})).addCase($,((e,a)=>{const t=e.bo.bc[a.payload.bcName];t.page=(t.page??1)+1,t.loading=!0})).addCase(A,((e,a)=>{if(a.payload.isTab)return;const t={};Array.from(new Set(a.payload.widgets?.map((e=>e.bcName)))).filter((a=>e.bo.bc[a])).forEach((a=>{t[a]={...e.bo.bc[a],page:1}})),e.bo.bc={...e.bo.bc,...t}})).addCase(j,((e,a)=>{const t=e.bo.bc[a.payload.bcName];t.hasNext=a.payload.hasNext,t.loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(Ta,((e,a)=>{const t=e.bo.bc[a.payload.bcName];t.hasNext=a.payload.hasNext,t.loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(B,((e,a)=>{const t=a.payload.bcName;Object.values(e.bo.bc).some((e=>e.name===t))&&(e.bo.bc[t].loading=!1,e.cachedBc[t]=a.payload.bcUrl)})).addCase(J,((e,a)=>{const{bcName:t,operationType:o}=a.payload;if(!Jt.includes(a.payload.operationType)){e.bo.bc[t].loading=!0;const a=e.bo.bc[t].operationsInProgress??[];e.bo.bc[t].operationsInProgress=[...a,o]}})).addCase(K,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1,e.bo.bc[a.payload.bcName].cursor=a.payload.dataItem.id,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(ne,((e,a)=>{const t={},o={};Object.entries(a.payload.cursorsMap).forEach((a=>{const[n,i]=a;t[n]={...e.bo.bc[n],cursor:i},o[n]=i}));const n=Object.values(t).map((e=>`${e.url}/:id`));Object.values(e.bo.bc).forEach((a=>{n.some((e=>a.url.includes(e)))&&!(a.name in t)&&(t[a.name]={...e.bo.bc[a.name],cursor:null},o[a.name]=null)})),Object.assign(e.bo.bc,t),Object.assign(e.cachedBc,o)})).addCase(ie,((e,a)=>{1===a.payload.depth?e.bo.bc[a.payload.bcName].cursor=a.payload.cursor:(e.bo.bc[a.payload.bcName].depthBc=e.bo.bc[a.payload.bcName].depthBc??{},e.bo.bc[a.payload.bcName].depthBc[a.payload.depth].cursor=a.payload.cursor)})).addCase(Te,((e,a)=>{e.bo.bc[a.payload.bcName].cursor=a.payload.cursor})).addCase(we,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!0,e.cachedBc[a.payload.bcName]=null})).addCase(We,((e,a)=>{const{bcName:t,filter:o}=a.payload,n=o,i=e.filters[t]||[],r=i.find((e=>e.fieldName===o.fieldName&&e.type===o.type)),s=r?i.map((e=>e===r?{...r,value:n.value}:e)):[...i,n];e.bo.bc[t]&&(e.bo.bc[t].page=1),e.filters[t]=s})).addCase(xe,((e,a)=>{const{bcName:t,filter:o}=a.payload,n=(e.filters[t]||[]).filter((e=>e.fieldName!==o?.fieldName||e.type!==o.type)),i={...e.filters,[t]:n};n.length||delete i[t],e.bo.bc[a.payload.bcName]&&(e.bo.bc[a.payload.bcName].page=1),e.filters=i})).addCase(Ke,((e,a)=>{delete e.filters[a.payload.bcName],e.bo.bc[a.payload.bcName]&&(e.bo.bc[a.payload.bcName].page=1)})).addCase(Ge,((e,a)=>{e.sorters[a.payload.bcName]=Array.isArray(a.payload.sorter)?a.payload.sorter:[a.payload.sorter]})).addCase(He,((e,a)=>{e.bo.bc[a.payload.bcName].page=a.payload.page,e.bo.bc[a.payload.bcName].loading=!0})).addCase(de,((e,a)=>{const t=e.bo.bc[a.payload.bcName]?.page??1;e.bo.bc[a.payload.bcName].page=a.payload.bcName===a.payload.calleeBCName?t:1,e.bo.bc[a.payload.bcName].loading=a.payload.bcName!==a.payload.calleeBCName})).addCase(Q,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(z,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(Y,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(he,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(fe,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(fa,((e,a)=>{const t=a.payload.bcName;if(t){const a=e.bo.bc[t].operationsInProgress??[];e.bo.bc[t].operationsInProgress=[...a,"saveAssociations"]}})).addCase(Na,((e,a)=>{const{bcName:t,operationType:o}=a.payload;e.bo.bc[t].operationsInProgress=e.bo.bc[t].operationsInProgress?.filter((e=>e!==o))})),createSessionReducerBuilderManager:e=>(new ka).addCase(T,(e=>{e.loginSpin=!0,e.errorMsg=null})).addCase(I,((e,a)=>{(e=Object.assign(e,a.payload)).loginSpin=!1,e.active=!0,e.logout=!1})).addCase(k,((e,a)=>{e.loginSpin=!1,e.errorMsg=a.payload.errorMsg})).addCase(O,(e=>{e.loginSpin=!1,e.active=!1,e.logout=!0})).addCase(na,((e,a)=>{e.debugMode=a.payload})).addCase(ua,((e,a)=>{e.pendingRequests?.push(a.payload.request)})).addCase(ma,((e,a)=>{e.pendingRequests=e.pendingRequests?.filter((e=>e.requestId!==a.payload.requestId))})).addCase(ya,((e,a)=>{e.notifications.push(a.payload)})).addCase(ba,((e,a)=>{const t=a.payload;e.notifications=e.notifications.filter((e=>!t.includes(e.key)))})).addCase(sa,(e=>{e.isMetaRefreshing=!0})).addCase(ca,(e=>{e.isMetaRefreshing=!1})).addCase(da,(e=>{e.isMetaRefreshing=!1})),createViewReducerBuilderManager:e=>(new ka).addCase(A,((e,a)=>{a.payload.isTab||(e.rowMeta=Yt.rowMeta),Object.assign(e,a.payload)})).addCase(q,((e,a)=>{e.metaInProgress[a.payload.bcName]=!0})).addCase($,((e,a)=>{const t=e.infiniteWidgets||[];void 0!==a.payload.widgetName&&t.push(a.payload.widgetName),e.infiniteWidgets=Array.from(new Set(t))})).addCase(J,((e,a)=>{a.payload.operationType===xa.OperationTypeCrud.create&&(e.metaInProgress[a.payload.bcName]=!0)})).addCase(L,((e,a)=>{e.rowMeta[a.payload.bcName]=e.rowMeta[a.payload.bcName]??{},e.rowMeta[a.payload.bcName][a.payload.bcUrl]=a.payload.rowMeta,e.metaInProgress[a.payload.bcName]=!1})).addCase(K,((e,a)=>{e.selectedRow=Yt.selectedRow})).addCase(ce,((e,a)=>{const{bcName:t,bcUrl:o,currentRecordData:n,rowMeta:i,cursor:r}=a.payload,s={},c={},d={},l=[];i.fields.forEach((e=>{c[e.key]=e.currentValue,e.forceActive&&l.push(e.key)})),e.pendingDataChanges[t]=e.pendingDataChanges[t]??{};const p={...n,...e.pendingDataChanges[t][r]};Object.keys(p).forEach((e=>{void 0!==c[e]&&p[e]!==c[e]&&(d[e]=c[e])}));const u={...e.pendingDataChanges[t][r],...d},m=e.pendingValidationFailsFormat===La.target,y=Qt(u,(a=>!!e.rowMeta[t]?.[o]?.fields.find((e=>e.required&&e.key===a))));m?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][r]=y):e.pendingValidationFails=y,l.forEach((e=>{void 0!==u[e]&&(s[e]=u[e])})),e.handledForceActive[t]=e.handledForceActive[t]??{},e.handledForceActive[t][r]=e.handledForceActive[t][r]??{},Object.assign(e.handledForceActive[t][r],s),e.pendingDataChanges[t]=e.pendingDataChanges[t]??{},e.pendingDataChanges[t][r]=u,e.pendingDataChangesNow[t]=e.pendingDataChangesNow[t]??{},e.pendingDataChangesNow[t][r]={},e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o]=i})).addCase(re,((e,a)=>{const t=a.payload.bcName,o={...(e.pendingDataChanges[a.payload.bcName]||{})[a.payload.cursor]||{}||{},...a.payload.dataItem},n=a.payload.bcUrl;e.pendingDataChanges[a.payload.bcName]=e.pendingDataChanges[a.payload.bcName]??{},e.pendingDataChanges[a.payload.bcName][a.payload.cursor]=o;const i=(e.pendingDataChangesNow[a.payload.bcName]||{})[a.payload.cursor]||{}||{};e.pendingDataChangesNow[a.payload.bcName]=e.pendingDataChangesNow[a.payload.bcName]??{},e.pendingDataChangesNow[a.payload.bcName][a.payload.cursor]={...i,...a.payload.dataItem};const r=e.pendingValidationFailsFormat===La.target,s=Qt(o,(a=>!!e.rowMeta[t]?.[n]?.fields.find((e=>e.required&&e.key===a))));r?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][a.payload.cursor]=s):e.pendingValidationFails=s})).addCase(se,((e,a)=>{const t={...e.pendingDataChanges[a.payload.bcName]},o={...e.pendingDataChangesNow[a.payload.bcName]};a.payload.cursors.forEach(((e,n)=>{t[e]=a.payload.dataItems[n],o[e]=a.payload.dataItems[n]})),e.pendingDataChanges[a.payload.bcName]=t,e.pendingDataChangesNow[a.payload.bcName]=o})).addCase(Se,((e,a)=>{const t={...e.pendingDataChanges};a.payload.bcNames.forEach((e=>{const a={};Object.keys(t[e]||{}).forEach((e=>{a[e]={id:e,_associate:!1}})),t[e]=a}));const o=e.pendingValidationFailsFormat===La.target,n=e.pendingValidationFails?{...e.pendingValidationFails}:{};o&&a.payload.bcNames.forEach((e=>{n[e]={}})),e.pendingDataChanges=t,e.pendingValidationFails=o?n:Yt.pendingValidationFails})).addCase(Me,((e,a)=>{})).addCase(Ve,((e,a)=>{})).addCase(G,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(W,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(H,((e,a)=>{const{bcName:t,bcUrl:o,entityError:n}=a.payload,i={};n&&Object.entries(n.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o].errors=i})).addCase(fe,((e,a)=>{const{bcName:t,bcUrl:o,entityError:n}=a.payload,i={};n&&Object.entries(n.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o].errors=i})).addCase(Y,((e,a)=>{const{bcName:t,bcUrl:o,entityError:n}=a.payload,i={};n&&Object.entries(n.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o].errors=i})).addCase(Q,((e,a)=>{const t=a.payload.bcName,o=a.payload.cursor,n=e.pendingValidationFailsFormat===La.target;e.pendingDataChanges[t]=e.pendingDataChanges[t]??{},e.pendingDataChanges[t][o]={},e.pendingDataChangesNow[t]=e.pendingDataChangesNow[t]??{},e.pendingDataChangesNow[t][o]={},n?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][o]={}):e.pendingValidationFails=Yt.pendingValidationFails,e.handledForceActive[t]=e.handledForceActive[t]??{},e.handledForceActive[t][o]={}})).addCase(he,((e,a)=>{const{bcName:t,cursor:o}=a.payload,n=e.pendingValidationFailsFormat===La.target;e.pendingDataChanges[t]=e.pendingDataChanges[t]??{},e.pendingDataChanges[t][o]={},e.pendingDataChangesNow[t]=e.pendingDataChangesNow[t]??{},e.pendingDataChangesNow[t][o]={},n?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][o]={}):e.pendingValidationFails=Yt.pendingValidationFails,e.handledForceActive[t]=e.handledForceActive[t]??{},e.handledForceActive[t][o]={}})).addCase(Fe,((e,a)=>{const t={...e.pendingDataChanges},o=e.pendingDataChangesNow;for(const n in e.pendingDataChanges)a.payload&&!a.payload.bcNames.includes(n)||(t[n]={},o[n]={});const n=e.pendingValidationFailsFormat===La.target;let i=e.pendingValidationFails?{...e.pendingValidationFails}:{};n&&(a.payload?.bcNames?.length>0?a.payload.bcNames.forEach((e=>{i[e]={}})):i=Yt.pendingValidationFails),e.pendingDataChanges=t,e.pendingDataChangesNow=o,e.pendingValidationFails=n?i:Yt.pendingValidationFails})).addCase(Xe,(e=>{e.pendingValidationFails=Yt.pendingValidationFails})).addCase(de,((e,a)=>{const{bcName:t,calleeBCName:o,calleeWidgetName:n,associateFieldKey:i,assocValueKey:r,active:s,isFilter:c,type:d,widgetName:l}=a.payload;e.popupData={widgetName:l,type:d,bcName:t,calleeBCName:o,calleeWidgetName:n,associateFieldKey:i,assocValueKey:r,active:s,isFilter:c}})).addCase(le,((e,a)=>{const t=e.widgets?.find((e=>e.name===a.payload.widgetName))?.bcName;e.popupData={type:"file-upload",bcName:t,calleeBCName:t}})).addCase(ue,((e,a)=>{e.pickMap=a.payload.map})).addCase(me,(e=>{e.pickMap=null})).addCase(pe,(e=>{e.popupData={},e.popupData.bcName=null})).addCase(je,((e,a)=>{e.selectedRow={widgetName:a.payload.widgetName,rowId:a.payload.rowId}})).addCase(Be,((e,a)=>{e.selectedRow=null})).addCase(F,((e,a)=>{a.payload.isTab||(e.pendingDataChanges=Yt.pendingDataChanges,e.pendingDataChangesNow=Yt.pendingDataChangesNow),e.popupData=Yt.popupData,e.selectedRow=Yt.selectedRow})).addCase(qe,((e,a)=>{e.systemNotifications=e.systemNotifications??[],e.systemNotifications.push({type:a.payload.type,message:a.payload.message,id:e.systemNotifications?.length})})).addCase(Le,((e,a)=>{e.systemNotifications=e.systemNotifications??[],e.systemNotifications=e.systemNotifications.filter((e=>e.id!==a.payload.id))})).addCase(Je,((e,a)=>{e.error=a.payload.error})).addCase(Ne,((e,a)=>{e.modalInvoke=a.payload})).addCase(Qe,((e,a)=>{e.modalInvoke=null})).addCase(Ye,(e=>{e.error=null})).addCase(X,(e=>{e.selectedRow=null})).addCase(wa,((e,a)=>{const{bcName:t,dataItems:o}=a.payload,n={};e.selectedRows[t]=e.selectedRows[t]??[],e.selectedRows[t].forEach((e=>{n[e.id]=e}));const i=o,r=[];o.forEach(((e,a)=>{n[e.id]&&(i[a]={...n[e.id],...e},r.push(e.id))})),e.selectedRows[t]=e.selectedRows[t].filter((e=>!r.includes(e.id))),e.selectedRows[t].splice(0,0,...o)})).addCase(va,((e,a)=>{const{bcName:t,ids:o}=a.payload;e.selectedRows[t]=e.selectedRows[t]??[],e.selectedRows[t]=e.selectedRows[t].filter((e=>!o.includes(e.id)))})).addCase(Ca,((e,a)=>{const{bcName:t}=a.payload;delete e.selectedRows[t]})).addCase(Da,((e,a)=>{const{bcName:t,operationType:o,postInvoke:n}=a.payload;e.pendingPostInvoke[t]=e.pendingPostInvoke[t]??{},e.pendingPostInvoke[t][o]=n})).addCase(Fa,((e,a)=>{const{bcName:t,operationType:o}=a.payload;e.pendingPostInvoke[t]&&delete e.pendingPostInvoke[t][o]})),dataInitialState:{},initialDepthDataState:{},initialRouterState:mt,initialScreenState:{screenName:"",bo:{activeBcName:"",bc:{}},cachedBc:{},views:[],primaryView:"",primaryViews:null,filters:{},sorters:{}},initialSessionState:{devPanelEnabled:!1,activeRole:null,roles:null,firstName:"",lastName:"",login:"",debugMode:!1,exportStateEnabled:!1,active:!1,logout:!1,loginSpin:!1,errorMsg:null,screens:[],pendingRequests:[],notifications:[],isMetaRefreshing:!1},initialViewState:Yt});function Zt(e,a,t,n,i){const r=Object.values(st).includes(a?.type),s=[];return a&&s.push(X({bcName:i,postInvoke:a,widgetName:e})),r&&s.push(ee({bcName:i,operationType:n,widgetName:e,postInvokeConfirm:a})),t&&s.push(Z({bcName:i,operationType:n,widgetName:e,preInvoke:t})),s.map((e=>o(e)))}const eo=(e,a,t,n)=>{const{timeout:i=5e3,timeoutMaxRequests:s=5}=t,{successCondition_fieldKey:c,successCondition_value:d}=t,l=Math.floor(+i/+s);return((e,a,t)=>{const o=a.screen.bo.bc[e],n=a.router.bcPath?.includes(`${e}/${o.cursor}`),i=wt(e,n,a),r={_page:o.page??1,_limit:o.limit??5,...Et(a.screen.filters[e]||[]),...Rt(a.screen.sorters[e])};return t.fetchBcData(a.screen.screenName,i,r)})(n,e,a).pipe(r((i=>((e,a,t)=>e.some((e=>e[a]===t)))(i.data,c,d)?o(i):o(null).pipe(m(l),r((()=>eo(e,a,t,n)))))),y(+i))},ao=e=>a=>{const t=a.screen.bo.bc,o=((e,a)=>{const t=[a];let o=e[a]?.parentName;for(;o;)t.push(o),o=e[o]?.parentName;return t.reverse()})(t,e);return o.every((e=>!1===t[e]?.loading&&t[e]?.cursor))};const to=[401,409,418,500],oo={401:"Invalid credentials",403:"Access denied"},no=[e=>A.match(e)&&!e.payload.isTab,O];function io(e,a,n,s,c=(e=>!0)){return e.pipe(i(t(...a)),i(c),r((()=>(n?.(),o(s)))),b(1))}const ro=e=>{const{bcName:a,widgetName:t}=e.view.popupData??{};return a||(t?e.view.widgets.find((e=>e.name===t))?.bcName:void 0)};const so=(e,a)=>{const t=e[0]?.id,o=!a||!e?.some((e=>e.id===a));return{cursor:o?t:a,updatedCursor:o}},co=(e,a,t,i)=>{const{bcName:r}=e.payload,s=M.match(e)?e.payload.keepDelta:void 0,{cursor:c,updatedCursor:d}=so(a,t);return d?o(ne({cursorsMap:{[r]:c},keepDelta:i||s})):n},lo=e=>Xa.includes(e),po=(e,a,t,n,i,r)=>{const{bcName:c,widgetName:d}=e.payload,l=zt(a,r,de.match(e)?c??a.find((e=>e.name===d))?.bcName:void 0),p=Bt(c,a,t,l,i);return s(...Object.entries(p).map((([t,r])=>{const s=a.find((e=>r.includes(e.name)&&jt(e,l,i)));return o(M({bcName:t,widgetName:s?.name??r[0],ignorePageLimit:e.payload?.ignorePageLimit||de.match(e),keepDelta:n||e.payload?.keepDelta}))})))},uo=(e,a,t)=>{const i=[e].map((e=>`${a[e].url}/:id`)),r=Object.keys(t).reduce(((e,t)=>{const o=a[t];return i.some((e=>o.url.includes(e)))&&e.push(o.name),e}),[]);return r.length?o(U({bcNames:r})):n};const mo=t(J);var yo=Object.freeze({__proto__:null,apiErrorEpic:e=>e.pipe(i(ta.match),r((e=>{const{error:a,callContext:t}=e.payload;return a.response?o(oa({statusCode:a.response.status,error:a,callContext:t})):D.isCancel(a)?n:o(Je({error:{type:Wa.NetworkError}}))}))),bcCancelCreateDataEpic:(e,a,{api:t})=>e.pipe(i(mo),i((e=>Ut(xa.OperationTypeCrud.cancelCreate,e.payload,a.value))),r((e=>{const i=a.value,d=i.screen.screenName,l=e.payload.bcName,p=wt(l,!0,i),u=i.screen.bo.bc[l],m=u?.cursor,y={widgetName:e.payload.widgetName},b=i.data[l]?.find((e=>e.id===u.cursor)),g=i.view.pendingDataChanges[l]?.[u.cursor],h=b&&{...g,vstamp:b.vstamp},f={_action:e.payload.operationType},N={[e.payload.bcName]:null};return t.customAction(d,p,h,y,f).pipe(r((e=>{const a=e.postActions?.[0];return s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.cancelCreate})),o(Q({bcName:l,cursor:m})),o(ne({cursorsMap:N})),a?o(X({bcName:l,postInvoke:a,cursor:m,widgetName:y.widgetName})):n)})),c((e=>(console.error(e),s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.cancelCreate})),o(z({bcName:l})),ft(e,y))))))}))),bcDeleteDataEpic:(e,a,{api:t})=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.delete,e.payload,a.value))),r((e=>{const i=e.payload.widgetName,d=a.value,l=e.payload.bcName,p=d.screen.bo.bc[l].cursor,u=wt(l,!0,d),m={widgetName:e.payload.widgetName},y=d.view.pendingValidationFailsFormat===La.target;return t.deleteBcData(d.screen.screenName,u,m).pipe(r((e=>{const a=e.postActions?.[0];return s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.delete})),y?o(Fe({bcNames:[l]})):n,o(M({bcName:l,widgetName:i})),a?o(X({bcName:l,postInvoke:a,cursor:p,widgetName:i})):n)})),c((e=>(console.error(e),s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.delete})),o(z({bcName:l})),ft(e,m))))))}))),bcFetchDataEpic:(e,a,{api:d,utils:l})=>e.pipe(i(t(M,V,de,we,He)),r((t=>{const i=a.value,{widgetName:p=""}=t.payload,{widgets:u,infiniteWidgets:m}=i.view,y=u?.filter((e=>e.bcName===t.payload.bcName)),b=u?.find((e=>e.name===p))??y?.[0];if(!b)return n;if(!t.payload.bcName)return console.warn("No bc value found for refresh operation"),n;const g=t.payload.bcName,h=i.screen.bo.bc[g],{cursor:N,page:w=1}=h,v=(u?.find((e=>e.bcName===g))?.limit||h.limit)??5,C=i.screen.sorters[g];if(de.match(t)&&g===t.payload.calleeBCName)return n;const D=u?.find((e=>e.bcName===b.bcName&&e.type===xa.WidgetTypes.AssocListPopup&&function(e){return e.options?.hierarchy||e.options?.hierarchyFull}(e))),F=i.view.widgets?.find((e=>e.bcName===b.bcName&&e.type===xa.WidgetTypes.AssocListPopup&&e.options?.hierarchyFull)),T=i.router.bcPath?.includes(`${g}/${N}`),I=wt(g,T,i),k={_page:w,_limit:v,...Et(F?[]:i.screen.filters[g]||[]),...Rt(C)};if(we.match(t)){(p&&m?.includes(p)||u?.filter((e=>e.bcName===g))?.find((e=>m?.includes(e.name)))?.name)&&(k._page=1,k._limit=v*w)}V.match(t)&&(k._page=t.payload.from||1,k._limit=(t.payload.to||w-k._page)*v),(M.match(t)&&t.payload.ignorePageLimit||D?.options?.hierarchyFull)&&(k._limit=0);const O=d.createCanceler(),E=io(e,no,O.cancel,B({bcName:g,bcUrl:I})),R=io(e,[Te],O.cancel,B({bcName:g,bcUrl:I}),(e=>{const a=e.payload.bcName;return h.parentName===a})),P=d.fetchBcData(i.screen.screenName,I,k,O.cancelToken).pipe(r((e=>{const a=co(t,e.data,N,!!D),r=o(j({bcName:g,data:e.data,bcUrl:I,hasNext:e.hasNext})),c=o(q({widgetName:p,bcName:g})),d=a=>{if(a.showCondition?.bcName===i.screen.bo.bc[a.bcName]?.parentName){let e=i.screen.bo.bc[a.showCondition?.bcName]?.parentName,t=e===g;for(;!t&&e;)e=i.screen.bo.bc[e]?.parentName,t=e===g;if(t)return!0}const t=g===a.showCondition?.bcName?e.data:i.data[a.showCondition?.bcName],o=t?so(t,i.screen.bo.bc[a.showCondition?.bcName]?.cursor).cursor:null;return $t(a.showCondition,o,t,i.view.pendingDataChanges)};if(!function(e,a,t,o,n){const i=a.reduce(((e,a)=>a.bcName?(Array.isArray(e[a.bcName])||(e[a.bcName]=[]),e[a.bcName].push(a),e):e),{}),r=Object.keys(i),s=r.includes(e),c=e=>!!i[e]?.some((e=>{const a=o?.bcName===e.bcName;return n(e)&&!lo(e.type)||a})),d=a=>!!i[a]?.some((a=>a.showCondition.bcName===e));if(s&&c(e)||d(e))return!0;const l=a=>{const o=`${t[e].url}/:id`;return t[a].url.includes(o)};return r.some((a=>!!l(a)&&(c(a)||d(e))))}(g,u,i.screen.bo.bc,i.view.popupData,d))return s(a,r,c);const m=e.data?.length?po(t,u,i.screen.bo.bc,!!D,d,l?.getInternalWidgets):n,y=uo(g,i.screen.bo.bc,i.data);return s(a,y,r,c,m)})),c((e=>(console.error(e),s(o(B({bcName:t.payload.bcName,bcUrl:I})),ft(e))))));return f(E,R,P)}))),bcFetchRowMetaRequestEpic:(e,a,{api:t})=>e.pipe(i(q.match),r((n=>{const i=a.value,r=i.screen.screenName,l=n.payload.bcName,p=i.screen.bo.bc[l].cursor??"",u=wt(l,!0,i)??"",m=t.createCanceler(),y=io(e,no,m.cancel,W({bcName:l})),b=io(e,[Te],m.cancel,W({bcName:l}),(e=>{const a=e.payload.bcName;return i.screen.bo.bc[l].parentName===a})),g=t.fetchRowMeta(r,u,void 0,m.cancelToken).pipe(d((e=>L({bcName:l,rowMeta:e,bcUrl:u,cursor:p}))),c((e=>(console.error(e),s(o(W({bcName:l})),ft(e))))));return f(y,b,g)}))),bcLoadMoreEpic:(e,a,{api:t})=>e.pipe(i($.match),r((n=>{const i=a.value,d=n.payload.bcName,l=i.screen.bo.bc[d],{cursor:p,page:u}=l,m=i.view.widgets.find((e=>e.bcName===d))?.limit||l.limit,y=i.router.bcPath?.includes(`${d}/${p}`),b=wt(d,y,i),g=i.screen.filters[d]||[],h=i.screen.sorters[d],N={_page:u,_limit:m,...Et(g),...Rt(h)},w=t.createCanceler(),v=io(e,no,w.cancel,B({bcName:d,bcUrl:b})),C=t.fetchBcData(i.screen.screenName,b,N,w.cancelToken).pipe(r((e=>{const a=i.data[d]?.map((e=>e.id)),t=[...i.data[d],...e.data.filter((e=>!a.includes(e.id)))];return o(j({bcName:d,data:t,bcUrl:b,hasNext:e.hasNext}))})),c((e=>(console.error(e),s(o(B({bcName:d,bcUrl:b})),ft(e))))));return f(v,C)}))),bcNewDataEpic:(e,a,{api:t})=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.create,e.payload,a.value))),r((e=>{const i=a.value,d=e.payload.bcName,l=wt(d,!1,i)??"",p={widgetName:e.payload.widgetName},u={_action:e.payload.operationType};return t.newBcData(i.screen.screenName,l,p,u).pipe(r((a=>{const t=a.row,r={id:null,vstamp:-1};a.row.fields.forEach((e=>{r[e.key]=e.currentValue}));const c=a.postActions?.[0],p=r.id;return s(o(Na({bcName:d,operationType:xa.OperationTypeCrud.create})),o(K({bcName:d,dataItem:r,bcUrl:l})),o(L({bcName:d,bcUrl:`${l}/${p}`,rowMeta:t,cursor:p})),o(re({bcName:d,bcUrl:wt(d,!0,i)??"",cursor:p,dataItem:{id:p}})),o(je({widgetName:e.payload.widgetName,rowId:p})),c?o(X({bcName:d,postInvoke:c,cursor:p,widgetName:e.payload.widgetName})):n)})),c((e=>(console.error(e),s(o(Na({bcName:d,operationType:xa.OperationTypeCrud.create})),o(G({bcName:d})),ft(e,p))))))}))),bcSaveDataEpic:(e,a,{api:t,utils:d})=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.save,e.payload,a.value))),r((e=>{const i=a.value,l=e.payload.bcName,p=wt(l,!0,i)??"",u=e.payload.widgetName,m=i.screen.bo.bc[l].cursor,y=i.data[l].find((e=>e.id===m)),b=p&&i.view.rowMeta[l]?.[p],g=i.view.widgets.find((e=>e.name===u))?.options,h=Gt(i.view.pendingDataChanges[l]?.[m],b),f=zt(i.view.widgets,d?.getInternalWidgets,ro(i)),N=Object.entries(Bt(l,i.view.widgets,i.screen.bo.bc,f)).map((e=>{const[a,t]=e;return M({bcName:a,widgetName:t[0]})})),w={widgetName:e.payload.widgetName};return t.saveBcData(i.screen.screenName,p,{...h,vstamp:y?.vstamp},w).pipe(r((a=>{const t=a.postActions?.[0],i=a.record;return s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.save})),o(he({bcName:l,cursor:m,dataItem:i})),o(q({widgetName:u,bcName:l})),o(Be()),o(...N),t?o(X({bcName:l,widgetName:u,postInvoke:t,cursor:i.id})):n,e.payload.onSuccessAction?o(e.payload.onSuccessAction):n)})),c((a=>{console.error(a);let t=n;e.payload.onSuccessAction&&!g?.disableNotification&&(t=o(ya({key:"data_autosave_undo",type:"buttonWarningNotification",message:"There are pending changes. Please save them or cancel.",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[Fe({bcNames:[l]})]}}})));let i=null,r=null;const c=a.response?.data;return a.response?.data===Object(a.response?.data)&&(r=c?.error?.entity??r,i=c?.error?.popup?.[0]??i),s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.save})),o(fe({bcName:l,bcUrl:p,viewError:i,entityError:r})),t,ft(a,w))})))}))),bcSelectDepthRecordEpic:e=>e.pipe(i(Ie.match),r((e=>{const{bcName:a,cursor:t,depth:n}=e.payload;return s(o(ie({bcName:a,depth:n,cursor:t})),o(M({bcName:a,depth:n+1,widgetName:"",ignorePageLimit:!0})))}))),bcSelectRecordEpic:(e,a,{utils:t})=>e.pipe(i(Te.match),r((e=>{const{bcName:n,cursor:i}=e.payload,r=a.value.view.widgets,c=a.value.screen.bo.bc,d=zt(a.value.view.widgets,t?.getInternalWidgets,ro(a.value)),l=Object.entries(Bt(n,r,c,d)).map((a=>{const[t,o]=a;return M({bcName:t,widgetName:o[0],ignorePageLimit:e.payload.ignoreChildrenPageLimit,keepDelta:e.payload.keepDelta})}));return s(o(ne({cursorsMap:{[n]:i},keepDelta:e.payload.keepDelta})),o(q({widgetName:"",bcName:n})),l)}))),changeAssociationEpic:(e,a)=>e.pipe(i(ke.match),r((e=>{const t=a.value,n=e.payload.dataItem._associate,i=e.payload.bcName,r=[o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],c=t.view.widgets.find((a=>a.name===e.payload.widgetName)),d=e.payload.bcName===c.bcName,l={bcName:c.bcName,radio:c.options?.hierarchyRadio,fields:c.fields},p=c.options?.hierarchy,u=d?l:p?.find((a=>a.bcName===e.payload.bcName)),m=c.options?.hierarchyGroupSelection,y=c.options?.hierarchyTraverse,b=p?.slice(p.findIndex((a=>a.bcName===e.payload.bcName))+1).map((e=>e.bcName));m&&u.radio&&!n&&r.push(o(Se({bcNames:b})));const g=d?null:p?.find(((a,t)=>p[t+1]?.bcName===e.payload.bcName))||l,h=t.data[g?.bcName]?.find((e=>e.id===t.screen.bo.bc[g?.bcName].cursor));if(g&&y&&n&&(u.radio&&r.push(o(Se({bcNames:[g.bcName]}))),r.push(o(ke({bcName:g.bcName,widgetName:e.payload.widgetName,dataItem:{...h,_associate:!0,_value:h?.[g.assocValueKey||e.payload.assocValueKey]},assocValueKey:e.payload.assocValueKey})))),g&&y&&!n){const a=t.data[e.payload.bcName],n=a.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate)),i=t.view.pendingDataChanges[e.payload.bcName],s=!i||!Object.values(i).find((t=>!0===t._associate&&t.id!==e.payload.dataItem.id&&a.find((e=>e.id===t.id))));n&&s&&r.push(o(ke({bcName:g.bcName,widgetName:e.payload.widgetName,dataItem:{...h,_associate:!1},assocValueKey:e.payload.assocValueKey})))}return s(...r)}))),changeAssociationFullEpic:(e,a)=>e.pipe(i(Ee.match),r((e=>{const t=a.value,n=[],i=e.payload.assocValueKey||t.view.popupData?.assocValueKey,r=e.payload.bcName,c=t.data[r],d=e.payload.dataItem._associate,l=e.payload.depth||1,p=l-1,u=l>1&&c.find((a=>a.id===e.payload.dataItem.parentId)),m=t.view.widgets.find((a=>a.name===e.payload.widgetName)),y=m.options?.hierarchyTraverse,b=m.options?.hierarchyRadio,g=m.options?.hierarchyGroupDeselection,h=c.filter((e=>e.level===l&&(1===e.level||e.parentId===u?.id)));if(b&&g&&1===l)if(d){const a=t.view.pendingDataChanges[r],s=c.find((t=>{if(1===t.level&&t.id!==e.payload.dataItem.id){const e=a?.[t.id];if(e?._associate||!e&&t._associate)return!0}return!1}));s&&n.push(o(Ee({bcName:r,depth:l,widgetName:e.payload.widgetName,dataItem:{...s,_associate:!1},assocValueKey:i})))}else n.push(o(Ae({bcName:r,parentId:e.payload.dataItem.id,depth:l+1,assocValueKey:i,selected:!1})));if(n.push(o(re({bcName:e.payload.bcName,bcUrl:wt(e.payload.bcName,!0,t),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))),p&&y&&d&&n.push(o(Ee({bcName:r,depth:p,widgetName:e.payload.widgetName,dataItem:{...u,_associate:!0,_value:u?.[i]},assocValueKey:i}))),p&&y&&!d){const a=t.view.pendingDataChanges[r],s=!a||!Object.values(a).find((a=>!0===a._associate&&a.id!==e.payload.dataItem.id&&h.find((e=>e.id===a.id)))),c=a&&Object.values(a)?.filter((e=>!1===e._associate)).map((e=>e.id));h.filter((a=>a.id!==e.payload.dataItem.id&&!c?.includes(a.id))).every((e=>!e._associate))&&s&&n.push(o(Ee({bcName:r,depth:p,widgetName:e.payload.widgetName,dataItem:{...u,_associate:!1},assocValueKey:i})))}return s(...n)}))),changeAssociationSameBcEpic:(e,a)=>e.pipe(i(Oe.match),r((e=>{const t=a.value,n=e.payload.bcName,i=[o(re({bcName:n,bcUrl:wt(n,!0,t),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],r=e.payload.dataItem._associate,c=e.payload.depth||1,d=c-1,l=t.view.widgets.find((a=>a.name===e.payload.widgetName)),p=l.options?.hierarchyTraverse,u=c>1?t.depthData[c]?.[n]:t.data[n],m=d?d>1?t.screen.bo.bc[n].depthBc?.[d]?.cursor:t.screen.bo.bc[n].cursor:null,y=m?d>1?t.depthData[d]?.[n]?.find((e=>e.id===m)):t.data[n].find((e=>e.id===m)):null;if(d&&p&&r&&i.push(o(Oe({bcName:n,depth:d,widgetName:e.payload.widgetName,dataItem:{...y,_associate:!0,_value:y?.[e.payload.assocValueKey]},assocValueKey:e.payload.assocValueKey}))),d&&p&&!r){u.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate))&&i.push(o(Oe({bcName:n,depth:d,widgetName:e.payload.widgetName,dataItem:{...y,_associate:!1},assocValueKey:e.payload.assocValueKey})))}return s(...i)}))),changeChildrenAssociationsEpic:(e,a,{api:t})=>e.pipe(i(Re.match),r((e=>{const t=a.value.data[e.payload.bcName];return o(se({bcName:e.payload.bcName,cursors:t.map((e=>e.id)),dataItems:t.map((a=>({...a,_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))}))),changeChildrenAssociationsSameBcEpic:(e,a)=>e.pipe(i(Pe.match),r((e=>{const t=a.value,n=t.depthData[e.payload.depth]?.[e.payload.bcName]||[];return o(se({bcName:e.payload.bcName,cursors:n.map((e=>e.id)),dataItems:n.map((a=>({...a,_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))}))),changeDescendantsAssociationsFullEpic:(e,a)=>e.pipe(i(Ae.match),r((e=>{const t=a.value,n=e.payload.depth,i=t.data[e.payload.bcName],r=(i||[]).filter((a=>a.level===n&&a.parentId===e.payload.parentId)),c=[o(se({bcName:e.payload.bcName,cursors:r.map((e=>e.id)),dataItems:r.map((a=>({...a,_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))];return r.forEach((a=>{i.find((e=>e.parentId===a.id))&&c.push(o(Ae({...e.payload,parentId:a.id,depth:n+1})))})),s(...c)}))),changeLocationEpic:(e,a)=>e.pipe(i(F.match),r((e=>{const t=a.value,{onSuccessAction:i}=e.payload,r=i?o(i):n;if(!t.session.active)return n;if(t.router.type===qa.router)return s(o(Ue(t.router)),r);const c=Ft(t.router.bcPath)||{},d={};Object.entries(c).forEach((e=>{const[a,o]=e,n=t.screen.bo.bc[a];n&&n?.cursor===o||(d[a]=o)}));const l=Object.keys(d).length,p=t.screen.screenName,u=t.session.screens.find((e=>e.defaultScreen))?.name||t.session.screens[0]?.name,m=t.router.type===qa.default?u:t.router.screenName;if(m!==p||e.payload.forceUpdate){const e=t.session.screens.find((e=>e.name===m));return e?s(o(R({screen:e})),l?o(ne({cursorsMap:d})):n,r):o(P({screenName:m}))}const y=t.view.name,b=t.router.viewName,g=b!==y,h=[];if(l&&h.push(o(ne({cursorsMap:d}))),g){const a=b?t.screen.views.find((e=>e.name===b)):Wt(t.screen.primaryView,t.screen.views)??xt(t.screen.primaryViews,t.screen.views)??t.screen.views[0];h.push(o(a?A({...a,isTab:e.payload.isTab}):S({viewName:b})))}return l&&!g&&Object.entries(c).forEach((e=>{const[a,n]=e;t.data[a].find((e=>e.id===n))||h.push(o(we({bcName:a})))})),s(...h,r)}))),changeScreen:(e,a)=>e.pipe(i(R.match),l((e=>{const t=a.value,n=t.router.viewName,i=t.screen.views.find((e=>e.name===n)),r=n?null:Wt(t.screen.primaryView,t.screen.views)??xt(t.screen.primaryViews,t.screen.views),s=i||r||t.screen.views[0];return o(s?A(s):S({viewName:n}))}))),changeViewEpic:(e,a)=>e.pipe(i(A.match),l((e=>{const t=a.value,i=Ft(t.router.bcPath)||{},r={};return Object.entries(i).forEach((e=>{const[a,o]=e,n=t.screen.bo.bc[a];n&&n.cursor===o||(r[a]=o)})),Object.keys(r).length?o(ne({cursorsMap:r})):n}))),clearPendingDataChangesAfterCursorChangeEpic:(e,a)=>e.pipe(i(ne.match),r((e=>{const t=a.value,i=Ft(t.router.bcPath)||{},r={};return Object.entries(i).forEach((e=>{const[a,o]=e,n=t.screen.bo.bc[a];n&&n?.cursor===o||(r[a]=o)})),Object.keys(r).length?o(ne({cursorsMap:r})):n}))),downloadFileByUrlEpic:(e,a)=>e.pipe(i(ea.match),h((e=>{const{url:a}=e.payload,t=document.createElement("a");t.href=a,t.style.display="none",document.body.appendChild(t),setTimeout((()=>{t.click(),document.body.removeChild(t)}),100)})),r((()=>n))),downloadFileEpic:(e,a,{api:t})=>e.pipe(i(Ze.match),h((e=>{const{fileId:a}=e.payload,o=document.createElement("a");o.href=`${t.fileUploadEndpoint}?id=${encodeURIComponent(a)}`,o.style.display="none",document.body.appendChild(o),setTimeout((()=>{o.click(),document.body.removeChild(o)}),100)})),r((()=>n))),drillDownEpic:(e,a)=>e.pipe(i(oe.match),l((e=>{const t=a.value,o=e.payload.url,i=[];switch(e.payload.drillDownType){case xa.DrillDownType.external:window.location.href=o;break;case xa.DrillDownType.externalNew:/^[a-z0-9]+:\/\//i.test(o)&&window.open(o);break;case xa.DrillDownType.relative:window.location.href=`${window.location.origin}/${o}`;break;case xa.DrillDownType.relativeNew:window.open(`${window.location.origin}/${o}`,"_blank");break;case xa.DrillDownType.inner:default:const[a]=o.split("?"),n=new URL(o,window.location.origin),r=n.searchParams.get("filters"),s=n.searchParams.get("sorters");let c={},d={};try{c=JSON.parse(r)??c}catch{r&&console.warn("Failed to parse filters on drilldown"),c={}}try{d=JSON.parse(s)??d}catch{s&&console.warn("Failed to parse sorters on drilldown"),d={}}const l={};Object.keys(t.screen.filters).forEach((e=>{(""===c[e]||c[e])&&(l[e]=!0,i.push(Ke({bcName:e})))}));const p=It(n),u=p.viewName;Object.entries(c).forEach((([e,a])=>{const t=At(a)?.map((e=>({...e,viewName:u})));Mt(t)?.forEach((a=>{l[e]=!0,i.push(We({bcName:e,filter:a}))}))})),Object.entries(d).forEach((([e,a])=>{const t=St(a);i.push(Ge({bcName:e,sorter:t})),l[e]=!0}));(function(e,a,t=[]){const o=[];if(!e&&!a)return null;if(!e)return Object.keys(a);if(!a)return Object.keys(e);const n=Object.keys(a);return n.forEach((n=>{e[n]===a[n]||t.includes(n)||o.push(n)})),Object.keys(e).forEach((e=>{n.includes(e)||o.push(e)})),o})(t.router,p,["params"]).length>0||Object.keys(l).forEach((e=>{i.push(we({bcName:e}))})),i.push(F({location:It(new URL(Dt(a),window.location.origin)),forceUpdate:!0,onSuccessAction:e.payload.onSuccessAction}))}return i.length?s(i):n}))),fileUploadConfirmEpic:(e,a,{api:t})=>e.pipe(i(aa.match),r((e=>{const i=a.value,d=e.payload.isPopup??!0,l=e.payload.bcName??i.view.popupData?.bcName,p=wt(l,!0,i),u=i.view.widgets.find((e=>e.bcName===l))?.name,m=e.payload.fileIds.map((e=>({id:e,_associate:!0,vstamp:0})));return t.associate(i.screen.screenName,p,m,null).pipe(r((e=>{const a=e.postActions?.[0],t=e.preInvoke;return s(o(Q({bcName:l,cursor:null})),o(we({bcName:l})),d?o(pe(null)):n,...Zt(u,a,t,xa.OperationTypeCrud.save,l))})),c((e=>(console.error(e),ft(e)))))}))),getRowMetaByForceActiveEpic:(e,t,{api:d})=>e.pipe(i(re.match),r((e=>{const i=t.value,l=i.view.url,{bcName:p,cursor:u,disableRetry:m}=e.payload;if(i.view.widgets.some((e=>e.bcName===p&&e.type===xa.WidgetTypes.AssocListPopup&&(e.options?.hierarchySameBc||e.options?.hierarchyFull))))return n;const y=i.view.widgets.find((e=>e.name===i.view.popupData?.widgetName&&[xa.WidgetTypes.PickListPopup,xa.WidgetTypes.FlatTreePopup].includes(e.type)))&&!i.session.disableDeprecatedFeatures?.popupCloseAfterChangeData,b=wt(p,!0,i),g=i.view.pendingDataChanges[p]?.[u],h=i.view.pendingDataChangesNow[p]?.[u],f=i.view.handledForceActive[p]?.[u]||{},N=i.data[p]?.find((e=>e.id===u)),w=i.view.rowMeta[p]?.[b]?.fields;let v=null;const C=s(o(pe(null)),o(me(null)),o(Ke({bcName:p}))),D=w?.filter((e=>e.forceActive&&void 0!==g[e.key])).some((e=>{const a=g[e.key]!==f[e.key];return a&&(v=e.key),a})),F=a();return D&&!m?s(o(ua({request:{requestId:F,type:"force-active"}})),d.getRmByForceActive(i.screen.screenName,b,{...g,vstamp:N?.vstamp},h).pipe(r((e=>{const a=[o(ma({requestId:F}))];return i.view.url===l&&a.push(o(ce({rowMeta:e,currentRecordData:N,bcName:p,bcUrl:b,cursor:u}))),y&&a.push(C),s(...a)})),c((e=>{console.error(e);let a=null,t=null;const r=e.response?.data;return e.response?.data===Object(e.response?.data)&&(t=r?.error?.entity,a=r?.error?.popup?.[0]),s(o(ma({requestId:F})),i.view.url===l?s(o(re({bcName:p,bcUrl:wt(p,!0,i),cursor:u,dataItem:{[v]:N?.[v]},disableRetry:!0})),o(H({bcName:p,bcUrl:b,viewError:a,entityError:t}))):n,ft(e))})))):y?C:n}))),handleRouterEpic:(e,a,{api:t})=>e.pipe(i(Ue.match),l((e=>{const a=e.payload.path,o=e.payload.params;return t.routerRequest(a,o).pipe(r((()=>n)),c((e=>(console.error(e),ft(e)))))}))),httpError401Epic:e=>e.pipe(i(oa.match),i((e=>401===e.payload.statusCode)),d((e=>E(null)))),httpError409Epic:(e,a)=>e.pipe(i(oa.match),i((e=>409===e.payload.statusCode)),d((e=>{const a=(e.payload.error.response?.data).error?.popup?.[0]||"";return ya({key:"action_edit_error",message:a,type:"buttonWarningNotification",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"OK"}}})}))),httpError418Epic:(e,a)=>e.pipe(i(oa.match),i((e=>418===e.payload.statusCode)),r((e=>{const{error:t,callContext:i}=e.payload,r=[],c=t.response?.data;if(!c.error.popup)return n;const d={type:Wa.BusinessError,message:c.error.popup[0]};if(r.push(o(Je({error:d}))),c.error.postActions?.[0]){const e=a.value.view.widgets.find((e=>e.name===i.widgetName)),t=e?.bcName;r.push(o(X({bcName:t,postInvoke:c.error.postActions[0],widgetName:e?.name})))}return s(...r)}))),httpError500Epic:(e,a)=>e.pipe(i(oa.match),i((e=>500===e.payload.statusCode)),d((e=>{const a={type:Wa.SystemError,details:e.payload.error.response?.statusText||"",error:e.payload.error};return Je({error:a})}))),httpErrorDefaultEpic:(e,a)=>e.pipe(i(oa.match),i((e=>!to.includes(e.payload.statusCode))),d((e=>{const a={type:Wa.BusinessError,code:e.payload.error.response?.status,details:e.payload.error.response?.data};return Je({error:a})}))),inlinePickListFetchDataEpic:(e,a,{api:t})=>e.pipe(i(_.match),r((n=>{const{bcName:i,searchSpec:s,searchString:d}=n.payload,l=a.value,p=wt(i,!1,l),u=t.createCanceler(),m=io(e,no,u.cancel,B({bcName:i,bcUrl:p})),y=t.fetchBcData(a.value.screen.screenName,p,{[s+".contains"]:d},u.cancelToken).pipe(r((e=>o(Ta({bcName:i,data:e.data,bcUrl:p})))),c((e=>(console.error(e),o(B({bcName:n.payload.bcName,bcUrl:p}))))));return f(m,y)}))),loginByAnotherRoleEpic:(e,a,{api:t})=>e.pipe(i(T.match),i((e=>!!e.payload?.role)),l((e=>{const n=e.payload.role??"",i=n&&n!==a.value.session.activeRole;return t.loginByRoleRequest(n).pipe(r((e=>{const a=[];if(i){const t=e.screens.find((e=>e.defaultScreen))||e.screens[0],o=Wt(t.primary,t.meta.views)??xt(t.primaries,t.meta.views)??t?.meta.views[0];o&&a.push(F({location:It(new URL(o.url,window.location.origin))}))}return s([...a,I({devPanelEnabled:e.devPanelEnabled,activeRole:e.activeRole,roles:e.roles,screens:e.screens,firstName:e.firstName,lastName:e.lastName,login:e.login})])})),c((e=>{console.error(e);const a=e.response?oo[e.response.status]||"Server application unavailable":"Empty server response";return s(o(k({errorMsg:a})),ft(e))})))}))),loginDoneEpic:(e,a)=>e.pipe(i(I.match),l((e=>{const t=a.value;return t.router.type===qa.router?o(Ue(t.router)):o(F({location:Ot(e.payload.defaultUrl??window.location.hash.replace("#","")),forceUpdate:!0}))}))),loginDoneSessionEpic:(e,a)=>e.pipe(i(T.match),l((e=>n))),processPostInvokeConfirmEpic:(e,a)=>e.pipe(i(t(ee,Z)),r((e=>{const{bcName:a,operationType:t,widgetName:i}=e.payload,r=ee.match(e)?e.payload.postInvokeConfirm:e.payload.preInvoke;switch(r.type){case st.confirm:case it.info:case it.error:case st.confirmText:return o(Ne({operation:{bcName:a,operationType:t,widgetName:i},confirmOperation:r}));default:return n}}))),processPostInvokeEpic:(e,a)=>e.pipe(i(X.match),r((e=>{const t=a.value;switch(e.payload.postInvoke.type){case rt.drillDown:return o(oe({...e.payload.postInvoke,route:t.router,widgetName:e.payload.widgetName}));case rt.postDelete:{const a={[e.payload.bcName]:null},n=[ne({cursorsMap:a})];if(t.router.bcPath?.includes(`${e.payload.bcName}/`)){const a=t.router.bcPath.split(e.payload.bcName)[0]||"",o=`/screen/${t.router.screenName}/view/${t.router.viewName}/${a}`;n.push(F({location:It(new URL(o,window.location.origin))}))}else n.push(M({bcName:e.payload.bcName,widgetName:e.payload.widgetName}));return o(...n)}case rt.refreshBC:{const a=t.screen.bo,n=e.payload.postInvoke,i=n.bc,r=a.bc[n.bc],s=e.payload.widgetName||"",c=t.view.infiniteWidgets||[],d=t.view.widgets.some((e=>e.bcName===i&&c.includes(e.name)));return o(d?V({bcName:r?.name,widgetName:s,from:1,to:r?.page}):M({bcName:r?.name,widgetName:s}))}case rt.showMessage:{const a=e.payload.postInvoke;return o(qe({type:a.messageType,message:a.messageText}))}case rt.downloadFile:{const a=e.payload.postInvoke;return o(Ze({fileId:a.fileId}))}case rt.downloadFileByUrl:{const a=e.payload.postInvoke;return o(ea({url:a.url}))}case rt.waitUntil:{const a=e.payload.postInvoke;return o(ga({bcName:e.payload.bcName,postInvoke:a}))}case rt.drillDownAndWaitUntil:{const a=e.payload.postInvoke;return s(o(oe({...e.payload.postInvoke,route:t.router,widgetName:e.payload.widgetName,onSuccessAction:ga({bcName:e.payload.bcName,postInvoke:a})})))}default:return n}}))),refreshMetaAndReloadPageEpic:(e,a)=>e.pipe(i(la.match),l((()=>s(o(sa()),e.pipe(i(I.match),b(1),h((()=>location.reload())),l((()=>n))))))),refreshMetaEpic:(e,a,{api:t})=>e.pipe(i(sa.match),r((()=>{const e=a.value,{activeRole:o}=e.session;return t.refreshMeta().pipe(l((()=>s([ca(),E(null),T({login:"",password:"",role:o})]))),c((e=>s([k(e),da(),ht(e)]))))}))),removeMultivalueTagEpic:(e,a)=>e.pipe(i(ge.match),r((e=>{const t=a.value,{bcName:i,cursor:r,popupBcName:c,associateFieldKey:d}=e.payload,l=t.view.widgets.find((e=>e.bcName===c&&Xa.includes(e.type)));let p=(t?.data[c]||[]).map((e=>{const a=t.view.pendingDataChanges[c]?.[e.id];return{...e,...a}}));const u=p.find((a=>a.id===e.payload.removedItem.id)),m=e.payload.dataItem.map((e=>e.id));let y=[];if(l?.options?.hierarchyGroupDeselection){l?.options?.hierarchyTraverse&&(p=qt(p));const a=p.filter((e=>e.parentId===u?.id));y=[u?.id,...a.filter((e=>m.includes(e.id))).map((e=>e.id))],l?.options?.hierarchyTraverse&&(Lt(a,y),y=p.filter((e=>y.includes(e.id)&&m.includes(e.id))).map((e=>e.id)));const t=p.find((e=>e.id===u?.parentId)),n=p.filter((e=>e.parentId===t?.id)),i=n.every((e=>y.includes(e.id)||!m.includes(e.id)));if(t&&i)if(l?.options?.hierarchyTraverse){const a=[];Lt(n,a);if(a.every((e=>y.includes(e)||!m.includes(e))))return s(o(ge({...e.payload,removedItem:{id:t.id,value:null}})))}else y.push(t.id)}if(l?.options?.hierarchyFull)return o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:r,dataItem:{[d]:e.payload.dataItem.filter((e=>!y.includes(e.id)))}}));const b=t.session.disableDeprecatedFeatures?.secondDataChangeForAssocPopupWhenRemovingTagFromField;if(l?.options?.hierarchy){const a=l?.options?.hierarchy?.find((a=>t.view.pendingDataChanges[a.bcName]?.[e.payload.removedItem.id]))?.bcName??i;return s(b?n:o(re({bcName:a,bcUrl:wt(a,!0,t),cursor:e.payload.removedItem.id,dataItem:{...e.payload.removedItem,_associate:!1}})),o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:r,dataItem:{[d]:e.payload.dataItem}})))}return s(b?n:o(re({bcName:c,bcUrl:wt(c,!0,t),cursor:e.payload.removedItem.id,dataItem:{...e.payload.removedItem,_associate:!1}})),o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:r,dataItem:{[d]:e.payload.dataItem}})))}))),saveAssociationsActiveEpic:(e,a,{api:t})=>e.pipe(i(ye.match),i((e=>a.value.view.popupData?.active)),l((e=>{const i=a.value,d=i.view.popupData?.calleeBCName,l=i.view.popupData?.calleeWidgetName,p=i.view.popupData?.bcName,u=e.payload.bcNames,m=wt(d,!0,i),y=i.view.pendingDataChanges[u[0]]||{},b=u.length?{_bcName:u[u.length-1]}:{};return s(o(fa({bcName:p})),t.associate(i.screen.screenName,m,Object.values(y).filter((e=>e._associate)),b).pipe(r((e=>{const a=e.postActions[0],t=i.view.widgets.find((e=>e.bcName===d));return s(o(Na({bcName:p,operationType:"saveAssociations"})),a?o(X({bcName:d,postInvoke:a,widgetName:t?.name})):n,o(Fe({bcNames:u})),o(we({bcName:d,widgetName:l})))})),c((e=>(console.error(e),o(Na({bcName:p,operationType:"saveAssociations"})))))))}))),saveAssociationsPassiveEpic:(e,a)=>e.pipe(i(ye.match),i((()=>!a.value.view.popupData?.active)),l((e=>{const t=a.value,{calleeBCName:n=e.payload.calleeBcName,associateFieldKey:i=e.payload.associateFieldKey}=t.view.popupData??{},r=t.screen.bo.bc[n].cursor,s=t.data[n].find((e=>e.id===r))[i]??[],c=[];e.payload.bcNames.forEach((e=>{const a=t.view.pendingDataChanges[e]||{};Object.entries(a).forEach((([e,a])=>{c.push(a)}))}));const d=c.filter((e=>!s.find((a=>a.id===e.id))&&e._associate)).map((e=>({id:e.id,options:{},value:e._value}))),l=s.filter((e=>{const a=c.find((a=>a.id===e.id));return!a||!1!==a?._associate})).concat(...d);return o(re({bcName:n,bcUrl:wt(n,!0,t),cursor:r,dataItem:{[i]:l}}))}))),selectScreenFailEpic:e=>e.pipe(i(P.match),d((e=>ya({type:"error",key:"selectScreenFail",message:"Screen is missing or unavailable for your role",options:{messageOptions:{screenName:e.payload.screenName}},duration:15})))),selectTableRowInitEpic:(e,a)=>e.pipe(i(_e.match),r((e=>{const t=[],n=a.value,{rowId:i}=e.payload,r=n.view.widgets.find((a=>a.name===e.payload.widgetName)),c=r?.bcName,d=n.screen.bo.bc[c]?.cursor,l=n.view.selectedRow;return i!==d&&t.push(o(Te({bcName:c,cursor:i}))),l&&i===l.rowId&&r?.name===l.widgetName||t.push(o(je({widgetName:r?.name,rowId:i}))),s(...t)}))),selectViewEpic:(e,a,{utils:t})=>e.pipe(i(A.match),r((e=>{try{const o=a.value;return e.payload.isTab?function(e,a){const t={},o=e.data,n=e.screen.bo.bc,i=e=>!!e&&e in o,r=e=>!!e&&null===n[e]?.cursor,s=e=>!!e&&!!n[e]?.cursor,c=e=>!!n[e]?.parentName,d=zt(e.view.widgets,a);return e.view.widgets.filter((e=>!d.includes(e.name))).forEach((e=>{if(e.bcName&&(!i(e.bcName)||r(e.bcName))){let a=e.bcName,o=n[e.bcName].parentName;for(;o&&(!i(o)||r(o));)a=o,o=n[o].parentName;t[a]||c(a)&&!s(n[a]?.parentName)||(t[a]=e)}})),Object.entries(t).map((([e,a])=>M({widgetName:a.name,bcName:e})))}(o,t?.getInternalWidgets):function(e,a){const t={},o=zt(e.view.widgets,a);return e.view.widgets.filter((e=>!o.includes(e.name))).forEach((a=>{if(a.bcName){let o=a.bcName,n=e.screen.bo.bc[a.bcName].parentName;for(;n;)o=n,n=e.screen.bo.bc[n].parentName;t[o]||(t[o]=a)}})),Object.entries(t).map((([e,a])=>M({widgetName:a.name,bcName:e})))}(o,t?.getInternalWidgets)}catch(e){return console.error(`selectView Epic:: ${e}`),n}}))),selectViewFailEpic:(e,a)=>e.pipe(i(S.match),d((e=>ya({type:"error",key:"selectViewFail",message:"View is missing or unavailable for your role",options:{messageOptions:{viewName:e.payload.viewName}},duration:15})))),sendOperationAssociateEpic:(e,a)=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.associate,e.payload,a.value))),d((e=>{const t=a.value,o=wt(e.payload.bcName,!0,t);return"multiFileUpload"===Vt(t.view.rowMeta[e.payload.bcName]?.[o]?.actions).find((a=>a.type===e.payload.operationType)).subtype?le({widgetName:e.payload.widgetName}):de({bcName:e.payload.bcKey?`${e.payload.bcKey}`:`${e.payload.bcName}Assoc`,calleeBCName:e.payload.bcName,active:!0,calleeWidgetName:e.payload.widgetName})}))),sendOperationEpic:(e,a,{api:t})=>e.pipe(i(J.match),i((e=>Ut("none",e.payload,a.value))),r((e=>{const i=a.value,d=i.screen.screenName,{bcName:l,operationType:p,widgetName:u}=e.payload,m=e.payload.confirmOperation?.type||e.payload.confirm,y=wt(l,!0,i),b=i.screen.bo.bc[l],g=y&&i.view.rowMeta[l]?.[y],h=b.cursor,f=i.data[l]?.find((e=>e.id===b.cursor)),N=i.screen.filters[l],w=i.screen.sorters[l],v=Gt(i.view.pendingDataChanges[l]?.[b.cursor],g),C=f&&{...v,vstamp:f.vstamp},D=i.view.widgets?.find((e=>e.name===u))?.options?.actionGroups?.defaultSave===e.payload.operationType&&F.match(e.payload?.onSuccessAction?.type),T={_action:p,...Et(N),...Rt(w)};m&&(T._confirm=m);const I={widgetName:e.payload.widgetName};return t.customAction(d,y,C,I,T).pipe(r((a=>{const t=a.postActions?.[0],i=a.record,r=a.preInvoke,c=t?.type||"",d=rt.refreshBC===c&&t?.bc===l,m=[rt.waitUntil,rt.drillDownAndWaitUntil].includes(c),y=d||m;return s(o(Na({bcName:l,operationType:p})),D?e?.payload?.onSuccessAction?s(o(Fe({bcNames:[l]})),o(e.payload.onSuccessAction)):n:s(o(Q({bcName:l,cursor:h,dataItem:i})),y?n:o(we({bcName:l})),...Zt(u,t,r,p,l)))})),c((e=>{console.error(e);let a=null,t=null;const n=e.response?.data;return e.response?.data===Object(e.response?.data)&&(t=n?.error?.entity,a=n?.error?.popup?.[0]),s(o(Na({bcName:l,operationType:p})),o(Y({bcName:l,bcUrl:y,viewError:a,entityError:t})),ft(e,I))})))}))),setPendingSendOperationEpic:(e,a)=>e.pipe(i(ha.match),l((o=>e.pipe(i(t(ce,H)),b(1),g(a),d((([e,a])=>{const{operationType:t,widgetName:n}=o.payload,i=a.view.widgets.find((e=>e.name===n))?.bcName,r=wt(i,!0,a),s=r&&a.view.rowMeta[i]?.[r],c=s&&Vt(s.actions),d=c?.find((e=>e.type===t));return d?J({...o.payload,confirmOperation:d.preInvoke,bcKey:d.bcKey}):ya({key:"rowMetaActionMissing",type:"error",message:"Operation not available",options:{messageOptions:{operationType:t}},duration:15})})),c((()=>n)))))),showAllTableRecordsInitEpic:(e,a)=>e.pipe(i($e.match),r((e=>{const t=[],{bcName:n,cursor:i}=e.payload,r=a.value.router;t.push(o(ne({cursorsMap:{[n]:null}})));const c=r.bcPath.slice(0,r.bcPath.indexOf(`${n}/${i}`)),d=kt({...r,bcPath:c});return t.push(o(we({bcName:n}))),t.push(o(F({location:It(new URL(d,window.location.origin))}))),s(...t)}))),showAssocPopupEpic:(e,a)=>e.pipe(i(de.match),i((e=>!(!e.payload.calleeBCName||!e.payload.associateFieldKey))),r((e=>{const{bcName:t,calleeBCName:i}=e.payload,r=a.value,s=r.view.widgets.find((e=>e.bcName===t&&e.type===xa.WidgetTypes.AssocListPopup)),c=r.screen.bo.bc[i]?.cursor,d=r.view.pendingDataChanges[i]?.[c],l=e.payload.associateFieldKey,p=d?.[l];if(!(s&&d&&p&&p)||s.options&&!s.options.hierarchyFull)return n;const u={};p.forEach((e=>{u[e.id]={id:e.id,_associate:!0,_value:e.value}}));const m=r.data[i]?.find((e=>e.id===c)),y=m?.[l]?.map((e=>e.id)),b=p.map((e=>e.id));return y&&y.forEach((e=>{b.includes(e)||(u[e]={id:e,_associate:!1})})),o(se({bcName:t,cursors:Object.keys(u),dataItems:Object.values(u)}))}))),showFileUploadPopupEpic:(e,a)=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.fileUpload,e.payload,a.value))),r((e=>s(o(ne({cursorsMap:{[e.payload.bcName]:null}})),o(le({widgetName:e.payload.widgetName})))))),switchRoleEpic:(e,a)=>e.pipe(i(pa.match),l((e=>s([E(null),T({login:"",password:"",role:e.payload.role})])))),userDrillDownChangeCursorsEpic:(e,a)=>e.pipe(i(ae.match),d((e=>{const t=a.value,o=t.view.widgets.find((a=>a.name===e.payload.widgetName)),n=t.screen.bo.bc[o?.bcName]?.cursor;return n!==e.payload.cursor?ne({cursorsMap:{[e.payload.bcName]:e.payload.cursor}}):ra}))),userDrillDownEpic:(e,a,{api:t})=>e.pipe(i(ae.match),l((e=>{const i=a.value,{bcName:d,fieldKey:l,cursor:p}=e.payload,u=wt(d,!0,i);return t.fetchRowMeta(i.screen.screenName,u).pipe(r((e=>{const a=e.fields.find((e=>e.key===l)),t=i.router,r=i.view.widgets.find((e=>e.bcName===d))?.fields.find((e=>e.key===l))?.drillDownKey,c=i.data[d]?.find((e=>e.id===p))?.[r];return c||a?.drillDown||a?.drillDown!==t.path?s(a?.drillDownType!==xa.DrillDownType.inner?o(L({bcName:d,rowMeta:e,bcUrl:u,cursor:p})):n,o(te({bcName:d,bcUrl:u,cursor:p})),o(oe({url:c||a.drillDown,drillDownType:a.drillDownType,route:t}))):n})),c((e=>(console.error(e),ft(e)))))}))),waitUntilEpic:(e,a,{api:t})=>e.pipe(i(ga.match),r((m=>{const{bcName:y,postInvoke:g}=m.payload,{successCondition_bcName:h}=g,f=h??y,N=(e,a)=>{const t="progress"===e,i=!t;return t||i&&a?o(de({type:"waitUntil",bcName:y,calleeBCName:y,options:{status:e,message:a}})):i&&!a?o(pe({bcName:y})):n},w=e=>a.value.screen.bo.bc[e]?o(we({bcName:e})):n,v=((e,a)=>{const t=e.value;return ao(a)(t)?o(t):e.pipe(i(ao(a)),b(1))})(a,f).pipe(l((a=>eo(a,t,g,f).pipe(p(e.pipe(i((e=>pe.match(e))))),d((e=>e.data)),r((e=>s(w(f),N("success",g.successMessage)))),c((e=>e instanceof u?s(w(f),N("timeout",g.timeoutMessage)):s(o(pe({bcName:y})),ft(e))))))));return s(N("progress",g.inProgressMessage),v)})))});function bo(e){if(e.data?.redirectUrl){let a=e.data.redirectUrl;return a.startsWith("/")||a.match("^http(.?)://")||(a=`${window.location.pathname}#/${a}`),a.startsWith("/")&&!a.startsWith("//")&&(a=`${window.location.origin}${a}`),window.location.replace(a),!1}return!0}const go=(e,a)=>({...a,data:void 0!==a?.data?a.data:e});class ho{instance=D.create({responseType:"json",headers:{Pragma:"no-cache","Cache-Control":"no-cache, no-store, must-revalidate"}});maxUrlLength=1/0;filterTypes=[];constructor(e,a,t){this.instance=e,this.maxUrlLength=a??this.maxUrlLength,this.filterTypes=t??this.filterTypes}request(e,a,t){let o=t?.params,n=t?.data;const i={...t};delete i.params,delete i.data;let r=bt(a,o);let s=e;if(r.length>this.maxUrlLength&&this.filterTypes.length){if("object"==typeof o&&null!==o&&Object.keys(o).some((e=>this.filterTypes.includes(e.split(".")[1])))&&("object"==typeof n&&null!==n||void 0===n)){s="get"===e.toLowerCase()?"post":e,o={...o};const t={};Object.entries(o).forEach((([e,a])=>{this.filterTypes.includes(e.split(".")[1])&&(t[e]=a,delete o[e])}));const i=Object.keys(t).length?At(bt("",t)):void 0;n={...n,filter:i},r=bt(a,o)}}return N(this.instance.request({method:s,data:n,url:r,...i})).pipe(w(bo))}get(e,a,t){return this.request("get",e,a).pipe(d((e=>e.data)))}put(e,a,t,o){return this.request("put",e,go(a,o)).pipe(d((e=>e.data)))}post(e,a,t,o){return this.request("post",e,go(a,t)).pipe(d((e=>e.data)))}delete(e,a,t,o){return this.request("delete",e,go(a,t)).pipe(d((e=>e.data)))}}class fo{api$;constructor(e,a,t){this.api$=new ho(e,a,t)}routerRequest(e,a){return this.api$.request("get",e,{params:a}).pipe(d((e=>e.data)))}fetchBcData(e,a,t={},o){const n=0===t._limit,i={...t,_page:n?void 0:"_page"in t?t._page:1,_limit:n?void 0:"_limit"in t?t._limit:30};return this.api$.request("get",Tt`data/${e}/`+a,{params:i,cancelToken:o}).pipe(d((e=>e.data)))}fetchBcDataAll(e,a,t={}){let o=1;return this.fetchBcData(e,a,{...t,_page:o}).pipe(v((i=>i.hasNext?this.fetchBcData(e,a,{...t,_page:++o}):n)),C(((e,a)=>[...e,...a.data]),[]))}fetchRowMeta(e,a,t,o){return this.api$.request("get",Tt`row-meta/${e}/`+a,{params:t,cancelToken:o}).pipe(d((e=>e.data.data.row)))}newBcData(e,a,t,o){return this.api$.request("get",Tt`row-meta-new/${e}/`+a,{params:o}).pipe(d((e=>e.data.data)))}saveBcData(e,a,t,o,n){return this.api$.request("put",Tt`data/${e}/`+a,{data:{data:t},params:n}).pipe(d((e=>e.data.data)))}deleteBcData(e,a="",t,o){return this.api$.request("delete",Tt`data/${e}/`+a,{params:o}).pipe(d((e=>e.data.data)))}customAction(e,a,t,o,n){return this.api$.request("post",Tt`custom-action/${e}/`+a,{data:{data:t||{}},params:n}).pipe(d((e=>e.data.data)))}associate(e,a,t,o){const n=Array.isArray(t)?t.map((e=>({id:e.id,vstamp:e.vstamp,associated:e._associate}))):t;return this.api$.request("post",Tt`associate/${e}/`+a,{data:n,params:o}).pipe(d((e=>e.data.data)))}getRmByForceActive(e,a,t,o,n){return this.api$.request("post",Tt`row-meta/${e}/`+(a??""),{data:{data:{...t,changedNow_:o}},params:n}).pipe(d((e=>e.data.data.row)))}get fileUploadEndpoint(){const e=this.api$.instance;return e.defaults.baseURL?e.defaults.baseURL.endsWith("/")?`${e.defaults.baseURL}file`:`${e.defaults.baseURL}/file`:"/file"}refreshMeta(){return this.api$.request("get",Tt`bc-registry/refresh-meta`).pipe(d((e=>e.data)))}loginByRoleRequest(e){return this.api$.request("get",Tt`login?role=${e}`).pipe(d((e=>e.data)))}createCanceler(){let e;const a=new D.CancelToken((a=>{e=a}));return{cancel:e,cancelToken:a}}}function No(e,a,t){const o=e.view.pendingDataChanges,n=o[a]?.[t];return n&&!Object.keys(n).includes("_associate")&&Object.values(n).length>0}const wo={autosave:({getState:e,dispatch:a})=>t=>o=>{const n=e(),i=J.match(o),r=i&&ot.includes(o.payload.operationType),s=_e.match(o),c=!(i&&o.payload.operationType===xa.OperationTypeCrud.save),d=i&&o.payload.bcName,l=Object.keys(n.view.pendingDataChanges).filter((e=>e!==d)).filter((e=>{return a=n,t=e,Object.keys(a.view.pendingDataChanges?.[t]??{}).some((e=>No(a,t,e)));var a,t})).length>0,p=r&&l,u=n.view.selectedRow,m=u&&s&&(u.widgetName!==o.payload.widgetName||u.rowId!==o.payload.rowId),y=n.view.widgets?.find((e=>e?.options?.actionGroups?.defaultSave)),b=n.screen.bo.bc?.[y?.bcName]?.cursor,g=n.view?.pendingDataChanges?.[y?.bcName]?.[b];if(y&&F.match(o)&&Object.keys(g||{}).length>0)return t(J({bcName:y.bcName,operationType:(y.options?.actionGroups).defaultSave,widgetName:y.name,onSuccessAction:o}));return c&&(p||m)?function(e,a,t){const o=a.getState(),n=a.dispatch,i=o.view.pendingDataChanges,r=Object.keys(i),s=e.payload?.bcName&&No(o,e.payload.bcName,o.screen.bo.bc[e.payload.bcName]?.cursor)?r.findIndex((a=>a===e.payload?.bcName)):r.findIndex((e=>No(o,e,o.screen.bo.bc[e]?.cursor))),c=r[s];if(s>-1&&r.splice(s,1),c){r.forEach((e=>{const a=o.view.widgets?.find((a=>a.bcName===e)),t=o.screen.bo.bc[e]?.cursor;No(o,e,t)&&n(J({bcName:e,operationType:xa.OperationTypeCrud.save,widgetName:a?.name}))}));const a=o.view.widgets?.find((e=>e.bcName===c));return t(J({bcName:c,operationType:xa.OperationTypeCrud.save,widgetName:a?.name,onSuccessAction:e}))}return t(e)}(o,{getState:e,dispatch:a},t):t(o)},requiredFields:({getState:e,dispatch:a})=>t=>o=>{const n=e();if(J.match(o)){const{bcName:e,operationType:i,widgetName:r,confirmOperation:s}=o.payload,c=n.screen.bo.bc[e]?.cursor;if(c){const d=wt(e,!0,n),l=n.data[e]?.find((e=>e.id===c)),p=d&&n.view.rowMeta[e]?.[d],u=n.view.pendingDataChanges[e]?.[c],m=n.view.widgets.find((e=>e.name===r)),y=s?.widget,b=y&&n.view.widgets.find((e=>e.name===y));if(function(e,a){let t=!1;if(!a)return console.error('rowMeta is missing in the middle of "sendOperation" action'),t;return t=Vt(a).some((a=>a.type===e&&a.autoSaveBefore)),t}(i,p?.actions)){const i=[],s={},d=b&&b.bcName===e;n.view.widgets.filter((e=>e.bcName===m?.bcName)).forEach((e=>{const a=e.showCondition?.bcName,t=$t(e.showCondition,n.screen.bo.bc[a]?.cursor||"",n.data[a],n.view.pendingDataChanges),o=[...e.fields];e.fields&&e.fields.forEach((e=>{at(e)&&e.fields.forEach((e=>o.push(e)))})),o.forEach((e=>{const a=p?.fields?.find((a=>a.key===e.key)),o=d&&b?.fields?.find((a=>a.key===e.key));s[e.key]||!a||o||(s[e.key]=a,(!t||e.hidden||e.type===xa.FieldType.hidden||a.hidden)&&i.push(e.key))}))}));const y=function(e,a,t){const o={};return t.forEach((t=>{const n=e?.[t.key],i=a?.[t.key],r=void 0!==i?i:n;let s=!1;(null==r||""===r||Array.isArray(r)&&!r.length||r&&"object"==typeof r&&!Object.keys(r).length)&&(s=!0),t.required&&s&&(o[t.key]=Array.isArray(r)?[]:null)})),Object.keys(o).length>0?o:null}(l,u,Object.values(s));return y&&Qa.includes(m?.type)&&a(_e({widgetName:r,rowId:c})),y&&i.some((e=>e in y))&&a(ya({key:"requiredFieldHidden",type:"error",message:"The form contains required fields that are not available for completion. Contact your administrator.",duration:0})),t(y?re({bcName:e,bcUrl:wt(e,!0,n),cursor:c,dataItem:y}):o)}if(function(e){return[xa.OperationTypeCrud.delete,xa.OperationTypeCrud.cancelCreate,"cancel"].includes(e)}(i))return t(o);if(function(e,a){if(e.view.pendingValidationFailsFormat!==La.target&&e.view.pendingValidationFails&&Object.keys(e.view.pendingValidationFails).length)return!0;let t=!1;const o=e.view.pendingValidationFails?.[a],n=o&&Object.keys(o);if(!n)return!1;let i=0;for(;i<n.length;i++)if(Object.keys(o[n[i]]).length){t=!0;break}return t}(n,e))return t(ya({key:"requiredFieldsMissing",type:"buttonWarningNotification",message:"Required fields are missing",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[Fe(null),Xe(null)]}}}))}}return t(o)},preInvoke:({getState:e})=>a=>t=>{if(J.match(t)){const o=e();if((o.session.pendingRequests?.filter((e=>"force-active"===e.type))?.length??0)>0)return a(ha(t.payload));const{operationType:n,widgetName:i,confirm:r}=t.payload,s=o.view.widgets.find((e=>e.name===i))?.bcName,c=wt(s,!0,o),d=c&&o.view.rowMeta[s]?.[c],l=d&&Vt(d.actions),p=l?.find((e=>e.type===n))?.preInvoke;return a(p&&!r?Z({bcName:s,operationType:n,widgetName:i,preInvoke:p}):t)}return a(t)},popup:({getState:e})=>a=>t=>{if(de.match(t)){const o=e(),n=t.payload.bcName,i=o.view.widgets.find((e=>e.bcName===n))?.options?.displayedValueKey,r=t.payload.assocValueKey??i;return a(i?de({...t.payload,assocValueKey:r}):t)}return a(t)}};var vo=xa.DrillDownType,Co=xa.FieldType,Do=xa.OperationTypeCrud,Fo=xa.PositionTypes,To=xa.RecordSnapshotState,Io=xa.WidgetTypes;export{fo as Api,$a as AppNotificationType,Wa as ApplicationErrorType,vo as DrillDownType,Co as FieldType,ct as FilterType,st as OperationPostInvokeConfirmType,rt as OperationPostInvokeType,it as OperationPreInvokeType,Do as OperationTypeCrud,tt as PaginationMode,La as PendingValidationFailsFormat,Xa as PopupWidgetTypes,Fo as PositionTypes,To as RecordSnapshotState,qa as RouteType,Qa as TableLikeWidgetTypes,Io as WidgetTypes,Ia as actions,ot as coreOperations,yo as epics,ut as interfaces,Za as isCustomWidget,et as isCustomWidgetConfiguration,nt as isOperationGroup,lt as isViewNavigationCategory,pt as isViewNavigationGroup,dt as isViewNavigationItem,at as isWidgetFieldBlock,wo as middlewares,Xt as reducers,Ht as utils};
1
+ import{createAction as e,nanoid as a,isAnyOf as t}from"@reduxjs/toolkit";import{of as o,EMPTY as n,filter as i,mergeMap as r,concat as s,catchError as c,map as d,switchMap as l,takeUntil as p,TimeoutError as u,delay as m,timeout as y,take as b,withLatestFrom as g,tap as h,race as f,from as N,takeWhile as w,expand as v,reduce as C}from"rxjs";import D from"axios";const F=e("changeLocation"),T=e("login"),I=e("loginDone"),k=e("loginFail"),O=e("logout"),E=e("logoutDone"),P=e("selectScreen"),R=e("selectScreenFail"),A=e("selectView"),S=e("selectViewFail"),M=e("bcFetchDataRequest"),V=e("bcFetchDataPages"),U=e("bcClearData"),_=e("inlinePickListFetchDataRequest"),j=e("bcFetchDataSuccess"),B=e("bcFetchDataFail"),$=e("bcLoadMore"),q=e("bcFetchRowMeta"),L=e("bcFetchRowMetaSuccess"),W=e("bcFetchRowMetaFail"),x=e("bcNewData"),K=e("bcNewDataSuccess"),G=e("bcNewDataFail"),z=e("bcDeleteDataFail"),H=e("forceActiveChangeFail"),J=e("sendOperation"),Y=e("sendOperationFail"),Q=e("sendOperationSuccess"),X=e("processPostInvoke"),Z=e("processPreInvoke"),ee=e("processPostInvokeConfirm"),ae=e("userDrillDown"),te=e("userDrillDownSuccess"),oe=e("drillDown"),ne=e("bcChangeCursors"),ie=e("bcChangeDepthCursor"),re=e("changeDataItem"),se=e("changeDataItems"),ce=e("forceActiveRmUpdate"),de=e("showViewPopup"),le=e("showFileUploadPopup"),pe=e("closeViewPopup"),ue=e("viewPutPickMap"),me=e("viewClearPickMap"),ye=e("saveAssociations"),be=e("cnangeAssociations"),ge=e("removeMultivalueTag"),he=e("bcSaveDataSuccess"),fe=e("bcSaveDataFail"),Ne=e("operationConfirmation"),we=e("bcForceUpdate"),ve=e("uploadFile"),Ce=e("uploadFileDone"),De=e("uploadFileFailed"),Fe=e("bcCancelPendingChanges"),Te=e("bcSelectRecord"),Ie=e("bcSelectDepthRecord"),ke=e("changeAssociations"),Oe=e("changeAssociationsSameBc"),Ee=e("changeAssociationFull"),Pe=e("changeChildrenAssociations"),Re=e("changeChildrenAssociationsSameBc"),Ae=e("changeDescendantsAssociationsFull"),Se=e("dropAllAssociations"),Me=e("dropAllAssociationsSameBc"),Ve=e("dropAllAssociationsFull"),Ue=e("handleRouter"),_e=e("selectTableRowInit"),je=e("selectTableRow"),Be=e("deselectTableRow"),$e=e("showAllTableRecordsInit"),qe=e("showNotification"),Le=e("closeNotification"),We=e("bcAddFilter"),xe=e("bcRemoveFilter"),Ke=e("bcRemoveAllFilters"),Ge=e("bcAddSorter"),ze=e("bcRemoveSorter"),He=e("bcChangePage"),Je=e("showViewError"),Ye=e("closeViewError"),Qe=e("closeConfirmModal"),Xe=e("clearValidationFails"),Ze=e("downloadFile"),ea=e("downloadFileByUrl"),aa=e("bulkUploadFiles"),ta=e("apiError"),oa=e("httpError"),na=e("switchDebugMode"),ia=e("exportState"),ra=e("emptyAction"),sa=e("refreshMeta"),ca=e("refreshMetaDone"),da=e("refreshMetaFail"),la=e("refreshMetaAndReloadPage"),pa=e("switchRole"),ua=e("addPendingRequest"),ma=e("removePendingRequest"),ya=e("addNotification"),ba=e("removeNotifications"),ga=e("waitUntil"),ha=e("setPendingSendOperation"),fa=e("associateInProgress"),Na=e("setOperationFinished"),wa=e("selectRows"),va=e("deselectRows"),Ca=e("clearSelectedRows"),Da=e("setPendingPostInvoke"),Fa=e("applyPendingPostInvoke"),Ta=e("inlinePickListFetchDataSuccess");var Ia=Object.freeze({__proto__:null,addNotification:ya,addPendingRequest:ua,apiError:ta,applyPendingPostInvoke:Fa,associateInProgress:fa,bcAddFilter:We,bcAddSorter:Ge,bcCancelPendingChanges:Fe,bcChangeCursors:ne,bcChangeDepthCursor:ie,bcChangePage:He,bcClearData:U,bcDeleteDataFail:z,bcFetchDataFail:B,bcFetchDataPages:V,bcFetchDataRequest:M,bcFetchDataSuccess:j,bcFetchRowMeta:q,bcFetchRowMetaFail:W,bcFetchRowMetaSuccess:L,bcForceUpdate:we,bcLoadMore:$,bcNewData:x,bcNewDataFail:G,bcNewDataSuccess:K,bcRemoveAllFilters:Ke,bcRemoveFilter:xe,bcRemoveSorter:ze,bcSaveDataFail:fe,bcSaveDataSuccess:he,bcSelectDepthRecord:Ie,bcSelectRecord:Te,bulkUploadFiles:aa,changeAssociation:ke,changeAssociationFull:Ee,changeAssociationSameBc:Oe,changeAssociations:be,changeChildrenAssociations:Pe,changeChildrenAssociationsSameBc:Re,changeDataItem:re,changeDataItems:se,changeDescendantsAssociationsFull:Ae,changeLocation:F,clearSelectedRows:Ca,clearValidationFails:Xe,closeConfirmModal:Qe,closeNotification:Le,closeViewError:Ye,closeViewPopup:pe,deselectRows:va,deselectTableRow:Be,downloadFile:Ze,downloadFileByUrl:ea,drillDown:oe,dropAllAssociations:Se,dropAllAssociationsFull:Ve,dropAllAssociationsSameBc:Me,emptyAction:ra,exportState:ia,forceActiveChangeFail:H,forceActiveRmUpdate:ce,handleRouter:Ue,httpError:oa,inlinePickListFetchDataRequest:_,inlinePickListFetchDataSuccess:Ta,login:T,loginDone:I,loginFail:k,logout:O,logoutDone:E,operationConfirmation:Ne,processPostInvoke:X,processPostInvokeConfirm:ee,processPreInvoke:Z,refreshMeta:sa,refreshMetaAndReloadPage:la,refreshMetaDone:ca,refreshMetaFail:da,removeMultivalueTag:ge,removeNotifications:ba,removePendingRequest:ma,saveAssociations:ye,selectRows:wa,selectScreen:P,selectScreenFail:R,selectTableRow:je,selectTableRowInit:_e,selectView:A,selectViewFail:S,sendOperation:J,sendOperationFail:Y,sendOperationSuccess:Q,setOperationFinished:Na,setPendingPostInvoke:Da,setPendingSendOperation:ha,showAllTableRecordsInit:$e,showFileUploadPopup:le,showNotification:qe,showViewError:Je,showViewPopup:de,switchDebugMode:na,switchRole:pa,uploadFile:ve,uploadFileDone:Ce,uploadFileFailed:De,userDrillDown:ae,userDrillDownSuccess:te,viewClearPickMap:me,viewPutPickMap:ue,waitUntil:ga});class ka{reducers=[];matchers=[];defaultCaseReducer=void 0;addCase(e,a){return this.reducers.push([e,a]),this}removeCase(e){return this.reducers=this.reducers.filter((a=>a[0].type!==e.type)),this}replaceCase(e,a){return this.removeCase(e).addCase(e,a),this}addMatcher(e,a){return this.matchers.push([e,a]),this}addDefaultCase(e){return this.defaultCaseReducer=e,this}get builder(){return e=>{const a=this.reducers.reduce(((e,a)=>e.addCase(...a)),e),t=this.matchers.reduce(((e,a)=>e.addMatcher(...a)),a);return void 0!==this.defaultCaseReducer?t.addDefaultCase(this.defaultCaseReducer):t}}}const Oa=[];var Ea=Object.defineProperty,Pa=Object.getOwnPropertyDescriptor,Ra=Object.getOwnPropertyNames,Aa=Object.prototype.hasOwnProperty,Sa={};((e,a)=>{for(var t in a)Ea(e,t,{get:a[t],enumerable:!0})})(Sa,{DrillDownType:()=>za,FieldType:()=>Ya,OperationTypeCrud:()=>Ga,PositionTypes:()=>Ja,RecordSnapshotState:()=>Ka,WidgetTypes:()=>Ha});var Ma,Va,Ua,_a,ja,Ba,$a,qa,La,Wa,xa=(Ma=Sa,((e,a,t,o)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let n of Ra(a))!Aa.call(e,n)&&n!==t&&Ea(e,n,{get:()=>a[n],enumerable:!(o=Pa(a,n))||o.enumerable});return e})(Ea({},"__esModule",{value:!0}),Ma)),Ka=((Va=Ka||{}).noChange="noChange",Va.new="new",Va.deleted="deleted",Va),Ga=((Ua=Ga||{}).create="create",Ua.save="save",Ua.delete="delete",Ua.associate="associate",Ua.cancelCreate="cancel-create",Ua.fileUpload="file-upload",Ua),za=((_a=za||{}).inner="inner",_a.relative="relative",_a.relativeNew="relativeNew",_a.external="external",_a.externalNew="externalNew",_a),Ha=((Ba=Ha||{}).Info="Info",Ba.Form="Form",Ba.List="List",Ba.DataGrid="DataGrid",Ba.AssocListPopup="AssocListPopup",Ba.PickListPopup="PickListPopup",Ba.HeaderWidget="HeaderWidget",Ba.SecondLevelMenu="SecondLevelMenu",Ba.ThirdLevelMenu="ThirdLevelMenu",Ba.FourthLevelMenu="FourthLevelMenu",Ba.WidgetCreator="WidgetCreator",Ba.Pivot="Pivot",Ba.DimFilter="DimFilter",Ba.Text="Text",Ba.FlatTree="FlatTree",Ba.FlatTreePopup="FlatTreePopup",Ba.ViewNavigation="ViewNavigation",Ba.NavigationTabs="NavigationTabs",Ba),Ja=(e=>(e.Top="Top",e.Bottom="Bottom",e.TopAndBottom="TopAndBottom",e))(Ja||{}),Ya=((ja=Ya||{}).number="number",ja.input="input",ja.monthYear="monthYear",ja.date="date",ja.dateTime="dateTime",ja.dateTimeWithSeconds="dateTimeWithSeconds",ja.checkbox="checkbox",ja.checkboxSql="checkboxSql",ja.DMN="DMN",ja.pickList="pickList",ja.inlinePickList="inline-pickList",ja.dictionary="dictionary",ja.hidden="hidden",ja.text="text",ja.percent="percent",ja.fileUpload="fileUpload",ja.money="money",ja.comboCondition="combo-condition",ja.richText="richText",ja.printForm="printForm",ja.multifield="multifield",ja.multivalue="multivalue",ja.multivalueHover="multivalueHover",ja.hint="hint",ja.radio="radio",ja);!function(e){e.success="success",e.info="info",e.warning="warning",e.error="error"}($a||($a={})),function(e){e.screen="screen",e.default="default",e.router="router",e.invalid="invalid",e.unknown="unknown"}(qa||(qa={})),function(e){e.old="old",e.target="target"}(La||(La={})),function(e){e[e.BusinessError=0]="BusinessError",e[e.SystemError=1]="SystemError",e[e.NetworkError=2]="NetworkError"}(Wa||(Wa={}));const Qa=[xa.WidgetTypes.List,xa.WidgetTypes.DataGrid,xa.WidgetTypes.AssocListPopup,xa.WidgetTypes.PickListPopup,xa.WidgetTypes.FlatTree,xa.WidgetTypes.FlatTreePopup],Xa=[xa.WidgetTypes.PickListPopup,xa.WidgetTypes.AssocListPopup,xa.WidgetTypes.FlatTreePopup];function Za(e){return!!e&&!("component"in e)}function et(e){return e&&"component"in e}function at(e){return!!e&&"blockId"in e}var tt;!function(e){e.page="page",e.loadMore="loadMore"}(tt||(tt={}));const ot=[xa.OperationTypeCrud.create,xa.OperationTypeCrud.save,xa.OperationTypeCrud.delete,xa.OperationTypeCrud.associate,xa.OperationTypeCrud.cancelCreate,xa.OperationTypeCrud.fileUpload];function nt(e){return Array.isArray(e.actions)}var it,rt,st,ct;function dt(e){return!!e&&"viewName"in e}function lt(e){return!!e&&"categoryName"in e}function pt(e){return!!e&&"child"in e&&!("categoryName"in e)}!function(e){e.confirm="confirm",e.info="info",e.error="error"}(it||(it={})),function(e){e.refreshBC="refreshBC",e.downloadFile="downloadFile",e.downloadFileByUrl="downloadFileByUrl",e.drillDown="drillDown",e.openPickList="openPickList",e.showMessage="showMessage",e.postDelete="postDelete",e.waitUntil="waitUntil",e.drillDownAndWaitUntil="drillDownAndWaitUntil"}(rt||(rt={})),function(e){e.confirm="confirm",e.confirmText="confirmText"}(st||(st={})),function(e){e.range="range",e.equals="equals",e.greaterThan="greaterThan",e.lessThan="lessThan",e.greaterOrEqualThan="greaterOrEqualThan",e.lessOrEqualThan="lessOrEqualThan",e.contains="contains",e.specified="specified",e.specifiedBooleanSql="specifiedBooleanSql",e.equalsOneOf="equalsOneOf",e.containsOneOf="containsOneOf"}(ct||(ct={}));var ut=Object.freeze({__proto__:null,get AppNotificationType(){return $a},get ApplicationErrorType(){return Wa},DrillDownType:xa.DrillDownType,FieldType:xa.FieldType,get FilterType(){return ct},get OperationPostInvokeConfirmType(){return st},get OperationPostInvokeType(){return rt},get OperationPreInvokeType(){return it},OperationTypeCrud:xa.OperationTypeCrud,get PaginationMode(){return tt},get PendingValidationFailsFormat(){return La},PopupWidgetTypes:Xa,PositionTypes:xa.PositionTypes,RecordSnapshotState:xa.RecordSnapshotState,get RouteType(){return qa},TableLikeWidgetTypes:Qa,WidgetTypes:xa.WidgetTypes,coreOperations:ot,isCustomWidget:Za,isCustomWidgetConfiguration:et,isOperationGroup:nt,isViewNavigationCategory:lt,isViewNavigationGroup:pt,isViewNavigationItem:dt,isWidgetFieldBlock:at});const mt={type:qa.default,path:"/",search:"",params:null,screenName:null};function yt(e){return e.includes("?")?e+"&":e+"?"}function bt(e,a){return a?gt(e,function(e){const a={...e};return Object.keys(a).reduce(((e,a)=>(e[a]||"number"==typeof e[a]||delete e[a],e)),a)}(a)):e}function gt(e,a){if(!a)return e;const t=new URLSearchParams(a).toString();return`${yt(e)}${t&&`${t}`}`}function ht(e,a={widgetName:"unknown"}){if(e.isAxiosError)return ta({error:e,callContext:a})}function ft(e,a){const t=ht(e,a);return t?o(t):n}function Nt(e,...a){let t="";for(let o=0;o<a.length;o++)t+=e[o],t+="${"+o+"}";return t+=e[e.length-1],t}function wt(e,a=!1,t){const o=t.screen.bo.bc,n=o[e];if(!n)return null;const i=[n.cursor&&a?`${n.name}/${n.cursor}`:n.name];let r=n;for(;r.parentName;)r=o[r.parentName],i.push(`${r.name}/${r.cursor??null}`);return i.reverse().join("/")}const vt=/\${([^{}]+)}/g;function Ct(e){return new RegExp(`(${e?.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")})`,"gi")}function Dt(e){return e.startsWith("/")?e:`/${e}`}function Ft(e){if(!e)return null;const a={},t=e.split("/");for(let e=0;e<t.length;e+=2)t[e+1]&&(a[t[e]]=t[e+1]);return a}function Tt(e,...a){let t="";for(let o=0;o<a.length;o++){t+=e[o];const n=a[o];if("number"==typeof n)t+=n.toString(10);else{if("string"!=typeof n){const t=Nt(e,a);throw new Error(`Неверный тип подстановочного знака в ${t}, index: ${o}, value: ${JSON.stringify(n)}`)}t+=encodeURIComponent(n)}}return t+=e[e.length-1],t}function It(e){let a=e.pathname;a.startsWith("/")&&(a=a.substring(1)),a.endsWith("/")&&(a=a.substring(0,a.length-1)),a?.includes("&")&&!a?.includes("?")&&(a=a.substring(0,a.indexOf("&")));const t={};e.searchParams.forEach(((e,a)=>t[a]=e));const o=a.split("/").map(decodeURIComponent);let n=qa.unknown,i=null,r=null,s=null;if(o.length>0&&"router"===o[0])n=qa.router;else if(1===o.length)n=qa.default;else if(o.length>=2&&"screen"===o[0]){let e=2;n=qa.screen,i=o[1],o.length>=4&&"view"===o[2]&&(e+=2,r=o[3]),s=o.slice(e).map(encodeURIComponent).join("/")}return{type:n,path:0===a.length||a.startsWith("/")?a:`/${a}`,search:e.search,params:t,screenName:i,viewName:r,bcPath:s}}function kt(e){return`/screen/${e.screenName}/view/${e.viewName}/${e.bcPath}`}const Ot=e=>It(new URL(e,window.location.origin));function Et(e){if(!e||!e.length)return null;const a={};return e.forEach((e=>{if(e.type===ct.range){const t=e.value;t[0]&&(a[`${e.fieldName}.${ct.greaterOrEqualThan}`]=String(t[0])),t[1]&&(a[`${e.fieldName}.${ct.lessOrEqualThan}`]=String(t[1]))}else{const t=Array.isArray(e.value)?JSON.stringify(e.value):String(e.value),o=e.fieldName?".":"";a[`${e.fieldName}${o}${e.type}`]=t}})),a}function Pt(e){if(!e||!e.length)return null;const a={};return e.forEach(((e,t)=>{a[`_sort.${t}.${e.direction}`]=e.fieldName})),a}const Rt=e=>{try{return JSON.parse(e)}catch(e){return console.warn(e),null}};function At(e=""){const a=[],t=new URLSearchParams(e);return Object.keys(Object.fromEntries(t)).forEach((o=>{const[n,i]=o.split(".");if(n&&i&&t.get(o)){let e=t.getAll(o);i===ct.containsOneOf||i===ct.equalsOneOf?(1===e.length&&(e=Rt(e[0])??e),e=Array.isArray(e)?e:[]):e=Array.isArray(e)?e[0]:e,a.push({fieldName:n,type:i,value:e})}else if(e){let e=t.getAll(o);1===e.length&&(e=Rt(e[0])??e[0]),a.push({fieldName:"",type:o,value:e})}})),a.length?a:null}function St(e){if(!e||!e.length)return null;const a=[],t=new URLSearchParams(e);return Array.from(t.entries()).map((([e,a])=>{const[t,o]=e.split(".").slice(1);return{fieldName:a,order:Number.parseInt(t,10),direction:o}})).sort(((e,a)=>e.order-a.order)).forEach((e=>{a.push({fieldName:e.fieldName,direction:e.direction})})),a}const Mt=e=>{const a=[],t={};return e.forEach((e=>{const{type:o,fieldName:n,value:i}=e;if(o===ct.greaterOrEqualThan||o===ct.lessOrEqualThan){t[n]||(t[n]={...e,type:ct.range,value:[null,null]});t[n].value[o===ct.greaterOrEqualThan?0:1]=i}else a.push(e)})),[...a,...Object.values(t)]};function Vt(e){const a=[];return e?.forEach((e=>{if(nt(e)){e.actions.forEach((e=>{a.push(e)}))}else a.push(e)})),a}function Ut(e,a,t){if(a.operationType===e)return!0;const o=wt(a.bcName,!0,t),n=Vt(t.view.rowMeta[a.bcName]?.[o]?.actions).find((e=>e.type===a.operationType));return"none"===e?ot.every((e=>e!==a.operationType&&e!==n?.actionRole)):n?.actionRole===e}function _t(e,a,t){const o={};return a.filter((e=>e.bcName)).forEach((a=>{const n=[];n.push(a.bcName);let i=t[a.bcName].parentName;for(;i;)n.push(i),i=t[i].parentName;n.filter((a=>t[a].parentName===e)).forEach((e=>{o[e]=[...o[e]||[],a.name]}))})),a.filter((e=>e.options?.hierarchy)).forEach((a=>{const[t,n]=function(e,a){const t=a?.options?.hierarchy?.map((e=>e.bcName));if(e!==a.bcName&&!t?.includes(e))return[];const o=t?.findIndex((a=>a===e)),n=t?.[o+1];return[n,a.name]}(e,a);t&&(o[t]=[...o[t]||[],n])})),o}const jt=(e,a,t)=>{const o=!a.includes(e.name),n=t?.(e)??!0;return o&&n};function Bt(e,a,t,o,n){const i=_t(e,a,t),r={};for(const[e,t]of Object.entries(i)){a.find((e=>t.includes(e.name)&&jt(e,o,n)))&&(r[e]=t)}return r}function $t(e,a,t,o){const{bcName:n,isDefault:i,params:r}=e||{};if(!e||Array.isArray(e)||i)return!0;const s=a&&t?.find((e=>e.id===a));if(!s)return!1;const c=s?.[r?.fieldKey],d=o?.[n]?.[a]?.[r?.fieldKey];return void 0!==d?d===r?.value:c===r?.value}function qt(e){const a=e.map((e=>({...e}))),t={},o=[];return a.forEach((n=>{if(!n.parentId||"0"===n.parentId)return;let i=t[n.parentId];if("number"!=typeof i&&(i=e.findIndex((e=>e.id===n.parentId)),t[n.parentId]=i),-1===i)return o.push(n.parentId),void console.warn(`Record with [id] = ${n.id} has [parentId] = ${n.parentId}, but no matching parent record exist. Check the service for this BC.`);n.parent=a[i],a[i].children?a[i]?.children?.push(n):a[i].children=[n]})),o.length?a.filter((e=>!o.includes(e.parentId))):a}function Lt(e,a){e.forEach((e=>{a.push(e.id),e.children&&Lt(e.children,a)}))}const Wt=(e,a)=>e?a.find((a=>a.name===e))??null:null,xt=(e,a)=>{if(!e)return null;let t=null;for(const o of e){if(null!==t)break;t=a.find((e=>e.name===o))??null}return t},Kt=(e,a)=>(a&&Object.keys(e).forEach((t=>{const o=a.fields.find((e=>e.key===t&&e.disabled));o&&(delete e[t],void 0!==o.currentValue&&console.error("Changes to disabled fields are not taken into account when sending"))})),e),Gt=(e,a)=>Kt({...e},a),zt=(e,a,t)=>{const o=[],n=[];for(const a of e)!Xa.includes(a.type)||t&&a.bcName===t?n.push(a):o.push(a);const i=a?.(o)||[],r=a?.(n)||[],s=new Set([...i,...r]),c=o.filter((e=>!s.has(e.name))),d=n.filter((e=>!s.has(e.name))),l=new Set([...d.map((e=>e.name)),...r]),p=i.filter((e=>!l.has(e)));return[...new Set([...c.map((e=>e.name)),...p])]};var Ht=Object.freeze({__proto__:null,addTailControlSequences:yt,applyParams:bt,applyRawParams:gt,assignTreeLinks:qt,breadthFirstSearch:function e(a,t,o=1,n="child"){const i=t(a)&&a,r=a[n];if(!i&&!r)return null;if(i)return{node:i,depth:o};let s=r.filter((e=>!e[n])).find((e=>t(e)));if(s)return{node:s,depth:o+1};let c=o;return r.some((a=>{const o=e(a,t,c+1,n??"child");return s=o?.node,c=o?.depth,o?.node})),s?{node:s,depth:c}:null},buildBcUrl:wt,buildSearchResultTree:function(e,a){const t={};return e.forEach((e=>{if(!a.includes(e.id))return;let o=e.parent;for(;o;)t[o.id]=!0,o=o.parent;t[e.id]=!0,e.children?.forEach((e=>{t[e.id]=!0}))})),e.filter((e=>!0===t[e.id]))},buildUrl:Tt,checkShowCondition:$t,createApiError:ht,createApiErrorObservable:ft,defaultBuildURL:kt,defaultParseURL:It,deleteUndefinedFromObject:function(e){Object.keys(e).forEach((a=>{void 0===e[a]&&delete e[a]}))},escapedSrc:Ct,extendPopupWidgetTypes:function(e){e&&Object.entries(e).forEach((([e,a])=>{et(a)&&a.isPopup&&(Xa.includes(e)||Xa.push(e))}))},flattenOperations:Vt,getBcChildren:_t,getDefaultViewForPrimary:Wt,getDefaultViewFromPrimaries:xt,getDescendants:Lt,getEagerBcChildren:Bt,getFieldTitle:function(e,a){return(t=e)&&null!==t.match(vt)?((e,a)=>e?e.replace(vt,((e,t)=>{const[o,n]=t.split(":");return String(a?.[o]||n||"")})):"")(e,a):e;var t},getFilterType:function(e){switch(e){case xa.FieldType.dictionary:return ct.equalsOneOf;case xa.FieldType.checkbox:return ct.specified;case xa.FieldType.input:case xa.FieldType.text:return ct.contains;default:return ct.equals}},getFilters:Et,getRouteFromString:Ot,getSorters:Pt,getTemplate:Nt,getWidgetsForLazyLoad:zt,isEagerWidget:jt,makeRelativeUrl:Dt,matchOperationRole:Ut,parseBcCursors:Ft,parseFilters:At,parseSorters:St,presort:function(e){const a=[];return e.filter((e=>1===e.level)).forEach((e=>{a.push(e.id),e.children&&Lt(e.children,a)})),a.map((a=>e.find((e=>e.id===a))))},processDrilldownFilters:Mt,removeDisabledFields:Gt,removeDisabledFieldsMutate:Kt,splitBcUrl:function(e){const a=e.split("/"),t=[];for(let e=0;e<a.length;e+=2){const o=a[e],n=a[e+1],i=o&&n;t.push(i?`${o}/${n}`:o)}return t},splitIntoTokens:function(e,a){const t=a instanceof RegExp?a:Ct(a);return e.split(t)}});const Jt=[xa.OperationTypeCrud.associate,xa.OperationTypeCrud.fileUpload],Yt={id:void 0,name:null,url:null,widgets:[],columns:null,readOnly:!1,rowHeight:null,rowMeta:{},metaInProgress:{},popupData:{bcName:null},pendingDataChanges:{},pendingPostInvoke:{},pendingDataChangesNow:{},infiniteWidgets:[],pendingValidationFailsFormat:La.old,pendingValidationFails:{},handledForceActive:{},selectedRow:null,selectedRows:{},ignoreHistory:null,systemNotifications:[],error:null,modalInvoke:null},Qt=(e,a)=>{const t={};return Object.keys(e).forEach((o=>{var n;a(o)&&(null==(n=e[o])||""===n||Array.isArray(n)&&0===Object.keys(n).length)&&(t[o]="This field is mandatory")})),t};var Xt=Object.freeze({__proto__:null,createDataReducerBuilderManager:e=>(new ka).addCase(j,((e,a)=>{e[a.payload.bcName]=a.payload.data})).addCase(Ta,((e,a)=>{e[a.payload.bcName]=a.payload.data})).addCase(K,((e,a)=>{e[a.payload.bcName]=[...e[a.payload.bcName]||Oa,a.payload.dataItem]})).addCase(he,((e,a)=>{const t=a.payload.dataItem,o=e[a.payload.bcName].findIndex((e=>e.id===t.id));e[a.payload.bcName][o]=t})).addCase(L,((e,a)=>{const t=a.payload.cursor;if(!t)return;const o=(e[a.payload.bcName]||Oa).find((e=>e.id===t)),n={...o,id:t,vstamp:-1,_associate:o&&o._associate};a.payload.rowMeta.fields.find((e=>"id"===e.key&&!e.currentValue))||(a.payload.rowMeta.fields.filter((e=>"_associate"!==e.key)).forEach((e=>n[e.key]=e.currentValue)),e[a.payload.bcName]=o?e[a.payload.bcName].map((e=>e===o?n:e)):[...e[a.payload.bcName]||Oa,n])})).addCase(be,((e,a)=>{e[`${a.payload.bcName}Delta`]=a.payload.records||[]})).addCase(A,((a,t)=>t.payload.isTab?a:e)).addCase(U,((e,a)=>{a.payload.bcNames?.forEach((a=>{delete e[a]}))})),createDepthDataReducerBuilderManager:e=>(new ka).addCase(j,((e,a)=>{!a.payload.depth||a.payload.depth<2||(e[a.payload.depth]=e[a.payload.depth]??{},e[a.payload.depth][a.payload.bcName]=a.payload.data)})).addCase(A,(a=>e)),createRouterReducerBuilderManager:e=>(new ka).addCase(F,((e,a)=>{const{isTab:t,location:o}=a.payload;return t?{...o,bcPath:o.bcPath||e.bcPath}:o})),createScreenReducerBuilderManager:e=>(new ka).addCase(P,((e,a)=>{const t={},o={},n={};a.payload.screen.meta?.bo.bc.forEach((e=>{t[e.name]=e;const a=St(e.defaultSort),i=At(e.defaultFilter);a&&(o[e.name]=a),i&&(n[e.name]=i)})),e.screenName=a.payload.screen.name,e.primaryView=a.payload.screen.meta?.primary??e.primaryView,e.primaryViews=a.payload.screen.meta?.primaries??e.primaryViews,e.views=a.payload.screen.meta?.views??e.views,e.bo={activeBcName:null,bc:t},e.sorters={...e.sorters,...o},e.filters={...e.filters,...n}})).addCase(R,((e,a)=>{e.screenName=a.payload.screenName,e.views=[]})).addCase(M,((e,a)=>{const t=a.payload.bcName;a.payload.bcName&&(e.bo.bc[t].loading=!0)})).addCase($,((e,a)=>{const t=e.bo.bc[a.payload.bcName];t.page=(t.page??1)+1,t.loading=!0})).addCase(A,((e,a)=>{if(a.payload.isTab)return;const t={};Array.from(new Set(a.payload.widgets?.map((e=>e.bcName)))).filter((a=>e.bo.bc[a])).forEach((a=>{t[a]={...e.bo.bc[a],page:1}})),e.bo.bc={...e.bo.bc,...t}})).addCase(j,((e,a)=>{const t=e.bo.bc[a.payload.bcName];t.hasNext=a.payload.hasNext,t.loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(Ta,((e,a)=>{const t=e.bo.bc[a.payload.bcName];t.hasNext=a.payload.hasNext,t.loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(B,((e,a)=>{const t=a.payload.bcName;Object.values(e.bo.bc).some((e=>e.name===t))&&(e.bo.bc[t].loading=!1,e.cachedBc[t]=a.payload.bcUrl)})).addCase(J,((e,a)=>{const{bcName:t,operationType:o}=a.payload;if(!Jt.includes(a.payload.operationType)){e.bo.bc[t].loading=!0;const a=e.bo.bc[t].operationsInProgress??[];e.bo.bc[t].operationsInProgress=[...a,o]}})).addCase(K,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1,e.bo.bc[a.payload.bcName].cursor=a.payload.dataItem.id,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(ne,((e,a)=>{const t={},o={};Object.entries(a.payload.cursorsMap).forEach((a=>{const[n,i]=a;t[n]={...e.bo.bc[n],cursor:i},o[n]=i}));const n=Object.values(t).map((e=>`${e.url}/:id`));Object.values(e.bo.bc).forEach((a=>{n.some((e=>a.url.includes(e)))&&!(a.name in t)&&(t[a.name]={...e.bo.bc[a.name],cursor:null},o[a.name]=null)})),Object.assign(e.bo.bc,t),Object.assign(e.cachedBc,o)})).addCase(ie,((e,a)=>{1===a.payload.depth?e.bo.bc[a.payload.bcName].cursor=a.payload.cursor:(e.bo.bc[a.payload.bcName].depthBc=e.bo.bc[a.payload.bcName].depthBc??{},e.bo.bc[a.payload.bcName].depthBc[a.payload.depth].cursor=a.payload.cursor)})).addCase(Te,((e,a)=>{e.bo.bc[a.payload.bcName].cursor=a.payload.cursor})).addCase(we,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!0,e.cachedBc[a.payload.bcName]=null})).addCase(We,((e,a)=>{const{bcName:t,filter:o}=a.payload,n=o,i=e.filters[t]||[],r=i.find((e=>e.fieldName===o.fieldName&&e.type===o.type)),s=r?i.map((e=>e===r?{...r,value:n.value}:e)):[...i,n];e.bo.bc[t]&&(e.bo.bc[t].page=1),e.filters[t]=s})).addCase(xe,((e,a)=>{const{bcName:t,filter:o}=a.payload,n=(e.filters[t]||[]).filter((e=>e.fieldName!==o?.fieldName||e.type!==o.type)),i={...e.filters,[t]:n};n.length||delete i[t],e.bo.bc[a.payload.bcName]&&(e.bo.bc[a.payload.bcName].page=1),e.filters=i})).addCase(Ke,((e,a)=>{delete e.filters[a.payload.bcName],e.bo.bc[a.payload.bcName]&&(e.bo.bc[a.payload.bcName].page=1)})).addCase(Ge,((e,a)=>{e.sorters[a.payload.bcName]=Array.isArray(a.payload.sorter)?a.payload.sorter:[a.payload.sorter]})).addCase(He,((e,a)=>{e.bo.bc[a.payload.bcName].page=a.payload.page,e.bo.bc[a.payload.bcName].loading=!0})).addCase(de,((e,a)=>{const t=e.bo.bc[a.payload.bcName]?.page??1;e.bo.bc[a.payload.bcName].page=a.payload.bcName===a.payload.calleeBCName?t:1,e.bo.bc[a.payload.bcName].loading=a.payload.bcName!==a.payload.calleeBCName})).addCase(Q,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(z,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(Y,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(he,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(fe,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(fa,((e,a)=>{const t=a.payload.bcName;if(t){const a=e.bo.bc[t].operationsInProgress??[];e.bo.bc[t].operationsInProgress=[...a,"saveAssociations"]}})).addCase(Na,((e,a)=>{const{bcName:t,operationType:o}=a.payload;e.bo.bc[t].operationsInProgress=e.bo.bc[t].operationsInProgress?.filter((e=>e!==o))})),createSessionReducerBuilderManager:e=>(new ka).addCase(T,(e=>{e.loginSpin=!0,e.errorMsg=null})).addCase(I,((e,a)=>{(e=Object.assign(e,a.payload)).loginSpin=!1,e.active=!0,e.logout=!1})).addCase(k,((e,a)=>{e.loginSpin=!1,e.errorMsg=a.payload.errorMsg})).addCase(O,(e=>{e.loginSpin=!1,e.active=!1,e.logout=!0})).addCase(na,((e,a)=>{e.debugMode=a.payload})).addCase(ua,((e,a)=>{e.pendingRequests?.push(a.payload.request)})).addCase(ma,((e,a)=>{e.pendingRequests=e.pendingRequests?.filter((e=>e.requestId!==a.payload.requestId))})).addCase(ya,((e,a)=>{e.notifications.push(a.payload)})).addCase(ba,((e,a)=>{const t=a.payload;e.notifications=e.notifications.filter((e=>!t.includes(e.key)))})).addCase(sa,(e=>{e.isMetaRefreshing=!0})).addCase(ca,(e=>{e.isMetaRefreshing=!1})).addCase(da,(e=>{e.isMetaRefreshing=!1})),createViewReducerBuilderManager:e=>(new ka).addCase(A,((e,a)=>{a.payload.isTab||(e.rowMeta=Yt.rowMeta),Object.assign(e,a.payload)})).addCase(q,((e,a)=>{e.metaInProgress[a.payload.bcName]=!0})).addCase($,((e,a)=>{const t=e.infiniteWidgets||[];void 0!==a.payload.widgetName&&t.push(a.payload.widgetName),e.infiniteWidgets=Array.from(new Set(t))})).addCase(J,((e,a)=>{a.payload.operationType===xa.OperationTypeCrud.create&&(e.metaInProgress[a.payload.bcName]=!0)})).addCase(L,((e,a)=>{e.rowMeta[a.payload.bcName]=e.rowMeta[a.payload.bcName]??{},e.rowMeta[a.payload.bcName][a.payload.bcUrl]=a.payload.rowMeta,e.metaInProgress[a.payload.bcName]=!1})).addCase(K,((e,a)=>{e.selectedRow=Yt.selectedRow})).addCase(ce,((e,a)=>{const{bcName:t,bcUrl:o,currentRecordData:n,rowMeta:i,cursor:r}=a.payload,s={},c={},d={},l=[];i.fields.forEach((e=>{c[e.key]=e.currentValue,e.forceActive&&l.push(e.key)})),e.pendingDataChanges[t]=e.pendingDataChanges[t]??{};const p={...n,...e.pendingDataChanges[t][r]};Object.keys(p).forEach((e=>{void 0!==c[e]&&p[e]!==c[e]&&(d[e]=c[e])}));const u={...e.pendingDataChanges[t][r],...d},m=e.pendingValidationFailsFormat===La.target,y=Qt(u,(a=>!!e.rowMeta[t]?.[o]?.fields.find((e=>e.required&&e.key===a))));m?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][r]=y):e.pendingValidationFails=y,l.forEach((e=>{void 0!==u[e]&&(s[e]=u[e])})),e.handledForceActive[t]=e.handledForceActive[t]??{},e.handledForceActive[t][r]=e.handledForceActive[t][r]??{},Object.assign(e.handledForceActive[t][r],s),e.pendingDataChanges[t]=e.pendingDataChanges[t]??{},e.pendingDataChanges[t][r]=u,e.pendingDataChangesNow[t]=e.pendingDataChangesNow[t]??{},e.pendingDataChangesNow[t][r]={},e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o]=i})).addCase(re,((e,a)=>{const t=a.payload.bcName,o={...(e.pendingDataChanges[a.payload.bcName]||{})[a.payload.cursor]||{}||{},...a.payload.dataItem},n=a.payload.bcUrl;e.pendingDataChanges[a.payload.bcName]=e.pendingDataChanges[a.payload.bcName]??{},e.pendingDataChanges[a.payload.bcName][a.payload.cursor]=o;const i=(e.pendingDataChangesNow[a.payload.bcName]||{})[a.payload.cursor]||{}||{};e.pendingDataChangesNow[a.payload.bcName]=e.pendingDataChangesNow[a.payload.bcName]??{},e.pendingDataChangesNow[a.payload.bcName][a.payload.cursor]={...i,...a.payload.dataItem};const r=e.pendingValidationFailsFormat===La.target,s=Qt(o,(a=>!!e.rowMeta[t]?.[n]?.fields.find((e=>e.required&&e.key===a))));r?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][a.payload.cursor]=s):e.pendingValidationFails=s})).addCase(se,((e,a)=>{const t={...e.pendingDataChanges[a.payload.bcName]},o={...e.pendingDataChangesNow[a.payload.bcName]};a.payload.cursors.forEach(((e,n)=>{t[e]=a.payload.dataItems[n],o[e]=a.payload.dataItems[n]})),e.pendingDataChanges[a.payload.bcName]=t,e.pendingDataChangesNow[a.payload.bcName]=o})).addCase(Se,((e,a)=>{const t={...e.pendingDataChanges};a.payload.bcNames.forEach((e=>{const a={};Object.keys(t[e]||{}).forEach((e=>{a[e]={id:e,_associate:!1}})),t[e]=a}));const o=e.pendingValidationFailsFormat===La.target,n=e.pendingValidationFails?{...e.pendingValidationFails}:{};o&&a.payload.bcNames.forEach((e=>{n[e]={}})),e.pendingDataChanges=t,e.pendingValidationFails=o?n:Yt.pendingValidationFails})).addCase(Me,((e,a)=>{})).addCase(Ve,((e,a)=>{})).addCase(G,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(W,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(H,((e,a)=>{const{bcName:t,bcUrl:o,entityError:n}=a.payload,i={};n&&Object.entries(n.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o].errors=i})).addCase(fe,((e,a)=>{const{bcName:t,bcUrl:o,entityError:n}=a.payload,i={};n&&Object.entries(n.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o].errors=i})).addCase(Y,((e,a)=>{const{bcName:t,bcUrl:o,entityError:n}=a.payload,i={};n&&Object.entries(n.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[t]=e.rowMeta[t]??{},e.rowMeta[t][o].errors=i})).addCase(Q,((e,a)=>{const t=a.payload.bcName,o=a.payload.cursor,n=e.pendingValidationFailsFormat===La.target;e.pendingDataChanges[t]=e.pendingDataChanges[t]??{},e.pendingDataChanges[t][o]={},e.pendingDataChangesNow[t]=e.pendingDataChangesNow[t]??{},e.pendingDataChangesNow[t][o]={},n?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][o]={}):e.pendingValidationFails=Yt.pendingValidationFails,e.handledForceActive[t]=e.handledForceActive[t]??{},e.handledForceActive[t][o]={}})).addCase(he,((e,a)=>{const{bcName:t,cursor:o}=a.payload,n=e.pendingValidationFailsFormat===La.target;e.pendingDataChanges[t]=e.pendingDataChanges[t]??{},e.pendingDataChanges[t][o]={},e.pendingDataChangesNow[t]=e.pendingDataChangesNow[t]??{},e.pendingDataChangesNow[t][o]={},n?(e.pendingValidationFails=e.pendingValidationFails??{},e.pendingValidationFails[t]=e.pendingValidationFails[t]??{},e.pendingValidationFails[t][o]={}):e.pendingValidationFails=Yt.pendingValidationFails,e.handledForceActive[t]=e.handledForceActive[t]??{},e.handledForceActive[t][o]={}})).addCase(Fe,((e,a)=>{const t={...e.pendingDataChanges},o=e.pendingDataChangesNow;for(const n in e.pendingDataChanges)a.payload&&!a.payload.bcNames.includes(n)||(t[n]={},o[n]={});const n=e.pendingValidationFailsFormat===La.target;let i=e.pendingValidationFails?{...e.pendingValidationFails}:{};n&&(a.payload?.bcNames?.length>0?a.payload.bcNames.forEach((e=>{i[e]={}})):i=Yt.pendingValidationFails),e.pendingDataChanges=t,e.pendingDataChangesNow=o,e.pendingValidationFails=n?i:Yt.pendingValidationFails})).addCase(Xe,(e=>{e.pendingValidationFails=Yt.pendingValidationFails})).addCase(de,((e,a)=>{const{bcName:t,calleeBCName:o,calleeWidgetName:n,associateFieldKey:i,assocValueKey:r,active:s,isFilter:c,type:d,widgetName:l}=a.payload;e.popupData={widgetName:l,type:d,bcName:t,calleeBCName:o,calleeWidgetName:n,associateFieldKey:i,assocValueKey:r,active:s,isFilter:c}})).addCase(le,((e,a)=>{const t=e.widgets?.find((e=>e.name===a.payload.widgetName))?.bcName;e.popupData={type:"file-upload",bcName:t,calleeBCName:t}})).addCase(ue,((e,a)=>{e.pickMap=a.payload.map})).addCase(me,(e=>{e.pickMap=null})).addCase(pe,(e=>{e.popupData={},e.popupData.bcName=null})).addCase(je,((e,a)=>{e.selectedRow={widgetName:a.payload.widgetName,rowId:a.payload.rowId}})).addCase(Be,((e,a)=>{e.selectedRow=null})).addCase(F,((e,a)=>{a.payload.isTab||(e.pendingDataChanges=Yt.pendingDataChanges,e.pendingDataChangesNow=Yt.pendingDataChangesNow),e.popupData=Yt.popupData,e.selectedRow=Yt.selectedRow})).addCase(qe,((e,a)=>{e.systemNotifications=e.systemNotifications??[],e.systemNotifications.push({type:a.payload.type,message:a.payload.message,id:e.systemNotifications?.length})})).addCase(Le,((e,a)=>{e.systemNotifications=e.systemNotifications??[],e.systemNotifications=e.systemNotifications.filter((e=>e.id!==a.payload.id))})).addCase(Je,((e,a)=>{e.error=a.payload.error})).addCase(Ne,((e,a)=>{e.modalInvoke=a.payload})).addCase(Qe,((e,a)=>{e.modalInvoke=null})).addCase(Ye,(e=>{e.error=null})).addCase(X,(e=>{e.selectedRow=null})).addCase(wa,((e,a)=>{const{bcName:t,dataItems:o}=a.payload,n={};e.selectedRows[t]=e.selectedRows[t]??[],e.selectedRows[t].forEach((e=>{n[e.id]=e}));const i=o,r=[];o.forEach(((e,a)=>{n[e.id]&&(i[a]={...n[e.id],...e},r.push(e.id))})),e.selectedRows[t]=e.selectedRows[t].filter((e=>!r.includes(e.id))),e.selectedRows[t].splice(0,0,...o)})).addCase(va,((e,a)=>{const{bcName:t,ids:o}=a.payload;e.selectedRows[t]=e.selectedRows[t]??[],e.selectedRows[t]=e.selectedRows[t].filter((e=>!o.includes(e.id)))})).addCase(Ca,((e,a)=>{const{bcName:t}=a.payload;delete e.selectedRows[t]})).addCase(Da,((e,a)=>{const{bcName:t,operationType:o,postInvoke:n}=a.payload;e.pendingPostInvoke[t]=e.pendingPostInvoke[t]??{},e.pendingPostInvoke[t][o]=n})).addCase(Fa,((e,a)=>{const{bcName:t,operationType:o}=a.payload;e.pendingPostInvoke[t]&&delete e.pendingPostInvoke[t][o]})),dataInitialState:{},initialDepthDataState:{},initialRouterState:mt,initialScreenState:{screenName:"",bo:{activeBcName:"",bc:{}},cachedBc:{},views:[],primaryView:"",primaryViews:null,filters:{},sorters:{}},initialSessionState:{devPanelEnabled:!1,activeRole:null,roles:null,firstName:"",lastName:"",login:"",debugMode:!1,exportStateEnabled:!1,active:!1,logout:!1,loginSpin:!1,errorMsg:null,screens:[],pendingRequests:[],notifications:[],isMetaRefreshing:!1},initialViewState:Yt});function Zt(e,a,t,n,i){const r=Object.values(st).includes(a?.type),s=[];return a&&s.push(X({bcName:i,postInvoke:a,widgetName:e})),r&&s.push(ee({bcName:i,operationType:n,widgetName:e,postInvokeConfirm:a})),t&&s.push(Z({bcName:i,operationType:n,widgetName:e,preInvoke:t})),s.map((e=>o(e)))}const eo=(e,a,t,n)=>{const{timeout:i=5e3,timeoutMaxRequests:s=5}=t,{successCondition_fieldKey:c,successCondition_value:d}=t,l=Math.floor(+i/+s);return((e,a,t)=>{const o=a.screen.bo.bc[e],n=a.router.bcPath?.includes(`${e}/${o.cursor}`),i=wt(e,n,a),r={_page:o.page??1,_limit:o.limit??5,...Et(a.screen.filters[e]||[]),...Pt(a.screen.sorters[e])};return t.fetchBcData(a.screen.screenName,i,r)})(n,e,a).pipe(r((i=>((e,a,t)=>e.some((e=>e[a]===t)))(i.data,c,d)?o(i):o(null).pipe(m(l),r((()=>eo(e,a,t,n)))))),y(+i))},ao=e=>a=>{const t=a.screen.bo.bc,o=((e,a)=>{const t=[a];let o=e[a]?.parentName;for(;o;)t.push(o),o=e[o]?.parentName;return t.reverse()})(t,e);return o.every((e=>!1===t[e]?.loading&&t[e]?.cursor))};const to=[401,409,418,500],oo={401:"Invalid credentials",403:"Access denied"},no=[e=>A.match(e)&&!e.payload.isTab,O];function io(e,a,n,s,c=(e=>!0)){return e.pipe(i(t(...a)),i(c),r((()=>(n?.(),o(s)))),b(1))}const ro=e=>{const{bcName:a,widgetName:t}=e.view.popupData??{};return a||(t?e.view.widgets.find((e=>e.name===t))?.bcName:void 0)};const so=(e,a)=>{const t=e[0]?.id,o=!a||!e?.some((e=>e.id===a));return{cursor:o?t:a,updatedCursor:o}},co=(e,a,t,i)=>{const{bcName:r}=e.payload,s=M.match(e)?e.payload.keepDelta:void 0,{cursor:c,updatedCursor:d}=so(a,t);return d?o(ne({cursorsMap:{[r]:c},keepDelta:i||s})):n},lo=e=>Xa.includes(e),po=(e,a,t,n,i,r)=>{const{bcName:c,widgetName:d}=e.payload,l=zt(a,r,de.match(e)?c??a.find((e=>e.name===d))?.bcName:void 0),p=Bt(c,a,t,l,i);return s(...Object.entries(p).map((([t,r])=>{const s=a.find((e=>r.includes(e.name)&&jt(e,l,i)));return o(M({bcName:t,widgetName:s?.name??r[0],ignorePageLimit:e.payload?.ignorePageLimit||de.match(e),keepDelta:n||e.payload?.keepDelta}))})))},uo=(e,a,t)=>{const i=[e].map((e=>`${a[e].url}/:id`)),r=Object.keys(t).reduce(((e,t)=>{const o=a[t];return i.some((e=>o.url.includes(e)))&&e.push(o.name),e}),[]);return r.length?o(U({bcNames:r})):n};const mo=t(J);var yo=Object.freeze({__proto__:null,apiErrorEpic:e=>e.pipe(i(ta.match),r((e=>{const{error:a,callContext:t}=e.payload;return a.response?o(oa({statusCode:a.response.status,error:a,callContext:t})):D.isCancel(a)?n:o(Je({error:{type:Wa.NetworkError}}))}))),bcCancelCreateDataEpic:(e,a,{api:t})=>e.pipe(i(mo),i((e=>Ut(xa.OperationTypeCrud.cancelCreate,e.payload,a.value))),r((e=>{const i=a.value,d=i.screen.screenName,l=e.payload.bcName,p=wt(l,!0,i),u=i.screen.bo.bc[l],m=u?.cursor,y={widgetName:e.payload.widgetName},b=i.data[l]?.find((e=>e.id===u.cursor)),g=i.view.pendingDataChanges[l]?.[u.cursor],h=b&&{...g,vstamp:b.vstamp},f={_action:e.payload.operationType},N={[e.payload.bcName]:null};return t.customAction(d,p,h,y,f).pipe(r((e=>{const a=e.postActions?.[0];return s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.cancelCreate})),o(Q({bcName:l,cursor:m})),o(ne({cursorsMap:N})),a?o(X({bcName:l,postInvoke:a,cursor:m,widgetName:y.widgetName})):n)})),c((e=>(console.error(e),s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.cancelCreate})),o(z({bcName:l})),ft(e,y))))))}))),bcDeleteDataEpic:(e,a,{api:t})=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.delete,e.payload,a.value))),r((e=>{const i=e.payload.widgetName,d=a.value,l=e.payload.bcName,p=d.screen.bo.bc[l].cursor,u=wt(l,!0,d),m={widgetName:e.payload.widgetName},y=d.view.pendingValidationFailsFormat===La.target;return t.deleteBcData(d.screen.screenName,u,m).pipe(r((e=>{const a=e.postActions?.[0];return s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.delete})),y?o(Fe({bcNames:[l]})):n,o(M({bcName:l,widgetName:i})),a?o(X({bcName:l,postInvoke:a,cursor:p,widgetName:i})):n)})),c((e=>(console.error(e),s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.delete})),o(z({bcName:l})),ft(e,m))))))}))),bcFetchDataEpic:(e,a,{api:d,utils:l})=>e.pipe(i(t(M,V,de,we,He)),r((t=>{const i=a.value,{widgetName:p=""}=t.payload,{widgets:u,infiniteWidgets:m}=i.view,y=u?.filter((e=>e.bcName===t.payload.bcName)),b=u?.find((e=>e.name===p))??y?.[0];if(!b)return n;if(!t.payload.bcName)return console.warn("No bc value found for refresh operation"),n;const g=t.payload.bcName,h=i.screen.bo.bc[g],{cursor:N,page:w=1}=h,v=(u?.find((e=>e.bcName===g))?.limit||h.limit)??5,C=i.screen.sorters[g];if(de.match(t)&&g===t.payload.calleeBCName)return n;const D=u?.find((e=>e.bcName===b.bcName&&e.type===xa.WidgetTypes.AssocListPopup&&function(e){return e.options?.hierarchy||e.options?.hierarchyFull}(e))),F=i.view.widgets?.find((e=>e.bcName===b.bcName&&e.type===xa.WidgetTypes.AssocListPopup&&e.options?.hierarchyFull)),T=i.router.bcPath?.includes(`${g}/${N}`),I=wt(g,T,i),k={_page:w,_limit:v,...Et(F?[]:i.screen.filters[g]||[]),...Pt(C)};if(we.match(t)){(p&&m?.includes(p)||u?.filter((e=>e.bcName===g))?.find((e=>m?.includes(e.name)))?.name)&&(k._page=1,k._limit=v*w)}V.match(t)&&(k._page=t.payload.from||1,k._limit=(t.payload.to||w-k._page)*v),(M.match(t)&&t.payload.ignorePageLimit||D?.options?.hierarchyFull)&&(k._limit=0);const O=d.createCanceler(),E=io(e,no,O.cancel,B({bcName:g,bcUrl:I})),P=io(e,[Te],O.cancel,B({bcName:g,bcUrl:I}),(e=>{const a=e.payload.bcName;return h.parentName===a})),R=d.fetchBcData(i.screen.screenName,I,k,O.cancelToken).pipe(r((e=>{const a=co(t,e.data,N,!!D),r=o(j({bcName:g,data:e.data,bcUrl:I,hasNext:e.hasNext})),c=o(q({widgetName:p,bcName:g})),d=a=>{if(a.showCondition?.bcName===i.screen.bo.bc[a.bcName]?.parentName){let e=i.screen.bo.bc[a.showCondition?.bcName]?.parentName,t=e===g;for(;!t&&e;)e=i.screen.bo.bc[e]?.parentName,t=e===g;if(t)return!0}const t=g===a.showCondition?.bcName?e.data:i.data[a.showCondition?.bcName],o=t?so(t,i.screen.bo.bc[a.showCondition?.bcName]?.cursor).cursor:null;return $t(a.showCondition,o,t,i.view.pendingDataChanges)};if(!function(e,a,t,o,n){const i=a.reduce(((e,a)=>a.bcName?(Array.isArray(e[a.bcName])||(e[a.bcName]=[]),e[a.bcName].push(a),e):e),{}),r=Object.keys(i),s=r.includes(e),c=e=>!!i[e]?.some((e=>{const a=o?.bcName===e.bcName;return n(e)&&!lo(e.type)||a})),d=a=>!!i[a]?.some((a=>a.showCondition.bcName===e));if(s&&c(e)||d(e))return!0;const l=a=>{const o=`${t[e].url}/:id`;return t[a].url.includes(o)};return r.some((a=>!!l(a)&&(c(a)||d(e))))}(g,u,i.screen.bo.bc,i.view.popupData,d))return s(a,r,c);const m=e.data?.length?po(t,u,i.screen.bo.bc,!!D,d,l?.getInternalWidgets):n,y=uo(g,i.screen.bo.bc,i.data);return s(a,y,r,c,m)})),c((e=>(console.error(e),s(o(B({bcName:t.payload.bcName,bcUrl:I})),ft(e))))));return f(E,P,R)}))),bcFetchRowMetaRequestEpic:(e,a,{api:t})=>e.pipe(i(q.match),r((n=>{const i=a.value,r=i.screen.screenName,l=n.payload.bcName,p=i.screen.bo.bc[l].cursor??"",u=wt(l,!0,i)??"",m=t.createCanceler(),y=io(e,no,m.cancel,W({bcName:l})),b=io(e,[Te],m.cancel,W({bcName:l}),(e=>{const a=e.payload.bcName;return i.screen.bo.bc[l].parentName===a})),g=t.fetchRowMeta(r,u,void 0,m.cancelToken).pipe(d((e=>L({bcName:l,rowMeta:e,bcUrl:u,cursor:p}))),c((e=>(console.error(e),s(o(W({bcName:l})),ft(e))))));return f(y,b,g)}))),bcLoadMoreEpic:(e,a,{api:t})=>e.pipe(i($.match),r((n=>{const i=a.value,d=n.payload.bcName,l=i.screen.bo.bc[d],{cursor:p,page:u}=l,m=i.view.widgets.find((e=>e.bcName===d))?.limit||l.limit,y=i.router.bcPath?.includes(`${d}/${p}`),b=wt(d,y,i),g=i.screen.filters[d]||[],h=i.screen.sorters[d],N={_page:u,_limit:m,...Et(g),...Pt(h)},w=t.createCanceler(),v=io(e,no,w.cancel,B({bcName:d,bcUrl:b})),C=t.fetchBcData(i.screen.screenName,b,N,w.cancelToken).pipe(r((e=>{const a=i.data[d]?.map((e=>e.id)),t=[...i.data[d],...e.data.filter((e=>!a.includes(e.id)))];return o(j({bcName:d,data:t,bcUrl:b,hasNext:e.hasNext}))})),c((e=>(console.error(e),s(o(B({bcName:d,bcUrl:b})),ft(e))))));return f(v,C)}))),bcNewDataEpic:(e,a,{api:t})=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.create,e.payload,a.value))),r((e=>{const i=a.value,d=e.payload.bcName,l=wt(d,!1,i)??"",p={widgetName:e.payload.widgetName},u={_action:e.payload.operationType};return t.newBcData(i.screen.screenName,l,p,u).pipe(r((a=>{const t=a.row,r={id:null,vstamp:-1};a.row.fields.forEach((e=>{r[e.key]=e.currentValue}));const c=a.postActions?.[0],p=r.id;return s(o(Na({bcName:d,operationType:xa.OperationTypeCrud.create})),o(K({bcName:d,dataItem:r,bcUrl:l})),o(L({bcName:d,bcUrl:`${l}/${p}`,rowMeta:t,cursor:p})),o(re({bcName:d,bcUrl:wt(d,!0,i)??"",cursor:p,dataItem:{id:p}})),o(je({widgetName:e.payload.widgetName,rowId:p})),c?o(X({bcName:d,postInvoke:c,cursor:p,widgetName:e.payload.widgetName})):n)})),c((e=>(console.error(e),s(o(Na({bcName:d,operationType:xa.OperationTypeCrud.create})),o(G({bcName:d})),ft(e,p))))))}))),bcSaveDataEpic:(e,a,{api:t,utils:d})=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.save,e.payload,a.value))),r((e=>{const i=a.value,l=e.payload.bcName,p=wt(l,!0,i)??"",u=e.payload.widgetName,m=i.screen.bo.bc[l].cursor,y=i.data[l].find((e=>e.id===m)),b=p&&i.view.rowMeta[l]?.[p],g=i.view.widgets.find((e=>e.name===u))?.options,h=Gt(i.view.pendingDataChanges[l]?.[m],b),f=zt(i.view.widgets,d?.getInternalWidgets,ro(i)),N=Object.entries(Bt(l,i.view.widgets,i.screen.bo.bc,f)).map((e=>{const[a,t]=e;return M({bcName:a,widgetName:t[0]})})),w={widgetName:e.payload.widgetName};return t.saveBcData(i.screen.screenName,p,{...h,vstamp:y?.vstamp},w).pipe(r((a=>{const t=a.postActions?.[0],i=a.record;return s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.save})),o(he({bcName:l,cursor:m,dataItem:i})),o(q({widgetName:u,bcName:l})),o(Be()),o(...N),t?o(X({bcName:l,widgetName:u,postInvoke:t,cursor:i.id})):n,e.payload.onSuccessAction?o(e.payload.onSuccessAction):n)})),c((a=>{console.error(a);let t=n;e.payload.onSuccessAction&&!g?.disableNotification&&(t=o(ya({key:"data_autosave_undo",type:"buttonWarningNotification",message:"There are pending changes. Please save them or cancel.",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[Fe({bcNames:[l]})]}}})));let i=null,r=null;const c=a.response?.data;return a.response?.data===Object(a.response?.data)&&(r=c?.error?.entity??r,i=c?.error?.popup?.[0]??i),s(o(Na({bcName:l,operationType:xa.OperationTypeCrud.save})),o(fe({bcName:l,bcUrl:p,viewError:i,entityError:r})),t,ft(a,w))})))}))),bcSelectDepthRecordEpic:e=>e.pipe(i(Ie.match),r((e=>{const{bcName:a,cursor:t,depth:n}=e.payload;return s(o(ie({bcName:a,depth:n,cursor:t})),o(M({bcName:a,depth:n+1,widgetName:"",ignorePageLimit:!0})))}))),bcSelectRecordEpic:(e,a,{utils:t})=>e.pipe(i(Te.match),r((e=>{const{bcName:n,cursor:i}=e.payload,r=a.value.view.widgets,c=a.value.screen.bo.bc,d=zt(a.value.view.widgets,t?.getInternalWidgets,ro(a.value)),l=Object.entries(Bt(n,r,c,d)).map((a=>{const[t,o]=a;return M({bcName:t,widgetName:o[0],ignorePageLimit:e.payload.ignoreChildrenPageLimit,keepDelta:e.payload.keepDelta})}));return s(o(ne({cursorsMap:{[n]:i},keepDelta:e.payload.keepDelta})),o(q({widgetName:"",bcName:n})),l)}))),changeAssociationEpic:(e,a)=>e.pipe(i(ke.match),r((e=>{const t=a.value,n=e.payload.dataItem._associate,i=e.payload.bcName,r=[o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],c=t.view.widgets.find((a=>a.name===e.payload.widgetName)),d=e.payload.bcName===c.bcName,l={bcName:c.bcName,radio:c.options?.hierarchyRadio,fields:c.fields},p=c.options?.hierarchy,u=d?l:p?.find((a=>a.bcName===e.payload.bcName)),m=c.options?.hierarchyGroupSelection,y=c.options?.hierarchyTraverse,b=p?.slice(p.findIndex((a=>a.bcName===e.payload.bcName))+1).map((e=>e.bcName));m&&u.radio&&!n&&r.push(o(Se({bcNames:b})));const g=d?null:p?.find(((a,t)=>p[t+1]?.bcName===e.payload.bcName))||l,h=t.data[g?.bcName]?.find((e=>e.id===t.screen.bo.bc[g?.bcName].cursor));if(g&&y&&n&&(u.radio&&r.push(o(Se({bcNames:[g.bcName]}))),r.push(o(ke({bcName:g.bcName,widgetName:e.payload.widgetName,dataItem:{...h,_associate:!0,_value:h?.[g.assocValueKey||e.payload.assocValueKey]},assocValueKey:e.payload.assocValueKey})))),g&&y&&!n){const a=t.data[e.payload.bcName],n=a.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate)),i=t.view.pendingDataChanges[e.payload.bcName],s=!i||!Object.values(i).find((t=>!0===t._associate&&t.id!==e.payload.dataItem.id&&a.find((e=>e.id===t.id))));n&&s&&r.push(o(ke({bcName:g.bcName,widgetName:e.payload.widgetName,dataItem:{...h,_associate:!1},assocValueKey:e.payload.assocValueKey})))}return s(...r)}))),changeAssociationFullEpic:(e,a)=>e.pipe(i(Ee.match),r((e=>{const t=a.value,n=[],i=e.payload.assocValueKey||t.view.popupData?.assocValueKey,r=e.payload.bcName,c=t.data[r],d=e.payload.dataItem._associate,l=e.payload.depth||1,p=l-1,u=l>1&&c.find((a=>a.id===e.payload.dataItem.parentId)),m=t.view.widgets.find((a=>a.name===e.payload.widgetName)),y=m.options?.hierarchyTraverse,b=m.options?.hierarchyRadio,g=m.options?.hierarchyGroupDeselection,h=c.filter((e=>e.level===l&&(1===e.level||e.parentId===u?.id)));if(b&&g&&1===l)if(d){const a=t.view.pendingDataChanges[r],s=c.find((t=>{if(1===t.level&&t.id!==e.payload.dataItem.id){const e=a?.[t.id];if(e?._associate||!e&&t._associate)return!0}return!1}));s&&n.push(o(Ee({bcName:r,depth:l,widgetName:e.payload.widgetName,dataItem:{...s,_associate:!1},assocValueKey:i})))}else n.push(o(Ae({bcName:r,parentId:e.payload.dataItem.id,depth:l+1,assocValueKey:i,selected:!1})));if(n.push(o(re({bcName:e.payload.bcName,bcUrl:wt(e.payload.bcName,!0,t),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))),p&&y&&d&&n.push(o(Ee({bcName:r,depth:p,widgetName:e.payload.widgetName,dataItem:{...u,_associate:!0,_value:u?.[i]},assocValueKey:i}))),p&&y&&!d){const a=t.view.pendingDataChanges[r],s=!a||!Object.values(a).find((a=>!0===a._associate&&a.id!==e.payload.dataItem.id&&h.find((e=>e.id===a.id)))),c=a&&Object.values(a)?.filter((e=>!1===e._associate)).map((e=>e.id));h.filter((a=>a.id!==e.payload.dataItem.id&&!c?.includes(a.id))).every((e=>!e._associate))&&s&&n.push(o(Ee({bcName:r,depth:p,widgetName:e.payload.widgetName,dataItem:{...u,_associate:!1},assocValueKey:i})))}return s(...n)}))),changeAssociationSameBcEpic:(e,a)=>e.pipe(i(Oe.match),r((e=>{const t=a.value,n=e.payload.bcName,i=[o(re({bcName:n,bcUrl:wt(n,!0,t),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],r=e.payload.dataItem._associate,c=e.payload.depth||1,d=c-1,l=t.view.widgets.find((a=>a.name===e.payload.widgetName)),p=l.options?.hierarchyTraverse,u=c>1?t.depthData[c]?.[n]:t.data[n],m=d?d>1?t.screen.bo.bc[n].depthBc?.[d]?.cursor:t.screen.bo.bc[n].cursor:null,y=m?d>1?t.depthData[d]?.[n]?.find((e=>e.id===m)):t.data[n].find((e=>e.id===m)):null;if(d&&p&&r&&i.push(o(Oe({bcName:n,depth:d,widgetName:e.payload.widgetName,dataItem:{...y,_associate:!0,_value:y?.[e.payload.assocValueKey]},assocValueKey:e.payload.assocValueKey}))),d&&p&&!r){u.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate))&&i.push(o(Oe({bcName:n,depth:d,widgetName:e.payload.widgetName,dataItem:{...y,_associate:!1},assocValueKey:e.payload.assocValueKey})))}return s(...i)}))),changeChildrenAssociationsEpic:(e,a,{api:t})=>e.pipe(i(Pe.match),r((e=>{const t=a.value.data[e.payload.bcName];return o(se({bcName:e.payload.bcName,cursors:t.map((e=>e.id)),dataItems:t.map((a=>({...a,_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))}))),changeChildrenAssociationsSameBcEpic:(e,a)=>e.pipe(i(Re.match),r((e=>{const t=a.value,n=t.depthData[e.payload.depth]?.[e.payload.bcName]||[];return o(se({bcName:e.payload.bcName,cursors:n.map((e=>e.id)),dataItems:n.map((a=>({...a,_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))}))),changeDescendantsAssociationsFullEpic:(e,a)=>e.pipe(i(Ae.match),r((e=>{const t=a.value,n=e.payload.depth,i=t.data[e.payload.bcName],r=(i||[]).filter((a=>a.level===n&&a.parentId===e.payload.parentId)),c=[o(se({bcName:e.payload.bcName,cursors:r.map((e=>e.id)),dataItems:r.map((a=>({...a,_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))];return r.forEach((a=>{i.find((e=>e.parentId===a.id))&&c.push(o(Ae({...e.payload,parentId:a.id,depth:n+1})))})),s(...c)}))),changeLocationEpic:(e,a)=>e.pipe(i(F.match),r((e=>{const t=a.value,{onSuccessAction:i}=e.payload,r=i?o(i):n;if(!t.session.active)return n;if(t.router.type===qa.router)return s(o(Ue(t.router)),r);const c=Ft(t.router.bcPath)||{},d={};Object.entries(c).forEach((e=>{const[a,o]=e,n=t.screen.bo.bc[a];n&&n?.cursor===o||(d[a]=o)}));const l=Object.keys(d).length,p=t.screen.screenName,u=t.session.screens.find((e=>e.defaultScreen))?.name||t.session.screens[0]?.name,m=t.router.type===qa.default?u:t.router.screenName;if(m!==p||e.payload.forceUpdate){const e=t.session.screens.find((e=>e.name===m));return e?s(o(P({screen:e})),l?o(ne({cursorsMap:d})):n,r):o(R({screenName:m}))}const y=t.view.name,b=t.router.viewName,g=b!==y,h=[];if(l&&h.push(o(ne({cursorsMap:d}))),g){const a=b?t.screen.views.find((e=>e.name===b)):Wt(t.screen.primaryView,t.screen.views)??xt(t.screen.primaryViews,t.screen.views)??t.screen.views[0];h.push(o(a?A({...a,isTab:e.payload.isTab}):S({viewName:b})))}return l&&!g&&Object.entries(c).forEach((e=>{const[a,n]=e;t.data[a].find((e=>e.id===n))||h.push(o(we({bcName:a})))})),s(...h,r)}))),changeScreen:(e,a)=>e.pipe(i(P.match),l((e=>{const t=a.value,n=t.router.viewName,i=t.screen.views.find((e=>e.name===n)),r=n?null:Wt(t.screen.primaryView,t.screen.views)??xt(t.screen.primaryViews,t.screen.views),s=i||r||t.screen.views[0];return o(s?A(s):S({viewName:n}))}))),changeViewEpic:(e,a)=>e.pipe(i(A.match),l((e=>{const t=a.value,i=Ft(t.router.bcPath)||{},r={};return Object.entries(i).forEach((e=>{const[a,o]=e,n=t.screen.bo.bc[a];n&&n.cursor===o||(r[a]=o)})),Object.keys(r).length?o(ne({cursorsMap:r})):n}))),clearPendingDataChangesAfterCursorChangeEpic:(e,a)=>e.pipe(i(ne.match),r((e=>{const t=a.value,i=Ft(t.router.bcPath)||{},r={};return Object.entries(i).forEach((e=>{const[a,o]=e,n=t.screen.bo.bc[a];n&&n?.cursor===o||(r[a]=o)})),Object.keys(r).length?o(ne({cursorsMap:r})):n}))),downloadFileByUrlEpic:(e,a)=>e.pipe(i(ea.match),h((e=>{const{url:a}=e.payload,t=document.createElement("a");t.href=a,t.style.display="none",document.body.appendChild(t),setTimeout((()=>{t.click(),document.body.removeChild(t)}),100)})),r((()=>n))),downloadFileEpic:(e,a,{api:t})=>e.pipe(i(Ze.match),h((e=>{const{fileId:a}=e.payload,o=document.createElement("a");o.href=`${t.fileUploadEndpoint}?id=${encodeURIComponent(a)}`,o.style.display="none",document.body.appendChild(o),setTimeout((()=>{o.click(),document.body.removeChild(o)}),100)})),r((()=>n))),drillDownEpic:(e,a)=>e.pipe(i(oe.match),l((e=>{const t=a.value,o=e.payload.url,i=[];switch(e.payload.drillDownType){case xa.DrillDownType.external:window.location.href=o;break;case xa.DrillDownType.externalNew:/^[a-z0-9]+:\/\//i.test(o)&&window.open(o);break;case xa.DrillDownType.relative:window.location.href=`${window.location.origin}/${o}`;break;case xa.DrillDownType.relativeNew:window.open(`${window.location.origin}/${o}`,"_blank");break;case xa.DrillDownType.inner:default:const[a]=o.split("?"),n=new URL(o,window.location.origin),r=n.searchParams.get("filters"),s=n.searchParams.get("sorters");let c={},d={};try{c=JSON.parse(r)??c}catch{r&&console.warn("Failed to parse filters on drilldown"),c={}}try{d=JSON.parse(s)??d}catch{s&&console.warn("Failed to parse sorters on drilldown"),d={}}const l={};Object.keys(t.screen.filters).forEach((e=>{(""===c[e]||c[e])&&(l[e]=!0,i.push(Ke({bcName:e})))}));const p=It(n),u=p.viewName;Object.entries(c).forEach((([e,a])=>{const t=At(a)?.map((e=>({...e,viewName:u})));Mt(t)?.forEach((a=>{l[e]=!0,i.push(We({bcName:e,filter:a}))}))})),Object.entries(d).forEach((([e,a])=>{const t=St(a);i.push(Ge({bcName:e,sorter:t})),l[e]=!0}));(function(e,a,t=[]){const o=[];if(!e&&!a)return null;if(!e)return Object.keys(a);if(!a)return Object.keys(e);const n=Object.keys(a);return n.forEach((n=>{e[n]===a[n]||t.includes(n)||o.push(n)})),Object.keys(e).forEach((e=>{n.includes(e)||o.push(e)})),o})(t.router,p,["params"]).length>0||Object.keys(l).forEach((e=>{i.push(we({bcName:e}))})),i.push(F({location:It(new URL(Dt(a),window.location.origin)),forceUpdate:!0,onSuccessAction:e.payload.onSuccessAction}))}return i.length?s(i):n}))),fileUploadConfirmEpic:(e,a,{api:t})=>e.pipe(i(aa.match),r((e=>{const i=a.value,d=e.payload.isPopup??!0,l=e.payload.bcName??i.view.popupData?.bcName,p=wt(l,!0,i),u=i.view.widgets.find((e=>e.bcName===l))?.name,m=e.payload.fileIds.map((e=>({id:e,_associate:!0,vstamp:0})));return t.associate(i.screen.screenName,p,m,null).pipe(r((e=>{const a=e.postActions?.[0],t=e.preInvoke;return s(o(Q({bcName:l,cursor:null})),o(we({bcName:l})),d?o(pe(null)):n,...Zt(u,a,t,xa.OperationTypeCrud.save,l))})),c((e=>(console.error(e),ft(e)))))}))),getRowMetaByForceActiveEpic:(e,t,{api:d})=>e.pipe(i(re.match),r((e=>{const i=t.value,l=i.view.url,{bcName:p,cursor:u,disableRetry:m}=e.payload;if(i.view.widgets.some((e=>e.bcName===p&&e.type===xa.WidgetTypes.AssocListPopup&&(e.options?.hierarchySameBc||e.options?.hierarchyFull))))return n;const y=i.view.widgets.find((e=>e.name===i.view.popupData?.widgetName&&[xa.WidgetTypes.PickListPopup,xa.WidgetTypes.FlatTreePopup].includes(e.type)))&&!i.session.disableDeprecatedFeatures?.popupCloseAfterChangeData,b=wt(p,!0,i),g=i.view.pendingDataChanges[p]?.[u],h=i.view.pendingDataChangesNow[p]?.[u],f=i.view.handledForceActive[p]?.[u]||{},N=i.data[p]?.find((e=>e.id===u)),w=i.view.rowMeta[p]?.[b]?.fields;let v=null;const C=s(o(pe(null)),o(me(null)),o(Ke({bcName:p}))),D=w?.filter((e=>e.forceActive&&void 0!==g[e.key])).some((e=>{const a=g[e.key]!==f[e.key];return a&&(v=e.key),a})),F=a();return D&&!m?s(o(ua({request:{requestId:F,type:"force-active"}})),d.getRmByForceActive(i.screen.screenName,b,{...g,vstamp:N?.vstamp},h).pipe(r((e=>{const a=[o(ma({requestId:F}))];return i.view.url===l&&a.push(o(ce({rowMeta:e,currentRecordData:N,bcName:p,bcUrl:b,cursor:u}))),y&&a.push(C),s(...a)})),c((e=>{console.error(e);let a=null,t=null;const r=e.response?.data;return e.response?.data===Object(e.response?.data)&&(t=r?.error?.entity,a=r?.error?.popup?.[0]),s(o(ma({requestId:F})),i.view.url===l?s(o(re({bcName:p,bcUrl:wt(p,!0,i),cursor:u,dataItem:{[v]:N?.[v]},disableRetry:!0})),o(H({bcName:p,bcUrl:b,viewError:a,entityError:t}))):n,ft(e))})))):y?C:n}))),handleRouterEpic:(e,a,{api:t})=>e.pipe(i(Ue.match),l((e=>{const a=e.payload.path,o=e.payload.params;return t.routerRequest(a,o).pipe(r((()=>n)),c((e=>(console.error(e),ft(e)))))}))),httpError401Epic:e=>e.pipe(i(oa.match),i((e=>401===e.payload.statusCode)),d((e=>E(null)))),httpError409Epic:(e,a)=>e.pipe(i(oa.match),i((e=>409===e.payload.statusCode)),d((e=>{const a=(e.payload.error.response?.data).error?.popup?.[0]||"";return ya({key:"action_edit_error",message:a,type:"buttonWarningNotification",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"OK"}}})}))),httpError418Epic:(e,a)=>e.pipe(i(oa.match),i((e=>418===e.payload.statusCode)),r((e=>{const{error:t,callContext:i}=e.payload,r=[],c=t.response?.data;if(!c.error.popup)return n;const d={type:Wa.BusinessError,message:c.error.popup[0]};if(r.push(o(Je({error:d}))),c.error.postActions?.[0]){const e=a.value.view.widgets.find((e=>e.name===i.widgetName)),t=e?.bcName;r.push(o(X({bcName:t,postInvoke:c.error.postActions[0],widgetName:e?.name})))}return s(...r)}))),httpError500Epic:(e,a)=>e.pipe(i(oa.match),i((e=>500===e.payload.statusCode)),d((e=>{const a={type:Wa.SystemError,details:e.payload.error.response?.statusText||"",error:e.payload.error};return Je({error:a})}))),httpErrorDefaultEpic:(e,a)=>e.pipe(i(oa.match),i((e=>!to.includes(e.payload.statusCode))),d((e=>{const a={type:Wa.BusinessError,code:e.payload.error.response?.status,details:e.payload.error.response?.data};return Je({error:a})}))),inlinePickListFetchDataEpic:(e,a,{api:t})=>e.pipe(i(_.match),r((n=>{const{bcName:i,searchSpec:s,searchString:d}=n.payload,l=a.value,p=wt(i,!1,l),u=t.createCanceler(),m=io(e,no,u.cancel,B({bcName:i,bcUrl:p})),y=t.fetchBcData(a.value.screen.screenName,p,{[s+".contains"]:d},u.cancelToken).pipe(r((e=>o(Ta({bcName:i,data:e.data,bcUrl:p})))),c((e=>(console.error(e),o(B({bcName:n.payload.bcName,bcUrl:p}))))));return f(m,y)}))),loginByAnotherRoleEpic:(e,a,{api:t})=>e.pipe(i(T.match),i((e=>!!e.payload?.role)),l((e=>{const n=e.payload.role??"",i=n&&n!==a.value.session.activeRole;return t.loginByRoleRequest(n).pipe(r((e=>{const a=[];if(i){const t=e.screens.find((e=>e.defaultScreen))||e.screens[0],o=Wt(t.primary,t.meta.views)??xt(t.primaries,t.meta.views)??t?.meta.views[0];o&&a.push(F({location:It(new URL(o.url,window.location.origin))}))}return s([...a,I({devPanelEnabled:e.devPanelEnabled,activeRole:e.activeRole,roles:e.roles,screens:e.screens,firstName:e.firstName,lastName:e.lastName,login:e.login})])})),c((e=>{console.error(e);const a=e.response?oo[e.response.status]||"Server application unavailable":"Empty server response";return s(o(k({errorMsg:a})),ft(e))})))}))),loginDoneEpic:(e,a)=>e.pipe(i(I.match),l((e=>{const t=a.value;return t.router.type===qa.router?o(Ue(t.router)):o(F({location:Ot(e.payload.defaultUrl??window.location.hash.replace("#","")),forceUpdate:!0}))}))),loginDoneSessionEpic:(e,a)=>e.pipe(i(T.match),l((e=>n))),processPostInvokeConfirmEpic:(e,a)=>e.pipe(i(t(ee,Z)),r((e=>{const{bcName:a,operationType:t,widgetName:i}=e.payload,r=ee.match(e)?e.payload.postInvokeConfirm:e.payload.preInvoke;switch(r.type){case st.confirm:case it.info:case it.error:case st.confirmText:return o(Ne({operation:{bcName:a,operationType:t,widgetName:i},confirmOperation:r}));default:return n}}))),processPostInvokeEpic:(e,a)=>e.pipe(i(X.match),r((e=>{const t=a.value;switch(e.payload.postInvoke.type){case rt.drillDown:return o(oe({...e.payload.postInvoke,route:t.router,widgetName:e.payload.widgetName}));case rt.postDelete:{const a={[e.payload.bcName]:null},n=[ne({cursorsMap:a})];if(t.router.bcPath?.includes(`${e.payload.bcName}/`)){const a=t.router.bcPath.split(e.payload.bcName)[0]||"",o=`/screen/${t.router.screenName}/view/${t.router.viewName}/${a}`;n.push(F({location:It(new URL(o,window.location.origin))}))}else n.push(M({bcName:e.payload.bcName,widgetName:e.payload.widgetName}));return o(...n)}case rt.refreshBC:{const a=t.screen.bo,n=e.payload.postInvoke,i=n.bc,r=a.bc[n.bc],s=e.payload.widgetName||"",c=t.view.infiniteWidgets||[],d=t.view.widgets.some((e=>e.bcName===i&&c.includes(e.name)));return o(d?V({bcName:r?.name,widgetName:s,from:1,to:r?.page}):M({bcName:r?.name,widgetName:s}))}case rt.showMessage:{const a=e.payload.postInvoke;return o(qe({type:a.messageType,message:a.messageText}))}case rt.downloadFile:{const a=e.payload.postInvoke;return o(Ze({fileId:a.fileId}))}case rt.downloadFileByUrl:{const a=e.payload.postInvoke;return o(ea({url:a.url}))}case rt.waitUntil:{const a=e.payload.postInvoke;return o(ga({bcName:e.payload.bcName,postInvoke:a}))}case rt.drillDownAndWaitUntil:{const a=e.payload.postInvoke;return s(o(oe({...e.payload.postInvoke,route:t.router,widgetName:e.payload.widgetName,onSuccessAction:ga({bcName:e.payload.bcName,postInvoke:a})})))}default:return n}}))),refreshMetaAndReloadPageEpic:(e,a)=>e.pipe(i(la.match),l((()=>s(o(sa()),e.pipe(i(I.match),b(1),h((()=>location.reload())),l((()=>n))))))),refreshMetaEpic:(e,a,{api:t})=>e.pipe(i(sa.match),r((()=>{const e=a.value,{activeRole:o}=e.session;return t.refreshMeta().pipe(l((()=>s([ca(),E(null),T({login:"",password:"",role:o})]))),c((e=>s([k(e),da(),ht(e)]))))}))),removeMultivalueTagEpic:(e,a)=>e.pipe(i(ge.match),r((e=>{const t=a.value,{bcName:i,cursor:r,popupBcName:c,associateFieldKey:d}=e.payload,l=t.view.widgets.find((e=>e.bcName===c&&Xa.includes(e.type)));let p=(t?.data[c]||[]).map((e=>{const a=t.view.pendingDataChanges[c]?.[e.id];return{...e,...a}}));const u=p.find((a=>a.id===e.payload.removedItem.id)),m=e.payload.dataItem.map((e=>e.id));let y=[];if(l?.options?.hierarchyGroupDeselection){l?.options?.hierarchyTraverse&&(p=qt(p));const a=p.filter((e=>e.parentId===u?.id));y=[u?.id,...a.filter((e=>m.includes(e.id))).map((e=>e.id))],l?.options?.hierarchyTraverse&&(Lt(a,y),y=p.filter((e=>y.includes(e.id)&&m.includes(e.id))).map((e=>e.id)));const t=p.find((e=>e.id===u?.parentId)),n=p.filter((e=>e.parentId===t?.id)),i=n.every((e=>y.includes(e.id)||!m.includes(e.id)));if(t&&i)if(l?.options?.hierarchyTraverse){const a=[];Lt(n,a);if(a.every((e=>y.includes(e)||!m.includes(e))))return s(o(ge({...e.payload,removedItem:{id:t.id,value:null}})))}else y.push(t.id)}if(l?.options?.hierarchyFull)return o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:r,dataItem:{[d]:e.payload.dataItem.filter((e=>!y.includes(e.id)))}}));const b=t.session.disableDeprecatedFeatures?.secondDataChangeForAssocPopupWhenRemovingTagFromField;if(l?.options?.hierarchy){const a=l?.options?.hierarchy?.find((a=>t.view.pendingDataChanges[a.bcName]?.[e.payload.removedItem.id]))?.bcName??i;return s(b?n:o(re({bcName:a,bcUrl:wt(a,!0,t),cursor:e.payload.removedItem.id,dataItem:{...e.payload.removedItem,_associate:!1}})),o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:r,dataItem:{[d]:e.payload.dataItem}})))}return s(b?n:o(re({bcName:c,bcUrl:wt(c,!0,t),cursor:e.payload.removedItem.id,dataItem:{...e.payload.removedItem,_associate:!1}})),o(re({bcName:i,bcUrl:wt(i,!0,t),cursor:r,dataItem:{[d]:e.payload.dataItem}})))}))),saveAssociationsActiveEpic:(e,a,{api:t})=>e.pipe(i(ye.match),i((e=>a.value.view.popupData?.active)),l((e=>{const i=a.value,d=i.view.popupData?.calleeBCName,l=i.view.popupData?.calleeWidgetName,p=i.view.popupData?.bcName,u=e.payload.bcNames,m=wt(d,!0,i),y=i.view.pendingDataChanges[u[0]]||{},b=u.length?{_bcName:u[u.length-1]}:{};return s(o(fa({bcName:p})),t.associate(i.screen.screenName,m,Object.values(y).filter((e=>e._associate)),b).pipe(r((e=>{const a=e.postActions[0],t=i.view.widgets.find((e=>e.bcName===d));return s(o(Na({bcName:p,operationType:"saveAssociations"})),a?o(X({bcName:d,postInvoke:a,widgetName:t?.name})):n,o(Fe({bcNames:u})),o(we({bcName:d,widgetName:l})))})),c((e=>(console.error(e),o(Na({bcName:p,operationType:"saveAssociations"})))))))}))),saveAssociationsPassiveEpic:(e,a)=>e.pipe(i(ye.match),i((()=>!a.value.view.popupData?.active)),l((e=>{const t=a.value,{calleeBCName:n=e.payload.calleeBcName,associateFieldKey:i=e.payload.associateFieldKey}=t.view.popupData??{},r=t.screen.bo.bc[n].cursor,s=t.data[n].find((e=>e.id===r))[i]??[],c=[];e.payload.bcNames.forEach((e=>{const a=t.view.pendingDataChanges[e]||{};Object.entries(a).forEach((([e,a])=>{c.push(a)}))}));const d=c.filter((e=>!s.find((a=>a.id===e.id))&&e._associate)).map((e=>({id:e.id,options:{},value:e._value}))),l=s.filter((e=>{const a=c.find((a=>a.id===e.id));return!a||!1!==a?._associate})).concat(...d);return o(re({bcName:n,bcUrl:wt(n,!0,t),cursor:r,dataItem:{[i]:l}}))}))),selectScreenFailEpic:e=>e.pipe(i(R.match),d((e=>ya({type:"error",key:"selectScreenFail",message:"Screen is missing or unavailable for your role",options:{messageOptions:{screenName:e.payload.screenName}},duration:15})))),selectTableRowInitEpic:(e,a)=>e.pipe(i(_e.match),r((e=>{const t=[],n=a.value,{rowId:i}=e.payload,r=n.view.widgets.find((a=>a.name===e.payload.widgetName)),c=r?.bcName,d=n.screen.bo.bc[c]?.cursor,l=n.view.selectedRow;return i!==d&&t.push(o(Te({bcName:c,cursor:i}))),l&&i===l.rowId&&r?.name===l.widgetName||t.push(o(je({widgetName:r?.name,rowId:i}))),s(...t)}))),selectViewEpic:(e,a,{utils:t})=>e.pipe(i(A.match),r((e=>{try{const o=a.value;return e.payload.isTab?function(e,a){const t={},o=e.data,n=e.screen.bo.bc,i=e=>!!e&&e in o,r=e=>!!e&&null===n[e]?.cursor,s=e=>!!e&&!!n[e]?.cursor,c=e=>!!n[e]?.parentName,d=zt(e.view.widgets,a);return e.view.widgets.filter((e=>!d.includes(e.name))).forEach((e=>{if(e.bcName&&(!i(e.bcName)||r(e.bcName))){let a=e.bcName,o=n[e.bcName].parentName;for(;o&&(!i(o)||r(o));)a=o,o=n[o].parentName;t[a]||c(a)&&!s(n[a]?.parentName)||(t[a]=e)}})),Object.entries(t).map((([e,a])=>M({widgetName:a.name,bcName:e})))}(o,t?.getInternalWidgets):function(e,a){const t={},o=zt(e.view.widgets,a);return e.view.widgets.filter((e=>!o.includes(e.name))).forEach((a=>{if(a.bcName){let o=a.bcName,n=e.screen.bo.bc[a.bcName].parentName;for(;n;)o=n,n=e.screen.bo.bc[n].parentName;t[o]||(t[o]=a)}})),Object.entries(t).map((([e,a])=>M({widgetName:a.name,bcName:e})))}(o,t?.getInternalWidgets)}catch(e){return console.error(`selectView Epic:: ${e}`),n}}))),selectViewFailEpic:(e,a)=>e.pipe(i(S.match),d((e=>ya({type:"error",key:"selectViewFail",message:"View is missing or unavailable for your role",options:{messageOptions:{viewName:e.payload.viewName}},duration:15})))),sendOperationAssociateEpic:(e,a)=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.associate,e.payload,a.value))),d((e=>{const t=a.value,o=wt(e.payload.bcName,!0,t);return"multiFileUpload"===Vt(t.view.rowMeta[e.payload.bcName]?.[o]?.actions).find((a=>a.type===e.payload.operationType)).subtype?le({widgetName:e.payload.widgetName}):de({bcName:e.payload.bcKey?`${e.payload.bcKey}`:`${e.payload.bcName}Assoc`,calleeBCName:e.payload.bcName,active:!0,calleeWidgetName:e.payload.widgetName})}))),sendOperationEpic:(e,a,{api:t})=>e.pipe(i(J.match),i((e=>Ut("none",e.payload,a.value))),r((e=>{const i=a.value,d=i.screen.screenName,{bcName:l,operationType:p,widgetName:u}=e.payload,m=e.payload.confirmOperation?.type||e.payload.confirm,y=wt(l,!0,i),b=i.screen.bo.bc[l],g=y&&i.view.rowMeta[l]?.[y],h=b.cursor,f=i.data[l]?.find((e=>e.id===b.cursor)),N=i.screen.filters[l],w=i.screen.sorters[l],v=Gt(i.view.pendingDataChanges[l]?.[b.cursor],g),C=f&&{...v,vstamp:f.vstamp},D=i.view.widgets?.find((e=>e.name===u))?.options?.actionGroups?.defaultSave===e.payload.operationType&&F.match(e.payload?.onSuccessAction?.type),T={_action:p,...Et(N),...Pt(w)};m&&(T._confirm=m);const I={widgetName:e.payload.widgetName};return t.customAction(d,y,C,I,T).pipe(r((a=>{const t=a.postActions?.[0],i=a.record,r=a.preInvoke,c=t?.type||"",d=rt.refreshBC===c&&t?.bc===l,m=[rt.waitUntil,rt.drillDownAndWaitUntil].includes(c),y=d||m;return s(o(Na({bcName:l,operationType:p})),D?e?.payload?.onSuccessAction?s(o(Fe({bcNames:[l]})),o(e.payload.onSuccessAction)):n:s(o(Q({bcName:l,cursor:h,dataItem:i})),y?n:o(we({bcName:l})),...Zt(u,t,r,p,l)))})),c((e=>{console.error(e);let a=null,t=null;const n=e.response?.data;return e.response?.data===Object(e.response?.data)&&(t=n?.error?.entity,a=n?.error?.popup?.[0]),s(o(Na({bcName:l,operationType:p})),o(Y({bcName:l,bcUrl:y,viewError:a,entityError:t})),ft(e,I))})))}))),setPendingSendOperationEpic:(e,a)=>e.pipe(i(ha.match),l((o=>e.pipe(i(t(ce,H)),b(1),g(a),d((([e,a])=>{const{operationType:t,widgetName:n}=o.payload,i=a.view.widgets.find((e=>e.name===n))?.bcName,r=wt(i,!0,a),s=r&&a.view.rowMeta[i]?.[r],c=s&&Vt(s.actions),d=c?.find((e=>e.type===t));return d?J({...o.payload,confirmOperation:d.preInvoke,bcKey:d.bcKey}):ya({key:"rowMetaActionMissing",type:"error",message:"Operation not available",options:{messageOptions:{operationType:t}},duration:15})})),c((()=>n)))))),showAllTableRecordsInitEpic:(e,a)=>e.pipe(i($e.match),r((e=>{const t=[],{bcName:n,cursor:i}=e.payload,r=a.value.router;t.push(o(ne({cursorsMap:{[n]:null}})));const c=r.bcPath.slice(0,r.bcPath.indexOf(`${n}/${i}`)),d=kt({...r,bcPath:c});return t.push(o(we({bcName:n}))),t.push(o(F({location:It(new URL(d,window.location.origin))}))),s(...t)}))),showAssocPopupEpic:(e,a)=>e.pipe(i(de.match),i((e=>!(!e.payload.calleeBCName||!e.payload.associateFieldKey))),r((e=>{const{bcName:t,calleeBCName:i}=e.payload,r=a.value,s=r.view.widgets.find((e=>e.bcName===t&&e.type===xa.WidgetTypes.AssocListPopup)),c=r.screen.bo.bc[i]?.cursor,d=r.view.pendingDataChanges[i]?.[c],l=e.payload.associateFieldKey,p=d?.[l];if(!(s&&d&&p&&p)||s.options&&!s.options.hierarchyFull)return n;const u={};p.forEach((e=>{u[e.id]={id:e.id,_associate:!0,_value:e.value}}));const m=r.data[i]?.find((e=>e.id===c)),y=m?.[l]?.map((e=>e.id)),b=p.map((e=>e.id));return y&&y.forEach((e=>{b.includes(e)||(u[e]={id:e,_associate:!1})})),o(se({bcName:t,cursors:Object.keys(u),dataItems:Object.values(u)}))}))),showFileUploadPopupEpic:(e,a)=>e.pipe(i(J.match),i((e=>Ut(xa.OperationTypeCrud.fileUpload,e.payload,a.value))),r((e=>s(o(ne({cursorsMap:{[e.payload.bcName]:null}})),o(le({widgetName:e.payload.widgetName})))))),switchRoleEpic:(e,a)=>e.pipe(i(pa.match),l((e=>s([E(null),T({login:"",password:"",role:e.payload.role})])))),userDrillDownChangeCursorsEpic:(e,a)=>e.pipe(i(ae.match),d((e=>{const t=a.value,o=t.view.widgets.find((a=>a.name===e.payload.widgetName)),n=t.screen.bo.bc[o?.bcName]?.cursor;return n!==e.payload.cursor?ne({cursorsMap:{[e.payload.bcName]:e.payload.cursor}}):ra}))),userDrillDownEpic:(e,a,{api:t})=>e.pipe(i(ae.match),l((e=>{const i=a.value,{bcName:d,fieldKey:l,cursor:p}=e.payload,u=wt(d,!0,i);return t.fetchRowMeta(i.screen.screenName,u).pipe(r((e=>{const a=e.fields.find((e=>e.key===l)),t=i.router,r=i.view.widgets.find((e=>e.bcName===d))?.fields.find((e=>e.key===l))?.drillDownKey,c=i.data[d]?.find((e=>e.id===p))?.[r];return c||a?.drillDown||a?.drillDown!==t.path?s(a?.drillDownType!==xa.DrillDownType.inner?o(L({bcName:d,rowMeta:e,bcUrl:u,cursor:p})):n,o(te({bcName:d,bcUrl:u,cursor:p})),o(oe({url:c||a.drillDown,drillDownType:a.drillDownType,route:t}))):n})),c((e=>(console.error(e),ft(e)))))}))),waitUntilEpic:(e,a,{api:t})=>e.pipe(i(ga.match),r((m=>{const{bcName:y,postInvoke:g}=m.payload,{successCondition_bcName:h}=g,f=h??y,N=(e,a)=>{const t="progress"===e,i=!t;return t||i&&a?o(de({type:"waitUntil",bcName:y,calleeBCName:y,options:{status:e,message:a}})):i&&!a?o(pe({bcName:y})):n},w=e=>a.value.screen.bo.bc[e]?o(we({bcName:e})):n,v=((e,a)=>{const t=e.value;return ao(a)(t)?o(t):e.pipe(i(ao(a)),b(1))})(a,f).pipe(l((a=>eo(a,t,g,f).pipe(p(e.pipe(i((e=>pe.match(e))))),d((e=>e.data)),r((e=>s(w(f),N("success",g.successMessage)))),c((e=>e instanceof u?s(w(f),N("timeout",g.timeoutMessage)):s(o(pe({bcName:y})),ft(e))))))));return s(N("progress",g.inProgressMessage),v)})))});function bo(e){if(e.data?.redirectUrl){let a=e.data.redirectUrl;return a.startsWith("/")||a.match("^http(.?)://")||(a=`${window.location.pathname}#/${a}`),a.startsWith("/")&&!a.startsWith("//")&&(a=`${window.location.origin}${a}`),window.location.replace(a),!1}return!0}const go=(e,a)=>({...a,data:void 0!==a?.data?a.data:e});class ho{instance=D.create({responseType:"json",headers:{Pragma:"no-cache","Cache-Control":"no-cache, no-store, must-revalidate"}});maxUrlLength=1/0;filterTypes=[];constructor(e,a,t){this.instance=e,this.maxUrlLength=a??this.maxUrlLength,this.filterTypes=t??this.filterTypes}request(e,a,t){let o=t?.params,n=t?.data;const i={...t};delete i.params,delete i.data;let r=bt(a,o);let s=e;if(r.length>this.maxUrlLength&&this.filterTypes.length){if("object"==typeof o&&null!==o&&Object.keys(o).some((e=>this.filterTypes.includes(e.split(".")[1])))&&("object"==typeof n&&null!==n||void 0===n)){s="get"===e.toLowerCase()?"post":e,o={...o};const t={};Object.entries(o).forEach((([e,a])=>{this.filterTypes.includes(e.split(".")[1])&&(t[e]=a,delete o[e])}));const i=Object.keys(t).length?At(bt("",t)):void 0;n={...n,filter:i},r=bt(a,o)}}return N(this.instance.request({method:s,data:n,url:r,...i})).pipe(w(bo))}get(e,a,t){return this.request("get",e,a).pipe(d((e=>e.data)))}put(e,a,t,o){return this.request("put",e,go(a,o)).pipe(d((e=>e.data)))}post(e,a,t,o){return this.request("post",e,go(a,t)).pipe(d((e=>e.data)))}delete(e,a,t,o){return this.request("delete",e,go(a,t)).pipe(d((e=>e.data)))}}class fo{api$;constructor(e,a,t){this.api$=new ho(e,a,t)}routerRequest(e,a){return this.api$.request("get",e,{params:a}).pipe(d((e=>e.data)))}fetchBcData(e,a,t={},o){const n=0===t._limit,i={...t,_page:n?void 0:"_page"in t?t._page:1,_limit:n?void 0:"_limit"in t?t._limit:30};return this.api$.request("get",Tt`data/${e}/`+a,{params:i,cancelToken:o}).pipe(d((e=>e.data)))}fetchBcDataAll(e,a,t={}){let o=1;return this.fetchBcData(e,a,{...t,_page:o}).pipe(v((i=>i.hasNext?this.fetchBcData(e,a,{...t,_page:++o}):n)),C(((e,a)=>[...e,...a.data]),[]))}fetchRowMeta(e,a,t,o){return this.api$.request("get",Tt`row-meta/${e}/`+a,{params:t,cancelToken:o}).pipe(d((e=>e.data.data.row)))}newBcData(e,a,t,o){return this.api$.request("get",Tt`row-meta-new/${e}/`+a,{params:o}).pipe(d((e=>e.data.data)))}saveBcData(e,a,t,o,n){return this.api$.request("put",Tt`data/${e}/`+a,{data:{data:t},params:n}).pipe(d((e=>e.data.data)))}deleteBcData(e,a="",t,o){return this.api$.request("delete",Tt`data/${e}/`+a,{params:o}).pipe(d((e=>e.data.data)))}customAction(e,a,t,o,n){return this.api$.request("post",Tt`custom-action/${e}/`+a,{data:{data:t||{}},params:n}).pipe(d((e=>e.data.data)))}associate(e,a,t,o){const n=Array.isArray(t)?t.map((e=>({id:e.id,vstamp:e.vstamp,associated:e._associate}))):t;return this.api$.request("post",Tt`associate/${e}/`+a,{data:n,params:o}).pipe(d((e=>e.data.data)))}getRmByForceActive(e,a,t,o,n){return this.api$.request("post",Tt`row-meta/${e}/`+(a??""),{data:{data:{...t,changedNow_:o}},params:n}).pipe(d((e=>e.data.data.row)))}get fileUploadEndpoint(){const e=this.api$.instance;return e.defaults.baseURL?e.defaults.baseURL.endsWith("/")?`${e.defaults.baseURL}file`:`${e.defaults.baseURL}/file`:"/file"}refreshMeta(){return this.api$.request("get",Tt`bc-registry/refresh-meta`).pipe(d((e=>e.data)))}loginByRoleRequest(e){return this.api$.request("get",Tt`login?role=${e}`).pipe(d((e=>e.data)))}createCanceler(){let e;const a=new D.CancelToken((a=>{e=a}));return{cancel:e,cancelToken:a}}}function No(e,a,t){const o=e.view.pendingDataChanges,n=o[a]?.[t];return n&&!Object.keys(n).includes("_associate")&&Object.values(n).length>0}const wo=[...Xa,"FormPopup"];const vo={autosave:({getState:e,dispatch:a})=>t=>o=>{const n=e(),i=J.match(o),r=i&&ot.includes(o.payload.operationType),s=_e.match(o),c=!(i&&o.payload.operationType===xa.OperationTypeCrud.save),d=i&&o.payload.bcName,l=Object.keys(n.view.pendingDataChanges).filter((e=>e!==d)).filter((e=>{return a=n,t=e,Object.keys(a.view.pendingDataChanges?.[t]??{}).some((e=>No(a,t,e)));var a,t})).length>0,p=r&&l,u=n.view.selectedRow,m=u&&s&&(u.widgetName!==o.payload.widgetName||u.rowId!==o.payload.rowId),y=n.view.widgets?.find((e=>e?.options?.actionGroups?.defaultSave)),b=n.screen.bo.bc?.[y?.bcName]?.cursor,g=n.view?.pendingDataChanges?.[y?.bcName]?.[b];if(y&&F.match(o)&&Object.keys(g||{}).length>0)return t(J({bcName:y.bcName,operationType:(y.options?.actionGroups).defaultSave,widgetName:y.name,onSuccessAction:o}));return c&&(p||m)?function(e,a,t){const o=a.getState(),n=a.dispatch,i=o.view.pendingDataChanges,r=Object.keys(i),s=e.payload?.bcName&&No(o,e.payload.bcName,o.screen.bo.bc[e.payload.bcName]?.cursor)?r.findIndex((a=>a===e.payload?.bcName)):r.findIndex((e=>No(o,e,o.screen.bo.bc[e]?.cursor))),c=r[s];if(s>-1&&r.splice(s,1),c){r.forEach((e=>{const a=o.view.widgets?.find((a=>a.bcName===e)),t=o.screen.bo.bc[e]?.cursor;No(o,e,t)&&n(J({bcName:e,operationType:xa.OperationTypeCrud.save,widgetName:a?.name}))}));const a=o.view.widgets?.find((e=>e.bcName===c));return t(J({bcName:c,operationType:xa.OperationTypeCrud.save,widgetName:a?.name,onSuccessAction:e}))}return t(e)}(o,{getState:e,dispatch:a},t):t(o)},requiredFields:({getState:e,dispatch:a})=>t=>o=>{const n=e();if(J.match(o)){const{bcName:e,operationType:i,widgetName:r,confirmOperation:s}=o.payload,c=n.screen.bo.bc[e]?.cursor;if(c){const d=wt(e,!0,n),l=n.data[e]?.find((e=>e.id===c)),p=d&&n.view.rowMeta[e]?.[d],u=n.view.pendingDataChanges[e]?.[c],m=n.view.widgets.find((e=>e.name===r)),y=s?.widget,b=y&&n.view.widgets.find((e=>e.name===y));if(function(e,a){let t=!1;if(!a)return console.error('rowMeta is missing in the middle of "sendOperation" action'),t;return t=Vt(a).some((a=>a.type===e&&a.autoSaveBefore)),t}(i,p?.actions)){const i=[],s={},d=b&&b.bcName===e,y=n.view.popupData?.widgetName;n.view.widgets.filter((e=>e.bcName===m?.bcName&&(!wo.includes(e.type)||e.name===y))).forEach((e=>{const a=e.showCondition?.bcName,t=$t(e.showCondition,n.screen.bo.bc[a]?.cursor||"",n.data[a],n.view.pendingDataChanges),o=[...e.fields];e.fields&&e.fields.forEach((e=>{at(e)&&e.fields.forEach((e=>o.push(e)))})),o.forEach((e=>{const a=p?.fields?.find((a=>a.key===e.key)),o=d&&b?.fields?.find((a=>a.key===e.key));s[e.key]||!a||o||(s[e.key]=a,(!t||e.hidden||e.type===xa.FieldType.hidden||a.hidden)&&i.push(e.key))}))}));const g=function(e,a,t){const o={};return t.forEach((t=>{const n=e?.[t.key],i=a?.[t.key],r=void 0!==i?i:n;let s=!1;(null==r||""===r||Array.isArray(r)&&!r.length||r&&"object"==typeof r&&!Object.keys(r).length)&&(s=!0),t.required&&s&&(o[t.key]=Array.isArray(r)?[]:null)})),Object.keys(o).length>0?o:null}(l,u,Object.values(s));g&&Qa.includes(m?.type)&&a(_e({widgetName:r,rowId:c}));const h=g&&i.filter((e=>e in g)),f=h?.length;return f&&a(ya({key:"requiredFieldHidden",type:"error",message:1===f?"The form contains a required field that is not available for completion. Contact your administrator.":"The form contains required fields that are not available for completion. Contact your administrator.",duration:0,options:{messageOptions:{value:h.join('", "')}}})),t(g?re({bcName:e,bcUrl:wt(e,!0,n),cursor:c,dataItem:g}):o)}if(function(e){return[xa.OperationTypeCrud.delete,xa.OperationTypeCrud.cancelCreate,"cancel"].includes(e)}(i))return t(o);if(function(e,a){if(e.view.pendingValidationFailsFormat!==La.target&&e.view.pendingValidationFails&&Object.keys(e.view.pendingValidationFails).length)return!0;let t=!1;const o=e.view.pendingValidationFails?.[a],n=o&&Object.keys(o);if(!n)return!1;let i=0;for(;i<n.length;i++)if(Object.keys(o[n[i]]).length){t=!0;break}return t}(n,e))return t(ya({key:"requiredFieldsMissing",type:"buttonWarningNotification",message:"Required fields are missing",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[Fe(null),Xe(null)]}}}))}}return t(o)},preInvoke:({getState:e})=>a=>t=>{if(J.match(t)){const o=e();if((o.session.pendingRequests?.filter((e=>"force-active"===e.type))?.length??0)>0)return a(ha(t.payload));const{operationType:n,widgetName:i,confirm:r}=t.payload,s=o.view.widgets.find((e=>e.name===i))?.bcName,c=wt(s,!0,o),d=c&&o.view.rowMeta[s]?.[c],l=d&&Vt(d.actions),p=l?.find((e=>e.type===n))?.preInvoke;return a(p&&!r?Z({bcName:s,operationType:n,widgetName:i,preInvoke:p}):t)}return a(t)},popup:({getState:e})=>a=>t=>{if(de.match(t)){const o=e(),n=t.payload.bcName,i=o.view.widgets.find((e=>e.bcName===n))?.options?.displayedValueKey,r=t.payload.assocValueKey??i;return a(i?de({...t.payload,assocValueKey:r}):t)}return a(t)}};var Co=xa.DrillDownType,Do=xa.FieldType,Fo=xa.OperationTypeCrud,To=xa.PositionTypes,Io=xa.RecordSnapshotState,ko=xa.WidgetTypes;export{fo as Api,$a as AppNotificationType,Wa as ApplicationErrorType,Co as DrillDownType,Do as FieldType,ct as FilterType,st as OperationPostInvokeConfirmType,rt as OperationPostInvokeType,it as OperationPreInvokeType,Fo as OperationTypeCrud,tt as PaginationMode,La as PendingValidationFailsFormat,Xa as PopupWidgetTypes,To as PositionTypes,Io as RecordSnapshotState,qa as RouteType,Qa as TableLikeWidgetTypes,ko as WidgetTypes,Ia as actions,ot as coreOperations,yo as epics,ut as interfaces,Za as isCustomWidget,et as isCustomWidgetConfiguration,nt as isOperationGroup,lt as isViewNavigationCategory,pt as isViewNavigationGroup,dt as isViewNavigationItem,at as isWidgetFieldBlock,vo as middlewares,Xt as reducers,Ht as utils};
2
2
  //# sourceMappingURL=index.js.map