@cxbox-ui/core 1.37.2-alpha.1 → 1.37.2-alpha.11

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.
@@ -1,2 +1,2 @@
1
- var e=Object.defineProperty,a=Object.defineProperties,o=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,s=(a,o,t)=>o in a?e(a,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[o]=t,n=(e,a)=>{for(var o in a||(a={}))r.call(a,o)&&s(e,o,a[o]);if(t)for(var o of t(a))i.call(a,o)&&s(e,o,a[o]);return e},c=(e,t)=>a(e,o(t)),l=(a,o)=>{for(var t in o)e(a,t,{get:o[t],enumerable:!0})},d=(e,a,o)=>(s(e,"symbol"!=typeof a?a+"":a,o),o),p={};l(p,{createDataReducerBuilderManager:()=>ia,createDepthDataReducerBuilderManager:()=>na,createRouterReducerBuilderManager:()=>fo,createScreenReducerBuilderManager:()=>yo,createSessionReducerBuilderManager:()=>No,createViewReducerBuilderManager:()=>Eo,dataInitialState:()=>ra,initialDepthDataState:()=>sa,initialRouterState:()=>mo,initialScreenState:()=>vo,initialSessionState:()=>go,initialViewState:()=>Co});var u={};l(u,{addNotification:()=>ea,addPendingRequest:()=>Xe,apiError:()=>Le,bcAddFilter:()=>ke,bcAddSorter:()=>Oe,bcCancelPendingChanges:()=>me,bcChangeCursors:()=>G,bcChangeDepthCursor:()=>H,bcChangePage:()=>Se,bcDeleteDataFail:()=>S,bcFetchDataFail:()=>x,bcFetchDataPages:()=>M,bcFetchDataRequest:()=>D,bcFetchDataSuccess:()=>I,bcFetchRowMeta:()=>T,bcFetchRowMetaFail:()=>A,bcFetchRowMetaSuccess:()=>k,bcForceUpdate:()=>le,bcLoadMore:()=>P,bcNewData:()=>j,bcNewDataFail:()=>R,bcNewDataSuccess:()=>O,bcRemoveAllFilters:()=>je,bcRemoveFilter:()=>Ae,bcRemoveSorter:()=>Re,bcSaveDataFail:()=>ne,bcSaveDataSuccess:()=>se,bcSelectDepthRecord:()=>be,bcSelectRecord:()=>fe,bulkUploadFiles:()=>Ke,changeAssociation:()=>ve,changeAssociationFull:()=>ye,changeAssociationSameBc:()=>he,changeAssociations:()=>re,changeChildrenAssociations:()=>ge,changeChildrenAssociationsSameBc:()=>Ne,changeDataItem:()=>J,changeDataItems:()=>z,changeDescendantsAssociationsFull:()=>we,changeLocation:()=>f,clearValidationFails:()=>_e,closeConfirmModal:()=>$e,closeNotification:()=>Te,closeViewError:()=>Be,closeViewPopup:()=>ee,downloadFile:()=>Ue,downloadFileByUrl:()=>qe,drillDown:()=>Y,dropAllAssociations:()=>Ce,dropAllAssociationsFull:()=>De,dropAllAssociationsSameBc:()=>Ee,emptyAction:()=>He,exportState:()=>Ge,forceActiveChangeFail:()=>V,forceActiveRmUpdate:()=>Q,handleRouter:()=>Me,httpError:()=>We,inlinePickListFetchDataRequest:()=>F,login:()=>b,loginDone:()=>v,loginFail:()=>h,logout:()=>y,logoutDone:()=>g,operationConfirmation:()=>ce,processPostInvoke:()=>U,processPostInvokeConfirm:()=>K,processPreInvoke:()=>q,refreshMeta:()=>Je,refreshMetaAndReloadPage:()=>ze,removeMultivalueTag:()=>ie,removeNotifications:()=>aa,removePendingRequest:()=>Ze,saveAssociations:()=>te,selectScreen:()=>N,selectScreenFail:()=>w,selectTableCell:()=>Ie,selectTableCellInit:()=>Fe,selectView:()=>C,selectViewFail:()=>E,sendOperation:()=>B,sendOperationFail:()=>$,sendOperationSuccess:()=>_,showAllTableRecordsInit:()=>xe,showFileUploadPopup:()=>Z,showNotification:()=>Pe,showViewError:()=>Ve,showViewPopup:()=>X,switchDebugMode:()=>Ye,switchRole:()=>Qe,uploadFile:()=>de,uploadFileDone:()=>pe,uploadFileFailed:()=>ue,userDrillDown:()=>L,userDrillDownSuccess:()=>W,viewClearPickMap:()=>oe,viewPutPickMap:()=>ae});import{createAction as m}from"@reduxjs/toolkit";var f=m("changeLocation"),b=m("login"),v=m("loginDone"),h=m("loginFail"),y=m("logout"),g=m("logoutDone"),N=m("selectScreen"),w=m("selectScreenFail"),C=m("selectView"),E=m("selectViewFail"),D=m("bcFetchDataRequest"),M=m("bcFetchDataPages"),F=m("inlinePickListFetchDataRequest"),I=m("bcFetchDataSuccess"),x=m("bcFetchDataFail"),P=m("bcLoadMore"),T=m("bcFetchRowMeta"),k=m("bcFetchRowMetaSuccess"),A=m("bcFetchRowMetaFail"),j=m("bcNewData"),O=m("bcNewDataSuccess"),R=m("bcNewDataSuccess"),S=m("bcDeleteDataFail"),V=m("forceActiveChangeFail"),B=m("sendOperation"),$=m("sendOperationFail"),_=m("sendOperationSuccess"),U=m("processPostInvoke"),q=m("processPreInvoke"),K=m("processPostInvokeConfirm"),L=m("userDrillDown"),W=m("userDrillDownSuccess"),Y=m("drillDown"),G=m("bcChangeCursors"),H=m("bcChangeDepthCursor"),J=m("changeDataItem"),z=m("changeDataItem"),Q=m("forceActiveRmUpdate"),X=m("showViewPopup"),Z=m("showFileUploadPopup"),ee=m("closeViewPopup"),ae=m("viewPutPickMap"),oe=m("viewClearPickMap"),te=m("saveAssociations"),re=m("cnangeAssociations"),ie=m("removeMultivalueTag"),se=m("bcSaveDataSuccess"),ne=m("bcSaveDataFail"),ce=m("operationConfirmation"),le=m("bcForceUpdate"),de=m("uploadFile"),pe=m("uploadFileDone"),ue=m("uploadFileFailed"),me=m("bcCancelPendingChanges"),fe=m("bcSelectRecord"),be=m("bcSelectDepthRecord"),ve=m("changeAssociations"),he=m("changeAssociationsSameBc"),ye=m("changeAssociationFull"),ge=m("changeChildrenAssociations"),Ne=m("changeChildrenAssociationsSameBc"),we=m("changeDescendantsAssociationsFull"),Ce=m("dropAllAssociations"),Ee=m("dropAllAssociationsSameBc"),De=m("dropAllAssociationsFull"),Me=m("handleRouter"),Fe=m("selectTableCellInit"),Ie=m("selectTableCell"),xe=m("showAllTableRecordsInit"),Pe=m("showNotification"),Te=m("closeNotification"),ke=m("bcAddFilter"),Ae=m("bcRemoveFilter"),je=m("bcRemoveAllFilters"),Oe=m("bcAddSorter"),Re=m("bcRemoveSorter"),Se=m("bcChangePage"),Ve=m("showViewError"),Be=m("closeViewError"),$e=m("closeConfirmModal"),_e=m("clearValidationFails"),Ue=m("downloadFile"),qe=m("downloadFileByUrl"),Ke=m("bulkUploadFiles"),Le=m("apiError"),We=m("httpError"),Ye=m("switchDebugMode"),Ge=m("exportState"),He=m("emptyAction"),Je=m("refreshMeta"),ze=m("refreshMetaAndReloadPage"),Qe=m("switchRole"),Xe=m("addPendingRequest"),Ze=m("removePendingRequest"),ea=m("addNotification"),aa=m("removeNotifications"),oa=class{constructor(){d(this,"reducers",[]),d(this,"matchers",[]),d(this,"defaultCaseReducer")}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),o=this.matchers.reduce(((e,a)=>e.addMatcher(...a)),a);return void 0!==this.defaultCaseReducer?o.addDefaultCase(this.defaultCaseReducer):o}}},ta=[],ra={},ia=e=>(new oa).addCase(I,((e,a)=>{e[a.payload.bcName]=a.payload.data})).addCase(O,((e,a)=>{e[a.payload.bcName]=[...e[a.payload.bcName]||ta,a.payload.dataItem]})).addCase(se,((e,a)=>{const o=a.payload.dataItem,t=e[a.payload.bcName].findIndex((e=>e.id===o.id));e[a.payload.bcName][t]=o})).addCase(k,((e,a)=>{const o=a.payload.cursor;if(!o)return;const t=(e[a.payload.bcName]||ta).find((e=>e.id===o)),r=c(n({},t),{id:o,vstamp:-1,_associate:t&&t._associate});a.payload.rowMeta.fields.find((e=>"id"===e.key&&!e.currentValue))||(a.payload.rowMeta.fields.filter((e=>"_associate"!==e.key)).forEach((e=>r[e.key]=e.currentValue)),e[a.payload.bcName]=t?e[a.payload.bcName].map((e=>e===t?r:e)):[...e[a.payload.bcName]||ta,r])})).addCase(re,((e,a)=>{e[`${a.payload.bcName}Delta`]=a.payload.records||[]})).addCase(C,(e=>{})),sa={},na=e=>(new oa).addCase(I,((e,a)=>{!a.payload.depth||a.payload.depth<2||(e[a.payload.depth][a.payload.bcName]=a.payload.data)})).addCase(C,(e=>{})),ca={};l(ca,{AppNotificationType:()=>la,ApplicationErrorType:()=>fa,DrillDownType:()=>da,FieldType:()=>ua,FilterType:()=>xa,OperationPostInvokeConfirmType:()=>Ia,OperationPostInvokeType:()=>Fa,OperationPreInvokeType:()=>Ma,OperationTypeCrud:()=>Ca,PaginationMode:()=>wa,PendingValidationFailsFormat:()=>ma,PopupWidgetTypes:()=>ha,RouteType:()=>pa,TableLikeWidgetTypes:()=>va,coreOperations:()=>Ea,isCustomWidget:()=>ya,isCustomWidgetConfiguration:()=>ga,isOperationGroup:()=>Da,isViewNavigationCategory:()=>Ta,isViewNavigationGroup:()=>ka,isViewNavigationItem:()=>Pa,isWidgetFieldBlock:()=>Na});var la=(e=>(e.success="success",e.info="info",e.warning="warning",e.error="error",e))(la||{});import{DrillDownType as da}from"@cxbox-ui/schema";var pa=(e=>(e.screen="screen",e.default="default",e.router="router",e.invalid="invalid",e.unknown="unknown",e))(pa||{});import{FieldType as ua}from"@cxbox-ui/schema";var ma=(e=>(e.old="old",e.target="target",e))(ma||{}),fa=(e=>(e[e.BusinessError=0]="BusinessError",e[e.SystemError=1]="SystemError",e[e.NetworkError=2]="NetworkError",e))(fa||{});import{WidgetTypes as ba}from"@cxbox-ui/schema";var va=[ba.List,ba.DataGrid,ba.AssocListPopup,ba.PickListPopup,ba.FlatTree,ba.FlatTreePopup],ha=[ba.PickListPopup,ba.AssocListPopup,ba.FlatTreePopup];function ya(e){return!!e&&!("component"in e)}function ga(e){return e&&"component"in e}function Na(e){return!!e&&"blockId"in e}var wa=(e=>(e.page="page",e.loadMore="loadMore",e))(wa||{});import{OperationTypeCrud as Ca}from"@cxbox-ui/schema";var Ea=[Ca.create,Ca.save,Ca.delete,Ca.associate,Ca.cancelCreate,Ca.fileUpload];function Da(e){return Array.isArray(e.actions)}var Ma=(e=>(e.confirm="confirm",e.info="info",e.error="error",e))(Ma||{}),Fa=(e=>(e.refreshBC="refreshBC",e.downloadFile="downloadFile",e.downloadFileByUrl="downloadFileByUrl",e.drillDown="drillDown",e.openPickList="openPickList",e.showMessage="showMessage",e.postDelete="postDelete",e))(Fa||{}),Ia=(e=>(e.confirm="confirm",e.confirmText="confirmText",e))(Ia||{}),xa=(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",e))(xa||{});function Pa(e){return!!e&&"viewName"in e}function Ta(e){return!!e&&"categoryName"in e}function ka(e){return!!e&&"child"in e&&!("categoryName"in e)}var Aa={};function ja(e){return e.includes("?")?e+"&":e+"?"}function Oa(e,a){return a?Ra(e,function(e){const a=n({},e);return Object.keys(a).reduce(((e,a)=>(e[a]||"number"==typeof e[a]||delete e[a],e)),a)}(a)):e}function Ra(e,a){if(!a)return e;const o=new URLSearchParams(a).toString();return`${ja(e)}${o&&`${o}`}`}function Sa(e){return e.defaults.baseURL?e.defaults.baseURL.endsWith("/")?`${e.defaults.baseURL}file`:`${e.defaults.baseURL}/file`:"/file"}function Va(e,...a){let o="";for(let t=0;t<a.length;t++)o+=e[t],o+="${"+t+"}";return o+=e[e.length-1],o}function Ba(e,a=!1,o){const t=o.screen.bo.bc,r=t[e];if(!r)return null;const i=[r.cursor&&a?`${r.name}/${r.cursor}`:r.name];let s=r;for(;s.parentName;)s=t[s.parentName],i.push(`${s.name}/${s.cursor}`);return i.reverse().join("/")}function $a(e){const a=e.split("/"),o=[];for(let e=0;e<a.length;e+=2){const t=a[e],r=a[e+1];o.push(t&&r?`${t}/${r}`:t)}return o}l(Aa,{addTailControlSequences:()=>ja,applyParams:()=>Oa,applyRawParams:()=>Ra,assignTreeLinks:()=>so,breadthFirstSearch:()=>po,buildBcUrl:()=>Ba,buildSearchResultTree:()=>co,buildUrl:()=>Ha,checkShowCondition:()=>io,defaultBuildURL:()=>za,defaultParseURL:()=>Ja,deleteUndefinedFromObject:()=>uo,escapedSrc:()=>Wa,flattenOperations:()=>oo,getBcChildren:()=>ro,getDescendants:()=>no,getFieldTitle:()=>Ka,getFileUploadEndpoint:()=>Sa,getFilterType:()=>ao,getFilters:()=>Qa,getSorters:()=>Xa,getTemplate:()=>Va,makeRelativeUrl:()=>Ya,matchOperationRole:()=>to,parseBcCursors:()=>Ga,parseFilters:()=>Za,parseSorters:()=>eo,presort:()=>lo,splitBcUrl:()=>$a,splitIntoTokens:()=>La});var _a=/\${([^{}]+)}/g,Ua=(e,a)=>e?e.replace(_a,((e,o)=>{const[t,r]=o.split(":");return String((null==a?void 0:a[t])||r||"")})):"",qa=e=>!!e&&null!==e.match(_a);function Ka(e,a){return qa(e)?Ua(e,a):e}function La(e,a){const o=a instanceof RegExp?a:Wa(a);return e.split(o)}function Wa(e){return new RegExp(`(${null==e?void 0:e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")})`,"gi")}function Ya(e){return e.startsWith("/")?e:`/${e}`}function Ga(e){if(!e)return null;const a={},o=e.split("/");for(let e=0;e<o.length;e+=2)o[e+1]&&(a[o[e]]=o[e+1]);return a}function Ha(e,...a){let o="";for(let t=0;t<a.length;t++){o+=e[t];const r=a[t];if("number"==typeof r)o+=r.toString(10);else{if("string"!=typeof r){const o=Va(e,a);throw new Error(`Неверный тип подстановочного знака в ${o}, index: ${t}, value: ${JSON.stringify(r)}`)}o+=encodeURIComponent(r)}}return o+=e[e.length-1],o}function Ja(e){let a=e.pathname;a.startsWith("/")&&(a=a.substring(1)),a.endsWith("/")&&(a=a.substring(0,a.length-1)),(null==a?void 0:a.includes("&"))&&!(null==a?void 0:a.includes("?"))&&(a=a.substring(0,a.indexOf("&")));const o={};e.searchParams.forEach(((e,a)=>o[a]=e));const t=a.split("/").map(decodeURIComponent);let r="unknown",i=null,s=null,n=null;if(t.length>0&&"router"===t[0])r="router";else if(1===t.length)r="default";else if(t.length>=2&&"screen"===t[0]){let e=2;r="screen",i=t[1],t.length>=4&&"view"===t[2]&&(e+=2,s=t[3]),n=t.slice(e).map(encodeURIComponent).join("/")}return{type:r,path:a,params:o,screenName:i,viewName:s,bcPath:n}}function za(e){return`/screen/${e.screenName}/view/${e.viewName}/${e.bcPath}`}function Qa(e){if(!e||!e.length)return null;const a={};return e.forEach((e=>{if("range"===e.type){const o=e.value;o[0]&&(a[`${e.fieldName}.greaterOrEqualThan`]=String(o[0])),o[1]&&(a[`${e.fieldName}.lessOrEqualThan`]=String(o[1]))}else{let o=String(e.value);Array.isArray(e.value)&&(o=`[${e.value.map((e=>`"${e}"`))}]`),a[`${e.fieldName}.${e.type}`]=o}})),a}function Xa(e){if(!e||!e.length)return null;const a={};return e.forEach(((e,o)=>{a[`_sort.${o}.${e.direction}`]=e.fieldName})),a}function Za(e){const a=[],o=new URL(e).searchParams;return o.forEach((e=>{const[t,r]=e.split(".");if(t&&r&&o.get(e)){let i=o.getAll(e);if("containsOneOf"===r||"equalsOneOf"===r){try{"string"==typeof i&&(i=JSON.parse(i))}catch(e){console.warn(e)}i=Array.isArray(i)?i:[]}a.push({fieldName:t,type:r,value:i})}})),a.length?a:null}function eo(e){if(!e||!e.length)return null;const a=[],o=new URL(e).searchParams;return Object.entries(o).map((([e,a])=>{const[o,t]=e.split(".").slice(1);return{fieldName:a,order:Number.parseInt(o,10),direction:t}})).sort(((e,a)=>e.order-a.order)).forEach((e=>{a.push({fieldName:e.fieldName,direction:e.direction})})),a}function ao(e){switch(e){case ua.dictionary:return"equalsOneOf";case ua.checkbox:return"specified";case ua.input:case ua.text:return"contains";default:return"equals"}}function oo(e){const a=[];return null==e||e.forEach((e=>{Da(e)?e.actions.forEach((e=>{a.push(e)})):a.push(e)})),a}function to(e,a,o){var t,r;if(a.operationType===e)return!0;const i=Ba(a.bcName,!0,o),s=oo(null==(r=null==(t=o.view.rowMeta[a.bcName])?void 0:t[i])?void 0:r.actions).find((e=>e.type===a.operationType));return"none"===e?Ea.every((e=>e!==a.operationType&&e!==(null==s?void 0:s.actionRole))):(null==s?void 0:s.actionRole)===e}function ro(e,a,o){const t={};return a.filter((e=>e.bcName)).forEach((a=>{const r=[];r.push(a.bcName);let i=o[a.bcName].parentName;for(;i;)r.push(i),i=o[i].parentName;r.filter((a=>o[a].parentName===e)).forEach((e=>{t[e]=[...t[e]||[],a.name]}))})),a.filter((e=>{var a;return null==(a=e.options)?void 0:a.hierarchy})).forEach((a=>{const[o,r]=function(e,a){const o=a.options.hierarchy.map((e=>e.bcName));if(e!==a.bcName&&!o.includes(e))return[];const t=o.findIndex((a=>a===e));return[o[t+1],a.name]}(e,a);o&&(t[o]=[...t[o]||[],r])})),t}function io(e,a,o,t){var r,i;const{bcName:s,isDefault:n,params:c}=e||{};if(!e||Array.isArray(e)||n)return!0;const l=a&&(null==o?void 0:o.find((e=>e.id===a)));if(!l)return!1;const d=null==(i=null==(r=null==t?void 0:t[s])?void 0:r[a])?void 0:i[c.fieldKey];return void 0!==d?d===c.value:(null==l?void 0:l[c.fieldKey])===c.value}function so(e){const a=e.map((e=>n({},e))),o={},t=[];return a.forEach((r=>{if(!r.parentId||"0"===r.parentId)return;let i=o[r.parentId];if("number"!=typeof i&&(i=e.findIndex((e=>e.id===r.parentId)),o[r.parentId]=i),-1===i)return t.push(r.parentId),void console.warn(`Record with [id] = ${r.id} has [parentId] = ${r.parentId}, but no matching parent record exist. Check the service for this BC.`);r.parent=a[i],a[i].children?a[i].children.push(r):a[i].children=[r]})),t.length?a.filter((e=>!t.includes(e.parentId))):a}function no(e,a){e.forEach((e=>{a.push(e.id),e.children&&no(e.children,a)}))}function co(e,a){const o={};return e.forEach((e=>{var t;if(!a.includes(e.id))return;let r=e.parent;for(;r;)o[r.id]=!0,r=r.parent;o[e.id]=!0,null==(t=e.children)||t.forEach((e=>{o[e.id]=!0}))})),e.filter((e=>!0===o[e.id]))}function lo(e){const a=[];return e.filter((e=>1===e.level)).forEach((e=>{a.push(e.id),e.children&&no(e.children,a)})),a.map((a=>e.find((e=>e.id===a))))}function po(e,a,o=1,t="child"){const r=a(e)&&e,i=e[t];if(!r&&!i)return null;if(r)return{node:r,depth:o};let s=i.filter((e=>!e[t])).find((e=>a(e)));if(s)return{node:s,depth:o+1};let n=o;return i.some((e=>{const o=po(e,a,n+1,null!=t?t:"child");return s=null==o?void 0:o.node,n=null==o?void 0:o.depth,null==o?void 0:o.node})),s?{node:s,depth:n}:null}function uo(e){Object.keys(e).forEach((a=>{void 0===e[a]&&delete e[a]}))}var mo={type:"default",path:"/",params:null,screenName:null},fo=e=>(new oa).addCase(v,((e,a)=>{e=n(n({},e),a.payload)})).addCase(f,((e,a)=>{const{url:o,route:t}=a.payload;if(o){const a=new URL(o);e=n(n({},e),Ja(a))}null!==t&&(e=n(n({},e),t))}));import{OperationTypeCrud as bo}from"@cxbox-ui/schema";var vo={screenName:"",bo:{activeBcName:"",bc:{}},cachedBc:{},views:[],primaryView:"",filters:{},sorters:{}},ho=[bo.associate,bo.fileUpload],yo=e=>(new oa).addCase(N,((e,a)=>{const o={},t={},r={};a.payload.screen.meta.bo.bc.forEach((e=>{o[e.name]=e;const a=eo(e.defaultSort),i=Za(e.defaultFilter);a&&(t[e.name]=a),i&&(r[e.name]=i)})),e.screenName=a.payload.screen.name,e.primaryView=a.payload.screen.meta.primary,e.views=a.payload.screen.meta.views,e.bo={activeBcName:null,bc:o},e.sorters=n(n({},e.sorters),t),e.filters=n(n({},e.filters),r)})).addCase(w,((e,a)=>{e.screenName=a.payload.screenName,e.views=[]})).addCase(D,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!0})).addCase(P,((e,a)=>{const o=e.bo.bc[a.payload.bcName];o.page+=1,o.loading=!0})).addCase(C,((e,a)=>{const o={};Array.from(new Set(a.payload.widgets.map((e=>e.bcName)))).filter((a=>e.bo.bc[a])).forEach((a=>{o[a]=c(n({},e.bo.bc[a]),{page:1})})),e.bo.bc=n(n({},e.bo.bc),o)})).addCase(I,((e,a)=>{const o=e.bo.bc[a.payload.bcName];o.hasNext=a.payload.hasNext,o.loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(x,((e,a)=>{Object.values(e.bo.bc).some((e=>e.name===a.payload.bcName))&&(e.bo.bc[a.payload.bcName].loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl)})).addCase(B,((e,a)=>{ho.includes(a.payload.operationType)||(e.bo.bc[a.payload.bcName].loading=!0)})).addCase(O,((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(G,((e,a)=>{const o={},t={};Object.entries(a.payload.cursorsMap).forEach((a=>{const[r,i]=a;o[r]=c(n({},e.bo.bc[r]),{cursor:i}),t[r]=i}));const r=Object.values(o).map((e=>`${e.url}/:id`));Object.values(e.bo.bc).forEach((a=>{r.some((e=>a.url.includes(e)))&&(o[a.name]=c(n({},e.bo.bc[a.name]),{cursor:null}),t[a.name]=null)})),Object.assign(e.bo.bc,o),Object.assign(e.cachedBc,t)})).addCase(H,((e,a)=>{1===a.payload.depth?e.bo.bc[a.payload.bcName].cursor=a.payload.cursor:e.bo.bc[a.payload.bcName].depthBc[a.payload.depth].cursor=a.payload.cursor})).addCase(fe,((e,a)=>{e.bo.bc[a.payload.bcName].cursor=a.payload.cursor})).addCase(le,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!0,e.cachedBc[a.payload.bcName]=null})).addCase(ke,((e,a)=>{const{bcName:o,filter:t}=a.payload,r=t,i=e.filters[o]||[],s=i.find((e=>e.fieldName===t.fieldName&&e.type===t.type)),l=s?i.map((e=>e===s?c(n({},s),{value:r.value}):e)):[...i,r];e.bo.bc[o].page=1,e.filters[o]=l})).addCase(Ae,((e,a)=>{const{bcName:o,filter:t}=a.payload,r=(e.filters[o]||[]).filter((e=>e.fieldName!==(null==t?void 0:t.fieldName)||e.type!==t.type)),i=c(n({},e.filters),{[o]:r});r.length||delete i[o],e.bo.bc[a.payload.bcName].page=1,e.filters=i})).addCase(je,((e,a)=>{delete e.filters[a.payload.bcName],e.bo.bc[a.payload.bcName].page=1})).addCase(Oe,((e,a)=>{e.sorters[a.payload.bcName]=Array.isArray(a.payload.sorter)?a.payload.sorter:[a.payload.sorter]})).addCase(Se,((e,a)=>{e.bo.bc[a.payload.bcName].page=a.payload.page,e.bo.bc[a.payload.bcName].loading=!0})).addCase(X,((e,a)=>{e.bo.bc[a.payload.bcName].page=1,e.bo.bc[a.payload.bcName].loading=a.payload.bcName!==a.payload.calleeBCName})).addCase(_,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(S,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase($,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(se,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(ne,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})),go={devPanelEnabled:!1,activeRole:null,roles:null,firstName:"",lastName:"",login:"",debugMode:!1,exportStateEnabled:!1,active:!1,logout:!1,loginSpin:!1,errorMsg:null,screens:[],pendingRequests:[],notifications:[]},No=e=>(new oa).addCase(b,(e=>{e.loginSpin=!0,e.errorMsg=null})).addCase(v,((e,a)=>{(e=n(n({},e),a.payload)).loginSpin=!1,e.active=!0,e.logout=!1})).addCase(h,((e,a)=>{e.loginSpin=!1,e.errorMsg=a.payload.errorMsg})).addCase(y,(e=>{e.loginSpin=!1,e.active=!1,e.logout=!0})).addCase(Ye,((e,a)=>{e.debugMode=a.payload})).addCase(Xe,((e,a)=>{e.pendingRequests.push(a.payload.request)})).addCase(Ze,((e,a)=>{e.pendingRequests=e.pendingRequests.filter((e=>e.requestId!==a.payload.requestId))})).addCase(ea,((e,a)=>{e.notifications.push(a.payload)})).addCase(aa,((e,a)=>{const o=a.payload;e.notifications=e.notifications.filter((e=>!o.includes(e.key)))}));import{OperationTypeCrud as wo}from"@cxbox-ui/schema";var Co={id:void 0,name:null,url:null,widgets:[],columns:null,readOnly:!1,rowHeight:null,rowMeta:{},metaInProgress:{},popupData:{bcName:null},pendingDataChanges:{},infiniteWidgets:[],pendingValidationFailsFormat:"old",pendingValidationFails:{},handledForceActive:{},selectedCell:null,ignoreHistory:null,systemNotifications:[],error:null,modalInvoke:null},Eo=e=>(new oa).addCase(C,((e,a)=>{e.rowMeta=Co.rowMeta,Object.assign(e,a.payload)})).addCase(T,((e,a)=>{e.metaInProgress[a.payload.bcName]=!0})).addCase(P,((e,a)=>{const o=e.infiniteWidgets||[];void 0!==a.payload.widgetName&&o.push(a.payload.widgetName),e.infiniteWidgets=Array.from(new Set(o))})).addCase(B,((e,a)=>{a.payload.operationType===wo.create&&(e.metaInProgress[a.payload.bcName]=!0)})).addCase(k,((e,a)=>{e.rowMeta[a.payload.bcName][a.payload.bcUrl]=a.payload.rowMeta,e.metaInProgress[a.payload.bcName]=!1})).addCase(O,((e,a)=>{e.selectedCell=Co.selectedCell})).addCase(Q,((e,a)=>{const{bcName:o,bcUrl:t,currentRecordData:r,rowMeta:i,cursor:s}=a.payload,c={},l={},d={},p=[];i.fields.forEach((e=>{l[e.key]=e.currentValue,e.forceActive&&p.push(e.key)}));const u=n(n({},r),e.pendingDataChanges[o][s]);Object.keys(u).forEach((e=>{void 0!==l[e]&&u[e]!==l[e]&&(d[e]=l[e])}));const m=n(n({},e.pendingDataChanges[o][s]),d);p.forEach((e=>{void 0!==m[e]&&(c[e]=m[e])})),Object.assign(e.handledForceActive[o][s],c),e.pendingDataChanges[o][s]=m,e.rowMeta[o][t]=i})).addCase(J,((e,a)=>{var o;const t=a.payload.bcName,r=n(n({},(e.pendingDataChanges[a.payload.bcName]||{})[a.payload.cursor]||{}||{}),a.payload.dataItem),i=Ba(t,!0),s=null==(o=e.rowMeta[t])?void 0:o[i],c={},l="target"===e.pendingValidationFailsFormat;Object.keys(r).forEach((e=>{const a=null==s?void 0:s.fields.find((a=>a.required&&a.key===e)),o=null==r[e]||""===r[e]||Array.isArray(r[e])&&0===Object.keys(r[e]).length;a&&o&&(c[e]="This field is mandatory")})),e.pendingDataChanges[a.payload.bcName][a.payload.cursor]=r,l?e.pendingValidationFails[t][a.payload.cursor]=c:e.pendingValidationFails=c})).addCase(z,((e,a)=>{const o=n({},e.pendingDataChanges[a.payload.bcName]);a.payload.cursors.forEach(((e,t)=>{o[e]=a.payload.dataItems[t]})),e.pendingDataChanges[a.payload.bcName]=o})).addCase(Ce,((e,a)=>{const o=n({},e.pendingDataChanges);a.payload.bcNames.forEach((e=>{const a={};Object.keys(o[e]||{}).forEach((e=>{a[e]={id:e,_associate:!1}})),o[e]=a}));const t="target"===e.pendingValidationFailsFormat,r=n({},e.pendingValidationFails);t&&a.payload.bcNames.forEach((e=>{r[e]={}})),e.pendingDataChanges=o,e.pendingValidationFails=t?r:Co.pendingValidationFails})).addCase(Ee,((e,a)=>{})).addCase(De,((e,a)=>{})).addCase(R,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(A,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(V,((e,a)=>{const{bcName:o,bcUrl:t,entityError:r}=a.payload,i={};r&&Object.entries(r.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[o][t].errors=i})).addCase(ne,((e,a)=>{const{bcName:o,bcUrl:t,entityError:r}=a.payload,i={};r&&Object.entries(r.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[o][t].errors=i})).addCase($,((e,a)=>{const{bcName:o,bcUrl:t,entityError:r}=a.payload,i={};r&&Object.entries(r.fields).forEach((([e,a])=>{i[e]=a})),e.rowMeta[o][t].errors=i})).addCase(_,((e,a)=>{const{bcName:o,cursor:t}=a.payload,r="target"===e.pendingValidationFailsFormat;e.pendingDataChanges[o][t]={},r?e.pendingValidationFails[o][t]={}:e.pendingValidationFails=Co.pendingValidationFails,e.handledForceActive[o][t]={}})).addCase(se,((e,a)=>{const{bcName:o,cursor:t}=a.payload,r="target"===e.pendingValidationFailsFormat;e.pendingDataChanges[o][t]={},r?e.pendingValidationFails[o][t]={}:e.pendingValidationFails=Co.pendingValidationFails,e.handledForceActive[o][t]={}})).addCase(me,((e,a)=>{var o,t;const r=n({},e.pendingDataChanges);for(const o in e.pendingDataChanges)a.payload&&!a.payload.bcNames.includes(o)||(r[o]={});const i="target"===e.pendingValidationFailsFormat;let s=n({},e.pendingValidationFails);i&&((null==(t=null==(o=a.payload)?void 0:o.bcNames)?void 0:t.length)>0?a.payload.bcNames.forEach((e=>{s[e]={}})):s=Co.pendingValidationFails),e.pendingDataChanges=r,e.pendingValidationFails=i?s:Co.pendingValidationFails})).addCase(_e,(e=>{e.pendingValidationFails=Co.pendingValidationFails})).addCase(X,((e,a)=>{const{bcName:o,calleeBCName:t,calleeWidgetName:r,associateFieldKey:i,assocValueKey:s,active:n,isFilter:c,type:l,widgetName:d}=a.payload;e.popupData={widgetName:d,type:l,bcName:o,calleeBCName:t,calleeWidgetName:r,associateFieldKey:i,assocValueKey:s,active:n,isFilter:c}})).addCase(Z,((e,a)=>{var o;const t=null==(o=e.widgets.find((e=>e.name===a.payload.widgetName)))?void 0:o.bcName;e.popupData={type:"file-upload",bcName:t,calleeBCName:t}})).addCase(ae,((e,a)=>{e.pickMap=a.payload.map})).addCase(oe,(e=>{e.pickMap=null})).addCase(ee,(e=>{e.popupData.bcName=null})).addCase(Ie,((e,a)=>{e.selectedCell={widgetName:a.payload.widgetName,rowId:a.payload.rowId,fieldKey:a.payload.fieldKey}})).addCase(f,((e,a)=>{e.pendingDataChanges=Co.pendingDataChanges,e.selectedCell=Co.selectedCell})).addCase(Pe,((e,a)=>{e.systemNotifications.push({type:a.payload.type,message:a.payload.message,id:e.systemNotifications.length})})).addCase(Te,((e,a)=>{e.systemNotifications=e.systemNotifications.filter((e=>e.id!==a.payload.id))})).addCase(Ve,((e,a)=>{e.error=a.payload.error})).addCase(ce,((e,a)=>{e.modalInvoke=a.payload})).addCase($e,((e,a)=>{e.modalInvoke=null})).addCase(Be,(e=>{e.error=null})).addCase(U,(e=>{e.selectedCell=null})),Do={};l(Do,{apiErrorEpic:()=>Dr,bcCancelCreateDataEpic:()=>on,bcDeleteDataEpic:()=>Ss,bcFetchDataEpic:()=>xs,bcFetchRowMetaRequestEpic:()=>Nn,bcLoadMoreEpic:()=>ns,bcNewDataEpic:()=>Hi,bcSaveDataEpic:()=>fs,bcSelectDepthRecordEpic:()=>cn,bcSelectRecordEpic:()=>Us,changeAssociationEpic:()=>Ys,changeAssociationFullEpic:()=>Mn,changeAssociationSameBcEpic:()=>Bn,changeChildrenAssociationsEpic:()=>Xn,changeChildrenAssociationsSameBcEpic:()=>oc,changeDescendantsAssociationsFullEpic:()=>nc,changeLocationEpic:()=>cr,changeScreen:()=>Ht,changeViewEpic:()=>Bt,clearPendingDataChangesAfterCursorChangeEpic:()=>Mt,downloadFileByUrlEpic:()=>Xr,downloadFileEpic:()=>Pr,drillDownEpic:()=>Pt,fileUploadConfirmEpic:()=>Wo,getRowMetaByForceActiveEpic:()=>bt,handleRouterEpic:()=>Lt,httpError401Epic:()=>Ar,httpError409Epic:()=>Rr,httpError418Epic:()=>Ur,httpError500Epic:()=>Lr,httpErrorDefaultEpic:()=>Gr,inlinePickListFetchDataEpic:()=>Ln,knownHttpErrors:()=>Er,loginByAnotherRoleEpic:()=>Ai,loginDoneEpic:()=>jt,loginDoneSessionEpic:()=>Di,processPostInvokeConfirmEpic:()=>li,processPostInvokeEpic:()=>ti,refreshMetaAndReloadPageEpic:()=>_i,refreshMetaEpic:()=>Ni,removeMultivalueTagEpic:()=>mn,saveAssociationsActiveEpic:()=>jn,saveAssociationsPassiveEpic:()=>Hn,selectScreenFailEpic:()=>fr,selectTableCellInitEpic:()=>zo,selectViewEpic:()=>ys,selectViewFailEpic:()=>pr,sendOperationAssociateEpic:()=>st,sendOperationEpic:()=>jo,showAllTableRecordsInitEpic:()=>Nt,showAssocPopupEpic:()=>$o,showFileUploadPopupEpic:()=>ot,switchRoleEpic:()=>mi,userDrillDownChangeCursorsEpic:()=>hr,userDrillDownEpic:()=>or});import{catchError as Mo,concat as Fo,EMPTY as Io,filter as xo,mergeMap as Po,of as To}from"rxjs";import{of as ko}from"rxjs";function Ao(e,a,o,t,r){const i=Object.values(Ia).includes(null==a?void 0:a.type),s=[];return a&&s.push(U({bcName:r,postInvoke:a,widgetName:e})),i&&s.push(K({bcName:r,operationType:t,widgetName:e,postInvokeConfirm:a})),o&&s.push(q({bcName:r,operationType:t,widgetName:e,preInvoke:o})),s.map((e=>ko(e)))}var jo=(e,a,{api:o})=>e.pipe(xo(B.match),xo((e=>to("none",e.payload,a.value))),Po((e=>{var t,r,i,s,l,d,p,u,m,b;const v=a.value,h=v.screen.screenName,{bcName:y,operationType:g,widgetName:N}=e.payload,w=(null==(t=e.payload.confirmOperation)?void 0:t.type)||e.payload.confirm,C=Ba(y,!0),E=v.screen.bo.bc[y],D=C&&(null==(r=v.view.rowMeta[y])?void 0:r[C]),M=null==D?void 0:D.fields,F=E.cursor,I=null==(i=v.data[y])?void 0:i.find((e=>e.id===E.cursor)),x=v.screen.filters[y],P=v.screen.sorters[y],T=null==(s=v.view.pendingDataChanges[y])?void 0:s[E.cursor];for(const e in T)M.find((a=>a.key===e&&a.disabled))&&delete T[e];const k=I&&c(n({},T),{vstamp:I.vstamp}),A=(null==(u=null==(p=null==(d=null==(l=v.view.widgets)?void 0:l.find((e=>e.name===N)))?void 0:d.options)?void 0:p.actionGroups)?void 0:u.defaultSave)===e.payload.operationType&&f.match(null==(b=null==(m=e.payload)?void 0:m.onSuccessAction)?void 0:b.type),j=n(n({_action:g},Qa(x)),Xa(P));return w&&(j._confirm=w),o.customAction(h,C,k,{widgetName:e.payload.widgetName},j).pipe(Po((a=>{var o;const t=a.postActions[0],r=a.preInvoke;return A?(null==(o=null==e?void 0:e.payload)?void 0:o.onSuccessAction)?Fo(To(me({bcNames:[y]})),To(e.payload.onSuccessAction)):Io:Fo(To(_({bcName:y,cursor:F})),To(le({bcName:y})),...Ao(N,t,r,g,y))})),Mo((e=>{var a,o,t,r,i,s;console.error(e);let n=null,c=null;const l=null==(a=e.response)?void 0:a.data;return(null==(o=e.response)?void 0:o.data)===Object(null==(t=e.response)?void 0:t.data)&&(c=null==(r=null==l?void 0:l.error)?void 0:r.entity,n=null==(s=null==(i=null==l?void 0:l.error)?void 0:i.popup)?void 0:s[0]),To($({bcName:y,bcUrl:C,viewError:n,entityError:c}))})))})));import{EMPTY as Oo,filter as Ro,mergeMap as So,of as Vo}from"rxjs";import{WidgetTypes as Bo}from"@cxbox-ui/schema";var $o=(e,a)=>e.pipe(Ro(X.match),Ro((e=>!(!e.payload.calleeBCName||!e.payload.associateFieldKey))),So((e=>{var o,t,r,i;const{bcName:s,calleeBCName:n}=e.payload,c=a.value,l=c.view.widgets.find((e=>e.bcName===s&&e.type===Bo.AssocListPopup)),d=null==(o=c.screen.bo.bc[n])?void 0:o.cursor,p=null==(t=c.view.pendingDataChanges[n])?void 0:t[d],u=e.payload.associateFieldKey,m=null==p?void 0:p[u];if(!(l&&p&&m&&m)||l.options&&!l.options.hierarchyFull)return Oo;const f={};m.forEach((e=>{f[e.id]={id:e.id,_associate:!0,_value:e.value}}));const b=null==(r=c.data[n])?void 0:r.find((e=>e.id===d)),v=null==(i=null==b?void 0:b[u])?void 0:i.map((e=>e.id)),h=m.map((e=>e.id));return v&&v.forEach((e=>{h.includes(e)||(f[e]={id:e,_associate:!1})})),Vo(z({bcName:s,cursors:Object.keys(f),dataItems:Object.values(f)}))})));import{concat as _o,filter as Uo,mergeMap as qo,of as Ko}from"rxjs";import{OperationTypeCrud as Lo}from"@cxbox-ui/schema";var Wo=(e,a,{api:o})=>e.pipe(Uo(Ke.match),qo((e=>{var t;const r=a.value,i=r.view.popupData.bcName,s=Ba(i,!0),n=null==(t=r.view.widgets.find((e=>e.bcName===i)))?void 0:t.name;return o.customAction(r.screen.screenName,s,{bulkIds:e.payload.fileIds},null,{_action:"file-upload-save"}).pipe(qo((e=>{const a=e.postActions[0],o=e.preInvoke;return _o(Ko(_({bcName:i,cursor:null})),Ko(le({bcName:i})),Ko(ee(null)),...Ao(n,a,o,Lo.save,i))})))})));import{concat as Yo,filter as Go,mergeMap as Ho,of as Jo}from"rxjs";var zo=(e,a)=>e.pipe(Go(Fe.match),Ho((e=>{var o;const t=[],r=a.value,{rowId:i,fieldKey:s}=e.payload,n=r.view.widgets.find((a=>a.name===e.payload.widgetName)),c=n.bcName,l=null==(o=r.screen.bo.bc[c])?void 0:o.cursor,d=r.view.selectedCell;return i!==l&&t.push(Jo(fe({bcName:c,cursor:i}))),d&&s===d.fieldKey&&i===d.rowId&&n.name===d.widgetName||t.push(Jo(Ie({widgetName:n.name,rowId:i,fieldKey:s}))),Yo(...t)})));import{concat as Qo,filter as Xo,mergeMap as Zo,of as et}from"rxjs";import{OperationTypeCrud as at}from"@cxbox-ui/schema";var ot=(e,a)=>e.pipe(Xo(B.match),Xo((e=>to(at.fileUpload,e.payload,a.value))),Zo((e=>Qo(et(G({cursorsMap:{[e.payload.bcName]:null}})),et(Z({widgetName:e.payload.widgetName}))))));import{filter as tt,map as rt}from"rxjs";import{OperationTypeCrud as it}from"@cxbox-ui/schema";var st=(e,a)=>e.pipe(tt(B.match),tt((e=>to(it.associate,e.payload,a.value))),rt((e=>X({bcName:e.payload.bcKey?`${e.payload.bcKey}`:`${e.payload.bcName}Assoc`,calleeBCName:e.payload.bcName,active:!0,calleeWidgetName:e.payload.widgetName}))));import{EMPTY as nt,concat as ct,filter as lt,mergeMap as dt,of as pt,catchError as ut}from"rxjs";import{WidgetTypes as mt}from"@cxbox-ui/schema";import{nanoid as ft}from"@reduxjs/toolkit";var bt=(e,a,{api:o})=>e.pipe(lt(J.match),dt((e=>{var t,r,i,s;const l=a.value,d=l.view.url,{bcName:p,cursor:u,disableRetry:m}=e.payload;if(l.view.widgets.some((e=>{var a,o;return e.bcName===p&&e.type===mt.AssocListPopup&&((null==(a=e.options)?void 0:a.hierarchySameBc)||(null==(o=e.options)?void 0:o.hierarchyFull))})))return nt;const f=l.view.widgets.find((e=>{var a;return e.name===(null==(a=l.view.popupData)?void 0:a.widgetName)&&[mt.PickListPopup,mt.FlatTreePopup].includes(e.type)})),b=Ba(p,!0),v=l.view.pendingDataChanges[p][u],h=(null==(t=l.view.handledForceActive[p])?void 0:t[u])||{},y=null==(r=l.data[p])?void 0:r.find((e=>e.id===u)),g=null==(s=null==(i=l.view.rowMeta[p])?void 0:i[b])?void 0:s.fields;let N=null;const w=ct(pt(oe(null)),pt(ee(null)),pt(je({bcName:p}))),C=null==g?void 0:g.filter((e=>e.forceActive&&void 0!==v[e.key])).some((e=>{const a=v[e.key]!==h[e.key];return a&&(N=e.key),a})),E=ft();return C&&!m?ct(pt(Xe({request:{requestId:E,type:"force-active"}})),o.getRmByForceActive(l.screen.screenName,b,c(n({},v),{vstamp:y.vstamp})).pipe(dt((e=>{const a=[pt(Ze({requestId:E}))];return l.view.url===d&&a.push(pt(Q({rowMeta:e,currentRecordData:y,bcName:p,bcUrl:b,cursor:u}))),f&&a.push(w),ct(...a)})),ut((e=>{var a,o,t,r,i,s;console.error(e);let n=null,c=null;const m=null==(a=e.response)?void 0:a.data;return(null==(o=e.response)?void 0:o.data)===Object(null==(t=e.response)?void 0:t.data)&&(c=null==(r=null==m?void 0:m.error)?void 0:r.entity,n=null==(s=null==(i=null==m?void 0:m.error)?void 0:i.popup)?void 0:s[0]),ct(pt(Ze({requestId:E})),l.view.url===d?ct(pt(J({bcName:p,cursor:u,dataItem:{[N]:y[N]},disableRetry:!0})),pt(V({bcName:p,bcUrl:b,viewError:n,entityError:c}))):nt)})))):f?w:nt})));import{concat as vt,filter as ht,mergeMap as yt,of as gt}from"rxjs";var Nt=(e,a)=>e.pipe(ht(xe.match),yt((e=>{const a=[],{bcName:o}=e.payload;return a.push(gt(G({cursorsMap:{[o]:null}}))),a.push(gt(le({bcName:o}))),vt(...a)})));import{EMPTY as wt,filter as Ct,mergeMap as Et,of as Dt}from"rxjs";var Mt=(e,a)=>e.pipe(Ct(G.match),Et((e=>{const o=a.value,t=Ga(o.router.bcPath)||{},r={};return Object.entries(t).forEach((e=>{const[a,t]=e,i=o.screen.bo.bc[a];i&&(null==i?void 0:i.cursor)===t||(r[a]=t)})),Object.keys(r).length?Dt(G({cursorsMap:r})):wt})));import{EMPTY as Ft,filter as It,switchMap as xt}from"rxjs";var Pt=(e,a)=>e.pipe(It(Y.match),xt((e=>Ft)));import{filter as Tt,of as kt,switchMap as At}from"rxjs";var jt=(e,a)=>e.pipe(Tt(v.match),At((e=>{const o=a.value;if("router"===o.router.type)return kt(Me(o.router));const t=o.router.screenName,r=o.session.screens.find((e=>t?e.name===t:e.defaultScreen))||o.session.screens[0];return kt(r?N({screen:r}):w({screenName:t}))})));import{EMPTY as Ot,filter as Rt,of as St,switchMap as Vt}from"rxjs";var Bt=(e,a)=>e.pipe(Rt(C.match),Vt((e=>{const o=a.value,t=Ga(o.router.bcPath)||{},r={};return Object.entries(t).forEach((e=>{const[a,t]=e,i=o.screen.bo.bc[a];i&&i.cursor===t||(r[a]=t)})),Object.keys(r).length?St(G({cursorsMap:r})):Ot})));import{catchError as $t,EMPTY as _t,filter as Ut,mergeMap as qt,switchMap as Kt}from"rxjs";var Lt=(e,a,{api:o})=>e.pipe(Ut(Me.match),Kt((e=>o.routerRequest(e.payload.path,e.payload.params).pipe(qt((()=>_t)),$t((e=>(console.error(e),_t)))))));import{filter as Wt,of as Yt,switchMap as Gt}from"rxjs";var Ht=(e,a)=>e.pipe(Wt(N.match),Gt((e=>{const o=a.value,t=o.router.viewName,r=o.screen.views.find((e=>e.name===t)),i=!t&&o.screen.primaryView&&o.screen.views.find((e=>e.name===o.screen.primaryView)),s=r||i||o.screen.views[0];return Yt(s?C(s):E({viewName:t}))})));import{catchError as Jt,concat as zt,EMPTY as Qt,filter as Xt,mergeMap as Zt,of as er,switchMap as ar}from"rxjs";var or=(e,a,{api:o})=>e.pipe(Xt(L.match),ar((e=>{const t=a.value,{bcName:r,fieldKey:i,cursor:s}=e.payload,n=Ba(r,!0);return o.fetchRowMeta(t.screen.screenName,n).pipe(Zt((e=>{var a,o,c,l;const d=e.fields.find((e=>e.key===i)),p=t.router,u=null==(o=null==(a=t.view.widgets.find((e=>e.bcName===r)))?void 0:a.fields.find((e=>e.key===i)))?void 0:o.drillDownKey,m=null==(l=null==(c=t.data[r])?void 0:c.find((e=>e.id===s)))?void 0:l[u];return m||(null==d?void 0:d.drillDown)||(null==d?void 0:d.drillDown)!==p.path?zt(d.drillDownType!==da.inner?er(k({bcName:r,rowMeta:e,bcUrl:n,cursor:s})):Qt,er(W({bcName:r,bcUrl:n,cursor:s})),er(Y({url:m||d.drillDown,drillDownType:d.drillDownType,route:p}))):Qt})),Jt((e=>(console.error(e),Qt))))})));import{concat as tr,EMPTY as rr,filter as ir,mergeMap as sr,of as nr}from"rxjs";var cr=(e,a)=>e.pipe(ir(f.match),sr((e=>{var o,t;const r=a.value;if(!r.session.active)return rr;if("router"===r.router.type)return nr(Me(r.router));const i=r.screen.screenName,s=(null==(o=r.session.screens.find((e=>e.defaultScreen)))?void 0:o.name)||(null==(t=r.session.screens[0])?void 0:t.name),n="default"===r.router.type?s:r.router.screenName;if(n!==i){const e=r.session.screens.find((e=>e.name===n));return nr(e?N({screen:e}):w({screenName:n}))}const c=r.view.name,l=r.router.viewName,d=Ga(r.router.bcPath)||{},p={};Object.entries(d).forEach((e=>{const[a,o]=e,t=r.screen.bo.bc[a];t&&(null==t?void 0:t.cursor)===o||(p[a]=o)}));const u=Object.keys(p).length,m=l!==c,f=[];if(u&&f.push(nr(G({cursorsMap:p}))),m){const e=l?r.screen.views.find((e=>e.name===l)):r.screen.primaryView?r.screen.views.find((e=>e.name===r.screen.primaryView)):r.screen.views[0];f.push(nr(e?C(e):E({viewName:l})))}return u&&!m&&Object.entries(d).forEach((e=>{const[a,o]=e;r.data[a].find((e=>e.id===o))||f.push(nr(le({bcName:a})))})),tr(...f)})));import{filter as lr,map as dr}from"rxjs";var pr=(e,a)=>e.pipe(lr(E.match),dr((e=>ea({type:"error",key:"selectViewFail",message:`View is missing or unavailable for your role', ${e.payload.viewName}`,duration:15}))));import{filter as ur,map as mr}from"rxjs";var fr=e=>e.pipe(ur(w.match),mr((e=>ea({type:"error",key:"selectScreenFail",message:`Screen is missing or unavailable for your role', ${e.payload.screenName}}`,duration:15}))));import{filter as br,map as vr}from"rxjs";var hr=(e,a)=>e.pipe(br(L.match),vr((e=>{var o;const t=a.value,r=t.view.widgets.find((a=>a.name===e.payload.widgetName));if((null==(o=t.screen.bo.bc[null==r?void 0:r.bcName])?void 0:o.cursor)!==e.payload.cursor)return G({cursorsMap:{[e.payload.bcName]:e.payload.cursor}})})));import yr from"axios";import{EMPTY as gr,filter as Nr,mergeMap as wr,of as Cr}from"rxjs";var Er=[401,409,418,500],Dr=e=>e.pipe(Nr(Le.match),wr((e=>{const{error:a,callContext:o}=e.payload;return a.response?Cr(We({statusCode:a.response.status,error:a,callContext:o})):yr.isCancel(a)?gr:Cr(Ve({error:{type:2}}))})));import{EMPTY as Mr,filter as Fr,mergeMap as Ir,tap as xr}from"rxjs";var Pr=(e,a,{})=>e.pipe(Fr(Ue.match),xr((e=>{const a=document.createElement("a");a.style.display="none",document.body.appendChild(a),setTimeout((()=>{a.click(),document.body.removeChild(a)}),100)})),Ir((()=>Mr)));import{filter as Tr,map as kr}from"rxjs";var Ar=e=>e.pipe(Tr(We.match),Tr((e=>401===e.payload.statusCode)),kr((e=>g(null))));import{filter as jr,map as Or}from"rxjs";var Rr=(e,a)=>e.pipe(jr(We.match),jr((e=>409===e.payload.statusCode)),Or((e=>{var a,o;const t=(null==(o=null==(a=e.payload.error.response.data.error)?void 0:a.popup)?void 0:o[0])||"";return ea({key:"action_edit_error",message:t,type:"buttonWarningNotification",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"OK"}}})})));import{concat as Sr,EMPTY as Vr,filter as Br,mergeMap as $r,of as _r}from"rxjs";var Ur=(e,a)=>e.pipe(Br(We.match),Br((e=>418===e.payload.statusCode)),$r((e=>{var o;const{error:t,callContext:r}=e.payload,i=[],s=t.response.data;if(!s.error.popup)return Vr;if(i.push(_r(Ve({error:{type:0,message:s.error.popup[0]}}))),null==(o=s.error.postActions)?void 0:o[0]){const e=a.value.view.widgets.find((e=>e.name===r.widgetName));i.push(_r(U({bcName:e.bcName,postInvoke:s.error.postActions[0],widgetName:e.name})))}return Sr(...i)})));import{filter as qr,map as Kr}from"rxjs";var Lr=(e,a)=>e.pipe(qr(We.match),qr((e=>500===e.payload.statusCode)),Kr((e=>{var a;const o={type:1,details:(null==(a=e.payload.error.response)?void 0:a.statusText)||"",error:e.payload.error};return Ve({error:o})})));import{filter as Wr,map as Yr}from"rxjs";var Gr=(e,a)=>e.pipe(Wr(We.match),Wr((e=>!Er.includes(e.payload.statusCode))),Yr((e=>Ve({error:{type:0,code:e.payload.error.response.status,details:e.payload.error.response.data}}))));import{EMPTY as Hr,filter as Jr,mergeMap as zr,tap as Qr}from"rxjs";var Xr=(e,a)=>e.pipe(Jr(qe.match),Qr((e=>{const{url:a}=e.payload,o=document.createElement("a");o.href=a,o.style.display="none",document.body.appendChild(o),setTimeout((()=>{o.click(),document.body.removeChild(o)}),100)})),zr((()=>Hr)));import{EMPTY as Zr,filter as ei,mergeMap as ai,of as oi}from"rxjs";var ti=(e,a)=>e.pipe(ei(U.match),ai((e=>{const o=a.value;switch(e.payload.postInvoke.type){case"drillDown":return oi(Y(c(n({},e.payload.postInvoke),{route:o.router,widgetName:e.payload.widgetName})));case"postDelete":{const a=[G({cursorsMap:{[e.payload.bcName]:null}})];return o.router.bcPath.includes(`${e.payload.bcName}/`)||a.push(D({bcName:e.payload.bcName,widgetName:e.payload.widgetName})),oi(...a)}case"refreshBC":{const a=e.payload.postInvoke,t=a.bc,r=o.screen.bo.bc[a.bc],i=e.payload.widgetName||"",s=o.view.infiniteWidgets||[],n=o.view.widgets.some((e=>e.bcName===t&&s.includes(e.name)));return oi(n?M({bcName:r.name,widgetName:i,from:1,to:r.page}):D({bcName:r.name,widgetName:i}))}case"showMessage":{const a=e.payload.postInvoke;return oi(Pe({type:a.messageType,message:a.messageText}))}case"downloadFile":return oi(Ue({fileId:e.payload.postInvoke.fileId}));case"downloadFileByUrl":return oi(qe({url:e.payload.postInvoke.url}));default:return Zr}})));import{EMPTY as ri,filter as ii,mergeMap as si,of as ni}from"rxjs";import{isAnyOf as ci}from"@reduxjs/toolkit";var li=(e,a)=>e.pipe(ii(ci(K,q)),si((e=>{const{bcName:a,operationType:o,widgetName:t}=e.payload,r=K.match(e)?e.payload.postInvokeConfirm:e.payload.preInvoke;switch(r.type){case"confirm":case"info":case"error":case"confirmText":return ni(ce({operation:{bcName:a,operationType:o,widgetName:t},confirmOperation:r}));default:return ri}})));import{concat as di,filter as pi,switchMap as ui}from"rxjs";var mi=(e,a)=>e.pipe(pi(Qe.match),ui((e=>di([g(null),b({login:"",password:"",role:e.payload.role})]))));import{catchError as fi,concat as bi,filter as vi,mergeMap as hi,of as yi,switchMap as gi}from"rxjs";var Ni=(e,a,{api:o})=>e.pipe(vi(Je.match),hi((()=>{const e=a.value,{router:t}=e,{activeRole:r}=e.session;return o.refreshMeta().pipe(gi((()=>bi([g(null),b({login:"",password:"",role:r}),f({route:t,action:"PUSH"})]))),fi((e=>yi(h(e)))))})));import{EMPTY as wi,filter as Ci,switchMap as Ei}from"rxjs";var Di=(e,a)=>e.pipe(Ci(b.match),Ei((e=>wi)));import{catchError as Mi,EMPTY as Fi,filter as Ii,mergeMap as xi,of as Pi,switchMap as Ti}from"rxjs";var ki={401:"Invalid credentials",403:"Access denied"},Ai=(e,a,{api:o})=>e.pipe(Ii(b.match),Ii((e=>{var a;return!!(null==(a=e.payload)?void 0:a.role)})),Ti((e=>{var a;const t=null!=(a=e.payload.role)?a:"";return o.loginByRoleRequest(t).pipe(xi((e=>Fi)),Mi((e=>(console.error(e),Pi(h({errorMsg:e.response?ki[e.response.status]||"Server application unavailable":"Empty server response"}))))))})));import{concat as ji,EMPTY as Oi,filter as Ri,of as Si,switchMap as Vi,take as Bi,tap as $i}from"rxjs";var _i=(e,a)=>e.pipe(Ri(ze.match),Vi((()=>ji(Si(Je(null)),e.pipe(Ri(v.match),Bi(1),$i((()=>location.reload())),Vi((()=>Oi)))))));import{catchError as Ui,concat as qi,EMPTY as Ki,filter as Li,mergeMap as Wi,of as Yi}from"rxjs";import{OperationTypeCrud as Gi}from"@cxbox-ui/schema";var Hi=(e,a,{api:o})=>e.pipe(Li(B.match),Li((e=>to(Gi.create,e.payload,a.value))),Wi((e=>{const t=a.value,r=e.payload.bcName,i=Ba(r);return o.newBcData(t.screen.screenName,i,{widgetName:e.payload.widgetName},{_action:e.payload.operationType}).pipe(Wi((a=>{const o=a.row,t={id:null,vstamp:-1};a.row.fields.forEach((e=>{t[e.key]=e.currentValue}));const s=a.postActions[0],n=t.id;return qi(Yi(O({bcName:r,dataItem:t,bcUrl:i})),Yi(k({bcName:r,bcUrl:`${i}/${n}`,rowMeta:o,cursor:n})),Yi(J({bcName:e.payload.bcName,cursor:n,dataItem:{id:n}})),s?Yi(U({bcName:r,postInvoke:s,cursor:n,widgetName:e.payload.widgetName})):Ki)})),Ui((e=>(console.error(e),Yi(R({bcName:r}))))))})));import{catchError as Ji,filter as zi,mergeMap as Qi,of as Xi,race as Zi}from"rxjs";import{filter as es,mergeMap as as,of as os,take as ts}from"rxjs";import{isAnyOf as rs}from"@reduxjs/toolkit";var is=[C,y];function ss(e,a,o,t,r=(e=>!0)){return e.pipe(es(rs(...a)),es(r),as((()=>(o(),os(t)))),ts(1))}var ns=(e,a,{api:o})=>e.pipe(zi(P.match),Qi((t=>{var r,i;const s=a.value,c=t.payload.bcName,l=s.screen.bo.bc[c],{cursor:d,page:p}=l,u=(null==(r=s.view.widgets.find((e=>e.bcName===c)))?void 0:r.limit)||l.limit,m=null==(i=s.router.bcPath)?void 0:i.includes(`${c}/${d}`),f=Ba(c,m),b=s.screen.sorters[c],v=n(n({_page:p,_limit:u},Qa(s.screen.filters[c]||[])),Xa(b)),h=o.createCanceler(),y=ss(e,is,h.cancel,x({bcName:c,bcUrl:f})),g=o.fetchBcData(s.screen.screenName,f,v,h.cancelToken).pipe(Qi((e=>{var a;const o=null==(a=s.data[c])?void 0:a.map((e=>e.id)),t=[...s.data[c],...e.data.filter((e=>!o.includes(e.id)))];return Xi(I({bcName:c,data:t,bcUrl:f,hasNext:e.hasNext}))})),Ji((e=>(console.error(e),Xi(x({bcName:c,bcUrl:f}))))));return Zi(y,g)})));import{catchError as cs,concat as ls,EMPTY as ds,filter as ps,mergeMap as us,of as ms}from"rxjs";var fs=(e,a,{api:o})=>e.pipe(ps(B.match),ps((e=>to(Ca.save,e.payload,a.value))),us((e=>{var t,r,i;const s=a.value,l=e.payload.bcName,d=Ba(l,!0),p=e.payload.widgetName,u=s.screen.bo.bc[l].cursor,m=s.data[l].find((e=>e.id===u)),f=null==(t=s.view.pendingDataChanges[l])?void 0:t[u],b=d&&(null==(r=s.view.rowMeta[l])?void 0:r[d]),v=null==(i=s.view.widgets.find((e=>e.name===p)))?void 0:i.options;if(b){const e=b.fields;for(const a in f)e.find((e=>e.key===a&&e.disabled))&&delete f[a]}const h=Object.entries(ro(l,s.view.widgets,s.screen.bo.bc)).map((e=>{const[a,o]=e;return D({bcName:a,widgetName:o[0]})})),y={widgetName:e.payload.widgetName};return o.saveBcData(s.screen.screenName,d,c(n({},f),{vstamp:m.vstamp}),y).pipe(us((a=>{const o=a.postActions[0],t=a.record;return ls(ms(se({bcName:l,cursor:u,dataItem:t})),ms(T({widgetName:p,bcName:l})),ms(...h),o?ms(U({bcName:l,widgetName:p,postInvoke:o,cursor:t.id})):ds,e.payload.onSuccessAction?ms(e.payload.onSuccessAction):ds)})),cs((a=>{var o,t,r,i,s,n;console.error(a);let c=ds;e.payload.onSuccessAction&&!(null==v?void 0:v.disableNotification)&&(c=ms(ea({key:"data_autosave_undo",type:"buttonWarningNotification",message:"There are pending changes. Please save them or cancel.",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[me({bcNames:[l]})]}}})));let p=null,u=null;const m=null==(o=a.response)?void 0:o.data;return(null==(t=a.response)?void 0:t.data)===Object(null==(r=a.response)?void 0:r.data)&&(u=null==(i=null==m?void 0:m.error)?void 0:i.entity,p=null==(n=null==(s=null==m?void 0:m.error)?void 0:s.popup)?void 0:n[0]),ls(ms(ne({bcName:l,bcUrl:d,viewError:p,entityError:u})),c)})))})));import{EMPTY as bs,filter as vs,mergeMap as hs}from"rxjs";var ys=(e,a)=>e.pipe(vs(C.match),hs((e=>{try{const e=a.value,o={};return e.view.widgets.filter((e=>!ha.includes(e.type))).forEach((a=>{if(a.bcName){let t=a.bcName,r=e.screen.bo.bc[a.bcName].parentName;for(;r;)t=r,r=e.screen.bo.bc[r].parentName;o[t]||(o[t]=a)}})),Object.entries(o).map((([e,a])=>D({widgetName:a.name,bcName:e})))}catch(e){return console.error(`selectView Epic:: ${e}`),bs}})));import{catchError as gs,concat as Ns,EMPTY as ws,filter as Cs,mergeMap as Es,of as Ds,race as Ms}from"rxjs";import{WidgetTypes as Fs}from"@cxbox-ui/schema";import{isAnyOf as Is}from"@reduxjs/toolkit";var xs=(e,a,{api:o})=>e.pipe(Cs(Is(D,M,X,le,Se)),Es((t=>Ms(...(()=>{var r,i,s,c,l,d;const p=a.value,{widgetName:u}=t.payload,{widgets:m,infiniteWidgets:f}=p.view,b=null!=(r=m.find((e=>e.name===u)))?r:m.find((e=>e.bcName===t.payload.bcName));if(!b)return[ws];const v=t.payload.bcName,h=p.screen.bo.bc[v],{cursor:y,page:g}=h,N=(null==(i=m.find((e=>e.bcName===v)))?void 0:i.limit)||h.limit,w=p.screen.sorters[v];if(X.match(t)&&v===t.payload.calleeBCName)return[ws];const C=m.find((e=>e.bcName===b.bcName&&e.type===Fs.AssocListPopup&&function(e){var a,o;return(null==(a=e.options)?void 0:a.hierarchy)||(null==(o=e.options)?void 0:o.hierarchyFull)}(e))),E=p.view.widgets.find((e=>{var a;return e.bcName===b.bcName&&e.type===Fs.AssocListPopup&&(null==(a=e.options)?void 0:a.hierarchyFull)})),F=null==(s=p.router.bcPath)?void 0:s.includes(`${v}/${y}`),P=Ba(v,F),k=n(n({_page:g,_limit:N},Qa(E?[]:p.screen.filters[v]||[])),Xa(w));le.match(t)&&(u&&f.includes(u)||(null==(l=null==(c=null==m?void 0:m.filter((e=>e.bcName===v)))?void 0:c.find((e=>f.includes(e.name))))?void 0:l.name))&&(k._page=1,k._limit=N*g),M.match(t)&&(k._page=t.payload.from||1,k._limit=(t.payload.to||g-k._page)*N),(D.match(t)&&t.payload.ignorePageLimit||(null==(d=null==C?void 0:C.options)?void 0:d.hierarchyFull))&&(k._limit=0);const A=o.createCanceler(),j=ss(e,is,A.cancel,x({bcName:v,bcUrl:P})),O=ss(e,[fe],A.cancel,x({bcName:v,bcUrl:P}),(e=>h.parentName===e.payload.bcName)),R=o.fetchBcData(p.screen.screenName,P,k,A.cancelToken).pipe(Es((e=>{var a,o;const r=((e,a,o)=>{var r;const{bcName:i}=t.payload,s=D.match(t)?t.payload.keepDelta:void 0,n=null==(r=e[0])?void 0:r.id;return Ds(G({cursorsMap:{[i]:e.some((e=>e.id===a))?a:n},keepDelta:o||s}))})(e.data,y,!!C),i=m.some((e=>{var a;return(null==(a=p.screen.bo.bc[e.bcName])?void 0:a.parentName)===v&&!ha.includes(e.type)})),s=a=>{var o,t,r,i,s,n,c,l,d;if((null==(o=a.showCondition)?void 0:o.bcName)===(null==(t=p.screen.bo.bc[a.bcName])?void 0:t.parentName)){let e=null==(i=p.screen.bo.bc[null==(r=a.showCondition)?void 0:r.bcName])?void 0:i.parentName,o=e===v;for(;!o&&e;)e=null==(s=p.screen.bo.bc[e])?void 0:s.parentName,o=e===v;if(o)return!0}const u=v===(null==(n=a.showCondition)?void 0:n.bcName)?e.data:p.data[null==(c=a.showCondition)?void 0:c.bcName];return io(a.showCondition,null==(d=p.screen.bo.bc[null==(l=a.showCondition)?void 0:l.bcName])?void 0:d.cursor,u,p.view.pendingDataChanges)},n=(!s(b)||ha.includes(b.type))&&!i,c=(null==(a=p.view.popupData)?void 0:a.bcName)!==b.bcName;if(n&&c)return ws;const l=(null==(o=e.data)?void 0:o.length)?((e,a,o,r)=>{const{bcName:i}=t.payload,{ignorePageLimit:s,keepDelta:n}=D.match(t)?t.payload:{ignorePageLimit:void 0,keepDelta:void 0};return Ns(...Object.entries(ro(i,e,a)).filter((([a,o])=>{const i=e.find((e=>o.includes(e.name)&&!ha.includes(e.type)&&r(e)));return!!X.match(t)||!!i})).map((([a,i])=>{const c=e.find((e=>i.includes(e.name)&&!ha.includes(e.type)&&r(e)));return Ds(D({bcName:a,widgetName:c.name,ignorePageLimit:s||X.match(t),keepDelta:o||n}))})))})(m,p.screen.bo.bc,!!C,s):ws,d=Ds(T({widgetName:u,bcName:v}));return Ns(r,Ds(I({bcName:v,data:e.data,bcUrl:P,hasNext:e.hasNext})),d,l)})),gs((e=>(console.error(e),Ds(x({bcName:t.payload.bcName,bcUrl:P}))))));return[j,O,R]})()))));import{catchError as Ps,concat as Ts,EMPTY as ks,filter as As,mergeMap as js,of as Os}from"rxjs";import{OperationTypeCrud as Rs}from"@cxbox-ui/schema";var Ss=(e,a,{api:o})=>e.pipe(As(B.match),As((e=>to(Rs.delete,e.payload,a.value))),js((e=>{const t=e.payload.widgetName,r=a.value,i=e.payload.bcName,s=r.screen.bo.bc[i].cursor,n=Ba(i,!0),c="target"===r.view.pendingValidationFailsFormat;return o.deleteBcData(r.screen.screenName,n,{widgetName:e.payload.widgetName}).pipe(js((e=>{const a=e.postActions[0];return Ts(c?Os(me({bcNames:[i]})):ks,Os(D({bcName:i,widgetName:t})),a?Os(U({bcName:i,postInvoke:a,cursor:s,widgetName:t})):ks)})),Ps((e=>(console.error(e),Os(S({bcName:i}))))))})));import{concat as Vs,filter as Bs,mergeMap as $s,of as _s}from"rxjs";var Us=(e,a)=>e.pipe(Bs(fe.match),$s((e=>{const{bcName:o,cursor:t}=e.payload,r=Object.entries(ro(o,a.value.view.widgets,a.value.screen.bo.bc)).map((a=>{const[o,t]=a;return D({bcName:o,widgetName:t[0],ignorePageLimit:e.payload.ignoreChildrenPageLimit,keepDelta:e.payload.keepDelta})}));return Vs(_s(G({cursorsMap:{[o]:t},keepDelta:e.payload.keepDelta})),_s(T({widgetName:"",bcName:o})),r)})));import{concat as qs,filter as Ks,mergeMap as Ls,of as Ws}from"rxjs";var Ys=(e,a)=>e.pipe(Ks(ve.match),Ls((e=>{var o,t,r,i,s;const l=a.value,d=e.payload.dataItem._associate,p=[Ws(J({bcName:e.payload.bcName,cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],u=l.view.widgets.find((a=>a.name===e.payload.widgetName)),m=e.payload.bcName===u.bcName,f={bcName:u.bcName,radio:null==(o=u.options)?void 0:o.hierarchyRadio,fields:u.fields},b=null==(t=u.options)?void 0:t.hierarchy,v=m?f:b.find((a=>a.bcName===e.payload.bcName)),h=null==(r=u.options)?void 0:r.hierarchyGroupSelection,y=null==(i=u.options)?void 0:i.hierarchyTraverse,g=b.slice(b.findIndex((a=>a.bcName===e.payload.bcName))+1).map((e=>e.bcName));h&&v.radio&&!d&&p.push(Ws(Ce({bcNames:g})));const N=m?null:b.find(((a,o)=>{var t;return(null==(t=b[o+1])?void 0:t.bcName)===e.payload.bcName}))||f,w=null==(s=l.data[null==N?void 0:N.bcName])?void 0:s.find((e=>e.id===l.screen.bo.bc[null==N?void 0:N.bcName].cursor));if(N&&y&&d&&(v.radio&&p.push(Ws(Ce({bcNames:[N.bcName]}))),p.push(Ws(ve({bcName:N.bcName,widgetName:e.payload.widgetName,dataItem:c(n({},w),{_associate:!0,_value:w[N.assocValueKey||e.payload.assocValueKey]}),assocValueKey:e.payload.assocValueKey})))),N&&y&&!d){const a=l.data[e.payload.bcName],o=a.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate)),t=l.view.pendingDataChanges[e.payload.bcName],r=!t||!Object.values(t).find((o=>!0===o._associate&&o.id!==e.payload.dataItem.id&&a.find((e=>e.id===o.id))));o&&r&&p.push(Ws(ve({bcName:N.bcName,widgetName:e.payload.widgetName,dataItem:c(n({},w),{_associate:!1}),assocValueKey:e.payload.assocValueKey})))}return qs(...p)})));import{catchError as Gs,concat as Hs,EMPTY as Js,filter as zs,mergeMap as Qs,of as Xs}from"rxjs";import{OperationTypeCrud as Zs}from"@cxbox-ui/schema";import{isAnyOf as en}from"@reduxjs/toolkit";var an=en(B),on=(e,a,{api:o})=>e.pipe(zs(an),zs((e=>to(Zs.cancelCreate,e.payload,a.value))),Qs((e=>{var t,r;const i=a.value,s=i.screen.screenName,l=e.payload.bcName,d=Ba(l,!0),p=i.screen.bo.bc[l],u=null==p?void 0:p.cursor,m={widgetName:e.payload.widgetName},f=null==(t=i.data[l])?void 0:t.find((e=>e.id===p.cursor)),b=null==(r=i.view.pendingDataChanges[l])?void 0:r[p.cursor],v=f&&c(n({},b),{vstamp:f.vstamp}),h={[e.payload.bcName]:null};return o.customAction(s,d,v,m,{_action:e.payload.operationType}).pipe(Qs((e=>{const a=e.postActions[0];return Hs(Xs(_({bcName:l,cursor:u})),Xs(G({cursorsMap:h})),a?Xs(U({bcName:l,postInvoke:a,cursor:u,widgetName:m.widgetName})):Js)})),Gs((e=>(console.error(e),Xs(S({bcName:l}))))))})));import{concat as tn,filter as rn,mergeMap as sn,of as nn}from"rxjs";var cn=e=>e.pipe(rn(be.match),sn((e=>{const{bcName:a,cursor:o,depth:t}=e.payload;return tn(nn(H({bcName:a,depth:t,cursor:o})),nn(D({bcName:a,depth:t+1,widgetName:"",ignorePageLimit:!0})))})));import{concat as ln,filter as dn,mergeMap as pn,of as un}from"rxjs";var mn=(e,a)=>e.pipe(dn(ie.match),pn((e=>{var o,t,r,i,s,l,d,p,u,m;const f=a.value,{bcName:b,cursor:v,popupBcName:h,associateFieldKey:y}=e.payload,g=f.view.widgets.find((e=>e.bcName===h&&ha.includes(e.type)));let N=((null==f?void 0:f.data[h])||[]).map((e=>{var a;const o=null==(a=f.view.pendingDataChanges[h])?void 0:a[e.id];return n(n({},e),o)}));const w=N.find((a=>a.id===e.payload.removedItem.id)),C=e.payload.dataItem.map((e=>e.id));let E=[];if(null==(o=g.options)?void 0:o.hierarchyGroupDeselection){(null==(t=g.options)?void 0:t.hierarchyTraverse)&&(N=so(N));const a=N.filter((e=>e.parentId===w.id));E=[w.id,...a.filter((e=>C.includes(e.id))).map((e=>e.id))],(null==(r=g.options)?void 0:r.hierarchyTraverse)&&(no(a,E),E=N.filter((e=>E.includes(e.id)&&C.includes(e.id))).map((e=>e.id)));const o=N.find((e=>e.id===w.parentId)),s=N.filter((e=>e.parentId===(null==o?void 0:o.id))),l=s.every((e=>E.includes(e.id)||!C.includes(e.id)));if(o&&l)if(null==(i=g.options)?void 0:i.hierarchyTraverse){const a=[];if(no(s,a),a.every((e=>E.includes(e)||!C.includes(e))))return ln(un(ie(c(n({},e.payload),{removedItem:{id:o.id,value:null}}))))}else E.push(o.id)}return(null==(s=g.options)?void 0:s.hierarchyFull)?un(J({bcName:b,cursor:v,dataItem:{[y]:e.payload.dataItem.filter((e=>!E.includes(e.id)))}})):(null==(l=g.options)?void 0:l.hierarchy)?ln(un(J({bcName:null!=(m=null==(u=null==(p=null==(d=g.options)?void 0:d.hierarchy)?void 0:p.find((a=>{var o;return null==(o=f.view.pendingDataChanges[a.bcName])?void 0:o[e.payload.removedItem.id]})))?void 0:u.bcName)?m:b,cursor:e.payload.removedItem.id,dataItem:c(n({},e.payload.removedItem),{_associate:!1})})),un(J({bcName:b,cursor:v,dataItem:{[y]:e.payload.dataItem}}))):ln(un(J({bcName:h,cursor:e.payload.removedItem.id,dataItem:c(n({},e.payload.removedItem),{_associate:!1})})),un(J({bcName:b,cursor:v,dataItem:{[y]:e.payload.dataItem}})))})));import{catchError as fn,filter as bn,map as vn,mergeMap as hn,of as yn,race as gn}from"rxjs";var Nn=(e,a,{api:o})=>e.pipe(bn(T.match),hn((t=>{const r=a.value,i=r.screen.screenName,s=t.payload.bcName,n=r.screen.bo.bc[s].cursor,c=Ba(s,!0),l=o.createCanceler(),d=ss(e,is,l.cancel,A({bcName:s})),p=ss(e,[fe],l.cancel,A({bcName:s}),(e=>r.screen.bo.bc[s].parentName===e.payload.bcName)),u=o.fetchRowMeta(i,c,void 0,l.cancelToken).pipe(vn((e=>k({bcName:s,rowMeta:e,bcUrl:c,cursor:n}))),fn((e=>(console.error(e),yn(A({bcName:s}))))));return gn(d,p,u)})));import{concat as wn,filter as Cn,mergeMap as En,of as Dn}from"rxjs";var Mn=(e,a)=>e.pipe(Cn(ye.match),En((e=>{var o,t,r,i,s;const l=a.value,d=[],p=e.payload.assocValueKey||(null==(o=l.view.popupData)?void 0:o.assocValueKey),u=e.payload.bcName,m=l.data[u],f=e.payload.dataItem._associate,b=e.payload.depth||1,v=b-1,h=b>1&&m.find((a=>a.id===e.payload.dataItem.parentId)),y=l.view.widgets.find((a=>a.name===e.payload.widgetName)),g=null==(t=y.options)?void 0:t.hierarchyTraverse,N=null==(r=y.options)?void 0:r.hierarchyRadio,w=null==(i=y.options)?void 0:i.hierarchyGroupDeselection,C=m.filter((e=>e.level===b&&(1===e.level||e.parentId===(null==h?void 0:h.id))));if(N&&w&&1===b)if(f){const a=l.view.pendingDataChanges[u],o=m.find((o=>{if(1===o.level&&o.id!==e.payload.dataItem.id){const e=null==a?void 0:a[o.id];if((null==e?void 0:e._associate)||!e&&o._associate)return!0}return!1}));o&&d.push(Dn(ye({bcName:u,depth:b,widgetName:e.payload.widgetName,dataItem:c(n({},o),{_associate:!1}),assocValueKey:p})))}else d.push(Dn(we({bcName:u,parentId:e.payload.dataItem.id,depth:b+1,assocValueKey:p,selected:!1})));if(d.push(Dn(J({bcName:e.payload.bcName,cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))),v&&g&&f&&d.push(Dn(ye({bcName:u,depth:v,widgetName:e.payload.widgetName,dataItem:c(n({},h),{_associate:!0,_value:h[p]}),assocValueKey:p}))),v&&g&&!f){const a=l.view.pendingDataChanges[u],o=!a||!Object.values(a).find((a=>!0===a._associate&&a.id!==e.payload.dataItem.id&&C.find((e=>e.id===a.id)))),t=a&&(null==(s=Object.values(a))?void 0:s.filter((e=>!1===e._associate)).map((e=>e.id)));C.filter((a=>a.id!==e.payload.dataItem.id&&!(null==t?void 0:t.includes(a.id)))).every((e=>!e._associate))&&o&&d.push(Dn(ye({bcName:u,depth:v,widgetName:e.payload.widgetName,dataItem:c(n({},h),{_associate:!1}),assocValueKey:p})))}return wn(...d)})));import{catchError as Fn,concat as In,EMPTY as xn,filter as Pn,mergeMap as Tn,of as kn,switchMap as An}from"rxjs";var jn=(e,a,{api:o})=>e.pipe(Pn(te.match),Pn((e=>a.value.view.popupData.active)),An((e=>{const t=a.value,r=t.view.popupData.calleeBCName,i=t.view.popupData.calleeWidgetName,s=e.payload.bcNames,n=Ba(r,!0),c=s.length?{_bcName:s[s.length-1]}:{};return o.associate(t.screen.screenName,n,Object.values(t.view.pendingDataChanges[s[0]]||{}).filter((e=>e._associate)),c).pipe(Tn((e=>{const a=e.postActions[0],o=t.view.widgets.find((e=>e.bcName===r));return In(a?kn(U({bcName:r,postInvoke:a,widgetName:o.name})):xn,kn(me({bcNames:s})),kn(le({bcName:r,widgetName:i})))})),Fn((e=>(console.error(e),xn))))})));import{concat as On,filter as Rn,mergeMap as Sn,of as Vn}from"rxjs";var Bn=(e,a)=>e.pipe(Rn(he.match),Sn((e=>{var o,t,r,i,s;const l=e.payload.bcName,d=[Vn(J({bcName:l,cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],p=a.value,u=e.payload.dataItem._associate,m=e.payload.depth||1,f=m-1,b=null==(o=p.view.widgets.find((a=>a.name===e.payload.widgetName)).options)?void 0:o.hierarchyTraverse,v=m>1?null==(t=p.depthData[m])?void 0:t[l]:p.data[l],h=f?f>1?null==(r=p.screen.bo.bc[l].depthBc[f])?void 0:r.cursor:p.screen.bo.bc[l].cursor:null,y=h?f>1?null==(s=null==(i=p.depthData[f])?void 0:i[l])?void 0:s.find((e=>e.id===h)):p.data[l].find((e=>e.id===h)):null;return f&&b&&u&&d.push(Vn(he({bcName:l,depth:f,widgetName:e.payload.widgetName,dataItem:c(n({},y),{_associate:!0,_value:y[e.payload.assocValueKey]}),assocValueKey:e.payload.assocValueKey}))),f&&b&&!u&&v.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate))&&d.push(Vn(he({bcName:l,depth:f,widgetName:e.payload.widgetName,dataItem:c(n({},y),{_associate:!1}),assocValueKey:e.payload.assocValueKey}))),On(...d)})));import{catchError as $n,filter as _n,mergeMap as Un,of as qn,race as Kn}from"rxjs";var Ln=(e,a,{api:o})=>e.pipe(_n(F.match),Un((t=>{const{bcName:r,searchSpec:i,searchString:s}=t.payload,n=Ba(r,!1),c=o.createCanceler(),l=ss(e,is,c.cancel,x({bcName:r,bcUrl:n})),d=o.fetchBcData(a.value.screen.screenName,n,{[i+".contains"]:s},c.cancelToken).pipe(Un((e=>qn(I({bcName:r,data:e.data,bcUrl:n})))),$n((e=>(console.error(e),qn(x({bcName:t.payload.bcName,bcUrl:n}))))));return Kn(l,d)})));import{filter as Wn,of as Yn,switchMap as Gn}from"rxjs";var Hn=(e,a)=>e.pipe(Wn(te.match),Wn((()=>!a.value.view.popupData.active)),Gn((e=>{var o;const t=a.value,{calleeBCName:r=e.payload.calleeBcName,associateFieldKey:i=e.payload.associateFieldKey}=t.view.popupData,s=t.screen.bo.bc[r].cursor,n=null!=(o=t.data[r].find((e=>e.id===s))[i])?o:[],c=[];e.payload.bcNames.forEach((e=>{Object.entries(t.view.pendingDataChanges[e]||{}).forEach((([e,a])=>{c.push(a)}))}));const l=c.filter((e=>!n.find((a=>a.id===e.id))&&e._associate)).map((e=>({id:e.id,options:{},value:e._value}))),d=n.filter((e=>{const a=c.find((a=>a.id===e.id));return!a||!1!==(null==a?void 0:a._associate)})).concat(...l);return Yn(J({bcName:r,cursor:s,dataItem:{[i]:d}}))})));import{filter as Jn,mergeMap as zn,of as Qn}from"rxjs";var Xn=(e,a,{})=>e.pipe(Jn(ge.match),zn((e=>{const o=a.value.data[e.payload.bcName];return Qn(z({bcName:e.payload.bcName,cursors:o.map((e=>e.id)),dataItems:o.map((a=>c(n({},a),{_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))})));import{filter as Zn,mergeMap as ec,of as ac}from"rxjs";var oc=(e,a)=>e.pipe(Zn(Ne.match),ec((e=>{var o;const t=(null==(o=a.value.depthData[e.payload.depth])?void 0:o[e.payload.bcName])||[];return ac(z({bcName:e.payload.bcName,cursors:t.map((e=>e.id)),dataItems:t.map((a=>c(n({},a),{_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))})));import{concat as tc,filter as rc,mergeMap as ic,of as sc}from"rxjs";var nc=(e,a)=>e.pipe(rc(we.match),ic((e=>{const o=e.payload.depth,t=a.value.data[e.payload.bcName],r=(t||[]).filter((a=>a.level===o&&a.parentId===e.payload.parentId)),i=[sc(z({bcName:e.payload.bcName,cursors:r.map((e=>e.id)),dataItems:r.map((a=>c(n({},a),{_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))];return r.forEach((a=>{t.find((e=>e.parentId===a.id))&&i.push(sc(we(c(n({},e.payload),{parentId:a.id,depth:o+1}))))})),tc(...i)})));import cc from"axios";import{from as lc,map as dc,takeWhile as pc}from"rxjs";function uc(e){var a;if(null==(a=e.data)?void 0:a.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}var mc=class{constructor(e){d(this,"instance",cc.create({responseType:"json",headers:{Pragma:"no-cache","Cache-Control":"no-cache, no-store, must-revalidate"}})),this.instance=e}get(e,a={},o){return lc(this.instance.get(e,a)).pipe(pc(uc),dc((e=>e.data)))}put(e,a,o){return lc(this.instance.put(e,a)).pipe(pc(uc),dc((e=>e.data)))}post(e,a,o,t){return lc(this.instance.post(e,a)).pipe(pc(uc),dc((e=>e.data)))}delete(e,a,o,t){return lc(this.instance.delete(e,a)).pipe(pc(uc),dc((e=>e.data)))}};import fc from"axios";import{EMPTY as bc,expand as vc,map as hc,reduce as yc}from"rxjs";var gc=class{constructor(e){d(this,"api$",new mc),this.api$=new mc(e)}routerRequest(e,a){return this.api$.get(Ra(e,a))}fetchBcData(e,a,o={},t){const r=0===o._limit,i=Oa(Ha`data/${e}/`+a,c(n({},o),{_page:r?void 0:"_page"in o?o._page:1,_limit:r?void 0:"_limit"in o?o._limit:30}));return this.api$.get(i,{cancelToken:t})}fetchBcDataAll(e,a,o={}){let t=1;return this.fetchBcData(e,a,c(n({},o),{_page:t})).pipe(vc((r=>r.hasNext?this.fetchBcData(e,a,c(n({},o),{_page:++t})):bc)),yc(((e,a)=>[...e,...a.data]),[]))}fetchRowMeta(e,a,o,t){const r=Oa(Ha`row-meta/${e}/`+a,o);return this.api$.get(r,{cancelToken:t}).pipe(hc((e=>e.data.row)))}newBcData(e,a,o,t){const r=Oa(Ha`row-meta-new/${e}/`+a,t);return this.api$.get(r,null,o).pipe(hc((e=>e.data)))}saveBcData(e,a,o,t,r){const i=Oa(Ha`data/${e}/`+a,r);return this.api$.put(i,{data:o},t).pipe(hc((e=>e.data)))}deleteBcData(e,a,o,t){const r=Oa(Ha`data/${e}/`+a,t);return this.api$.delete(r,o).pipe(hc((e=>e.data)))}customAction(e,a,o,t,r){const i=Oa(Ha`custom-action/${e}/`+a,r);return this.api$.post(i,{data:o||{}},null,t).pipe(hc((e=>e.data)))}associate(e,a,o,t){const r=Array.isArray(o)?o.map((e=>({id:e.id,vstamp:e.vstamp,associated:e._associate}))):o,i=Oa(Ha`associate/${e}/`+a,t);return this.api$.post(i,r).pipe(hc((e=>e.data)))}getRmByForceActive(e,a,o,t){const r=Oa(Ha`row-meta/${e}/`+a,t);return this.api$.post(r,{data:o}).pipe(hc((e=>e.data.row)))}refreshMeta(){return this.api$.get(Ha`bc-registry/refresh-meta`)}loginByRoleRequest(e){return this.api$.get(Ha`login?role=${e}`)}createCanceler(){let e;const a=new fc.CancelToken((a=>{e=a}));return{cancel:e,cancelToken:a}}};export{gc as Api,u as actions,Do as epics,ca as interfaces,p as reducers,Aa as utils};
1
+ var e=Object.defineProperty,a=Object.defineProperties,o=Object.getOwnPropertyDescriptors,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,n=(a,o,t)=>o in a?e(a,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[o]=t,l=(e,a)=>{for(var o in a||(a={}))r.call(a,o)&&n(e,o,a[o]);if(t)for(var o of t(a))i.call(a,o)&&n(e,o,a[o]);return e},s=(e,t)=>a(e,o(t)),c=(a,o)=>{for(var t in o)e(a,t,{get:o[t],enumerable:!0})},d=(e,a,o)=>(n(e,"symbol"!=typeof a?a+"":a,o),o),p={};c(p,{createDataReducerBuilderManager:()=>la,createDepthDataReducerBuilderManager:()=>ca,createRouterReducerBuilderManager:()=>Va,createScreenReducerBuilderManager:()=>Fo,createSessionReducerBuilderManager:()=>ko,createViewReducerBuilderManager:()=>To,dataInitialState:()=>na,initialDepthDataState:()=>sa,initialRouterState:()=>Sa,initialScreenState:()=>Do,initialSessionState:()=>Io,initialViewState:()=>jo});var u={};c(u,{addNotification:()=>oa,addPendingRequest:()=>ea,apiError:()=>Le,bcAddFilter:()=>Te,bcAddSorter:()=>Pe,bcCancelPendingChanges:()=>me,bcChangeCursors:()=>G,bcChangeDepthCursor:()=>J,bcChangePage:()=>Se,bcDeleteDataFail:()=>S,bcFetchDataFail:()=>k,bcFetchDataPages:()=>M,bcFetchDataRequest:()=>D,bcFetchDataSuccess:()=>I,bcFetchRowMeta:()=>j,bcFetchRowMetaFail:()=>A,bcFetchRowMetaSuccess:()=>T,bcForceUpdate:()=>ce,bcLoadMore:()=>x,bcNewData:()=>O,bcNewDataFail:()=>R,bcNewDataSuccess:()=>P,bcRemoveAllFilters:()=>Oe,bcRemoveFilter:()=>Ae,bcRemoveSorter:()=>Re,bcSaveDataFail:()=>le,bcSaveDataSuccess:()=>ne,bcSelectDepthRecord:()=>fe,bcSelectRecord:()=>ve,bulkUploadFiles:()=>Ke,changeAssociation:()=>be,changeAssociationFull:()=>ye,changeAssociationSameBc:()=>he,changeAssociations:()=>re,changeChildrenAssociations:()=>ge,changeChildrenAssociationsSameBc:()=>Ne,changeDataItem:()=>H,changeDataItems:()=>z,changeDescendantsAssociationsFull:()=>we,changeLocation:()=>v,clearValidationFails:()=>Be,closeConfirmModal:()=>$e,closeNotification:()=>je,closeViewError:()=>Ue,closeViewPopup:()=>ee,downloadFile:()=>_e,downloadFileByUrl:()=>qe,drillDown:()=>Y,dropAllAssociations:()=>Ce,dropAllAssociationsFull:()=>De,dropAllAssociationsSameBc:()=>Ee,emptyAction:()=>Je,exportState:()=>Ge,forceActiveChangeFail:()=>V,forceActiveRmUpdate:()=>Q,handleRouter:()=>Me,httpError:()=>We,inlinePickListFetchDataRequest:()=>F,login:()=>f,loginDone:()=>b,loginFail:()=>h,logout:()=>y,logoutDone:()=>g,operationConfirmation:()=>se,processPostInvoke:()=>_,processPostInvokeConfirm:()=>K,processPreInvoke:()=>q,refreshMeta:()=>He,refreshMetaAndReloadPage:()=>Xe,refreshMetaDone:()=>ze,refreshMetaFail:()=>Qe,removeMultivalueTag:()=>ie,removeNotifications:()=>ta,removePendingRequest:()=>aa,saveAssociations:()=>te,selectScreen:()=>N,selectScreenFail:()=>w,selectTableCell:()=>Ie,selectTableCellInit:()=>Fe,selectView:()=>C,selectViewFail:()=>E,sendOperation:()=>U,sendOperationFail:()=>$,sendOperationSuccess:()=>B,showAllTableRecordsInit:()=>ke,showFileUploadPopup:()=>Z,showNotification:()=>xe,showViewError:()=>Ve,showViewPopup:()=>X,switchDebugMode:()=>Ye,switchRole:()=>Ze,uploadFile:()=>de,uploadFileDone:()=>pe,uploadFileFailed:()=>ue,userDrillDown:()=>L,userDrillDownSuccess:()=>W,viewClearPickMap:()=>oe,viewPutPickMap:()=>ae});import{createAction as m}from"@reduxjs/toolkit";var v=m("changeLocation"),f=m("login"),b=m("loginDone"),h=m("loginFail"),y=m("logout"),g=m("logoutDone"),N=m("selectScreen"),w=m("selectScreenFail"),C=m("selectView"),E=m("selectViewFail"),D=m("bcFetchDataRequest"),M=m("bcFetchDataPages"),F=m("inlinePickListFetchDataRequest"),I=m("bcFetchDataSuccess"),k=m("bcFetchDataFail"),x=m("bcLoadMore"),j=m("bcFetchRowMeta"),T=m("bcFetchRowMetaSuccess"),A=m("bcFetchRowMetaFail"),O=m("bcNewData"),P=m("bcNewDataSuccess"),R=m("bcNewDataFail"),S=m("bcDeleteDataFail"),V=m("forceActiveChangeFail"),U=m("sendOperation"),$=m("sendOperationFail"),B=m("sendOperationSuccess"),_=m("processPostInvoke"),q=m("processPreInvoke"),K=m("processPostInvokeConfirm"),L=m("userDrillDown"),W=m("userDrillDownSuccess"),Y=m("drillDown"),G=m("bcChangeCursors"),J=m("bcChangeDepthCursor"),H=m("changeDataItem"),z=m("changeDataItems"),Q=m("forceActiveRmUpdate"),X=m("showViewPopup"),Z=m("showFileUploadPopup"),ee=m("closeViewPopup"),ae=m("viewPutPickMap"),oe=m("viewClearPickMap"),te=m("saveAssociations"),re=m("cnangeAssociations"),ie=m("removeMultivalueTag"),ne=m("bcSaveDataSuccess"),le=m("bcSaveDataFail"),se=m("operationConfirmation"),ce=m("bcForceUpdate"),de=m("uploadFile"),pe=m("uploadFileDone"),ue=m("uploadFileFailed"),me=m("bcCancelPendingChanges"),ve=m("bcSelectRecord"),fe=m("bcSelectDepthRecord"),be=m("changeAssociations"),he=m("changeAssociationsSameBc"),ye=m("changeAssociationFull"),ge=m("changeChildrenAssociations"),Ne=m("changeChildrenAssociationsSameBc"),we=m("changeDescendantsAssociationsFull"),Ce=m("dropAllAssociations"),Ee=m("dropAllAssociationsSameBc"),De=m("dropAllAssociationsFull"),Me=m("handleRouter"),Fe=m("selectTableCellInit"),Ie=m("selectTableCell"),ke=m("showAllTableRecordsInit"),xe=m("showNotification"),je=m("closeNotification"),Te=m("bcAddFilter"),Ae=m("bcRemoveFilter"),Oe=m("bcRemoveAllFilters"),Pe=m("bcAddSorter"),Re=m("bcRemoveSorter"),Se=m("bcChangePage"),Ve=m("showViewError"),Ue=m("closeViewError"),$e=m("closeConfirmModal"),Be=m("clearValidationFails"),_e=m("downloadFile"),qe=m("downloadFileByUrl"),Ke=m("bulkUploadFiles"),Le=m("apiError"),We=m("httpError"),Ye=m("switchDebugMode"),Ge=m("exportState"),Je=m("emptyAction"),He=m("refreshMeta"),ze=m("refreshMetaDone"),Qe=m("refreshMetaFail"),Xe=m("refreshMetaAndReloadPage"),Ze=m("switchRole"),ea=m("addPendingRequest"),aa=m("removePendingRequest"),oa=m("addNotification"),ta=m("removeNotifications"),ra=class{constructor(){d(this,"reducers",[]),d(this,"matchers",[]),d(this,"defaultCaseReducer")}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),o=this.matchers.reduce(((e,a)=>e.addMatcher(...a)),a);return void 0!==this.defaultCaseReducer?o.addDefaultCase(this.defaultCaseReducer):o}}},ia=[],na={},la=e=>(new ra).addCase(I,((e,a)=>{e[a.payload.bcName]=a.payload.data})).addCase(P,((e,a)=>{e[a.payload.bcName]=[...e[a.payload.bcName]||ia,a.payload.dataItem]})).addCase(ne,((e,a)=>{const o=a.payload.dataItem,t=e[a.payload.bcName].findIndex((e=>e.id===o.id));e[a.payload.bcName][t]=o})).addCase(T,((e,a)=>{const o=a.payload.cursor;if(!o)return;const t=(e[a.payload.bcName]||ia).find((e=>e.id===o)),r=s(l({},t),{id:o,vstamp:-1,_associate:t&&t._associate});a.payload.rowMeta.fields.find((e=>"id"===e.key&&!e.currentValue))||(a.payload.rowMeta.fields.filter((e=>"_associate"!==e.key)).forEach((e=>r[e.key]=e.currentValue)),e[a.payload.bcName]=t?e[a.payload.bcName].map((e=>e===t?r:e)):[...e[a.payload.bcName]||ia,r])})).addCase(re,((e,a)=>{e[`${a.payload.bcName}Delta`]=a.payload.records||[]})).addCase(C,(e=>{})),sa={},ca=e=>(new ra).addCase(I,((e,a)=>{!a.payload.depth||a.payload.depth<2||(e[a.payload.depth][a.payload.bcName]=a.payload.data)})).addCase(C,(e=>{})),da={};c(da,{AppNotificationType:()=>pa,ApplicationErrorType:()=>ba,DrillDownType:()=>ua,FieldType:()=>va,FilterType:()=>Aa,OperationPostInvokeConfirmType:()=>Ta,OperationPostInvokeType:()=>ja,OperationPreInvokeType:()=>xa,OperationTypeCrud:()=>Fa,PaginationMode:()=>Ma,PendingValidationFailsFormat:()=>fa,PopupWidgetTypes:()=>wa,PositionTypes:()=>ga,RouteType:()=>ma,TableLikeWidgetTypes:()=>Na,WidgetTypes:()=>ya,coreOperations:()=>Ia,isCustomWidget:()=>Ca,isCustomWidgetConfiguration:()=>Ea,isOperationGroup:()=>ka,isViewNavigationCategory:()=>Pa,isViewNavigationGroup:()=>Ra,isViewNavigationItem:()=>Oa,isWidgetFieldBlock:()=>Da});var pa=(e=>(e.success="success",e.info="info",e.warning="warning",e.error="error",e))(pa||{});import{DrillDownType as ua}from"@cxbox-ui/schema";var ma=(e=>(e.screen="screen",e.default="default",e.router="router",e.invalid="invalid",e.unknown="unknown",e))(ma||{});import{FieldType as va}from"@cxbox-ui/schema";var fa=(e=>(e.old="old",e.target="target",e))(fa||{}),ba=(e=>(e[e.BusinessError=0]="BusinessError",e[e.SystemError=1]="SystemError",e[e.NetworkError=2]="NetworkError",e))(ba||{});import{WidgetTypes as ha}from"@cxbox-ui/schema";import{WidgetTypes as ya,PositionTypes as ga}from"@cxbox-ui/schema";var Na=[ha.List,ha.DataGrid,ha.AssocListPopup,ha.PickListPopup,ha.FlatTree,ha.FlatTreePopup],wa=[ha.PickListPopup,ha.AssocListPopup,ha.FlatTreePopup];function Ca(e){return!!e&&!("component"in e)}function Ea(e){return e&&"component"in e}function Da(e){return!!e&&"blockId"in e}var Ma=(e=>(e.page="page",e.loadMore="loadMore",e))(Ma||{});import{OperationTypeCrud as Fa}from"@cxbox-ui/schema";var Ia=[Fa.create,Fa.save,Fa.delete,Fa.associate,Fa.cancelCreate,Fa.fileUpload];function ka(e){return Array.isArray(e.actions)}var xa=(e=>(e.confirm="confirm",e.info="info",e.error="error",e))(xa||{}),ja=(e=>(e.refreshBC="refreshBC",e.downloadFile="downloadFile",e.downloadFileByUrl="downloadFileByUrl",e.drillDown="drillDown",e.openPickList="openPickList",e.showMessage="showMessage",e.postDelete="postDelete",e))(ja||{}),Ta=(e=>(e.confirm="confirm",e.confirmText="confirmText",e))(Ta||{}),Aa=(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",e))(Aa||{});function Oa(e){return!!e&&"viewName"in e}function Pa(e){return!!e&&"categoryName"in e}function Ra(e){return!!e&&"child"in e&&!("categoryName"in e)}var Sa={type:"default",path:"/",params:null,screenName:null},Va=e=>(new ra).addCase(b,((e,a)=>{e=l(l({},e),a.payload)})).addCase(v,((e,a)=>{e=l(l({},e),a.payload.location)}));import{OperationTypeCrud as Ua}from"@cxbox-ui/schema";var $a={};function Ba(e){return e.includes("?")?e+"&":e+"?"}function _a(e,a){return a?qa(e,function(e){const a=l({},e);return Object.keys(a).reduce(((e,a)=>(e[a]||"number"==typeof e[a]||delete e[a],e)),a)}(a)):e}function qa(e,a){if(!a)return e;const o=new URLSearchParams(a).toString();return`${Ba(e)}${o&&`${o}`}`}c($a,{addTailControlSequences:()=>Ba,applyParams:()=>_a,applyRawParams:()=>qa,assignTreeLinks:()=>yo,breadthFirstSearch:()=>Co,buildBcUrl:()=>Ha,buildSearchResultTree:()=>No,buildUrl:()=>io,checkShowCondition:()=>ho,createApiError:()=>Ya,createApiErrorObservable:()=>Ga,defaultBuildURL:()=>lo,defaultParseURL:()=>no,deleteUndefinedFromObject:()=>Eo,escapedSrc:()=>oo,flattenOperations:()=>vo,getBcChildren:()=>bo,getDescendants:()=>go,getFieldTitle:()=>eo,getFilterType:()=>mo,getFilters:()=>so,getSorters:()=>co,getTemplate:()=>Ja,makeRelativeUrl:()=>to,matchOperationRole:()=>fo,parseBcCursors:()=>ro,parseFilters:()=>po,parseSorters:()=>uo,presort:()=>wo,splitBcUrl:()=>za,splitIntoTokens:()=>ao});import{actions as Ka}from"@cxbox-ui/core";import{EMPTY as La,of as Wa}from"rxjs";function Ya(e,a={widgetName:"unknown"}){if(e.isAxiosError)return Ka.apiError({error:e,callContext:a})}function Ga(e,a){const o=Ya(e,a);return o?Wa(o):La}function Ja(e,...a){let o="";for(let t=0;t<a.length;t++)o+=e[t],o+="${"+t+"}";return o+=e[e.length-1],o}function Ha(e,a=!1,o){const t=o.screen.bo.bc,r=t[e];if(!r)return null;const i=[r.cursor&&a?`${r.name}/${r.cursor}`:r.name];let n=r;for(;n.parentName;)n=t[n.parentName],i.push(`${n.name}/${n.cursor}`);return i.reverse().join("/")}function za(e){const a=e.split("/"),o=[];for(let e=0;e<a.length;e+=2){const t=a[e],r=a[e+1];o.push(t&&r?`${t}/${r}`:t)}return o}var Qa=/\${([^{}]+)}/g,Xa=(e,a)=>e?e.replace(Qa,((e,o)=>{const[t,r]=o.split(":");return String((null==a?void 0:a[t])||r||"")})):"",Za=e=>!!e&&null!==e.match(Qa);function eo(e,a){return Za(e)?Xa(e,a):e}function ao(e,a){const o=a instanceof RegExp?a:oo(a);return e.split(o)}function oo(e){return new RegExp(`(${null==e?void 0:e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")})`,"gi")}function to(e){return e.startsWith("/")?e:`/${e}`}function ro(e){if(!e)return null;const a={},o=e.split("/");for(let e=0;e<o.length;e+=2)o[e+1]&&(a[o[e]]=o[e+1]);return a}function io(e,...a){let o="";for(let t=0;t<a.length;t++){o+=e[t];const r=a[t];if("number"==typeof r)o+=r.toString(10);else{if("string"!=typeof r){const o=Ja(e,a);throw new Error(`Неверный тип подстановочного знака в ${o}, index: ${t}, value: ${JSON.stringify(r)}`)}o+=encodeURIComponent(r)}}return o+=e[e.length-1],o}function no(e){let a=e.pathname;a.startsWith("/")&&(a=a.substring(1)),a.endsWith("/")&&(a=a.substring(0,a.length-1)),(null==a?void 0:a.includes("&"))&&!(null==a?void 0:a.includes("?"))&&(a=a.substring(0,a.indexOf("&")));const o={};e.searchParams.forEach(((e,a)=>o[a]=e));const t=a.split("/").map(decodeURIComponent);let r="unknown",i=null,n=null,l=null;if(t.length>0&&"router"===t[0])r="router";else if(1===t.length)r="default";else if(t.length>=2&&"screen"===t[0]){let e=2;r="screen",i=t[1],t.length>=4&&"view"===t[2]&&(e+=2,n=t[3]),l=t.slice(e).map(encodeURIComponent).join("/")}return{type:r,path:0===a.length||a.startsWith("/")?a:`/${a}`,params:o,screenName:i,viewName:n,bcPath:l}}function lo(e){return`/screen/${e.screenName}/view/${e.viewName}/${e.bcPath}`}function so(e){if(!e||!e.length)return null;const a={};return e.forEach((e=>{if("range"===e.type){const o=e.value;o[0]&&(a[`${e.fieldName}.greaterOrEqualThan`]=String(o[0])),o[1]&&(a[`${e.fieldName}.lessOrEqualThan`]=String(o[1]))}else{let o=String(e.value);Array.isArray(e.value)&&(o=`[${e.value.map((e=>`"${e}"`))}]`),a[`${e.fieldName}.${e.type}`]=o}})),a}function co(e){if(!e||!e.length)return null;const a={};return e.forEach(((e,o)=>{a[`_sort.${o}.${e.direction}`]=e.fieldName})),a}function po(e=""){const a=[],o=new URL(e,window.location.origin).searchParams;return o.forEach((e=>{const[t,r]=e.split(".");if(t&&r&&o.get(e)){let i=o.getAll(e);if("containsOneOf"===r||"equalsOneOf"===r){try{"string"==typeof i&&(i=JSON.parse(i))}catch(e){console.warn(e)}i=Array.isArray(i)?i:[]}a.push({fieldName:t,type:r,value:i})}})),a.length?a:null}function uo(e){if(!e||!e.length)return null;const a=[],o=new URL(e,window.location.origin).searchParams;return Object.entries(o).map((([e,a])=>{const[o,t]=e.split(".").slice(1);return{fieldName:a,order:Number.parseInt(o,10),direction:t}})).sort(((e,a)=>e.order-a.order)).forEach((e=>{a.push({fieldName:e.fieldName,direction:e.direction})})),a}function mo(e){switch(e){case va.dictionary:return"equalsOneOf";case va.checkbox:return"specified";case va.input:case va.text:return"contains";default:return"equals"}}function vo(e){const a=[];return null==e||e.forEach((e=>{ka(e)?e.actions.forEach((e=>{a.push(e)})):a.push(e)})),a}function fo(e,a,o){var t,r;if(a.operationType===e)return!0;const i=Ha(a.bcName,!0,o),n=vo(null==(r=null==(t=o.view.rowMeta[a.bcName])?void 0:t[i])?void 0:r.actions).find((e=>e.type===a.operationType));return"none"===e?Ia.every((e=>e!==a.operationType&&e!==(null==n?void 0:n.actionRole))):(null==n?void 0:n.actionRole)===e}function bo(e,a,o){const t={};return a.filter((e=>e.bcName)).forEach((a=>{const r=[];r.push(a.bcName);let i=o[a.bcName].parentName;for(;i;)r.push(i),i=o[i].parentName;r.filter((a=>o[a].parentName===e)).forEach((e=>{t[e]=[...t[e]||[],a.name]}))})),a.filter((e=>{var a;return null==(a=e.options)?void 0:a.hierarchy})).forEach((a=>{const[o,r]=function(e,a){var o,t;const r=null==(t=null==(o=null==a?void 0:a.options)?void 0:o.hierarchy)?void 0:t.map((e=>e.bcName));if(e!==a.bcName&&!(null==r?void 0:r.includes(e)))return[];const i=null==r?void 0:r.findIndex((a=>a===e));return[null==r?void 0:r[i+1],a.name]}(e,a);o&&(t[o]=[...t[o]||[],r])})),t}function ho(e,a,o,t){var r,i;const{bcName:n,isDefault:l,params:s}=e||{};if(!e||Array.isArray(e)||l)return!0;const c=a&&(null==o?void 0:o.find((e=>e.id===a)));if(!c)return!1;const d=null==(i=null==(r=null==t?void 0:t[n])?void 0:r[a])?void 0:i[null==s?void 0:s.fieldKey];return void 0!==d?d===(null==s?void 0:s.value):(null==c?void 0:c[null==s?void 0:s.fieldKey])===(null==s?void 0:s.value)}function yo(e){const a=e.map((e=>l({},e))),o={},t=[];return a.forEach((r=>{var i,n;if(!r.parentId||"0"===r.parentId)return;let l=o[r.parentId];if("number"!=typeof l&&(l=e.findIndex((e=>e.id===r.parentId)),o[r.parentId]=l),-1===l)return t.push(r.parentId),void console.warn(`Record with [id] = ${r.id} has [parentId] = ${r.parentId}, but no matching parent record exist. Check the service for this BC.`);r.parent=a[l],a[l].children?null==(n=null==(i=a[l])?void 0:i.children)||n.push(r):a[l].children=[r]})),t.length?a.filter((e=>!t.includes(e.parentId))):a}function go(e,a){e.forEach((e=>{a.push(e.id),e.children&&go(e.children,a)}))}function No(e,a){const o={};return e.forEach((e=>{var t;if(!a.includes(e.id))return;let r=e.parent;for(;r;)o[r.id]=!0,r=r.parent;o[e.id]=!0,null==(t=e.children)||t.forEach((e=>{o[e.id]=!0}))})),e.filter((e=>!0===o[e.id]))}function wo(e){const a=[];return e.filter((e=>1===e.level)).forEach((e=>{a.push(e.id),e.children&&go(e.children,a)})),a.map((a=>e.find((e=>e.id===a))))}function Co(e,a,o=1,t="child"){const r=a(e)&&e,i=e[t];if(!r&&!i)return null;if(r)return{node:r,depth:o};let n=i.filter((e=>!e[t])).find((e=>a(e)));if(n)return{node:n,depth:o+1};let l=o;return i.some((e=>{const o=Co(e,a,l+1,null!=t?t:"child");return n=null==o?void 0:o.node,l=null==o?void 0:o.depth,null==o?void 0:o.node})),n?{node:n,depth:l}:null}function Eo(e){Object.keys(e).forEach((a=>{void 0===e[a]&&delete e[a]}))}var Do={screenName:"",bo:{activeBcName:"",bc:{}},cachedBc:{},views:[],primaryView:"",filters:{},sorters:{}},Mo=[Ua.associate,Ua.fileUpload],Fo=e=>(new ra).addCase(N,((e,a)=>{var o,t,r,i,n;const s={},c={},d={};null==(o=a.payload.screen.meta)||o.bo.bc.forEach((e=>{s[e.name]=e;const a=uo(e.defaultSort),o=po(e.defaultFilter);a&&(c[e.name]=a),o&&(d[e.name]=o)})),e.screenName=a.payload.screen.name,e.primaryView=null!=(r=null==(t=a.payload.screen.meta)?void 0:t.primary)?r:e.primaryView,e.views=null!=(n=null==(i=a.payload.screen.meta)?void 0:i.views)?n:e.views,e.bo={activeBcName:null,bc:s},e.sorters=l(l({},e.sorters),c),e.filters=l(l({},e.filters),d)})).addCase(w,((e,a)=>{e.screenName=a.payload.screenName,e.views=[]})).addCase(D,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!0})).addCase(x,((e,a)=>{var o;const t=e.bo.bc[a.payload.bcName];t.page=(null!=(o=t.page)?o:1)+1,t.loading=!0})).addCase(C,((e,a)=>{var o;const t={};Array.from(new Set(null==(o=a.payload.widgets)?void 0:o.map((e=>e.bcName)))).filter((a=>e.bo.bc[a])).forEach((a=>{t[a]=s(l({},e.bo.bc[a]),{page:1})})),e.bo.bc=l(l({},e.bo.bc),t)})).addCase(I,((e,a)=>{const o=e.bo.bc[a.payload.bcName];o.hasNext=a.payload.hasNext,o.loading=!1,e.cachedBc[a.payload.bcName]=a.payload.bcUrl})).addCase(k,((e,a)=>{const o=a.payload.bcName;Object.values(e.bo.bc).some((e=>e.name===o))&&(e.bo.bc[o].loading=!1,e.cachedBc[o]=a.payload.bcUrl)})).addCase(U,((e,a)=>{Mo.includes(a.payload.operationType)||(e.bo.bc[a.payload.bcName].loading=!0)})).addCase(P,((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(G,((e,a)=>{const o={},t={};Object.entries(a.payload.cursorsMap).forEach((a=>{const[r,i]=a;o[r]=s(l({},e.bo.bc[r]),{cursor:i}),t[r]=i}));const r=Object.values(o).map((e=>`${e.url}/:id`));Object.values(e.bo.bc).forEach((a=>{r.some((e=>a.url.includes(e)))&&(o[a.name]=s(l({},e.bo.bc[a.name]),{cursor:null}),t[a.name]=null)})),Object.assign(e.bo.bc,o),Object.assign(e.cachedBc,t)})).addCase(J,((e,a)=>{var o;1===a.payload.depth?e.bo.bc[a.payload.bcName].cursor=a.payload.cursor:(e.bo.bc[a.payload.bcName].depthBc=null!=(o=e.bo.bc[a.payload.bcName].depthBc)?o:{},e.bo.bc[a.payload.bcName].depthBc[a.payload.depth].cursor=a.payload.cursor)})).addCase(ve,((e,a)=>{e.bo.bc[a.payload.bcName].cursor=a.payload.cursor})).addCase(ce,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!0,e.cachedBc[a.payload.bcName]=null})).addCase(Te,((e,a)=>{const{bcName:o,filter:t}=a.payload,r=t,i=e.filters[o]||[],n=i.find((e=>e.fieldName===t.fieldName&&e.type===t.type)),c=n?i.map((e=>e===n?s(l({},n),{value:r.value}):e)):[...i,r];e.bo.bc[o].page=1,e.filters[o]=c})).addCase(Ae,((e,a)=>{const{bcName:o,filter:t}=a.payload,r=(e.filters[o]||[]).filter((e=>e.fieldName!==(null==t?void 0:t.fieldName)||e.type!==t.type)),i=s(l({},e.filters),{[o]:r});r.length||delete i[o],e.bo.bc[a.payload.bcName].page=1,e.filters=i})).addCase(Oe,((e,a)=>{delete e.filters[a.payload.bcName],e.bo.bc[a.payload.bcName].page=1})).addCase(Pe,((e,a)=>{e.sorters[a.payload.bcName]=Array.isArray(a.payload.sorter)?a.payload.sorter:[a.payload.sorter]})).addCase(Se,((e,a)=>{e.bo.bc[a.payload.bcName].page=a.payload.page,e.bo.bc[a.payload.bcName].loading=!0})).addCase(X,((e,a)=>{var o,t;const r=null!=(t=null==(o=e.bo.bc[a.payload.bcName])?void 0:o.page)?t:1;e.bo.bc[a.payload.bcName].page=a.payload.bcName===a.payload.calleeBCName?r:1,e.bo.bc[a.payload.bcName].loading=a.payload.bcName!==a.payload.calleeBCName})).addCase(B,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(S,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase($,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(ne,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})).addCase(le,((e,a)=>{e.bo.bc[a.payload.bcName].loading=!1})),Io={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},ko=e=>(new ra).addCase(f,(e=>{e.loginSpin=!0,e.errorMsg=null})).addCase(b,((e,a)=>{(e=l(l({},e),a.payload)).loginSpin=!1,e.active=!0,e.logout=!1})).addCase(h,((e,a)=>{e.loginSpin=!1,e.errorMsg=a.payload.errorMsg})).addCase(y,(e=>{e.loginSpin=!1,e.active=!1,e.logout=!0})).addCase(Ye,((e,a)=>{e.debugMode=a.payload})).addCase(ea,((e,a)=>{var o;null==(o=e.pendingRequests)||o.push(a.payload.request)})).addCase(aa,((e,a)=>{var o;e.pendingRequests=null==(o=e.pendingRequests)?void 0:o.filter((e=>e.requestId!==a.payload.requestId))})).addCase(oa,((e,a)=>{e.notifications.push(a.payload)})).addCase(ta,((e,a)=>{const o=a.payload;e.notifications=e.notifications.filter((e=>!o.includes(e.key)))})).addCase(He,(e=>{e.isMetaRefreshing=!0})).addCase(ze,(e=>{e.isMetaRefreshing=!1})).addCase(Qe,(e=>{e.isMetaRefreshing=!1}));import{OperationTypeCrud as xo}from"@cxbox-ui/schema";var jo={id:void 0,name:null,url:null,widgets:[],columns:null,readOnly:!1,rowHeight:null,rowMeta:{},metaInProgress:{},popupData:{bcName:null},pendingDataChanges:{},infiniteWidgets:[],pendingValidationFailsFormat:"old",pendingValidationFails:{},handledForceActive:{},selectedCell:null,ignoreHistory:null,systemNotifications:[],error:null,modalInvoke:null},To=e=>(new ra).addCase(C,((e,a)=>{e.rowMeta=jo.rowMeta,Object.assign(e,a.payload)})).addCase(j,((e,a)=>{e.metaInProgress[a.payload.bcName]=!0})).addCase(x,((e,a)=>{const o=e.infiniteWidgets||[];void 0!==a.payload.widgetName&&o.push(a.payload.widgetName),e.infiniteWidgets=Array.from(new Set(o))})).addCase(U,((e,a)=>{a.payload.operationType===xo.create&&(e.metaInProgress[a.payload.bcName]=!0)})).addCase(T,((e,a)=>{var o;e.rowMeta[a.payload.bcName]=null!=(o=e.rowMeta[a.payload.bcName])?o:{},e.rowMeta[a.payload.bcName][a.payload.bcUrl]=a.payload.rowMeta,e.metaInProgress[a.payload.bcName]=!1})).addCase(P,((e,a)=>{e.selectedCell=jo.selectedCell})).addCase(Q,((e,a)=>{var o,t,r,i,n;const{bcName:s,bcUrl:c,currentRecordData:d,rowMeta:p,cursor:u}=a.payload,m={},v={},f={},b=[];p.fields.forEach((e=>{v[e.key]=e.currentValue,e.forceActive&&b.push(e.key)})),e.pendingDataChanges[s]=null!=(o=e.pendingDataChanges[s])?o:{};const h=l(l({},d),e.pendingDataChanges[s][u]);Object.keys(h).forEach((e=>{void 0!==v[e]&&h[e]!==v[e]&&(f[e]=v[e])}));const y=l(l({},e.pendingDataChanges[s][u]),f);b.forEach((e=>{void 0!==y[e]&&(m[e]=y[e])})),e.handledForceActive[s]=null!=(t=e.handledForceActive[s])?t:{},e.handledForceActive[s][u]=null!=(r=e.handledForceActive[s][u])?r:{},Object.assign(e.handledForceActive[s][u],m),e.pendingDataChanges[s]=null!=(i=e.pendingDataChanges[s])?i:{},e.pendingDataChanges[s][u]=y,e.rowMeta[s]=null!=(n=e.rowMeta[s])?n:{},e.rowMeta[s][c]=p})).addCase(H,((e,a)=>{var o,t,r;const i=a.payload.bcName,n=l(l({},(e.pendingDataChanges[a.payload.bcName]||{})[a.payload.cursor]||{}||{}),a.payload.dataItem),s=null==(o=e.rowMeta[i])?void 0:o[a.payload.bcUrl],c={},d="target"===e.pendingValidationFailsFormat;Object.keys(n).forEach((e=>{const a=null==s?void 0:s.fields.find((a=>a.required&&a.key===e)),o=null==n[e]||""===n[e]||Array.isArray(n[e])&&0===Object.keys(n[e]).length;a&&o&&(c[e]="This field is mandatory")})),e.pendingDataChanges[a.payload.bcName]=null!=(t=e.pendingDataChanges[a.payload.bcName])?t:{},e.pendingDataChanges[a.payload.bcName][a.payload.cursor]=n,d?(null==(r=e.pendingValidationFails)?void 0:r[i])[a.payload.cursor]=c:e.pendingValidationFails=c})).addCase(z,((e,a)=>{const o=l({},e.pendingDataChanges[a.payload.bcName]);a.payload.cursors.forEach(((e,t)=>{o[e]=a.payload.dataItems[t]})),e.pendingDataChanges[a.payload.bcName]=o})).addCase(Ce,((e,a)=>{const o=l({},e.pendingDataChanges);a.payload.bcNames.forEach((e=>{const a={};Object.keys(o[e]||{}).forEach((e=>{a[e]={id:e,_associate:!1}})),o[e]=a}));const t="target"===e.pendingValidationFailsFormat,r=e.pendingValidationFails?l({},e.pendingValidationFails):{};t&&a.payload.bcNames.forEach((e=>{r[e]={}})),e.pendingDataChanges=o,e.pendingValidationFails=t?r:jo.pendingValidationFails})).addCase(Ee,((e,a)=>{})).addCase(De,((e,a)=>{})).addCase(R,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(A,((e,a)=>{e.metaInProgress[a.payload.bcName]=!1})).addCase(V,((e,a)=>{var o;const{bcName:t,bcUrl:r,entityError:i}=a.payload,n={};i&&Object.entries(i.fields).forEach((([e,a])=>{n[e]=a})),e.rowMeta[t]=null!=(o=e.rowMeta[t])?o:{},e.rowMeta[t][r].errors=n})).addCase(le,((e,a)=>{var o;const{bcName:t,bcUrl:r,entityError:i}=a.payload,n={};i&&Object.entries(i.fields).forEach((([e,a])=>{n[e]=a})),e.rowMeta[t]=null!=(o=e.rowMeta[t])?o:{},e.rowMeta[t][r].errors=n})).addCase($,((e,a)=>{var o;const{bcName:t,bcUrl:r,entityError:i}=a.payload,n={};i&&Object.entries(i.fields).forEach((([e,a])=>{n[e]=a})),e.rowMeta[t]=null!=(o=e.rowMeta[t])?o:{},e.rowMeta[t][r].errors=n})).addCase(B,((e,a)=>{var o,t,r;const i=a.payload.bcName,n=a.payload.cursor,l="target"===e.pendingValidationFailsFormat;e.pendingDataChanges[i]=null!=(o=e.pendingDataChanges[i])?o:{},e.pendingDataChanges[i][n]={},l?(null==(t=e.pendingValidationFails)?void 0:t[i])[n]={}:e.pendingValidationFails=jo.pendingValidationFails,e.handledForceActive[i]=null!=(r=e.handledForceActive[i])?r:{},e.handledForceActive[i][n]={}})).addCase(ne,((e,a)=>{var o,t,r;const{bcName:i,cursor:n}=a.payload,l="target"===e.pendingValidationFailsFormat;e.pendingDataChanges[i]=null!=(o=e.pendingDataChanges[i])?o:{},e.pendingDataChanges[i][n]={},l?(null==(t=e.pendingValidationFails)?void 0:t[i])[n]={}:e.pendingValidationFails=jo.pendingValidationFails,e.handledForceActive[i]=null!=(r=e.handledForceActive[i])?r:{},e.handledForceActive[i][n]={}})).addCase(me,((e,a)=>{var o,t;const r=l({},e.pendingDataChanges);for(const o in e.pendingDataChanges)a.payload&&!a.payload.bcNames.includes(o)||(r[o]={});const i="target"===e.pendingValidationFailsFormat;let n=e.pendingValidationFails?l({},e.pendingValidationFails):{};i&&((null==(t=null==(o=a.payload)?void 0:o.bcNames)?void 0:t.length)>0?a.payload.bcNames.forEach((e=>{n[e]={}})):n=jo.pendingValidationFails),e.pendingDataChanges=r,e.pendingValidationFails=i?n:jo.pendingValidationFails})).addCase(Be,(e=>{e.pendingValidationFails=jo.pendingValidationFails})).addCase(X,((e,a)=>{const{bcName:o,calleeBCName:t,calleeWidgetName:r,associateFieldKey:i,assocValueKey:n,active:l,isFilter:s,type:c,widgetName:d}=a.payload;e.popupData={widgetName:d,type:c,bcName:o,calleeBCName:t,calleeWidgetName:r,associateFieldKey:i,assocValueKey:n,active:l,isFilter:s}})).addCase(Z,((e,a)=>{var o,t;const r=null==(t=null==(o=e.widgets)?void 0:o.find((e=>e.name===a.payload.widgetName)))?void 0:t.bcName;e.popupData={type:"file-upload",bcName:r,calleeBCName:r}})).addCase(ae,((e,a)=>{e.pickMap=a.payload.map})).addCase(oe,(e=>{e.pickMap=null})).addCase(ee,(e=>{e.popupData={},e.popupData.bcName=null})).addCase(Ie,((e,a)=>{e.selectedCell={widgetName:a.payload.widgetName,rowId:a.payload.rowId,fieldKey:a.payload.fieldKey}})).addCase(v,((e,a)=>{e.pendingDataChanges=jo.pendingDataChanges,e.selectedCell=jo.selectedCell})).addCase(xe,((e,a)=>{var o,t;e.systemNotifications=null!=(o=e.systemNotifications)?o:[],e.systemNotifications.push({type:a.payload.type,message:a.payload.message,id:null==(t=e.systemNotifications)?void 0:t.length})})).addCase(je,((e,a)=>{var o;e.systemNotifications=null!=(o=e.systemNotifications)?o:[],e.systemNotifications=e.systemNotifications.filter((e=>e.id!==a.payload.id))})).addCase(Ve,((e,a)=>{e.error=a.payload.error})).addCase(se,((e,a)=>{e.modalInvoke=a.payload})).addCase($e,((e,a)=>{e.modalInvoke=null})).addCase(Ue,(e=>{e.error=null})).addCase(_,(e=>{e.selectedCell=null})),Ao={};c(Ao,{apiErrorEpic:()=>Or,bcCancelCreateDataEpic:()=>ml,bcDeleteDataEpic:()=>Gn,bcFetchDataEpic:()=>$n,bcFetchRowMetaRequestEpic:()=>Tl,bcLoadMoreEpic:()=>yn,bcNewDataEpic:()=>tn,bcSaveDataEpic:()=>Mn,bcSelectDepthRecordEpic:()=>yl,bcSelectRecordEpic:()=>Xn,changeAssociationEpic:()=>tl,changeAssociationFullEpic:()=>Sl,changeAssociationSameBcEpic:()=>Hl,changeChildrenAssociationsEpic:()=>cs,changeChildrenAssociationsSameBcEpic:()=>ms,changeDescendantsAssociationsFullEpic:()=>ys,changeLocationEpic:()=>yr,changeScreen:()=>rr,changeViewEpic:()=>Jt,clearPendingDataChangesAfterCursorChangeEpic:()=>Pt,downloadFileByUrlEpic:()=>si,downloadFileEpic:()=>Ur,drillDownEpic:()=>$t,fileUploadConfirmEpic:()=>et,getRowMetaByForceActiveEpic:()=>Dt,handleRouterEpic:()=>er,httpError401Epic:()=>_r,httpError409Epic:()=>Lr,httpError418Epic:()=>zr,httpError500Epic:()=>Zr,httpErrorDefaultEpic:()=>ti,inlinePickListFetchDataEpic:()=>as,loginByAnotherRoleEpic:()=>_i,loginDoneEpic:()=>Kt,loginDoneSessionEpic:()=>Oi,processPostInvokeConfirmEpic:()=>gi,processPostInvokeEpic:()=>mi,refreshMetaAndReloadPageEpic:()=>Hi,refreshMetaEpic:()=>xi,removeMultivalueTagEpic:()=>El,saveAssociationsActiveEpic:()=>Ll,saveAssociationsPassiveEpic:()=>is,selectScreenFailEpic:()=>Dr,selectTableCellInitEpic:()=>it,selectViewEpic:()=>xn,selectViewFailEpic:()=>wr,sendOperationAssociateEpic:()=>ft,sendOperationEpic:()=>_o,showAllTableRecordsInitEpic:()=>xt,showAssocPopupEpic:()=>Go,showFileUploadPopupEpic:()=>pt,switchRoleEpic:()=>Ei,userDrillDownChangeCursorsEpic:()=>Ir,userDrillDownEpic:()=>ur});import{catchError as Oo,concat as Po,EMPTY as Ro,filter as So,mergeMap as Vo,of as Uo}from"rxjs";import{of as $o}from"rxjs";function Bo(e,a,o,t,r){const i=Object.values(Ta).includes(null==a?void 0:a.type),n=[];return a&&n.push(_({bcName:r,postInvoke:a,widgetName:e})),i&&n.push(K({bcName:r,operationType:t,widgetName:e,postInvokeConfirm:a})),o&&n.push(q({bcName:r,operationType:t,widgetName:e,preInvoke:o})),n.map((e=>$o(e)))}var _o=(e,a,{api:o})=>e.pipe(So(U.match),So((e=>fo("none",e.payload,a.value))),Vo((e=>{var t,r,i,n,c,d,p,u,m,f;const b=a.value,h=b.screen.screenName,{bcName:y,operationType:g,widgetName:N}=e.payload,w=(null==(t=e.payload.confirmOperation)?void 0:t.type)||e.payload.confirm,C=Ha(y,!0,b),E=b.screen.bo.bc[y],D=C&&(null==(r=b.view.rowMeta[y])?void 0:r[C]),M=null==D?void 0:D.fields,F=E.cursor,I=null==(i=b.data[y])?void 0:i.find((e=>e.id===E.cursor)),k=b.screen.filters[y],x=b.screen.sorters[y],j=l({},null==(n=b.view.pendingDataChanges[y])?void 0:n[E.cursor]);for(const e in j)M.find((a=>a.key===e&&a.disabled))&&delete j[e];const T=I&&s(l({},j),{vstamp:I.vstamp}),A=(null==(u=null==(p=null==(d=null==(c=b.view.widgets)?void 0:c.find((e=>e.name===N)))?void 0:d.options)?void 0:p.actionGroups)?void 0:u.defaultSave)===e.payload.operationType&&v.match(null==(f=null==(m=e.payload)?void 0:m.onSuccessAction)?void 0:f.type),O=l(l({_action:g},so(k)),co(x));w&&(O._confirm=w);const P={widgetName:e.payload.widgetName};return o.customAction(h,C,T,P,O).pipe(Vo((a=>{var o,t;const r=null==(o=a.postActions)?void 0:o[0],i=a.preInvoke;return A?(null==(t=null==e?void 0:e.payload)?void 0:t.onSuccessAction)?Po(Uo(me({bcNames:[y]})),Uo(e.payload.onSuccessAction)):Ro:Po(Uo(B({bcName:y,cursor:F})),Uo(ce({bcName:y})),...Bo(N,r,i,g,y))})),Oo((e=>{var a,o,t,r,i,n;console.error(e);let l=null,s=null;const c=null==(a=e.response)?void 0:a.data;return(null==(o=e.response)?void 0:o.data)===Object(null==(t=e.response)?void 0:t.data)&&(s=null==(r=null==c?void 0:c.error)?void 0:r.entity,l=null==(n=null==(i=null==c?void 0:c.error)?void 0:i.popup)?void 0:n[0]),Po(Uo($({bcName:y,bcUrl:C,viewError:l,entityError:s})),Ga(e,P))})))})));import{EMPTY as qo,filter as Ko,mergeMap as Lo,of as Wo}from"rxjs";import{WidgetTypes as Yo}from"@cxbox-ui/schema";var Go=(e,a)=>e.pipe(Ko(X.match),Ko((e=>!(!e.payload.calleeBCName||!e.payload.associateFieldKey))),Lo((e=>{var o,t,r,i;const{bcName:n,calleeBCName:l}=e.payload,s=a.value,c=s.view.widgets.find((e=>e.bcName===n&&e.type===Yo.AssocListPopup)),d=null==(o=s.screen.bo.bc[l])?void 0:o.cursor,p=null==(t=s.view.pendingDataChanges[l])?void 0:t[d],u=e.payload.associateFieldKey,m=null==p?void 0:p[u];if(!(c&&p&&m&&m)||c.options&&!c.options.hierarchyFull)return qo;const v={};m.forEach((e=>{v[e.id]={id:e.id,_associate:!0,_value:e.value}}));const f=null==(r=s.data[l])?void 0:r.find((e=>e.id===d)),b=null==(i=null==f?void 0:f[u])?void 0:i.map((e=>e.id)),h=m.map((e=>e.id));return b&&b.forEach((e=>{h.includes(e)||(v[e]={id:e,_associate:!1})})),Wo(z({bcName:n,cursors:Object.keys(v),dataItems:Object.values(v)}))})));import{catchError as Jo,concat as Ho,filter as zo,mergeMap as Qo,of as Xo}from"rxjs";import{OperationTypeCrud as Zo}from"@cxbox-ui/schema";var et=(e,a,{api:o})=>e.pipe(zo(Ke.match),Qo((e=>{var t,r;const i=a.value,n=null==(t=i.view.popupData)?void 0:t.bcName,l=Ha(n,!0,i),s=null==(r=i.view.widgets.find((e=>e.bcName===n)))?void 0:r.name;return o.customAction(i.screen.screenName,l,{bulkIds:e.payload.fileIds},null,{_action:"file-upload-save"}).pipe(Qo((e=>{var a;const o=null==(a=e.postActions)?void 0:a[0],t=e.preInvoke;return Ho(Xo(B({bcName:n,cursor:null})),Xo(ce({bcName:n})),Xo(ee(null)),...Bo(s,o,t,Zo.save,n))})),Jo((e=>(console.error(e),Ga(e)))))})));import{concat as at,filter as ot,mergeMap as tt,of as rt}from"rxjs";var it=(e,a)=>e.pipe(ot(Fe.match),tt((e=>{var o;const t=[],r=a.value,{rowId:i,fieldKey:n}=e.payload,l=r.view.widgets.find((a=>a.name===e.payload.widgetName)),s=null==l?void 0:l.bcName,c=null==(o=r.screen.bo.bc[s])?void 0:o.cursor,d=r.view.selectedCell;return i!==c&&t.push(rt(ve({bcName:s,cursor:i}))),d&&n===d.fieldKey&&i===d.rowId&&(null==l?void 0:l.name)===d.widgetName||t.push(rt(Ie({widgetName:null==l?void 0:l.name,rowId:i,fieldKey:n}))),at(...t)})));import{concat as nt,filter as lt,mergeMap as st,of as ct}from"rxjs";import{OperationTypeCrud as dt}from"@cxbox-ui/schema";var pt=(e,a)=>e.pipe(lt(U.match),lt((e=>fo(dt.fileUpload,e.payload,a.value))),st((e=>nt(ct(G({cursorsMap:{[e.payload.bcName]:null}})),ct(Z({widgetName:e.payload.widgetName}))))));import{filter as ut,map as mt}from"rxjs";import{OperationTypeCrud as vt}from"@cxbox-ui/schema";var ft=(e,a)=>e.pipe(ut(U.match),ut((e=>fo(vt.associate,e.payload,a.value))),mt((e=>X({bcName:e.payload.bcKey?`${e.payload.bcKey}`:`${e.payload.bcName}Assoc`,calleeBCName:e.payload.bcName,active:!0,calleeWidgetName:e.payload.widgetName}))));import{EMPTY as bt,concat as ht,filter as yt,mergeMap as gt,of as Nt,catchError as wt}from"rxjs";import{WidgetTypes as Ct}from"@cxbox-ui/schema";import{nanoid as Et}from"@reduxjs/toolkit";var Dt=(e,a,{api:o})=>e.pipe(yt(H.match),gt((e=>{var t,r,i,n,c;const d=a.value,p=d.view.url,{bcName:u,cursor:m,disableRetry:v}=e.payload;if(d.view.widgets.some((e=>{var a,o;return e.bcName===u&&e.type===Ct.AssocListPopup&&((null==(a=e.options)?void 0:a.hierarchySameBc)||(null==(o=e.options)?void 0:o.hierarchyFull))})))return bt;const f=d.view.widgets.find((e=>{var a;return e.name===(null==(a=d.view.popupData)?void 0:a.widgetName)&&[Ct.PickListPopup,Ct.FlatTreePopup].includes(e.type)})),b=Ha(u,!0,d),h=null==(t=d.view.pendingDataChanges[u])?void 0:t[m],y=(null==(r=d.view.handledForceActive[u])?void 0:r[m])||{},g=null==(i=d.data[u])?void 0:i.find((e=>e.id===m)),N=null==(c=null==(n=d.view.rowMeta[u])?void 0:n[b])?void 0:c.fields;let w=null;const C=ht(Nt(ee(null)),Nt(oe(null)),Nt(Oe({bcName:u}))),E=null==N?void 0:N.filter((e=>e.forceActive&&void 0!==h[e.key])).some((e=>{const a=h[e.key]!==y[e.key];return a&&(w=e.key),a})),D=Et();return E&&!v?ht(Nt(ea({request:{requestId:D,type:"force-active"}})),o.getRmByForceActive(d.screen.screenName,b,s(l({},h),{vstamp:null==g?void 0:g.vstamp})).pipe(gt((e=>{const a=[Nt(aa({requestId:D}))];return d.view.url===p&&a.push(Nt(Q({rowMeta:e,currentRecordData:g,bcName:u,bcUrl:b,cursor:m}))),f&&a.push(C),ht(...a)})),wt((e=>{var a,o,t,r,i,n;console.error(e);let l=null,s=null;const c=null==(a=e.response)?void 0:a.data;return(null==(o=e.response)?void 0:o.data)===Object(null==(t=e.response)?void 0:t.data)&&(s=null==(r=null==c?void 0:c.error)?void 0:r.entity,l=null==(n=null==(i=null==c?void 0:c.error)?void 0:i.popup)?void 0:n[0]),ht(Nt(aa({requestId:D})),d.view.url===p?ht(Nt(H({bcName:u,bcUrl:Ha(u,!0,d),cursor:m,dataItem:{[w]:null==g?void 0:g[w]},disableRetry:!0})),Nt(V({bcName:u,bcUrl:b,viewError:l,entityError:s}))):bt,Ga(e))})))):f?C:bt})));import{concat as Mt,filter as Ft,mergeMap as It,of as kt}from"rxjs";var xt=(e,a)=>e.pipe(Ft(ke.match),It((e=>{const o=[],{bcName:t,cursor:r}=e.payload,i=a.value.router;o.push(kt(G({cursorsMap:{[t]:null}})));const n=i.bcPath.slice(0,i.bcPath.indexOf(`${t}/${r}`)),c=lo(s(l({},i),{bcPath:n}));return o.push(kt(ce({bcName:t}))),o.push(kt(v({location:no(new URL(c,window.location.origin))}))),Mt(...o)})));import{EMPTY as jt,filter as Tt,mergeMap as At,of as Ot}from"rxjs";var Pt=(e,a)=>e.pipe(Tt(G.match),At((e=>{const o=a.value,t=ro(o.router.bcPath)||{},r={};return Object.entries(t).forEach((e=>{const[a,t]=e,i=o.screen.bo.bc[a];i&&(null==i?void 0:i.cursor)===t||(r[a]=t)})),Object.keys(r).length?Ot(G({cursorsMap:r})):jt})));import{concat as Rt,EMPTY as St,filter as Vt,switchMap as Ut}from"rxjs";var $t=(e,a)=>e.pipe(Vt(Y.match),Ut((e=>{var o,t;const r=a.value,i=e.payload.url,n=[];switch(e.payload.drillDownType){case ua.external:window.location.href=i;break;case ua.externalNew:/^[a-z0-9]+:\/\//i.test(i)&&window.open(i);break;case ua.relative:window.location.href=`${window.location.origin}/${i}`;break;case ua.relativeNew:window.open(`${window.location.origin}/${i}`,"_blank");break;default:const[e]=i.split("?"),a=new URL(i,window.location.origin),c=a.searchParams.get("filters"),d=a.searchParams.get("sorters");let p={},u={};try{p=null!=(o=JSON.parse(c))?o:p}catch(e){c&&console.warn("Failed to parse filters on drilldown"),p={}}try{u=null!=(t=JSON.parse(d))?t:u}catch(e){d&&console.warn("Failed to parse sorters on drilldown"),u={}}const m={};Object.keys(r.screen.filters).forEach((e=>{(""===p[e]||p[e])&&(m[e]=!0,n.push(Oe({bcName:e})))}));const f=no(a),b=f.viewName;Object.entries(p).forEach((([e,a])=>{var o;const t=null==(o=po(a))?void 0:o.map((e=>s(l({},e),{viewName:b})));null==t||t.forEach((a=>{m[e]=!0,n.push(Te({bcName:e,filter:a}))}))})),Object.entries(u).forEach((([e,a])=>{const o=uo(a);n.push(Pe({bcName:e,sorter:o})),m[e]=!0})),function(e,a,o=[]){const t=[];if(!e&&!a)return null;if(!e)return Object.keys(a);if(!a)return Object.keys(e);const r=Object.keys(a);return r.forEach((r=>{e[r]===a[r]||o.includes(r)||t.push(r)})),Object.keys(e).forEach((e=>{r.includes(e)||t.push(e)})),t}(r.router,f,["params"]).length>0||Object.keys(m).forEach((e=>{n.push(ce({bcName:e}))})),n.push(v({location:no(new URL(to(e),window.location.origin))}))}return n.length?Rt(n):St})));import{filter as Bt,of as _t,switchMap as qt}from"rxjs";var Kt=(e,a)=>e.pipe(Bt(b.match),qt((e=>{const o=a.value;if("router"===o.router.type)return _t(Me(o.router));const t=o.router.screenName,r=o.session.screens.find((e=>t?e.name===t:e.defaultScreen))||o.session.screens[0];return _t(r?N({screen:r}):w({screenName:t}))})));import{EMPTY as Lt,filter as Wt,of as Yt,switchMap as Gt}from"rxjs";var Jt=(e,a)=>e.pipe(Wt(C.match),Gt((e=>{const o=a.value,t=ro(o.router.bcPath)||{},r={};return Object.entries(t).forEach((e=>{const[a,t]=e,i=o.screen.bo.bc[a];i&&i.cursor===t||(r[a]=t)})),Object.keys(r).length?Yt(G({cursorsMap:r})):Lt})));import{catchError as Ht,EMPTY as zt,filter as Qt,mergeMap as Xt,switchMap as Zt}from"rxjs";var er=(e,a,{api:o})=>e.pipe(Qt(Me.match),Zt((e=>o.routerRequest(e.payload.path,e.payload.params).pipe(Xt((()=>zt)),Ht((e=>(console.error(e),Ga(e))))))));import{filter as ar,of as or,switchMap as tr}from"rxjs";var rr=(e,a)=>e.pipe(ar(N.match),tr((e=>{const o=a.value,t=o.router.viewName,r=o.screen.views.find((e=>e.name===t)),i=!t&&o.screen.primaryView&&o.screen.views.find((e=>e.name===o.screen.primaryView)),n=r||i||o.screen.views[0];return or(n?C(n):E({viewName:t}))})));import{catchError as ir,concat as nr,EMPTY as lr,filter as sr,mergeMap as cr,of as dr,switchMap as pr}from"rxjs";var ur=(e,a,{api:o})=>e.pipe(sr(L.match),pr((e=>{const t=a.value,{bcName:r,fieldKey:i,cursor:n}=e.payload,l=Ha(r,!0,t);return o.fetchRowMeta(t.screen.screenName,l).pipe(cr((e=>{var a,o,s,c;const d=e.fields.find((e=>e.key===i)),p=t.router,u=null==(o=null==(a=t.view.widgets.find((e=>e.bcName===r)))?void 0:a.fields.find((e=>e.key===i)))?void 0:o.drillDownKey,m=null==(c=null==(s=t.data[r])?void 0:s.find((e=>e.id===n)))?void 0:c[u];return m||(null==d?void 0:d.drillDown)||(null==d?void 0:d.drillDown)!==p.path?nr((null==d?void 0:d.drillDownType)!==ua.inner?dr(T({bcName:r,rowMeta:e,bcUrl:l,cursor:n})):lr,dr(W({bcName:r,bcUrl:l,cursor:n})),dr(Y({url:m||d.drillDown,drillDownType:d.drillDownType,route:p}))):lr})),ir((e=>(console.error(e),Ga(e)))))})));import{concat as mr,EMPTY as vr,filter as fr,mergeMap as br,of as hr}from"rxjs";var yr=(e,a)=>e.pipe(fr(v.match),br((e=>{var o,t;const r=a.value;if(!r.session.active)return vr;if("router"===r.router.type)return hr(Me(r.router));const i=r.screen.screenName,n=(null==(o=r.session.screens.find((e=>e.defaultScreen)))?void 0:o.name)||(null==(t=r.session.screens[0])?void 0:t.name),l="default"===r.router.type?n:r.router.screenName;if(l!==i){const e=r.session.screens.find((e=>e.name===l));return hr(e?N({screen:e}):w({screenName:l}))}const s=r.view.name,c=r.router.viewName,d=ro(r.router.bcPath)||{},p={};Object.entries(d).forEach((e=>{const[a,o]=e,t=r.screen.bo.bc[a];t&&(null==t?void 0:t.cursor)===o||(p[a]=o)}));const u=Object.keys(p).length,m=c!==s,v=[];if(u&&v.push(hr(G({cursorsMap:p}))),m){const e=c?r.screen.views.find((e=>e.name===c)):r.screen.primaryView?r.screen.views.find((e=>e.name===r.screen.primaryView)):r.screen.views[0];v.push(hr(e?C(e):E({viewName:c})))}return u&&!m&&Object.entries(d).forEach((e=>{const[a,o]=e;r.data[a].find((e=>e.id===o))||v.push(hr(ce({bcName:a})))})),mr(...v)})));import{filter as gr,map as Nr}from"rxjs";var wr=(e,a)=>e.pipe(gr(E.match),Nr((e=>oa({type:"error",key:"selectViewFail",message:`View is missing or unavailable for your role', ${e.payload.viewName}`,duration:15}))));import{filter as Cr,map as Er}from"rxjs";var Dr=e=>e.pipe(Cr(w.match),Er((e=>oa({type:"error",key:"selectScreenFail",message:`Screen is missing or unavailable for your role', ${e.payload.screenName}}`,duration:15}))));import{filter as Mr,map as Fr}from"rxjs";var Ir=(e,a)=>e.pipe(Mr(L.match),Fr((e=>{var o;const t=a.value,r=t.view.widgets.find((a=>a.name===e.payload.widgetName));return(null==(o=t.screen.bo.bc[null==r?void 0:r.bcName])?void 0:o.cursor)!==e.payload.cursor?G({cursorsMap:{[e.payload.bcName]:e.payload.cursor}}):Je})));import kr from"axios";import{EMPTY as xr,filter as jr,mergeMap as Tr,of as Ar}from"rxjs";var Or=e=>e.pipe(jr(Le.match),Tr((e=>{const{error:a,callContext:o}=e.payload;return a.response?Ar(We({statusCode:a.response.status,error:a,callContext:o})):kr.isCancel(a)?xr:Ar(Ve({error:{type:2}}))})));import{EMPTY as Pr,filter as Rr,mergeMap as Sr,tap as Vr}from"rxjs";var Ur=(e,a,{api:o})=>e.pipe(Rr(_e.match),Vr((e=>{const{fileId:a}=e.payload,t=document.createElement("a");t.href=`${o.fileUploadEndpoint}?id=${encodeURIComponent(a)}`,t.style.display="none",document.body.appendChild(t),setTimeout((()=>{t.click(),document.body.removeChild(t)}),100)})),Sr((()=>Pr)));import{filter as $r,map as Br}from"rxjs";var _r=e=>e.pipe($r(We.match),$r((e=>401===e.payload.statusCode)),Br((e=>g(null))));import{filter as qr,map as Kr}from"rxjs";var Lr=(e,a)=>e.pipe(qr(We.match),qr((e=>409===e.payload.statusCode)),Kr((e=>{var a,o,t;const r=(null==(t=null==(o=(null==(a=e.payload.error.response)?void 0:a.data).error)?void 0:o.popup)?void 0:t[0])||"";return oa({key:"action_edit_error",message:r,type:"buttonWarningNotification",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"OK"}}})})));import{concat as Wr,EMPTY as Yr,filter as Gr,mergeMap as Jr,of as Hr}from"rxjs";var zr=(e,a)=>e.pipe(Gr(We.match),Gr((e=>418===e.payload.statusCode)),Jr((e=>{var o,t;const{error:r,callContext:i}=e.payload,n=[],l=null==(o=r.response)?void 0:o.data;if(!l.error.popup)return Yr;if(n.push(Hr(Ve({error:{type:0,message:l.error.popup[0]}}))),null==(t=l.error.postActions)?void 0:t[0]){const e=a.value.view.widgets.find((e=>e.name===i.widgetName));n.push(Hr(_({bcName:null==e?void 0:e.bcName,postInvoke:l.error.postActions[0],widgetName:null==e?void 0:e.name})))}return Wr(...n)})));import{filter as Qr,map as Xr}from"rxjs";var Zr=(e,a)=>e.pipe(Qr(We.match),Qr((e=>500===e.payload.statusCode)),Xr((e=>{var a;const o={type:1,details:(null==(a=e.payload.error.response)?void 0:a.statusText)||"",error:e.payload.error};return Ve({error:o})})));import{filter as ei,map as ai}from"rxjs";var oi=[401,409,418,500],ti=(e,a)=>e.pipe(ei(We.match),ei((e=>!oi.includes(e.payload.statusCode))),ai((e=>{var a,o;const t={type:0,code:null==(a=e.payload.error.response)?void 0:a.status,details:null==(o=e.payload.error.response)?void 0:o.data};return Ve({error:t})})));import{EMPTY as ri,filter as ii,mergeMap as ni,tap as li}from"rxjs";var si=(e,a)=>e.pipe(ii(qe.match),li((e=>{const{url:a}=e.payload,o=document.createElement("a");o.href=a,o.style.display="none",document.body.appendChild(o),setTimeout((()=>{o.click(),document.body.removeChild(o)}),100)})),ni((()=>ri)));import{EMPTY as ci,filter as di,mergeMap as pi,of as ui}from"rxjs";var mi=(e,a)=>e.pipe(di(_.match),pi((e=>{var o;const t=a.value;switch(e.payload.postInvoke.type){case"drillDown":return ui(Y(s(l({},e.payload.postInvoke),{route:t.router,widgetName:e.payload.widgetName})));case"postDelete":{const a=[G({cursorsMap:{[e.payload.bcName]:null}})];if(null==(o=t.router.bcPath)?void 0:o.includes(`${e.payload.bcName}/`)){const o=t.router.bcPath.split(e.payload.bcName)[0]||"";a.push(v({location:no(new URL(`/screen/${t.router.screenName}/view/${t.router.viewName}/${o}`,window.location.origin))}))}else a.push(D({bcName:e.payload.bcName,widgetName:e.payload.widgetName}));return ui(...a)}case"refreshBC":{const a=e.payload.postInvoke,o=a.bc,r=t.screen.bo.bc[a.bc],i=e.payload.widgetName||"",n=t.view.infiniteWidgets||[],l=t.view.widgets.some((e=>e.bcName===o&&n.includes(e.name)));return ui(l?M({bcName:r.name,widgetName:i,from:1,to:r.page}):D({bcName:r.name,widgetName:i}))}case"showMessage":{const a=e.payload.postInvoke;return ui(xe({type:a.messageType,message:a.messageText}))}case"downloadFile":return ui(_e({fileId:e.payload.postInvoke.fileId}));case"downloadFileByUrl":return ui(qe({url:e.payload.postInvoke.url}));default:return ci}})));import{EMPTY as vi,filter as fi,mergeMap as bi,of as hi}from"rxjs";import{isAnyOf as yi}from"@reduxjs/toolkit";var gi=(e,a)=>e.pipe(fi(yi(K,q)),bi((e=>{const{bcName:a,operationType:o,widgetName:t}=e.payload,r=K.match(e)?e.payload.postInvokeConfirm:e.payload.preInvoke;switch(r.type){case"confirm":case"info":case"error":case"confirmText":return hi(se({operation:{bcName:a,operationType:o,widgetName:t},confirmOperation:r}));default:return vi}})));import{concat as Ni,filter as wi,switchMap as Ci}from"rxjs";var Ei=(e,a)=>e.pipe(wi(Ze.match),Ci((e=>Ni([g(null),f({login:"",password:"",role:e.payload.role})]))));import{catchError as Di,concat as Mi,filter as Fi,mergeMap as Ii,switchMap as ki}from"rxjs";var xi=(e,a,{api:o})=>e.pipe(Fi(He.match),Ii((()=>{const e=a.value,{router:t}=e,{activeRole:r}=e.session;return o.refreshMeta().pipe(ki((()=>Mi([ze(),g(null),f({login:"",password:"",role:r}),v({location:t})]))),Di((e=>Mi([h(e),Qe(),Ya(e)]))))})));import{EMPTY as ji,filter as Ti,switchMap as Ai}from"rxjs";var Oi=(e,a)=>e.pipe(Ti(f.match),Ai((e=>ji)));import{catchError as Pi,concat as Ri,filter as Si,mergeMap as Vi,of as Ui,switchMap as $i}from"rxjs";var Bi={401:"Invalid credentials",403:"Access denied"},_i=(e,a,{api:o})=>e.pipe(Si(f.match),Si((e=>{var a;return!!(null==(a=e.payload)?void 0:a.role)})),$i((e=>{var t;const r=null!=(t=e.payload.role)?t:"",i=r&&r!==a.value.session.activeRole;return o.loginByRoleRequest(r).pipe(Vi((e=>{var a;const o=[];if(i){const t=e.screens.find((e=>e.defaultScreen))||e.screens[0],r=null!=(a=null==t?void 0:t.primary)?a:t.meta.views[0].name,i=null==t?void 0:t.meta.views.find((e=>r===e.name));i&&o.push(v({location:no(new URL(i.url,window.location.origin))}))}return Ri([...o,b({devPanelEnabled:e.devPanelEnabled,activeRole:e.activeRole,roles:e.roles,screens:e.screens,firstName:e.firstName,lastName:e.lastName,login:e.login})])})),Pi((e=>(console.error(e),Ri(Ui(h({errorMsg:e.response?Bi[e.response.status]||"Server application unavailable":"Empty server response"})),Ga(e))))))})));import{concat as qi,EMPTY as Ki,filter as Li,of as Wi,switchMap as Yi,take as Gi,tap as Ji}from"rxjs";var Hi=(e,a)=>e.pipe(Li(Xe.match),Yi((()=>qi(Wi(He()),e.pipe(Li(b.match),Gi(1),Ji((()=>location.reload())),Yi((()=>Ki)))))));import{catchError as zi,concat as Qi,EMPTY as Xi,filter as Zi,mergeMap as en,of as an}from"rxjs";import{OperationTypeCrud as on}from"@cxbox-ui/schema";var tn=(e,a,{api:o})=>e.pipe(Zi(U.match),Zi((e=>fo(on.create,e.payload,a.value))),en((e=>{var t;const r=a.value,i=e.payload.bcName,n=null!=(t=Ha(i,!1,r))?t:"",l={widgetName:e.payload.widgetName};return o.newBcData(r.screen.screenName,n,l,{_action:e.payload.operationType}).pipe(en((a=>{var o,t;const l=a.row,s={id:null,vstamp:-1};a.row.fields.forEach((e=>{s[e.key]=e.currentValue}));const c=null==(o=a.postActions)?void 0:o[0],d=s.id;return Qi(an(P({bcName:i,dataItem:s,bcUrl:n})),an(T({bcName:i,bcUrl:`${n}/${d}`,rowMeta:l,cursor:d})),an(H({bcName:i,bcUrl:null!=(t=Ha(i,!0,r))?t:"",cursor:d,dataItem:{id:d}})),c?an(_({bcName:i,postInvoke:c,cursor:d,widgetName:e.payload.widgetName})):Xi)})),zi((e=>(console.error(e),Qi(an(R({bcName:i})),Ga(e,l))))))})));import{catchError as rn,concat as nn,filter as ln,mergeMap as sn,of as cn,race as dn}from"rxjs";import{filter as pn,mergeMap as un,of as mn,take as vn}from"rxjs";import{isAnyOf as fn}from"@reduxjs/toolkit";var bn=[C,y];function hn(e,a,o,t,r=(e=>!0)){return e.pipe(pn(fn(...a)),pn(r),un((()=>(null==o||o(),mn(t)))),vn(1))}var yn=(e,a,{api:o})=>e.pipe(ln(x.match),sn((t=>{var r,i;const n=a.value,s=t.payload.bcName,c=n.screen.bo.bc[s],{cursor:d,page:p}=c,u=(null==(r=n.view.widgets.find((e=>e.bcName===s)))?void 0:r.limit)||c.limit,m=null==(i=n.router.bcPath)?void 0:i.includes(`${s}/${d}`),v=Ha(s,m,n),f=n.screen.sorters[s],b=l(l({_page:p,_limit:u},so(n.screen.filters[s]||[])),co(f)),h=o.createCanceler(),y=hn(e,bn,h.cancel,k({bcName:s,bcUrl:v})),g=o.fetchBcData(n.screen.screenName,v,b,h.cancelToken).pipe(sn((e=>{var a;const o=null==(a=n.data[s])?void 0:a.map((e=>e.id)),t=[...n.data[s],...e.data.filter((e=>!o.includes(e.id)))];return cn(I({bcName:s,data:t,bcUrl:v,hasNext:e.hasNext}))})),rn((e=>(console.error(e),nn(cn(k({bcName:s,bcUrl:v})),Ga(e))))));return dn(y,g)})));import{catchError as gn,concat as Nn,EMPTY as wn,filter as Cn,mergeMap as En,of as Dn}from"rxjs";var Mn=(e,a,{api:o})=>e.pipe(Cn(U.match),Cn((e=>fo(Fa.save,e.payload,a.value))),En((e=>{var t,r,i,n;const c=a.value,d=e.payload.bcName,p=null!=(t=Ha(d,!0,c))?t:"",u=e.payload.widgetName,m=c.screen.bo.bc[d].cursor,v=c.data[d].find((e=>e.id===m)),f=l({},null==(r=c.view.pendingDataChanges[d])?void 0:r[m]),b=p&&(null==(i=c.view.rowMeta[d])?void 0:i[p]),h=null==(n=c.view.widgets.find((e=>e.name===u)))?void 0:n.options;if(b){const e=b.fields;for(const a in f)e.find((e=>e.key===a&&e.disabled))&&delete f[a]}const y=Object.entries(bo(d,c.view.widgets,c.screen.bo.bc)).map((e=>{const[a,o]=e;return D({bcName:a,widgetName:o[0]})})),g={widgetName:e.payload.widgetName};return o.saveBcData(c.screen.screenName,p,s(l({},f),{vstamp:null==v?void 0:v.vstamp}),g).pipe(En((a=>{var o;const t=null==(o=a.postActions)?void 0:o[0],r=a.record;return Nn(Dn(ne({bcName:d,cursor:m,dataItem:r})),Dn(j({widgetName:u,bcName:d})),Dn(...y),t?Dn(_({bcName:d,widgetName:u,postInvoke:t,cursor:r.id})):wn,e.payload.onSuccessAction?Dn(e.payload.onSuccessAction):wn)})),gn((a=>{var o,t,r,i,n,l,s,c;console.error(a);let u=wn;e.payload.onSuccessAction&&!(null==h?void 0:h.disableNotification)&&(u=Dn(oa({key:"data_autosave_undo",type:"buttonWarningNotification",message:"There are pending changes. Please save them or cancel.",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[me({bcNames:[d]})]}}})));let m=null,v=null;const f=null==(o=a.response)?void 0:o.data;return(null==(t=a.response)?void 0:t.data)===Object(null==(r=a.response)?void 0:r.data)&&(v=null!=(n=null==(i=null==f?void 0:f.error)?void 0:i.entity)?n:v,m=null!=(c=null==(s=null==(l=null==f?void 0:f.error)?void 0:l.popup)?void 0:s[0])?c:m),Nn(Dn(le({bcName:d,bcUrl:p,viewError:m,entityError:v})),u,Ga(a,g))})))})));import{EMPTY as Fn,filter as In,mergeMap as kn}from"rxjs";var xn=(e,a)=>e.pipe(In(C.match),kn((e=>{try{const e=a.value,o={};return e.view.widgets.filter((e=>!wa.includes(e.type))).forEach((a=>{if(a.bcName){let t=a.bcName,r=e.screen.bo.bc[a.bcName].parentName;for(;r;)t=r,r=e.screen.bo.bc[r].parentName;o[t]||(o[t]=a)}})),Object.entries(o).map((([e,a])=>D({widgetName:a.name,bcName:e})))}catch(e){return console.error(`selectView Epic:: ${e}`),Fn}})));import{catchError as jn,concat as Tn,EMPTY as An,filter as On,mergeMap as Pn,of as Rn,race as Sn}from"rxjs";import{WidgetTypes as Vn}from"@cxbox-ui/schema";import{isAnyOf as Un}from"@reduxjs/toolkit";var $n=(e,a,{api:o})=>e.pipe(On(Un(D,M,X,ce,Se)),Pn((t=>Sn(...(()=>{var r,i,n,s,c,d,p,u;const m=a.value,{widgetName:v=""}=t.payload,{widgets:f,infiniteWidgets:b}=m.view,h=null!=(r=null==f?void 0:f.find((e=>e.name===v)))?r:null==f?void 0:f.find((e=>e.bcName===t.payload.bcName));if(!h)return[An];const y=t.payload.bcName,g=m.screen.bo.bc[y],{cursor:N,page:w=1}=g,C=null!=(n=(null==(i=null==f?void 0:f.find((e=>e.bcName===y)))?void 0:i.limit)||g.limit)?n:5,E=m.screen.sorters[y];if(X.match(t)&&y===t.payload.calleeBCName)return[An];const F=null==f?void 0:f.find((e=>e.bcName===h.bcName&&e.type===Vn.AssocListPopup&&function(e){var a,o;return(null==(a=e.options)?void 0:a.hierarchy)||(null==(o=e.options)?void 0:o.hierarchyFull)}(e))),x=null==(s=m.view.widgets)?void 0:s.find((e=>{var a;return e.bcName===h.bcName&&e.type===Vn.AssocListPopup&&(null==(a=e.options)?void 0:a.hierarchyFull)})),T=null==(c=m.router.bcPath)?void 0:c.includes(`${y}/${N}`),A=Ha(y,T,m),O=l(l({_page:w,_limit:C},so(x?[]:m.screen.filters[y]||[])),co(E));ce.match(t)&&(v&&(null==b?void 0:b.includes(v))||(null==(p=null==(d=null==f?void 0:f.filter((e=>e.bcName===y)))?void 0:d.find((e=>null==b?void 0:b.includes(e.name))))?void 0:p.name))&&(O._page=1,O._limit=C*w),M.match(t)&&(O._page=t.payload.from||1,O._limit=(t.payload.to||w-O._page)*C),(D.match(t)&&t.payload.ignorePageLimit||(null==(u=null==F?void 0:F.options)?void 0:u.hierarchyFull))&&(O._limit=0);const P=o.createCanceler(),R=hn(e,bn,P.cancel,k({bcName:y,bcUrl:A})),S=hn(e,[ve],P.cancel,k({bcName:y,bcUrl:A}),(e=>g.parentName===e.payload.bcName)),V=o.fetchBcData(m.screen.screenName,A,O,P.cancelToken).pipe(Pn((e=>{var a,o;const r=((e,a,o)=>{var r;const{bcName:i}=t.payload,n=D.match(t)?t.payload.keepDelta:void 0,l=null==(r=e[0])?void 0:r.id;return Rn(G({cursorsMap:{[i]:e.some((e=>e.id===a))?a:l},keepDelta:o||n}))})(e.data,N,!!F),i=null==f?void 0:f.some((e=>{var a;return(null==(a=m.screen.bo.bc[e.bcName])?void 0:a.parentName)===y&&!wa.includes(e.type)})),n=a=>{var o,t,r,i,n,l,s,c,d;if((null==(o=a.showCondition)?void 0:o.bcName)===(null==(t=m.screen.bo.bc[a.bcName])?void 0:t.parentName)){let e=null==(i=m.screen.bo.bc[null==(r=a.showCondition)?void 0:r.bcName])?void 0:i.parentName,o=e===y;for(;!o&&e;)e=null==(n=m.screen.bo.bc[e])?void 0:n.parentName,o=e===y;if(o)return!0}const p=y===(null==(l=a.showCondition)?void 0:l.bcName)?e.data:m.data[null==(s=a.showCondition)?void 0:s.bcName];return ho(a.showCondition,null==(d=m.screen.bo.bc[null==(c=a.showCondition)?void 0:c.bcName])?void 0:d.cursor,p,m.view.pendingDataChanges)},l=(!n(h)||wa.includes(h.type))&&!i,s=(null==(a=m.view.popupData)?void 0:a.bcName)!==h.bcName;if(l&&s)return An;const c=(null==(o=e.data)?void 0:o.length)?((e,a,o,r)=>{const{bcName:i}=t.payload,{ignorePageLimit:n,keepDelta:l}=D.match(t)?t.payload:{ignorePageLimit:void 0,keepDelta:void 0};return Tn(...Object.entries(bo(i,e,a)).filter((([a,o])=>{const i=e.find((e=>o.includes(e.name)&&!wa.includes(e.type)&&r(e)));return!!X.match(t)||!!i})).map((([a,i])=>{const s=e.find((e=>i.includes(e.name)&&!wa.includes(e.type)&&r(e)));return Rn(D({bcName:a,widgetName:null==s?void 0:s.name,ignorePageLimit:n||X.match(t),keepDelta:o||l}))})))})(f,m.screen.bo.bc,!!F,n):An,d=Rn(j({widgetName:v,bcName:y}));return Tn(r,Rn(I({bcName:y,data:e.data,bcUrl:A,hasNext:e.hasNext})),d,c)})),jn((e=>(console.error(e),Tn(Rn(k({bcName:t.payload.bcName,bcUrl:A})),Ga(e))))));return[R,S,V]})()))));import{catchError as Bn,concat as _n,EMPTY as qn,filter as Kn,mergeMap as Ln,of as Wn}from"rxjs";import{OperationTypeCrud as Yn}from"@cxbox-ui/schema";var Gn=(e,a,{api:o})=>e.pipe(Kn(U.match),Kn((e=>fo(Yn.delete,e.payload,a.value))),Ln((e=>{const t=e.payload.widgetName,r=a.value,i=e.payload.bcName,n=r.screen.bo.bc[i].cursor,l=Ha(i,!0,r),s={widgetName:e.payload.widgetName},c="target"===r.view.pendingValidationFailsFormat;return o.deleteBcData(r.screen.screenName,l,s).pipe(Ln((e=>{var a;const o=null==(a=e.postActions)?void 0:a[0];return _n(c?Wn(me({bcNames:[i]})):qn,Wn(D({bcName:i,widgetName:t})),o?Wn(_({bcName:i,postInvoke:o,cursor:n,widgetName:t})):qn)})),Bn((e=>(console.error(e),_n(Wn(S({bcName:i})),Ga(e,s))))))})));import{concat as Jn,filter as Hn,mergeMap as zn,of as Qn}from"rxjs";var Xn=(e,a)=>e.pipe(Hn(ve.match),zn((e=>{const{bcName:o,cursor:t}=e.payload,r=Object.entries(bo(o,a.value.view.widgets,a.value.screen.bo.bc)).map((a=>{const[o,t]=a;return D({bcName:o,widgetName:t[0],ignorePageLimit:e.payload.ignoreChildrenPageLimit,keepDelta:e.payload.keepDelta})}));return Jn(Qn(G({cursorsMap:{[o]:t},keepDelta:e.payload.keepDelta})),Qn(j({widgetName:"",bcName:o})),r)})));import{concat as Zn,filter as el,mergeMap as al,of as ol}from"rxjs";var tl=(e,a)=>e.pipe(el(be.match),al((e=>{var o,t,r,i,n;const c=a.value,d=e.payload.dataItem._associate,p=e.payload.bcName,u=[ol(H({bcName:p,bcUrl:Ha(p,!0,c),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],m=c.view.widgets.find((a=>a.name===e.payload.widgetName)),v=e.payload.bcName===m.bcName,f={bcName:m.bcName,radio:null==(o=m.options)?void 0:o.hierarchyRadio,fields:m.fields},b=null==(t=m.options)?void 0:t.hierarchy,h=v?f:null==b?void 0:b.find((a=>a.bcName===e.payload.bcName)),y=null==(r=m.options)?void 0:r.hierarchyGroupSelection,g=null==(i=m.options)?void 0:i.hierarchyTraverse,N=null==b?void 0:b.slice(b.findIndex((a=>a.bcName===e.payload.bcName))+1).map((e=>e.bcName));y&&h.radio&&!d&&u.push(ol(Ce({bcNames:N})));const w=v?null:(null==b?void 0:b.find(((a,o)=>{var t;return(null==(t=b[o+1])?void 0:t.bcName)===e.payload.bcName})))||f,C=null==(n=c.data[null==w?void 0:w.bcName])?void 0:n.find((e=>e.id===c.screen.bo.bc[null==w?void 0:w.bcName].cursor));if(w&&g&&d&&(h.radio&&u.push(ol(Ce({bcNames:[w.bcName]}))),u.push(ol(be({bcName:w.bcName,widgetName:e.payload.widgetName,dataItem:s(l({},C),{_associate:!0,_value:null==C?void 0:C[w.assocValueKey||e.payload.assocValueKey]}),assocValueKey:e.payload.assocValueKey})))),w&&g&&!d){const a=c.data[e.payload.bcName],o=a.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate)),t=c.view.pendingDataChanges[e.payload.bcName],r=!t||!Object.values(t).find((o=>!0===o._associate&&o.id!==e.payload.dataItem.id&&a.find((e=>e.id===o.id))));o&&r&&u.push(ol(be({bcName:w.bcName,widgetName:e.payload.widgetName,dataItem:s(l({},C),{_associate:!1}),assocValueKey:e.payload.assocValueKey})))}return Zn(...u)})));import{catchError as rl,concat as il,EMPTY as nl,filter as ll,mergeMap as sl,of as cl}from"rxjs";import{OperationTypeCrud as dl}from"@cxbox-ui/schema";import{isAnyOf as pl}from"@reduxjs/toolkit";var ul=pl(U),ml=(e,a,{api:o})=>e.pipe(ll(ul),ll((e=>fo(dl.cancelCreate,e.payload,a.value))),sl((e=>{var t,r;const i=a.value,n=i.screen.screenName,c=e.payload.bcName,d=Ha(c,!0,i),p=i.screen.bo.bc[c],u=null==p?void 0:p.cursor,m={widgetName:e.payload.widgetName},v=null==(t=i.data[c])?void 0:t.find((e=>e.id===p.cursor)),f=null==(r=i.view.pendingDataChanges[c])?void 0:r[p.cursor],b=v&&s(l({},f),{vstamp:v.vstamp}),h={[e.payload.bcName]:null};return o.customAction(n,d,b,m,{_action:e.payload.operationType}).pipe(sl((e=>{var a;const o=null==(a=e.postActions)?void 0:a[0];return il(cl(B({bcName:c,cursor:u})),cl(G({cursorsMap:h})),o?cl(_({bcName:c,postInvoke:o,cursor:u,widgetName:m.widgetName})):nl)})),rl((e=>(console.error(e),il(cl(S({bcName:c})),Ga(e,m))))))})));import{concat as vl,filter as fl,mergeMap as bl,of as hl}from"rxjs";var yl=e=>e.pipe(fl(fe.match),bl((e=>{const{bcName:a,cursor:o,depth:t}=e.payload;return vl(hl(J({bcName:a,depth:t,cursor:o})),hl(D({bcName:a,depth:t+1,widgetName:"",ignorePageLimit:!0})))})));import{concat as gl,filter as Nl,mergeMap as wl,of as Cl}from"rxjs";var El=(e,a)=>e.pipe(Nl(ie.match),wl((e=>{var o,t,r,i,n,c,d,p,u,m;const v=a.value,{bcName:f,cursor:b,popupBcName:h,associateFieldKey:y}=e.payload,g=v.view.widgets.find((e=>e.bcName===h&&wa.includes(e.type)));let N=((null==v?void 0:v.data[h])||[]).map((e=>{var a;const o=null==(a=v.view.pendingDataChanges[h])?void 0:a[e.id];return l(l({},e),o)}));const w=N.find((a=>a.id===e.payload.removedItem.id)),C=e.payload.dataItem.map((e=>e.id));let E=[];if(null==(o=null==g?void 0:g.options)?void 0:o.hierarchyGroupDeselection){(null==(t=null==g?void 0:g.options)?void 0:t.hierarchyTraverse)&&(N=yo(N));const a=N.filter((e=>e.parentId===(null==w?void 0:w.id)));E=[null==w?void 0:w.id,...a.filter((e=>C.includes(e.id))).map((e=>e.id))],(null==(r=null==g?void 0:g.options)?void 0:r.hierarchyTraverse)&&(go(a,E),E=N.filter((e=>E.includes(e.id)&&C.includes(e.id))).map((e=>e.id)));const o=N.find((e=>e.id===(null==w?void 0:w.parentId))),n=N.filter((e=>e.parentId===(null==o?void 0:o.id))),c=n.every((e=>E.includes(e.id)||!C.includes(e.id)));if(o&&c)if(null==(i=null==g?void 0:g.options)?void 0:i.hierarchyTraverse){const a=[];if(go(n,a),a.every((e=>E.includes(e)||!C.includes(e))))return gl(Cl(ie(s(l({},e.payload),{removedItem:{id:o.id,value:null}}))))}else E.push(o.id)}if(null==(n=null==g?void 0:g.options)?void 0:n.hierarchyFull)return Cl(H({bcName:f,bcUrl:Ha(f,!0,v),cursor:b,dataItem:{[y]:e.payload.dataItem.filter((e=>!E.includes(e.id)))}}));if(null==(c=null==g?void 0:g.options)?void 0:c.hierarchy){const a=null!=(m=null==(u=null==(p=null==(d=null==g?void 0:g.options)?void 0:d.hierarchy)?void 0:p.find((a=>{var o;return null==(o=v.view.pendingDataChanges[a.bcName])?void 0:o[e.payload.removedItem.id]})))?void 0:u.bcName)?m:f;return gl(Cl(H({bcName:a,bcUrl:Ha(a,!0,v),cursor:e.payload.removedItem.id,dataItem:s(l({},e.payload.removedItem),{_associate:!1})})),Cl(H({bcName:f,bcUrl:Ha(f,!0,v),cursor:b,dataItem:{[y]:e.payload.dataItem}})))}return gl(Cl(H({bcName:h,bcUrl:Ha(h,!0,v),cursor:e.payload.removedItem.id,dataItem:s(l({},e.payload.removedItem),{_associate:!1})})),Cl(H({bcName:f,bcUrl:Ha(f,!0,v),cursor:b,dataItem:{[y]:e.payload.dataItem}})))})));import{catchError as Dl,concat as Ml,filter as Fl,map as Il,mergeMap as kl,of as xl,race as jl}from"rxjs";var Tl=(e,a,{api:o})=>e.pipe(Fl(j.match),kl((t=>{var r,i;const n=a.value,l=n.screen.screenName,s=t.payload.bcName,c=null!=(r=n.screen.bo.bc[s].cursor)?r:"",d=null!=(i=Ha(s,!0,n))?i:"",p=o.createCanceler(),u=hn(e,bn,p.cancel,A({bcName:s})),m=hn(e,[ve],p.cancel,A({bcName:s}),(e=>n.screen.bo.bc[s].parentName===e.payload.bcName)),v=o.fetchRowMeta(l,d,void 0,p.cancelToken).pipe(Il((e=>T({bcName:s,rowMeta:e,bcUrl:d,cursor:c}))),Dl((e=>(console.error(e),Ml(xl(A({bcName:s})),Ga(e))))));return jl(u,m,v)})));import{concat as Al,filter as Ol,mergeMap as Pl,of as Rl}from"rxjs";var Sl=(e,a)=>e.pipe(Ol(ye.match),Pl((e=>{var o,t,r,i,n;const c=a.value,d=[],p=e.payload.assocValueKey||(null==(o=c.view.popupData)?void 0:o.assocValueKey),u=e.payload.bcName,m=c.data[u],v=e.payload.dataItem._associate,f=e.payload.depth||1,b=f-1,h=f>1&&m.find((a=>a.id===e.payload.dataItem.parentId)),y=c.view.widgets.find((a=>a.name===e.payload.widgetName)),g=null==(t=y.options)?void 0:t.hierarchyTraverse,N=null==(r=y.options)?void 0:r.hierarchyRadio,w=null==(i=y.options)?void 0:i.hierarchyGroupDeselection,C=m.filter((e=>e.level===f&&(1===e.level||e.parentId===(null==h?void 0:h.id))));if(N&&w&&1===f)if(v){const a=c.view.pendingDataChanges[u],o=m.find((o=>{if(1===o.level&&o.id!==e.payload.dataItem.id){const e=null==a?void 0:a[o.id];if((null==e?void 0:e._associate)||!e&&o._associate)return!0}return!1}));o&&d.push(Rl(ye({bcName:u,depth:f,widgetName:e.payload.widgetName,dataItem:s(l({},o),{_associate:!1}),assocValueKey:p})))}else d.push(Rl(we({bcName:u,parentId:e.payload.dataItem.id,depth:f+1,assocValueKey:p,selected:!1})));if(d.push(Rl(H({bcName:e.payload.bcName,bcUrl:Ha(e.payload.bcName,!0,c),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))),b&&g&&v&&d.push(Rl(ye({bcName:u,depth:b,widgetName:e.payload.widgetName,dataItem:s(l({},h),{_associate:!0,_value:null==h?void 0:h[p]}),assocValueKey:p}))),b&&g&&!v){const a=c.view.pendingDataChanges[u],o=!a||!Object.values(a).find((a=>!0===a._associate&&a.id!==e.payload.dataItem.id&&C.find((e=>e.id===a.id)))),t=a&&(null==(n=Object.values(a))?void 0:n.filter((e=>!1===e._associate)).map((e=>e.id)));C.filter((a=>a.id!==e.payload.dataItem.id&&!(null==t?void 0:t.includes(a.id)))).every((e=>!e._associate))&&o&&d.push(Rl(ye({bcName:u,depth:b,widgetName:e.payload.widgetName,dataItem:s(l({},h),{_associate:!1}),assocValueKey:p})))}return Al(...d)})));import{catchError as Vl,concat as Ul,EMPTY as $l,filter as Bl,mergeMap as _l,of as ql,switchMap as Kl}from"rxjs";var Ll=(e,a,{api:o})=>e.pipe(Bl(te.match),Bl((e=>{var o;return null==(o=a.value.view.popupData)?void 0:o.active})),Kl((e=>{var t,r;const i=a.value,n=null==(t=i.view.popupData)?void 0:t.calleeBCName,l=null==(r=i.view.popupData)?void 0:r.calleeWidgetName,s=e.payload.bcNames,c=Ha(n,!0,i),d=s.length?{_bcName:s[s.length-1]}:{};return o.associate(i.screen.screenName,c,Object.values(i.view.pendingDataChanges[s[0]]||{}).filter((e=>e._associate)),d).pipe(_l((e=>{const a=e.postActions[0],o=i.view.widgets.find((e=>e.bcName===n));return Ul(a?ql(_({bcName:n,postInvoke:a,widgetName:null==o?void 0:o.name})):$l,ql(me({bcNames:s})),ql(ce({bcName:n,widgetName:l})))})),Vl((e=>(console.error(e),$l))))})));import{concat as Wl,filter as Yl,mergeMap as Gl,of as Jl}from"rxjs";var Hl=(e,a)=>e.pipe(Yl(he.match),Gl((e=>{var o,t,r,i,n,c;const d=a.value,p=e.payload.bcName,u=[Jl(H({bcName:p,bcUrl:Ha(p,!0,d),cursor:e.payload.dataItem.id,dataItem:e.payload.dataItem}))],m=e.payload.dataItem._associate,v=e.payload.depth||1,f=v-1,b=null==(o=d.view.widgets.find((a=>a.name===e.payload.widgetName)).options)?void 0:o.hierarchyTraverse,h=v>1?null==(t=d.depthData[v])?void 0:t[p]:d.data[p],y=f?f>1?null==(i=null==(r=d.screen.bo.bc[p].depthBc)?void 0:r[f])?void 0:i.cursor:d.screen.bo.bc[p].cursor:null,g=y?f>1?null==(c=null==(n=d.depthData[f])?void 0:n[p])?void 0:c.find((e=>e.id===y)):d.data[p].find((e=>e.id===y)):null;return f&&b&&m&&u.push(Jl(he({bcName:p,depth:f,widgetName:e.payload.widgetName,dataItem:s(l({},g),{_associate:!0,_value:null==g?void 0:g[e.payload.assocValueKey]}),assocValueKey:e.payload.assocValueKey}))),f&&b&&!m&&h.filter((a=>a.id!==e.payload.dataItem.id)).every((e=>!e._associate))&&u.push(Jl(he({bcName:p,depth:f,widgetName:e.payload.widgetName,dataItem:s(l({},g),{_associate:!1}),assocValueKey:e.payload.assocValueKey}))),Wl(...u)})));import{catchError as zl,filter as Ql,mergeMap as Xl,of as Zl,race as es}from"rxjs";var as=(e,a,{api:o})=>e.pipe(Ql(F.match),Xl((t=>{const{bcName:r,searchSpec:i,searchString:n}=t.payload,l=Ha(r,!1,a.value),s=o.createCanceler(),c=hn(e,bn,s.cancel,k({bcName:r,bcUrl:l})),d=o.fetchBcData(a.value.screen.screenName,l,{[i+".contains"]:n},s.cancelToken).pipe(Xl((e=>Zl(I({bcName:r,data:e.data,bcUrl:l})))),zl((e=>(console.error(e),Zl(k({bcName:t.payload.bcName,bcUrl:l}))))));return es(c,d)})));import{filter as os,of as ts,switchMap as rs}from"rxjs";var is=(e,a)=>e.pipe(os(te.match),os((()=>{var e;return!(null==(e=a.value.view.popupData)?void 0:e.active)})),rs((e=>{var o,t;const r=a.value,{calleeBCName:i=e.payload.calleeBcName,associateFieldKey:n=e.payload.associateFieldKey}=null!=(o=r.view.popupData)?o:{},l=r.screen.bo.bc[i].cursor,s=null!=(t=r.data[i].find((e=>e.id===l))[n])?t:[],c=[];e.payload.bcNames.forEach((e=>{Object.entries(r.view.pendingDataChanges[e]||{}).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}))),p=s.filter((e=>{const a=c.find((a=>a.id===e.id));return!a||!1!==(null==a?void 0:a._associate)})).concat(...d);return ts(H({bcName:i,bcUrl:Ha(i,!0,r),cursor:l,dataItem:{[n]:p}}))})));import{filter as ns,mergeMap as ls,of as ss}from"rxjs";var cs=(e,a,{})=>e.pipe(ns(ge.match),ls((e=>{const o=a.value.data[e.payload.bcName];return ss(z({bcName:e.payload.bcName,cursors:o.map((e=>e.id)),dataItems:o.map((a=>s(l({},a),{_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))})));import{filter as ds,mergeMap as ps,of as us}from"rxjs";var ms=(e,a)=>e.pipe(ds(Ne.match),ps((e=>{var o;const t=(null==(o=a.value.depthData[e.payload.depth])?void 0:o[e.payload.bcName])||[];return us(z({bcName:e.payload.bcName,cursors:t.map((e=>e.id)),dataItems:t.map((a=>s(l({},a),{_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))})));import{concat as vs,filter as fs,mergeMap as bs,of as hs}from"rxjs";var ys=(e,a)=>e.pipe(fs(we.match),bs((e=>{const o=e.payload.depth,t=a.value.data[e.payload.bcName],r=(t||[]).filter((a=>a.level===o&&a.parentId===e.payload.parentId)),i=[hs(z({bcName:e.payload.bcName,cursors:r.map((e=>e.id)),dataItems:r.map((a=>s(l({},a),{_value:a[e.payload.assocValueKey],_associate:e.payload.selected})))}))];return r.forEach((a=>{t.find((e=>e.parentId===a.id))&&i.push(hs(we(s(l({},e.payload),{parentId:a.id,depth:o+1}))))})),vs(...i)})));import gs from"axios";import{from as Ns,map as ws,takeWhile as Cs}from"rxjs";function Es(e){var a;if(null==(a=e.data)?void 0:a.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}var Ds=class{constructor(e){d(this,"instance",gs.create({responseType:"json",headers:{Pragma:"no-cache","Cache-Control":"no-cache, no-store, must-revalidate"}})),this.instance=e}get(e,a,o){return Ns(this.instance.get(e,a)).pipe(Cs(Es),ws((e=>e.data)))}put(e,a,o){return Ns(this.instance.put(e,a)).pipe(Cs(Es),ws((e=>e.data)))}post(e,a,o,t){return Ns(this.instance.post(e,a)).pipe(Cs(Es),ws((e=>e.data)))}delete(e,a,o,t){return Ns(this.instance.delete(e,a)).pipe(Cs(Es),ws((e=>e.data)))}};import Ms from"axios";import{EMPTY as Fs,expand as Is,map as ks,reduce as xs}from"rxjs";var js=class{constructor(e){d(this,"api$"),this.api$=new Ds(e)}routerRequest(e,a){return this.api$.get(qa(e,a))}fetchBcData(e,a,o={},t){const r=0===o._limit,i=_a(io`data/${e}/`+a,s(l({},o),{_page:r?void 0:"_page"in o?o._page:1,_limit:r?void 0:"_limit"in o?o._limit:30}));return this.api$.get(i,{cancelToken:t})}fetchBcDataAll(e,a,o={}){let t=1;return this.fetchBcData(e,a,s(l({},o),{_page:t})).pipe(Is((r=>r.hasNext?this.fetchBcData(e,a,s(l({},o),{_page:++t})):Fs)),xs(((e,a)=>[...e,...a.data]),[]))}fetchRowMeta(e,a,o,t){const r=_a(io`row-meta/${e}/`+a,o);return this.api$.get(r,{cancelToken:t}).pipe(ks((e=>{var a;return null==(a=e.data)?void 0:a.row})))}newBcData(e,a,o,t){const r=_a(io`row-meta-new/${e}/`+a,t);return this.api$.get(r,void 0,o).pipe(ks((e=>e.data)))}saveBcData(e,a,o,t,r){const i=_a(io`data/${e}/`+a,r);return this.api$.put(i,{data:o},t).pipe(ks((e=>e.data)))}deleteBcData(e,a="",o,t){const r=_a(io`data/${e}/`+a,t);return this.api$.delete(r,o).pipe(ks((e=>e.data)))}customAction(e,a,o,t,r){const i=_a(io`custom-action/${e}/`+a,r);return this.api$.post(i,{data:o||{}},void 0,t).pipe(ks((e=>e.data)))}associate(e,a,o,t){const r=Array.isArray(o)?o.map((e=>({id:e.id,vstamp:e.vstamp,associated:e._associate}))):o,i=_a(io`associate/${e}/`+a,t);return this.api$.post(i,r).pipe(ks((e=>e.data)))}getRmByForceActive(e,a,o,t){const r=_a(io`row-meta/${e}/`+(null!=a?a:""),t);return this.api$.post(r,{data:o}).pipe(ks((e=>e.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$.get(io`bc-registry/refresh-meta`)}loginByRoleRequest(e){return this.api$.get(io`login?role=${e}`)}createCanceler(){let e;const a=new Ms.CancelToken((a=>{e=a}));return{cancel:e,cancelToken:a}}};function Ts(e,a,o){var t;const r=null==(t=e.view.pendingDataChanges[a])?void 0:t[o];return r&&!Object.keys(r).includes("_associate")&&Object.values(r).length>0}var As={autosave:({getState:e,dispatch:a})=>o=>t=>{var r,i,n,l,s,c,d;const p=e(),u=U.match(t),m=u&&Ia.includes(t.payload.operationType),f=Fe.match(t),b=!(u&&t.payload.operationType===Fa.save),h=u&&t.payload.bcName,y=Object.keys(p.view.pendingDataChanges).filter((e=>e!==h)).filter((e=>function(e,a){var o,t;return Object.keys(null!=(t=null==(o=e.view.pendingDataChanges)?void 0:o[a])?t:{}).some((o=>Ts(e,a,o)))}(p,e))).length>0,g=m&&y,N=p.view.selectedCell,w=N&&f&&(N.widgetName!==t.payload.widgetName||N.rowId!==t.payload.rowId),C=null==(r=p.view.widgets)?void 0:r.find((e=>{var a,o;return null==(o=null==(a=null==e?void 0:e.options)?void 0:a.actionGroups)?void 0:o.defaultSave})),E=null==(n=null==(i=p.screen.bo.bc)?void 0:i[null==C?void 0:C.bcName])?void 0:n.cursor,D=null==(c=null==(s=null==(l=p.view)?void 0:l.pendingDataChanges)?void 0:s[null==C?void 0:C.bcName])?void 0:c[E];return C&&v.match(t)&&Object.keys(D||{}).length>0?o(U({bcName:C.bcName,operationType:(null==(d=C.options)?void 0:d.actionGroups).defaultSave,widgetName:C.name,onSuccessAction:t})):b&&(g||w)?function(e,a,o){var t,r,i;const n=a.getState(),l=a.dispatch,s=Object.keys(n.view.pendingDataChanges),c=(null==(t=e.payload)?void 0:t.bcName)&&Ts(n,e.payload.bcName,null==(r=n.screen.bo.bc[e.payload.bcName])?void 0:r.cursor)?s.findIndex((a=>{var o;return a===(null==(o=e.payload)?void 0:o.bcName)})):s.findIndex((e=>{var a;return Ts(n,e,null==(a=n.screen.bo.bc[e])?void 0:a.cursor)})),d=s[c];if(c>-1&&s.splice(c,1),d){s.forEach((e=>{var a,o;const t=null==(a=n.view.widgets)?void 0:a.find((a=>a.bcName===e)),r=null==(o=n.screen.bo.bc[e])?void 0:o.cursor;Ts(n,e,r)&&l(U({bcName:e,operationType:Fa.save,widgetName:null==t?void 0:t.name}))}));const a=null==(i=n.view.widgets)?void 0:i.find((e=>e.bcName===d));return o(U({bcName:d,operationType:Fa.save,widgetName:null==a?void 0:a.name,onSuccessAction:e}))}return o(e)}(t,{getState:e,dispatch:a},o):o(t)},requiredFields:({getState:e,dispatch:a})=>o=>t=>{var r,i,n,l;const s=e();if(U.match(t)){const{bcName:e,operationType:c,widgetName:d}=t.payload,p=null==(r=s.screen.bo.bc[e])?void 0:r.cursor;if(p){const r=Ha(e,!0,s),u=null==(i=s.data[e])?void 0:i.find((e=>e.id===p)),m=r&&(null==(n=s.view.rowMeta[e])?void 0:n[r]),v=null==(l=s.view.pendingDataChanges[e])?void 0:l[p],f=s.view.widgets.find((e=>e.name===d));if(function(e,a){let o=!1;return a?(o=vo(a).some((a=>a.type===e&&a.autoSaveBefore)),o):(console.error('rowMeta is missing in the middle of "sendOperation" action'),o)}(c,null==m?void 0:m.actions)){const r={};s.view.widgets.filter((e=>e.bcName===(null==f?void 0:f.bcName))).forEach((e=>{const a=e.fields;e.fields&&e.fields.forEach((e=>{Da(e)&&e.fields.forEach((e=>a.push(e)))})),a.forEach((e=>{var a;const o=null==(a=null==m?void 0:m.fields)?void 0:a.find((a=>a.key===e.key));r[e.key]||!o||o.hidden||(r[e.key]=o)}))}));const i=function(e,a,o){const t={};return o.forEach((o=>{const r=null==a?void 0:a[o.key],i=void 0!==r?r:null==e?void 0:e[o.key];let n=!1;(null==i||""===i||Array.isArray(i)&&!i.length||i&&"object"==typeof i&&!Object.keys(i).length)&&(n=!0),o.required&&n&&(t[o.key]=Array.isArray(i)?[]:null)})),Object.keys(t).length>0?t:null}(u,v,Object.values(r));return i&&Na.includes(null==f?void 0:f.type)&&a(Fe({widgetName:d,rowId:p,fieldKey:Object.keys(i)[0]})),o(i?H({bcName:e,bcUrl:Ha(e,!0,s),cursor:p,dataItem:i}):t)}if(function(e,a){var o;if("target"!==e.view.pendingValidationFailsFormat&&e.view.pendingValidationFails&&Object.keys(e.view.pendingValidationFails).length)return!0;let t=!1;const r=null==(o=e.view.pendingValidationFails)?void 0:o[a],i=r&&Object.keys(r);if(!i)return!1;let n=0;for(;n<i.length;n++)if(Object.keys(r[i[n]]).length){t=!0;break}return t}(s,e))return oa({key:"requiredFieldsMissing",type:"buttonWarningNotification",message:"Required fields are missing",duration:0,options:{buttonWarningNotificationOptions:{buttonText:"Cancel changes",actionsForClick:[me(null),Be(null)]}}})}}return o(t)},preInvoke:({getState:e})=>a=>o=>{var t,r,i;if(U.match(o)){const n=e(),{operationType:l,widgetName:s,confirm:c}=o.payload,d=null==(t=n.view.widgets.find((e=>e.name===s)))?void 0:t.bcName,p=Ha(d,!0,n),u=p&&(null==(r=n.view.rowMeta[d])?void 0:r[p]),m=u&&vo(u.actions),v=null==(i=null==m?void 0:m.find((e=>e.type===l)))?void 0:i.preInvoke;return a(v&&!c?q({bcName:d,operationType:l,widgetName:s,preInvoke:v}):o)}return a(o)},popup:({getState:e})=>a=>o=>{var t,r,i;if(X.match(o)){const n=e(),c=o.payload.bcName,d=null==(r=null==(t=n.view.widgets.find((e=>e.bcName===c)))?void 0:t.options)?void 0:r.displayedValueKey,p=null!=(i=o.payload.assocValueKey)?i:d;return a(d?X(s(l({},o.payload),{assocValueKey:p})):o)}return a(o)}};export{js as Api,u as actions,Ao as epics,da as interfaces,As as middlewares,p as reducers,$a as utils};
2
2
  //# sourceMappingURL=cxbox-ui-core.modern.production.min.js.map
@@ -1,3 +1,2 @@
1
1
  import { CXBoxEpic } from '../../interfaces';
2
- export declare const knownHttpErrors: number[];
3
2
  export declare const apiErrorEpic: CXBoxEpic;
package/dist/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * as epics from './epics';
4
4
  export { Api } from './api';
5
5
  export * as utils from './utils';
6
6
  export * as interfaces from './interfaces';
7
+ export { middlewares } from './middlewares';
@@ -48,6 +48,10 @@ export interface BcMeta {
48
48
  */
49
49
  defaultFilter?: string;
50
50
  }
51
+ export type DepthBcType = Record<number, {
52
+ loading?: boolean;
53
+ cursor?: string;
54
+ }>;
51
55
  export interface BcMetaState extends BcMeta {
52
56
  /**
53
57
  * Data fetch for this business component is in progress
@@ -71,8 +75,5 @@ export interface BcMetaState extends BcMeta {
71
75
  * Used by hierarchy widgets builded around single business component:
72
76
  * controls which record is expanded and which children should be fetched.
73
77
  */
74
- depthBc?: Record<number, {
75
- loading?: boolean;
76
- cursor?: string;
77
- }>;
78
+ depthBc?: DepthBcType;
78
79
  }
@@ -54,6 +54,7 @@ export interface Session {
54
54
  errorMsg?: string;
55
55
  pendingRequests?: PendingRequest[];
56
56
  notifications: Notification[];
57
+ isMetaRefreshing: boolean;
57
58
  }
58
59
  export interface LoginResponse extends CxboxResponse {
59
60
  devPanelEnabled?: boolean;
@@ -1,6 +1,7 @@
1
1
  import { WidgetShowCondition, WidgetTypes, WidgetOptions, WidgetFormField, WidgetListField, WidgetInfoField } from '@cxbox-ui/schema';
2
2
  import { ComponentType } from 'react';
3
- export type { WidgetShowCondition, WidgetTypes, WidgetOptions, LayoutRow, LayoutCol, WidgetOperations, TableOperations, PositionTypes, WidgetTableHierarchy, WidgetFieldBase, WidgetListFieldBase, WidgetFormFieldBase, AllWidgetTypeFieldBase, NumberFieldMeta, DateFieldMeta, CheckboxFieldMeta, DateTimeFieldMeta, DateTimeWithSecondsFieldMeta, DictionaryFieldMeta, TextFieldMeta, InputFieldMeta, MultiFieldMeta, MultivalueFieldMeta, PickListFieldMeta, InlinePickListFieldMeta, FileUploadFieldMeta, WidgetFormField, WidgetListField, HiddenFieldMeta, RadioButtonFieldMeta, WidgetField, WidgetInfoField } from '@cxbox-ui/schema';
3
+ export type { WidgetOptions, WidgetShowCondition, LayoutRow, LayoutCol, WidgetOperations, TableOperations, WidgetTableHierarchy, WidgetFieldBase, WidgetListFieldBase, WidgetFormFieldBase, AllWidgetTypeFieldBase, NumberFieldMeta, DateFieldMeta, CheckboxFieldMeta, DateTimeFieldMeta, DateTimeWithSecondsFieldMeta, DictionaryFieldMeta, TextFieldMeta, InputFieldMeta, MultiFieldMeta, MultivalueFieldMeta, PickListFieldMeta, InlinePickListFieldMeta, FileUploadFieldMeta, WidgetFormField, WidgetListField, HiddenFieldMeta, RadioButtonFieldMeta, WidgetField, WidgetInfoField } from '@cxbox-ui/schema';
4
+ export { WidgetTypes, PositionTypes } from '@cxbox-ui/schema';
4
5
  /**
5
6
  * Different widget types that are considered `tables` in nature for purposes of applying some shared features.
6
7
  * For example, autofocus on missing required field should work for tables but not forms.
@@ -1,17 +1,2 @@
1
- import { AnyAction, Dispatch, MiddlewareAPI } from 'redux';
2
- import { Store as CoreStore } from '../interfaces/store';
3
- /**
4
- *
5
- */
6
- export declare function createAutoSaveMiddleware(): ({ getState, dispatch }: MiddlewareAPI<Dispatch<AnyAction>, CoreStore>) => (next: Dispatch<AnyAction>) => (action: AnyAction) => AnyAction | {
7
- payload: {
8
- bcName: string;
9
- operationType: string;
10
- widgetName: string;
11
- onSuccessAction?: AnyAction;
12
- confirm?: string;
13
- bcKey?: string;
14
- confirmOperation?: import("../interfaces").OperationPreInvoke;
15
- };
16
- type: string;
17
- };
1
+ import { Middleware } from 'redux';
2
+ export declare const saveFormMiddleware: Middleware;
@@ -1,16 +1,6 @@
1
1
  export declare const middlewares: {
2
- autosave: ({ getState, dispatch }: import("redux").MiddlewareAPI<import("redux").Dispatch<import("redux").AnyAction>, import("../interfaces").Store>) => (next: import("redux").Dispatch<import("redux").AnyAction>) => (action: import("redux").AnyAction) => import("redux").AnyAction | {
3
- payload: {
4
- bcName: string;
5
- operationType: string;
6
- widgetName: string;
7
- onSuccessAction?: import("redux").AnyAction;
8
- confirm?: string;
9
- bcKey?: string;
10
- confirmOperation?: import("../interfaces").OperationPreInvoke;
11
- };
12
- type: string;
13
- };
2
+ autosave: import("redux").Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>;
14
3
  requiredFields: import("redux").Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>;
15
4
  preInvoke: import("redux").Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>;
5
+ popup: import("redux").Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>;
16
6
  };
@@ -0,0 +1,2 @@
1
+ import { Middleware } from 'redux';
2
+ export declare const popupMiddleware: Middleware;
@@ -1,8 +1,5 @@
1
1
  /**
2
2
  * Process preInvoke operation before action sendOperation
3
3
  */
4
- import { AnyAction, Dispatch, Middleware } from 'redux';
5
- /**
6
- * TODO
7
- */
8
- export declare function createPreInvokeMiddleware(): Middleware<{}, any, Dispatch<AnyAction>>;
4
+ import { Middleware } from 'redux';
5
+ export declare const preInvokeAction: Middleware;
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Handles validation of "required fields" for widget operations
3
3
  */
4
- import { AnyAction, Dispatch, Middleware } from 'redux';
4
+ import { Middleware } from 'redux';
5
5
  import { Operation, OperationGroup, PendingDataItem, RowMetaField, Store } from '../interfaces';
6
6
  import { DataItem } from '@cxbox-ui/schema';
7
+ export declare const requiredFields: Middleware;
7
8
  /**
8
9
  * Check operations and operation groups for 'autoSaveBefore' flag (i.e. operation is validation-sensetive)
9
10
  *
@@ -17,13 +18,9 @@ export declare function operationRequiresAutosave(operationType: string, actions
17
18
  *
18
19
  * @param record Record to check
19
20
  * @param pendingChanges Pending record changes which could override record values
20
- * @param rowMeta Fields meta to check for 'required' flag
21
+ * @param fieldsMeta
21
22
  */
22
23
  export declare function getRequiredFieldsMissing(record: DataItem, pendingChanges: PendingDataItem, fieldsMeta: RowMetaField[]): PendingDataItem;
23
- /**
24
- * TODO
25
- */
26
- export declare function createRequiredFieldsMiddleware(): Middleware<{}, any, Dispatch<AnyAction>>;
27
24
  /**
28
25
  * Checks if `pendingValidationFails` is not empty
29
26
  *
@@ -1,4 +1,3 @@
1
- import { AxiosInstance } from 'axios';
2
1
  export interface ApiCallContext {
3
2
  widgetName: string;
4
3
  }
@@ -15,7 +14,7 @@ export declare function addTailControlSequences(url: string): string;
15
14
  * @param url Url to extend
16
15
  * @param qso Query parameters dictionary
17
16
  */
18
- export declare function applyParams(url: string, qso: QueryParamsMap): string;
17
+ export declare function applyParams(url: string, qso?: QueryParamsMap): string;
19
18
  /**
20
19
  * TODO
21
20
  *
@@ -23,12 +22,4 @@ export declare function applyParams(url: string, qso: QueryParamsMap): string;
23
22
  * @param qso
24
23
  */
25
24
  export declare function applyRawParams(url: string, qso: Record<string, any>): string;
26
- /**
27
- * Get Cxbox API file upload endpoint based on baseURL of axios instance
28
- *
29
- * Handles empty baseURL and trailing slash
30
- *
31
- * @returns File upload endpoint
32
- */
33
- export declare function getFileUploadEndpoint(instance: AxiosInstance): string;
34
25
  export {};
@@ -0,0 +1,19 @@
1
+ import { AxiosError } from 'axios';
2
+ interface ApiCallContext {
3
+ widgetName: string;
4
+ }
5
+ export declare function createApiError(error: AxiosError, context?: ApiCallContext): {
6
+ payload: {
7
+ error: AxiosError<unknown, any>;
8
+ callContext: import("./api").ApiCallContext;
9
+ };
10
+ type: string;
11
+ };
12
+ export declare function createApiErrorObservable(error: AxiosError, context?: ApiCallContext): import("rxjs").Observable<{
13
+ payload: {
14
+ error: AxiosError<unknown, any>;
15
+ callContext: import("./api").ApiCallContext;
16
+ };
17
+ type: string;
18
+ }>;
19
+ export {};
@@ -24,4 +24,4 @@ export declare function getBcChildren(originBcName: string, widgets: WidgetMeta[
24
24
  * @param data An array of data.ts items to check for condition
25
25
  * @param pendingDataChanges Pending data.ts changes of the currently active view
26
26
  */
27
- export declare function checkShowCondition(condition: WidgetShowCondition, cursor: string, data: DataItem[], pendingDataChanges: Record<string, Record<string, PendingDataItem>>): boolean;
27
+ export declare function checkShowCondition(condition: WidgetShowCondition | undefined, cursor: string, data: DataItem[], pendingDataChanges: Record<string, Record<string, PendingDataItem>>): boolean;
@@ -14,4 +14,4 @@ export declare const cancelRequestActionTypes: import("@reduxjs/toolkit").Action
14
14
  * @param cancelActionCreator an action creator which called by request cancelation
15
15
  * @param filterFn a callback function which filters come actions
16
16
  */
17
- export declare function cancelRequestEpic(action$: Observable<AnyAction>, actionTypes: Parameters<typeof isAnyOf>, cancelFn: () => void, cancelActionCreator: AnyAction, filterFn?: (actions: AnyAction) => boolean): Observable<AnyAction>;
17
+ export declare function cancelRequestEpic(action$: Observable<AnyAction>, actionTypes: Parameters<typeof isAnyOf>, cancelFn: (() => void) | undefined, cancelActionCreator: AnyAction, filterFn?: (actions: AnyAction) => boolean): Observable<AnyAction>;
@@ -1,14 +1,3 @@
1
1
  import { Middleware } from 'redux';
2
2
  import { CustomMiddlewares, CoreMiddlewares } from '../interfaces/customMiddlewares';
3
- export declare function combineMiddlewares(coreMiddlewares: CoreMiddlewares, customMiddlewares?: CustomMiddlewares): ((({ getState, dispatch }: import("redux").MiddlewareAPI<import("redux").Dispatch<import("redux").AnyAction>, import("../interfaces").Store>) => (next: import("redux").Dispatch<import("redux").AnyAction>) => (action: import("redux").AnyAction) => import("redux").AnyAction | {
4
- payload: {
5
- bcName: string;
6
- operationType: string;
7
- widgetName: string;
8
- onSuccessAction?: import("redux").AnyAction;
9
- confirm?: string;
10
- bcKey?: string;
11
- confirmOperation?: import("../interfaces").OperationPreInvoke;
12
- };
13
- type: string;
14
- }) | Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>)[];
3
+ export declare function combineMiddlewares(coreMiddlewares: CoreMiddlewares, customMiddlewares?: CustomMiddlewares): Middleware<{}, any, import("redux").Dispatch<import("redux").AnyAction>>[];