@uxland/primary-shell 7.45.2 → 7.45.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { E as s, d as e, z as t, B as r, P as n, b as o, v as l, Q as c, n as g, w as m, o as p, p as v, m as P, c as h, u as E, f as R, q as u, e as y, y as S, g as d, j as M, x as w, s as A, l as C, A as f } from "./index-BiktcB77.js";
1
+ import { E as s, d as e, z as t, B as r, P as n, b as o, v as l, Q as c, n as g, w as m, o as p, p as v, m as P, c as h, u as E, f as R, q as u, e as y, y as S, g as d, j as M, x as w, s as A, l as C, A as f } from "./index-B9r6-Xmj.js";
2
2
  export {
3
3
  s as EcapEventManager,
4
4
  e as ExitShell,
@@ -352,7 +352,7 @@ Registered bindings:`,re.forEach(function(oe){var ne="Object";oe.implementationT
352
352
  ${template$p(this)}
353
353
  `}static get styles(){return i$T`
354
354
  ${r$L(styles$o)}
355
- `}handleTest(){console.log(this.selectedPeriodDate)}};__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedRadioOption",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"text",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedVisibilityLevelElement",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedPeriodDate",2),__decorateClass$v([n$y({type:Array})],ExportPdfModal.prototype,"arrayElements",2),ExportPdfModal=__decorateClass$v([t$y("export-pdf-modal")],ExportPdfModal);class ExportToPdfHandler extends ApiBaseHandler{async handle(){try{this.api.interactionService.confirm(void 0,{component:ExportPdfModal},{title:translate("modal.selectExportOption"),confirmButtonText:"Exportar",cancelButtonText:"Cancelar"})}catch(W){this._notifyError(W.message)}}_notifyError(W){this.api.notificationService.error(W||"actions.delete.error")}}class ExportPdf{}let request$e;const bootstrapExportPdf=J=>{request$e=J.registerRequest(ExportPdf,ExportToPdfHandler)},teardownExportPdf=()=>{request$e?.dispose()};function getUniqueObjects(J,W,X,te){const re=`Sense ${te.toLocaleLowerCase()}`,oe=new Map;let ne=!1;for(const ce of J){const ue=W.reduce((be,me)=>be?.[me],ce),he=X.reduce((be,me)=>be?.[me],ce);typeof ue=="string"&&ue.trim()!==""&&typeof he=="string"?oe.has(ue)||oe.set(ue,{id:ue,title:he}):ne=!0}const de=Array.from(oe.values()).sort((ce,ue)=>ce.title.localeCompare(ue.title,"ca",{sensitivity:"base"}));return ne&&de.push({id:"",title:re}),de}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(W){super(),this.commonFilters=W}isSatisfiedBy(W){return this.commonFilters.filter(re=>re.enabled).reduce((re,oe)=>re.and(new oe.spec),new TrueSpec).isSatisfiedBy(W)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(W,X){super(),this.propPath=W,this.value=X}isSatisfiedBy(W){return this.propPath.reduce((te,re)=>te?.[re],W)===this.value}}class CustomFilterSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(te=>te.enabled);return X.length===0?!0:X.every(te=>{if(!this.belongsToGroup(W,te))return!0;const re=te.filters.filter(oe=>oe.enabled||oe.singleOption);return re.length===0?!0:re.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(W):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((de,ce)=>de.or(new PropPathSpec(oe.propPathValue,ce)),new FalseSpec).isSatisfiedBy(W))})}belongsToGroup(W,X){return W.type===X.id}}class DiagnosticCodeSpec extends Spec{constructor(W){super(),this.diagnosticCodes=this.extractAllCodes(W)}extractAllCodes(W){const X=new Set;for(const te of W){if(te.codi&&X.add(te.codi),te.evolucions&&Array.isArray(te.evolucions))for(const re of te.evolucions)re.codi&&X.add(re.codi);if(te.relacions&&Array.isArray(te.relacions))for(const re of te.relacions)re.codi&&X.add(re.codi)}return Array.from(X)}isSatisfiedBy(W){return this.diagnosticCodes?.length?(W.diagnostics??[]).some(te=>this.diagnosticCodes.includes(te.codi)):!0}}const normalizeStringToNFD=J=>J==null?"":String(J).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(J,W)=>{const X=normalizeStringToNFD(J),te=normalizeStringToNFD(W);return X.toString().toLowerCase().indexOf(te)!==-1||X.toString().indexOf(te)!==-1},commonFieldsSearchPredicate=(J,W)=>{const X=J.professional?.name&&propContainsString(J.professional?.name,W),te=J.center?.description&&propContainsString(J.center.description,W),re=J.professional?.speciality?.description&&propContainsString(J.professional?.speciality.description,W),oe=J.professional?.role?.description&&propContainsString(J.professional?.role.description,W),ne=J.service?.description&&propContainsString(J.service.description,W),de=J.up?.description&&propContainsString(J.up.description,W),ce=J.diagnostics?.some(ue=>propContainsString(ue.descripcio,W));return X||te||re||oe||ne||de||ce};class SearchStringSpec extends Spec{constructor(W,X){super(),this.searchString=W,this.searchPredicate=X}isSatisfiedBy(W){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(W,this.searchString),te=this.searchPredicate?this.searchPredicate(this.searchString.toLowerCase(),W):!1;return!!(X||te)}}class TypeSpec extends Spec{constructor(W){super(),this.itemType=W}isSatisfiedBy(W){return W?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(re=>re.enabled).map(re=>re.id);return X.length===0?!0:X.reduce((re,oe)=>re.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(W)}}class UpFilterSpec extends Spec{constructor(W){super(),this.upIds=W}isSatisfiedBy(W){if(!this.upIds?.length)return!0;const X=W.up??null;return this.upIds.some(te=>X.id===te)}}const activityHistoryFiltersSelector=J=>J.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,J=>J.filter(W=>W.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,J=>!!J.length),activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,J=>J.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(J,W)=>Number(J.sort)-Number(W.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.some(W=>W.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.filter(W=>W.enabled).map(({id:W,title:X,enabled:te,sort:re,filters:oe})=>({id:W,title:X,enabled:te,sort:re,filters:oe.filter(ne=>ne.enabledValues?.length)})).filter(W=>W.filters.length>0));const diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,J=>J?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,J=>!!J.length),upFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,J=>J?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,J=>!!J.length),areSameDiagnostics=(J,W)=>{if(J.length!==W.length)return!1;const X=J.map(re=>re.codi).sort(),te=W.map(re=>re.codi).sort();return X.every((re,oe)=>re===te[oe])},hasValidDiagnostic=J=>J!=null&&typeof J.codi=="string"&&(typeof J.cataleg=="string"||J.cataleg===null)&&typeof J.descripcio=="string",hasValidDiagnostics=J=>J==null?!0:Array.isArray(J)&&J.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=J=>(dateStringCache.has(J)||dateStringCache.set(J,new Date(J).toDateString()),dateStringCache.get(J)),getDateObject=J=>(dateObjectCache.has(J)||dateObjectCache.set(J,new Date(J)),dateObjectCache.get(J)),createVisitKeyWithoutService=J=>{const W=`${J.professional?.id||"null"}-${J.professional?.role?.id||"null"}-${J.professional?.speciality?.id||"null"}`,X=`${J.ep?.id||"null"}-${J.up?.id||"null"}-${J.center?.id||"null"}`,te=getDateString(J.date);return`${W}|${X}|${te}`},hasService=J=>J.service?.id!=null&&J.service.id!=="",canGroupTogether=(J,W)=>{const X=createVisitKeyWithoutService(J),te=createVisitKeyWithoutService(W);return X!==te?!1:!hasService(J)||!hasService(W)?!0:J.service?.id===W.service?.id},withinEightHours=(J,W)=>{const X=getDateObject(J).getTime(),te=getDateObject(W).getTime();return Math.abs(X-te)<=480*60*1e3};function groupByValidDiagnostics(J){J.forEach(W=>{const X=[],te=[];W.items.forEach(re=>{const oe=re.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let de=!1;for(const ce of X){const ue=ce.items[0];if(areSameDiagnostics(ue.diagnostics,oe)){ce.items.push(re),de=!0;break}}de||X.push({idSubGroup:generateId(),items:[re]})}else te.push(re)}),W.items=te,W.subGroups=X})}const groupActivityHistoryItems=J=>{if(!J?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const W=[...J].sort((re,oe)=>getDateObject(oe.date).getTime()-getDateObject(re.date).getTime()),X=new Map,te=[];for(const re of W){const oe=createVisitKeyWithoutService(re),ne=getDateObject(re.date).getTime();let de=!1;const ce=X.get(oe)||[];for(const ue of ce){const he=ue.items[0],pe=ue.items[ue.items.length-1];if(!(!he||!pe)&&canGroupTogether(he,re)&&withinEightHours(he.date,re.date)&&withinEightHours(pe.date,re.date)){const fe=getDateObject(pe.date).getTime(),be=getDateObject(he.date).getTime(),me=Math.min(fe,ne),ge=Math.max(be,ne);let ve=!1;for(const[_e,ye]of X)if(_e!==oe){for(const Se of ye){for(const we of Se.items){const Ce=getDateObject(we.date).getTime();if(Ce>me&&Ce<ge){ve=!0;break}}if(ve)break}if(ve)break}if(!ve){ue.items.push(re),de=!0;break}}}if(!de){const ue={idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]};te.push(ue);const he=X.get(oe);he?he.push(ue):X.set(oe,[ue])}}return te.sort((re,oe)=>{const ne=re.items[0],de=oe.items[0];return!ne||!de?0:getDateObject(de.date).getTime()-getDateObject(ne.date).getTime()}),groupByValidDiagnostics(te),te},getMostRecentDate=J=>J.reduce((W,X)=>{const te=new Date(X.date);return te>W?te:W},new Date(0)),getSubGroupMostRecentDate=J=>getMostRecentDate(J.items),getGroupMostRecentDate=J=>{const W=J.items.length>0?[getMostRecentDate(J.items)]:[],X=J.subGroups.map(getSubGroupMostRecentDate),te=[...W,...X];return te.length>0?new Date(Math.max(...te.map(re=>re.getTime()))):new Date(0)},sortGroupsByMostRecentDate=J=>{const W=X=>X.sort((te,re)=>new Date(re.date).getTime()-new Date(te.date).getTime());return J.forEach(X=>{X.items=W(X.items),X.subGroups.forEach(te=>{te.items=W(te.items)}),X.subGroups.sort((te,re)=>getSubGroupMostRecentDate(re).getTime()-getSubGroupMostRecentDate(te).getTime())}),J.sort((X,te)=>getGroupMostRecentDate(te).getTime()-getGroupMostRecentDate(X).getTime())},activityHistorySearchStringSelector=J=>J.activityHistoryFilters.searchString,activityHistoryCollectionsSelector=J=>J.activityHistoryCollections.collections,historyDataImporterRulesByCollectionIdSelector=createSelector(activityHistoryCollectionsSelector,J=>{const W={};for(const[X,te]of Object.entries(J))te?.historyDataImporterRules&&(W[X]=te.historyDataImporterRules);return W}),mapItemsWithMetadata=(J,W,X,te)=>J.map(re=>({...re,searchPredicate:te,componentFactory:W,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,J=>Object.values(J).flatMap(W=>mapItemsWithMetadata(W.items,W.componentFactory,W.id,W.searchPredicate)));createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.filter(X=>{const te=W[X.id];return te?.items&&te.items.length>0}));const customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.map(te=>{const re=W[te.id];return{...te,filters:te.filters.map(oe=>({...oe,options:(oe.singleOption?[]:re?.items&&getUniqueObjects(re.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(J,W,X,te,re,oe)=>{const ne=new CommonFilterSpec(X),de=new ComposedTypeSpec(te),ce=new CustomFilterSpec(te),ue=new DiagnosticCodeSpec(re),he=new UpFilterSpec(oe),pe=J.filter(me=>new SearchStringSpec(W,me.searchPredicate).and(ne).and(de).and(ce).and(ue).and(he).isSatisfiedBy(me)),fe=groupActivityHistoryItems(pe);return sortGroupsByMostRecentDate(fe)});class SetCommonFilter{constructor(W){this.payload=W}}class SetCustomFilterAllValues{constructor(W){this.payload=W}}class SetCustomFilterGroup{constructor(W){this.payload=W}}class SetCustomFilterValue{constructor(W){this.payload=W}}class SetUpFiltersCommand{constructor(W){this.payload=W}}const styles$n=".filters-sidebar{padding:8px 4px;border-right:1px solid rgb(189,189,189);width:56px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.filters-sidebar dss-icon-button{align-self:center}.filters-sidebar[expanded]{width:296px}.filters-sidebar[expanded] .filters-sidebar-opened{display:flex;align-items:center;justify-content:space-between;padding-inline:8px;color:var(--color-neutral-900);font-weight:700;font-size:16px;line-height:24px}.filter-container{display:flex;flex-direction:column;padding:16px 8px 8px;overflow:auto}.filter-container .filter{padding:8px 0;border-bottom:1px solid var(--color-neutral-200)}.filter-group{display:flex;flex-direction:column;padding-top:12px;gap:var(--dss-spacing-xs);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-200)}.filter-group:last-of-type{border:none}.custom-subfilters-container{display:flex;flex-direction:column;padding-left:16px;gap:12px}.custom-subfilters-container .custom-filter-content{display:flex;flex-direction:column;gap:8px}";/**
355
+ `}handleTest(){console.log(this.selectedPeriodDate)}};__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedRadioOption",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"text",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedVisibilityLevelElement",2),__decorateClass$v([n$y()],ExportPdfModal.prototype,"selectedPeriodDate",2),__decorateClass$v([n$y({type:Array})],ExportPdfModal.prototype,"arrayElements",2),ExportPdfModal=__decorateClass$v([t$y("export-pdf-modal")],ExportPdfModal);class ExportToPdfHandler extends ApiBaseHandler{async handle(){try{this.api.interactionService.confirm(void 0,{component:ExportPdfModal},{title:translate("modal.selectExportOption"),confirmButtonText:"Exportar",cancelButtonText:"Cancelar"})}catch(W){this._notifyError(W.message)}}_notifyError(W){this.api.notificationService.error(W||"actions.delete.error")}}class ExportPdf{}let request$e;const bootstrapExportPdf=J=>{request$e=J.registerRequest(ExportPdf,ExportToPdfHandler)},teardownExportPdf=()=>{request$e?.dispose()};function getUniqueObjects(J,W,X,te){const re=`Sense ${te.toLocaleLowerCase()}`,oe=new Map;let ne=!1;for(const ce of J){const ue=W.reduce((be,me)=>be?.[me],ce),he=X.reduce((be,me)=>be?.[me],ce);typeof ue=="string"&&ue.trim()!==""&&typeof he=="string"?oe.has(ue)||oe.set(ue,{id:ue,title:he}):ne=!0}const de=Array.from(oe.values()).sort((ce,ue)=>ce.title.localeCompare(ue.title,"ca",{sensitivity:"base"}));return ne&&de.push({id:"",title:re}),de}class TrueSpec extends Spec{isSatisfiedBy(){return!0}}class CommonFilterSpec extends Spec{constructor(W){super(),this.commonFilters=W}isSatisfiedBy(W){return this.commonFilters.filter(re=>re.enabled).reduce((re,oe)=>re.and(new oe.spec),new TrueSpec).isSatisfiedBy(W)}}class FalseSpec extends Spec{isSatisfiedBy(){return!1}}class PropPathSpec extends Spec{constructor(W,X){super(),this.propPath=W,this.value=X}isSatisfiedBy(W){return this.propPath.reduce((te,re)=>te?.[re],W)===this.value}}class CustomFilterSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(te=>te.enabled);return X.length===0?!0:X.every(te=>{if(!this.belongsToGroup(W,te))return!0;const re=te.filters.filter(oe=>oe.enabled||oe.singleOption);return re.length===0?!0:re.every(oe=>oe.singleOption?oe.enabled?!0:new PropPathSpec(oe.propPathValue,!1).isSatisfiedBy(W):!oe.enabledValues||oe.enabledValues.length===0?!0:oe.enabledValues.reduce((de,ce)=>de.or(new PropPathSpec(oe.propPathValue,ce)),new FalseSpec).isSatisfiedBy(W))})}belongsToGroup(W,X){return W.type===X.id}}class DiagnosticCodeSpec extends Spec{constructor(W){super(),this.diagnosticCodes=this.extractAllCodes(W)}extractAllCodes(W){const X=new Set;for(const te of W){if(te.codi&&X.add(te.codi),te.evolucions&&Array.isArray(te.evolucions))for(const re of te.evolucions)re.codi&&X.add(re.codi);if(te.relacions&&Array.isArray(te.relacions))for(const re of te.relacions)re.codi&&X.add(re.codi)}return Array.from(X)}isSatisfiedBy(W){return this.diagnosticCodes?.length?(W.diagnostics??[]).some(te=>this.diagnosticCodes.includes(te.codi)):!0}}const normalizeStringToNFD=J=>J==null?"":String(J).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase(),propContainsString=(J,W)=>{const X=normalizeStringToNFD(J),te=normalizeStringToNFD(W);return X.toString().toLowerCase().indexOf(te)!==-1||X.toString().indexOf(te)!==-1},commonFieldsSearchPredicate=(J,W)=>{const X=J.professional?.name&&propContainsString(J.professional?.name,W),te=J.center?.description&&propContainsString(J.center.description,W),re=J.professional?.speciality?.description&&propContainsString(J.professional?.speciality.description,W),oe=J.professional?.role?.description&&propContainsString(J.professional?.role.description,W),ne=J.service?.description&&propContainsString(J.service.description,W),de=J.up?.description&&propContainsString(J.up.description,W),ce=J.diagnostics?.some(ue=>propContainsString(ue.descripcio,W));return X||te||re||oe||ne||de||ce};class SearchStringSpec extends Spec{constructor(W,X){super(),this.searchString=W,this.searchPredicate=X}isSatisfiedBy(W){if(!this.searchString?.trim())return!0;const X=commonFieldsSearchPredicate(W,this.searchString);let te=!1;if(this.searchPredicate)try{te=!!this.searchPredicate(this.searchString.toLowerCase(),W)}catch{}return!!(X||te)}}class TypeSpec extends Spec{constructor(W){super(),this.itemType=W}isSatisfiedBy(W){return W?.type===this.itemType}}class ComposedTypeSpec extends Spec{constructor(W){super(),this.filters=W}isSatisfiedBy(W){const X=this.filters.filter(re=>re.enabled).map(re=>re.id);return X.length===0?!0:X.reduce((re,oe)=>re.or(new TypeSpec(oe)),new FalseSpec).isSatisfiedBy(W)}}class UpFilterSpec extends Spec{constructor(W){super(),this.upIds=W}isSatisfiedBy(W){if(!this.upIds?.length)return!0;const X=W.up??null;return this.upIds.some(te=>X.id===te)}}const activityHistoryFiltersSelector=J=>J.activityHistoryFilters.filters,activityHistoryCommonFiltersSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isCommonFilterGroup)?.filters||[]),activityHistoryEnabledCommonFiltersSelector=createSelector(activityHistoryCommonFiltersSelector,J=>J.filter(W=>W.enabled)),areCommonFiltersActive=createSelector(activityHistoryEnabledCommonFiltersSelector,J=>!!J.length),activityHistoryCustomFilterGroupsSelector=createSelector(activityHistoryFiltersSelector,J=>J.filter(isCustomFilter).sort(sortBySortProperty)),sortBySortProperty=(J,W)=>Number(J.sort)-Number(W.sort),areCustomFiltersActive=createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.some(W=>W.filters.some(X=>X.enabledValues?.length)));createSelector(activityHistoryCustomFilterGroupsSelector,J=>J.filter(W=>W.enabled).map(({id:W,title:X,enabled:te,sort:re,filters:oe})=>({id:W,title:X,enabled:te,sort:re,filters:oe.filter(ne=>ne.enabledValues?.length)})).filter(W=>W.filters.length>0));const diagnosticFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isDiagnosticFilter)),diagnosticFilterEnabledValuesSelector=createSelector(diagnosticFilterSelector,J=>J?.enabledValues||[]),areDiagnosticFiltersActive=createSelector(diagnosticFilterEnabledValuesSelector,J=>!!J.length),upFilterSelector=createSelector(activityHistoryFiltersSelector,J=>J.find(isUpFilter)),upFilterEnabledValuesSelector=createSelector(upFilterSelector,J=>J?.enabledValues||[]),areUpFiltersActive=createSelector(upFilterEnabledValuesSelector,J=>!!J.length),areSameDiagnostics=(J,W)=>{if(J.length!==W.length)return!1;const X=J.map(re=>re.codi).sort(),te=W.map(re=>re.codi).sort();return X.every((re,oe)=>re===te[oe])},hasValidDiagnostic=J=>J!=null&&typeof J.codi=="string"&&(typeof J.cataleg=="string"||J.cataleg===null)&&typeof J.descripcio=="string",hasValidDiagnostics=J=>J==null?!0:Array.isArray(J)&&J.every(hasValidDiagnostic),dateStringCache=new Map,dateObjectCache=new Map,getDateString=J=>(dateStringCache.has(J)||dateStringCache.set(J,new Date(J).toDateString()),dateStringCache.get(J)),getDateObject=J=>(dateObjectCache.has(J)||dateObjectCache.set(J,new Date(J)),dateObjectCache.get(J)),createVisitKeyWithoutService=J=>{const W=`${J.professional?.id||"null"}-${J.professional?.role?.id||"null"}-${J.professional?.speciality?.id||"null"}`,X=`${J.ep?.id||"null"}-${J.up?.id||"null"}-${J.center?.id||"null"}`,te=getDateString(J.date);return`${W}|${X}|${te}`},hasService=J=>J.service?.id!=null&&J.service.id!=="",canGroupTogether=(J,W)=>{const X=createVisitKeyWithoutService(J),te=createVisitKeyWithoutService(W);return X!==te?!1:!hasService(J)||!hasService(W)?!0:J.service?.id===W.service?.id},withinEightHours=(J,W)=>{const X=getDateObject(J).getTime(),te=getDateObject(W).getTime();return Math.abs(X-te)<=480*60*1e3};function groupByValidDiagnostics(J){J.forEach(W=>{const X=[],te=[];W.items.forEach(re=>{const oe=re.diagnostics;if(oe?.length>0&&hasValidDiagnostics(oe)){let de=!1;for(const ce of X){const ue=ce.items[0];if(areSameDiagnostics(ue.diagnostics,oe)){ce.items.push(re),de=!0;break}}de||X.push({idSubGroup:generateId(),items:[re]})}else te.push(re)}),W.items=te,W.subGroups=X})}const groupActivityHistoryItems=J=>{if(!J?.length)return[];dateStringCache.clear(),dateObjectCache.clear();const W=[...J].sort((re,oe)=>getDateObject(oe.date).getTime()-getDateObject(re.date).getTime()),X=new Map,te=[];for(const re of W){const oe=createVisitKeyWithoutService(re),ne=getDateObject(re.date).getTime();let de=!1;const ce=X.get(oe)||[];for(const ue of ce){const he=ue.items[0],pe=ue.items[ue.items.length-1];if(!(!he||!pe)&&canGroupTogether(he,re)&&withinEightHours(he.date,re.date)&&withinEightHours(pe.date,re.date)){const fe=getDateObject(pe.date).getTime(),be=getDateObject(he.date).getTime(),me=Math.min(fe,ne),ge=Math.max(be,ne);let ve=!1;for(const[_e,ye]of X)if(_e!==oe){for(const Se of ye){for(const we of Se.items){const Ce=getDateObject(we.date).getTime();if(Ce>me&&Ce<ge){ve=!0;break}}if(ve)break}if(ve)break}if(!ve){ue.items.push(re),de=!0;break}}}if(!de){const ue={idGroup:Math.random().toString(36).substring(2,11),items:[re],subGroups:[]};te.push(ue);const he=X.get(oe);he?he.push(ue):X.set(oe,[ue])}}return te.sort((re,oe)=>{const ne=re.items[0],de=oe.items[0];return!ne||!de?0:getDateObject(de.date).getTime()-getDateObject(ne.date).getTime()}),groupByValidDiagnostics(te),te},getMostRecentDate=J=>J.reduce((W,X)=>{const te=new Date(X.date);return te>W?te:W},new Date(0)),getSubGroupMostRecentDate=J=>getMostRecentDate(J.items),getGroupMostRecentDate=J=>{const W=J.items.length>0?[getMostRecentDate(J.items)]:[],X=J.subGroups.map(getSubGroupMostRecentDate),te=[...W,...X];return te.length>0?new Date(Math.max(...te.map(re=>re.getTime()))):new Date(0)},sortGroupsByMostRecentDate=J=>{const W=X=>X.sort((te,re)=>new Date(re.date).getTime()-new Date(te.date).getTime());return J.forEach(X=>{X.items=W(X.items),X.subGroups.forEach(te=>{te.items=W(te.items)}),X.subGroups.sort((te,re)=>getSubGroupMostRecentDate(re).getTime()-getSubGroupMostRecentDate(te).getTime())}),J.sort((X,te)=>getGroupMostRecentDate(te).getTime()-getGroupMostRecentDate(X).getTime())},activityHistorySearchStringSelector=J=>J.activityHistoryFilters.searchString,activityHistoryCollectionsSelector=J=>J.activityHistoryCollections.collections,historyDataImporterRulesByCollectionIdSelector=createSelector(activityHistoryCollectionsSelector,J=>{const W={};for(const[X,te]of Object.entries(J))te?.historyDataImporterRules&&(W[X]=te.historyDataImporterRules);return W}),mapItemsWithMetadata=(J,W,X,te)=>J.map(re=>({...re,searchPredicate:te,componentFactory:W,type:X})),activityHistoryMappedItems=createSelector(activityHistoryCollectionsSelector,J=>Object.values(J).flatMap(W=>mapItemsWithMetadata(W.items,W.componentFactory,W.id,W.searchPredicate)));createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.filter(X=>{const te=W[X.id];return te?.items&&te.items.length>0}));const customFilterGroupsWithOptionsSelector=createSelector(activityHistoryCustomFilterGroupsSelector,activityHistoryCollectionsSelector,(J,W)=>J.map(te=>{const re=W[te.id];return{...te,filters:te.filters.map(oe=>({...oe,options:(oe.singleOption?[]:re?.items&&getUniqueObjects(re.items,oe.propPathValue,oe.propsPathDescription,oe.title))||[]}))}})),activityHistoryGroupedItems=createSelector(activityHistoryMappedItems,activityHistorySearchStringSelector,activityHistoryCommonFiltersSelector,activityHistoryCustomFilterGroupsSelector,diagnosticFilterEnabledValuesSelector,upFilterEnabledValuesSelector,(J,W,X,te,re,oe)=>{const ne=new CommonFilterSpec(X),de=new ComposedTypeSpec(te),ce=new CustomFilterSpec(te),ue=new DiagnosticCodeSpec(re),he=new UpFilterSpec(oe),pe=J.filter(me=>new SearchStringSpec(W,me.searchPredicate).and(ne).and(de).and(ce).and(ue).and(he).isSatisfiedBy(me)),fe=groupActivityHistoryItems(pe);return sortGroupsByMostRecentDate(fe)});class SetCommonFilter{constructor(W){this.payload=W}}class SetCustomFilterAllValues{constructor(W){this.payload=W}}class SetCustomFilterGroup{constructor(W){this.payload=W}}class SetCustomFilterValue{constructor(W){this.payload=W}}class SetUpFiltersCommand{constructor(W){this.payload=W}}const styles$n=".filters-sidebar{padding:8px 4px;border-right:1px solid rgb(189,189,189);width:56px;height:100%;box-sizing:border-box;display:flex;flex-direction:column}.filters-sidebar dss-icon-button{align-self:center}.filters-sidebar[expanded]{width:296px}.filters-sidebar[expanded] .filters-sidebar-opened{display:flex;align-items:center;justify-content:space-between;padding-inline:8px;color:var(--color-neutral-900);font-weight:700;font-size:16px;line-height:24px}.filter-container{display:flex;flex-direction:column;padding:16px 8px 8px;overflow:auto}.filter-container .filter{padding:8px 0;border-bottom:1px solid var(--color-neutral-200)}.filter-group{display:flex;flex-direction:column;padding-top:12px;gap:var(--dss-spacing-xs);padding-bottom:12px;border-bottom:1px solid var(--color-neutral-200)}.filter-group:last-of-type{border:none}.custom-subfilters-container{display:flex;flex-direction:column;padding-left:16px;gap:12px}.custom-subfilters-container .custom-filter-content{display:flex;flex-direction:column;gap:8px}";/**
356
356
  * @license
357
357
  * Copyright 2021 Google LLC
358
358
  * SPDX-License-Identifier: BSD-3-Clause