@uxland/primary-shell 7.41.5 → 7.41.6

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, x as t, z as r, P as n, b as o, v as l, Q as c, n as g, o as m, p, m as v, c as P, u as E, f as h, q as u, e as R, w as S, g as d, j as y, s as w, l as C, y as M } from "./index-HxUANPyC.js";
1
+ import { E as s, d as e, x as t, z as r, P as n, b as o, v as l, Q as c, n as g, o as m, p, m as v, c as P, u as E, f as h, q as u, e as R, w as S, g as d, j as y, s as w, l as C, y as M } from "./index-0V-xXwce.js";
2
2
  export {
3
3
  s as EcapEventManager,
4
4
  e as ExitShell,
@@ -584,7 +584,7 @@ ${X.searchString?.length>1?ke$1`
584
584
  </div>
585
585
  `};var __defProp$i=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$m=(X,W,J,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$8(W,J):W,oe=X.length-1,ne;oe>=0;oe--)(ne=X[oe])&&(re=(te?ne(W,J,re):ne(re))||re);return te&&re&&__defProp$i(W,J,re),re};let ActiveFiltersBadges=class extends h$q{render(){return ke$1`${template$g(this)}`}_onDeleteFilterValue(X,W,J,te){this.api.broker.send(new SetCustomFilterValue({filterGroupId:X,filterId:W,optionId:J,enabled:te}))}_onDeleteCommonFilterValue(X){this.api.broker.send(new SetCommonFilter({id:X,enabled:!1}))}_onDeleteDiagnosticFilterValue(X){this.api.broker.send(new DeleteDiagnosticFilterValueCommand({diagnosticCodi:X}))}_onDeleteUpFilterValue(X){this.api.broker.send(new SetUpFiltersCommand([...this.upFilterEnabled.enabledValues.filter(W=>W!==X)]))}resetFilters(){this.api.broker.send(new ResetFiltersCommand)}};ActiveFiltersBadges.styles=i$U`
586
586
  ${r$L(styles$f)}
587
- `,__decorateClass$m([lazyInject(TYPES.primaryApi)],ActiveFiltersBadges.prototype,"api",2),__decorateClass$m([connectedProperty(activityHistoryEnabledCommonFiltersSelector)],ActiveFiltersBadges.prototype,"enabledCommonFilters",2),__decorateClass$m([connectedProperty(customFilterGroupsWithOptionsSelector)],ActiveFiltersBadges.prototype,"enabledFilters",2),__decorateClass$m([connectedProperty(diagnosticFilterSelector)],ActiveFiltersBadges.prototype,"diagnosticFilterEnabled",2),__decorateClass$m([connectedProperty(upFilterSelector)],ActiveFiltersBadges.prototype,"upFilterEnabled",2),ActiveFiltersBadges=__decorateClass$m([t$x("active-filters-badges")],ActiveFiltersBadges);let request$3;const bootstrapSearchItems=X=>{request$3=X.registerRequest(SearchActivityHistoryItems,SearchItemsHandler)},teardownSearchItems=()=>{request$3?.dispose()},{updateActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class UpdateHistoryItemHandler extends StoreBaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]),this.store.dispatch(updateActivityHistoryItem({id:W.entityId,item:W.item}))}catch(J){console.error(J.message)}}}let request$2;const bootstrapUpdateHistoryItem=X=>{request$2=X.registerRequest("update_history_item_request",UpdateHistoryItemHandler)},teardownUpdateHistoryItem=()=>{request$2?.dispose()};let broker;const bootstrapActivityHistoryItem=X=>{broker=brokerExtensions(X,container),bootstrapInjectAsyncHistoryItems(broker,X),bootstrapAddHistoryItem(broker,X),bootstrapAddHistoryItems(broker,X),bootstrapHandleHistoryItemsAddError(broker),bootstrapHandleRefreshHistoryItems(broker),bootstrapUpdateHistoryItem(broker),bootstrapExportPdf(broker),bootstrapFilters(broker,X),bootstrapSearchItems(broker),bootstrapRemoveHistoryItem(broker)},teardownActivityHistoryItem=()=>{teardownInjectAsyncHistoryItems(),teardownAddHistoryItem(),teardownAddHistoryItems(),teardownHandleHistoryItemsAddError(),teardownUpdateHistoryItem(),teardownExportPdf(),teardownFilters(),teardownSearchItems(),teardownRemoveHistoryItem()},pluginName="activity-history",prepareGroupComponents=async X=>{const W=J=>Promise.all(J.map(async te=>({...te,component:te.componentFactory?await te.componentFactory({item:te}):void 0})));return Promise.all(X.map(async J=>({...J,items:await W(J.items||[]),subGroups:await Promise.all((J.subGroups||[]).map(async te=>({...te,items:await W(te.items)})))})))},INITIAL_SCROLLER_STATE={viewportHeight:0,scrollTop:0,totalHeight:0,visibleRange:{start:0,end:0},containerOffset:0,visibleItems:[]};class ScrollerController{sync({viewport:W,content:J,items:te,onStateChange:re,estimatedItemHeight:oe=200,bufferSize:ne=50}){return!W||!J?this._scroller?.getState()??INITIAL_SCROLLER_STATE:(this._scroller&&W!==this._lastViewport&&this.teardown(),this._scroller?this._scroller.updateItems(te,re):(this._scroller=new VirtualScroller({items:te,estimatedItemHeight:oe,bufferSize:ne}),this._cleanup=this._scroller.setup(W,J,re)),this._lastViewport=W,this._scroller.getState())}teardown(){this._cleanup?.(),this._cleanup=void 0,this._scroller=void 0,this._lastViewport=void 0}scrollToIndex(W,J){this._scroller?.scrollToIndex(W,J)}findClosestIndex(W,J,te){return this._scroller?.findClosestIndex(W,J,te)??-1}}const isToday=X=>{const W=new Date(X),J=new Date;return W.toDateString()===J.toDateString()},itemMatchesToday=X=>!!(X&&isToday(X.date)),itemHasAnyDiagnostic=(X,W)=>!!X.diagnostics?.some(J=>W.includes(J.codi)),isAllowedItem=(X,W)=>{const J=X.type?W[X.type]:void 0;return!J?.allowedTagIds||J.allowedTagIds.length===0?!0:J.allowedTagIds.includes(X.tag?.id??"")},groupMatchesToday=X=>{const W=X.items?.[0]||X.subGroups?.[0]?.items?.[0];return itemMatchesToday(W)},filterGroupItemsByPredicate=(X,W)=>({...X,items:(X.items||[]).filter(W),subGroups:(X.subGroups||[]).map(J=>({...J,items:J.items.filter(W)})).filter(J=>J.items.length>0)}),filterGroupByDiagnostics=(X,W)=>filterGroupItemsByPredicate(X,J=>itemHasAnyDiagnostic(J,W)),isGroupNonEmpty=X=>X.items.length>0||X.subGroups.length>0,applyImporterFilters=(X,{todayOnly:W,selectedDiagnosticCodes:J},te={})=>{const re=X.map(de=>filterGroupItemsByPredicate(de,ce=>isAllowedItem(ce,te))).filter(isGroupNonEmpty),oe=W,ne=J.length>0;return!oe&&!ne?re:re.map(de=>oe&&groupMatchesToday(de)?de:ne?filterGroupByDiagnostics(de,J):null).filter(de=>de!==null&&isGroupNonEmpty(de))},flattenGroupItems=X=>{const W=[];for(const J of X){for(const te of J.items||[])W.push(te);for(const te of J.subGroups||[])for(const re of te.items)W.push(re)}return W},styles$e=":host{display:block;height:100%;width:100%}.importer{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden}.importer__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.importer__search{display:block}.importer__filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--color-neutral-200)}.importer__filters-label{color:var(--color-neutral-700);font-size:13px}.importer__empty{color:var(--color-neutral-600);font-size:13px;padding:24px 0;text-align:center}.virtual-container{flex:1;min-height:0;position:relative}.virtual-viewport{height:100%;overflow:auto}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.visit:first-child{margin-top:var(--dss-spacing-xs)}.visit{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-xs);border-bottom:2px solid var(--color-neutral-300)}.visit:last-child{border-bottom:none}.visit__items,.diagnostics{padding-left:var(--dss-spacing-md)}.visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit__header .title-date{font-weight:700}.visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit__items .item[has-divider]:last-of-type{border:none}.diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics:last-of-type{border:none}.diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.diagnostics__items{display:flex;flex-direction:column}.diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics__items .item[has-divider]:last-of-type{border:none}.item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.item__check{margin-top:4px}",checkboxState=X=>({checked:X==="all",indeterminate:X==="some"}),template$f=X=>{const W=checkboxState(X.allState());return ke$1`
587
+ `,__decorateClass$m([lazyInject(TYPES.primaryApi)],ActiveFiltersBadges.prototype,"api",2),__decorateClass$m([connectedProperty(activityHistoryEnabledCommonFiltersSelector)],ActiveFiltersBadges.prototype,"enabledCommonFilters",2),__decorateClass$m([connectedProperty(customFilterGroupsWithOptionsSelector)],ActiveFiltersBadges.prototype,"enabledFilters",2),__decorateClass$m([connectedProperty(diagnosticFilterSelector)],ActiveFiltersBadges.prototype,"diagnosticFilterEnabled",2),__decorateClass$m([connectedProperty(upFilterSelector)],ActiveFiltersBadges.prototype,"upFilterEnabled",2),ActiveFiltersBadges=__decorateClass$m([t$x("active-filters-badges")],ActiveFiltersBadges);let request$3;const bootstrapSearchItems=X=>{request$3=X.registerRequest(SearchActivityHistoryItems,SearchItemsHandler)},teardownSearchItems=()=>{request$3?.dispose()},{updateActivityHistoryItem}=activityHistoryCollectionsSlice.actions;class UpdateHistoryItemHandler extends StoreBaseHandler{async handle(W){try{ensureAreValidBasicActivityHistoryItems([W.item]),this.store.dispatch(updateActivityHistoryItem({id:W.entityId,item:W.item}))}catch(J){console.error(J.message)}}}let request$2;const bootstrapUpdateHistoryItem=X=>{request$2=X.registerRequest("update_history_item_request",UpdateHistoryItemHandler)},teardownUpdateHistoryItem=()=>{request$2?.dispose()};let broker;const bootstrapActivityHistoryItem=X=>{broker=brokerExtensions(X,container),bootstrapInjectAsyncHistoryItems(broker,X),bootstrapAddHistoryItem(broker,X),bootstrapAddHistoryItems(broker,X),bootstrapHandleHistoryItemsAddError(broker),bootstrapHandleRefreshHistoryItems(broker),bootstrapUpdateHistoryItem(broker),bootstrapExportPdf(broker),bootstrapFilters(broker,X),bootstrapSearchItems(broker),bootstrapRemoveHistoryItem(broker)},teardownActivityHistoryItem=()=>{teardownInjectAsyncHistoryItems(),teardownAddHistoryItem(),teardownAddHistoryItems(),teardownHandleHistoryItemsAddError(),teardownUpdateHistoryItem(),teardownExportPdf(),teardownFilters(),teardownSearchItems(),teardownRemoveHistoryItem()},pluginName="activity-history",prepareGroupComponents=async X=>{const W=J=>Promise.all(J.map(async te=>({...te,component:te.componentFactory?await te.componentFactory({item:te}):void 0})));return Promise.all(X.map(async J=>({...J,items:await W(J.items||[]),subGroups:await Promise.all((J.subGroups||[]).map(async te=>({...te,items:await W(te.items)})))})))},INITIAL_SCROLLER_STATE={virtualItems:[],totalHeight:0};class ScrollerController{sync({viewport:W,items:J,onStateChange:te,estimatedItemHeight:re=200}){return W?(this._scroller&&W!==this._lastViewport&&this.teardown(),this._scroller?this._scroller.updateItems(J,te):(this._scroller=new VirtualScroller({items:J,estimatedItemHeight:re}),this._cleanup=this._scroller.setup(W,te)),this._lastViewport=W,this._scroller.getState()):this._scroller?.getState()??INITIAL_SCROLLER_STATE}teardown(){this._cleanup?.(),this._cleanup=void 0,this._scroller=void 0,this._lastViewport=void 0}scrollToIndex(W,J){this._scroller?.scrollToIndex(W,J)}findClosestIndex(W,J,te){return this._scroller?.findClosestIndex(W,J,te)??-1}}const isToday=X=>{const W=new Date(X),J=new Date;return W.toDateString()===J.toDateString()},itemMatchesToday=X=>!!(X&&isToday(X.date)),itemHasAnyDiagnostic=(X,W)=>!!X.diagnostics?.some(J=>W.includes(J.codi)),isAllowedItem=(X,W)=>{const J=X.type?W[X.type]:void 0;return!J?.allowedTagIds||J.allowedTagIds.length===0?!0:J.allowedTagIds.includes(X.tag?.id??"")},groupMatchesToday=X=>{const W=X.items?.[0]||X.subGroups?.[0]?.items?.[0];return itemMatchesToday(W)},filterGroupItemsByPredicate=(X,W)=>({...X,items:(X.items||[]).filter(W),subGroups:(X.subGroups||[]).map(J=>({...J,items:J.items.filter(W)})).filter(J=>J.items.length>0)}),filterGroupByDiagnostics=(X,W)=>filterGroupItemsByPredicate(X,J=>itemHasAnyDiagnostic(J,W)),isGroupNonEmpty=X=>X.items.length>0||X.subGroups.length>0,applyImporterFilters=(X,{todayOnly:W,selectedDiagnosticCodes:J},te={})=>{const re=X.map(de=>filterGroupItemsByPredicate(de,ce=>isAllowedItem(ce,te))).filter(isGroupNonEmpty),oe=W,ne=J.length>0;return!oe&&!ne?re:re.map(de=>oe&&groupMatchesToday(de)?de:ne?filterGroupByDiagnostics(de,J):null).filter(de=>de!==null&&isGroupNonEmpty(de))},flattenGroupItems=X=>{const W=[];for(const J of X){for(const te of J.items||[])W.push(te);for(const te of J.subGroups||[])for(const re of te.items)W.push(re)}return W},styles$e=":host{display:block;height:100%;width:100%}.importer{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden}.importer__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.importer__search{display:block}.importer__filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--color-neutral-200)}.importer__filters-label{color:var(--color-neutral-700);font-size:13px}.importer__empty{color:var(--color-neutral-600);font-size:13px;padding:24px 0;text-align:center}.virtual-container{flex:1;min-height:0;position:relative}.virtual-viewport{height:100%;overflow:auto}.virtual-content{position:relative;width:100%}.virtual-items{position:relative}.visit:first-child{margin-top:var(--dss-spacing-xs)}.visit{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);background-color:#fff;padding:var(--dss-spacing-sm);margin-bottom:var(--dss-spacing-xs);border-bottom:2px solid var(--color-neutral-300)}.visit:last-child{border-bottom:none}.visit__items,.diagnostics{padding-left:var(--dss-spacing-md)}.visit__header{display:flex;flex-direction:row;align-items:center;gap:16px}.visit__header .title{flex:1;font-size:14px;line-height:24px;display:flex;flex-direction:row;gap:12px;color:var(--color-neutral-800)}.visit__header .title-date{font-weight:700}.visit__header .title-description{font-weight:600;display:flex;flex-direction:row;gap:4px}.visit__items{display:flex;flex-direction:column;gap:var(--dss-spacing-sm)}.visit__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.visit__items .item[has-divider]:last-of-type{border:none}.diagnostics{display:flex;flex-direction:column;gap:var(--dss-spacing-sm);border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics:last-of-type{border:none}.diagnostics__header{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.diagnostics__items{display:flex;flex-direction:column}.diagnostics__items .item[has-divider]{border-bottom:var(--dss-border-width-sm) solid var(--color-neutral-200)}.diagnostics__items .item[has-divider]:last-of-type{border:none}.item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.item__check{margin-top:4px}",checkboxState=X=>({checked:X==="all",indeterminate:X==="some"}),template$f=X=>{const W=checkboxState(X.allState());return ke$1`
588
588
  <div class="importer">
589
589
  ${headerTemplate(X)} ${searchTemplate(X)} ${filtersTemplate(X,W)} ${listTemplate(X)}
590
590
  </div>
@@ -631,7 +631,7 @@ ${X.searchString?.length>1?ke$1`
631
631
  `,listTemplate=X=>X.filteredGroups?.length?ke$1`
632
632
  <div class="virtual-container">
633
633
  <div class="virtual-viewport">
634
- <div class="virtual-content">
634
+ <div class="virtual-content" style="height: ${X._totalHeight}px;">
635
635
  <div class="virtual-items" style="transform: translateY(${X._containerOffset}px)">
636
636
  ${Qt(X._visibleItems,W=>W.idGroup,W=>visitTemplate(X,W))}
637
637
  </div>
@@ -689,9 +689,9 @@ ${X.searchString?.length>1?ke$1`
689
689
  </div>
690
690
  `,diagnosticHeaderTemplate=X=>X&&ke$1`
691
691
  ${X.diagnostics.filter(W=>W.descripcio!=null&&W.descripcio.trim()!=="").map(W=>ke$1`<dss-badge text=${W.descripcio?.toUpperCase()} state="info" size="sm" outlined hideIcon></dss-badge>`)}
692
- `;var __defProp$h=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$l=(X,W,J,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$7(W,J):W,oe=X.length-1,ne;oe>=0;oe--)(ne=X[oe])&&(re=(te?ne(W,J,re):ne(re))||re);return te&&re&&__defProp$h(W,J,re),re};let ActivityHistoryImporter=class extends h$q{constructor(){super(...arguments),this.historyGroups=[],this.searchString="",this.rulesByCollectionId={},this.todayOnly=!1,this.selectedDiagnosticCodes=[],this.availableDiagnostics=[],this.filteredGroups=[],this.totalCount=0,this.selectedIds=[],this._virtualScrollerState=INITIAL_SCROLLER_STATE,this._scrollerController=new ScrollerController,this._searchTimeout=null,this._didInitialPreselect=!1}render(){return ke$1`${template$f(this)}`}connectedCallback(){super.connectedCallback(),this.selectedIds=[],this._didInitialPreselect=!1;const X=this.api?.importDataManager?.getCurrentImportParams?.();this.availableDiagnostics=X?.diagnostics??[]}disconnectedCallback(){super.disconnectedCallback(),this._scrollerController.teardown(),this._clearSearchTimeout(),this.api.broker.send(new SearchActivityHistoryItems("")),this.selectedIds=[]}updated(X){super.updated(X),(X.has("historyGroups")||X.has("todayOnly")||X.has("selectedDiagnosticCodes"))&&this._recomputeFiltered(),!this._didInitialPreselect&&this.historyGroups?.length&&(this._didInitialPreselect=!0,this._preselectMatchingItems()),X.has("filteredGroups")&&this._syncVirtualScroller(),X.has("selectedIds")&&this._publishSelection()}_onSearchChange(X){typeof X.detail=="string"&&(this._clearSearchTimeout(),this._searchTimeout=window.setTimeout(()=>{this.api.broker.send(new SearchActivityHistoryItems(X.detail))},300))}_onToggleToday(X){this.todayOnly=X.target.checked}_onDiagnosticsChanged(X){const W=X.detail;this.selectedDiagnosticCodes=(W?.selectedItems||[]).map(J=>J.value)}_toggleItem(X){this.selectedIds=this.selectedIds.includes(X)?this.selectedIds.filter(W=>W!==X):[...this.selectedIds,X]}_toggleVisit(X,W){this._setSelection(flattenGroupItems([X]).map(J=>J.id),W)}_toggleSubGroup(X,W){this._setSelection(X.map(J=>J.id),W)}_toggleAll(X){this._setSelection(flattenGroupItems(this.filteredGroups).map(W=>W.id),X.target.checked)}isItemSelected(X){return this.selectedIds.includes(X)}visitState(X){return this._tristate(flattenGroupItems([X]).map(W=>W.id))}subGroupState(X){return this._tristate(X.map(W=>W.id))}allState(){return this._tristate(flattenGroupItems(this.filteredGroups).map(X=>X.id))}hasDiagnosticsFilter(){return this.availableDiagnostics.length>0}diagnosticsOptions(){return this.availableDiagnostics.map(X=>({label:X.description,value:X.code}))}get _visibleItems(){return this._virtualScrollerState.visibleItems}get _containerOffset(){return this._virtualScrollerState.containerOffset}_clearSearchTimeout(){this._searchTimeout!==null&&(clearTimeout(this._searchTimeout),this._searchTimeout=null)}_setSelection(X,W){if(W){const J=X.filter(te=>!this.selectedIds.includes(te));J.length&&(this.selectedIds=[...this.selectedIds,...J])}else{const J=new Set(X);this.selectedIds=this.selectedIds.filter(te=>!J.has(te))}}_tristate(X){if(!X.length)return"none";const W=X.filter(J=>this.selectedIds.includes(J)).length;return W===0?"none":W===X.length?"all":"some"}async _recomputeFiltered(){const X={todayOnly:this.todayOnly,selectedDiagnosticCodes:this.selectedDiagnosticCodes},W=applyImporterFilters(this.historyGroups||[],X,this.rulesByCollectionId);this.filteredGroups=await prepareGroupComponents(W),this.totalCount=flattenGroupItems(this.filteredGroups).length}_syncVirtualScroller(){this._virtualScrollerState=this._scrollerController.sync({viewport:this._viewport,content:this._content,items:this.filteredGroups,onStateChange:X=>{this._virtualScrollerState=X,this.requestUpdate()}})}_preselectMatchingItems(){const X={diagnostics:this.availableDiagnostics},W=[],J=te=>{for(const re of te){const oe=re.type?this.rulesByCollectionId[re.type]:void 0;oe?.shouldPreselect&&oe.shouldPreselect(re,X)&&W.push(re.id)}};for(const te of this.historyGroups||[]){J(te.items||[]);for(const re of te.subGroups||[])J(re.items)}W.length&&(this.selectedIds=[...new Set([...this.selectedIds,...W])])}_publishSelection(){const X=new Set(this.selectedIds),W=(this.historyGroups||[]).map(J=>({...J,items:(J.items||[]).filter(te=>X.has(te.id)),subGroups:(J.subGroups||[]).map(te=>({...te,items:te.items.filter(re=>X.has(re.id))})).filter(te=>te.items.length>0)})).filter(J=>J.items.length>0||J.subGroups.length>0);this.api.importDataManager.selectItems({pluginId:pluginName,data:W,text:{raw:"",html:""}})}};ActivityHistoryImporter.styles=i$U`
692
+ `;var __defProp$h=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$l=(X,W,J,te)=>{for(var re=te>1?void 0:te?__getOwnPropDesc$7(W,J):W,oe=X.length-1,ne;oe>=0;oe--)(ne=X[oe])&&(re=(te?ne(W,J,re):ne(re))||re);return te&&re&&__defProp$h(W,J,re),re};let ActivityHistoryImporter=class extends h$q{constructor(){super(...arguments),this.historyGroups=[],this.searchString="",this.rulesByCollectionId={},this.todayOnly=!1,this.selectedDiagnosticCodes=[],this.availableDiagnostics=[],this.filteredGroups=[],this.totalCount=0,this.selectedIds=[],this._virtualScrollerState=INITIAL_SCROLLER_STATE,this._scrollerController=new ScrollerController,this._searchTimeout=null,this._didInitialPreselect=!1}render(){return ke$1`${template$f(this)}`}connectedCallback(){super.connectedCallback(),this.selectedIds=[],this._didInitialPreselect=!1;const X=this.api?.importDataManager?.getCurrentImportParams?.();this.availableDiagnostics=X?.diagnostics??[]}disconnectedCallback(){super.disconnectedCallback(),this._scrollerController.teardown(),this._clearSearchTimeout(),this.api.broker.send(new SearchActivityHistoryItems("")),this.selectedIds=[]}updated(X){super.updated(X),(X.has("historyGroups")||X.has("todayOnly")||X.has("selectedDiagnosticCodes"))&&this._recomputeFiltered(),!this._didInitialPreselect&&this.historyGroups?.length&&(this._didInitialPreselect=!0,this._preselectMatchingItems()),X.has("filteredGroups")&&this._syncVirtualScroller(),X.has("selectedIds")&&this._publishSelection()}_onSearchChange(X){typeof X.detail=="string"&&(this._clearSearchTimeout(),this._searchTimeout=window.setTimeout(()=>{this.api.broker.send(new SearchActivityHistoryItems(X.detail))},300))}_onToggleToday(X){this.todayOnly=X.target.checked}_onDiagnosticsChanged(X){const W=X.detail;this.selectedDiagnosticCodes=(W?.selectedItems||[]).map(J=>J.value)}_toggleItem(X){this.selectedIds=this.selectedIds.includes(X)?this.selectedIds.filter(W=>W!==X):[...this.selectedIds,X]}_toggleVisit(X,W){this._setSelection(flattenGroupItems([X]).map(J=>J.id),W)}_toggleSubGroup(X,W){this._setSelection(X.map(J=>J.id),W)}_toggleAll(X){this._setSelection(flattenGroupItems(this.filteredGroups).map(W=>W.id),X.target.checked)}isItemSelected(X){return this.selectedIds.includes(X)}visitState(X){return this._tristate(flattenGroupItems([X]).map(W=>W.id))}subGroupState(X){return this._tristate(X.map(W=>W.id))}allState(){return this._tristate(flattenGroupItems(this.filteredGroups).map(X=>X.id))}hasDiagnosticsFilter(){return this.availableDiagnostics.length>0}diagnosticsOptions(){return this.availableDiagnostics.map(X=>({label:X.description,value:X.code}))}get _visibleItems(){return this._virtualScrollerState.virtualItems.map(X=>this.filteredGroups?.[X.index]).filter(Boolean)}get _containerOffset(){return this._virtualScrollerState.virtualItems[0]?.start??0}get _totalHeight(){return this._virtualScrollerState.totalHeight}_clearSearchTimeout(){this._searchTimeout!==null&&(clearTimeout(this._searchTimeout),this._searchTimeout=null)}_setSelection(X,W){if(W){const J=X.filter(te=>!this.selectedIds.includes(te));J.length&&(this.selectedIds=[...this.selectedIds,...J])}else{const J=new Set(X);this.selectedIds=this.selectedIds.filter(te=>!J.has(te))}}_tristate(X){if(!X.length)return"none";const W=X.filter(J=>this.selectedIds.includes(J)).length;return W===0?"none":W===X.length?"all":"some"}async _recomputeFiltered(){const X={todayOnly:this.todayOnly,selectedDiagnosticCodes:this.selectedDiagnosticCodes},W=applyImporterFilters(this.historyGroups||[],X,this.rulesByCollectionId);this.filteredGroups=await prepareGroupComponents(W),this.totalCount=flattenGroupItems(this.filteredGroups).length}_syncVirtualScroller(){this._virtualScrollerState=this._scrollerController.sync({viewport:this._viewport,items:this.filteredGroups,onStateChange:X=>{this._virtualScrollerState=X,this.requestUpdate()}})}_preselectMatchingItems(){const X={diagnostics:this.availableDiagnostics},W=[],J=te=>{for(const re of te){const oe=re.type?this.rulesByCollectionId[re.type]:void 0;oe?.shouldPreselect&&oe.shouldPreselect(re,X)&&W.push(re.id)}};for(const te of this.historyGroups||[]){J(te.items||[]);for(const re of te.subGroups||[])J(re.items)}W.length&&(this.selectedIds=[...new Set([...this.selectedIds,...W])])}_publishSelection(){const X=new Set(this.selectedIds),W=(this.historyGroups||[]).map(J=>({...J,items:(J.items||[]).filter(te=>X.has(te.id)),subGroups:(J.subGroups||[]).map(te=>({...te,items:te.items.filter(re=>X.has(re.id))})).filter(te=>te.items.length>0)})).filter(J=>J.items.length>0||J.subGroups.length>0);this.api.importDataManager.selectItems({pluginId:pluginName,data:W,text:{raw:"",html:""}})}};ActivityHistoryImporter.styles=i$U`
693
693
  ${r$L(styles$e)}
694
- `,__decorateClass$l([lazyInject(TYPES.primaryApi)],ActivityHistoryImporter.prototype,"api",2),__decorateClass$l([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryImporter.prototype,"historyGroups",2),__decorateClass$l([connectedProperty(activityHistorySearchStringSelector)],ActivityHistoryImporter.prototype,"searchString",2),__decorateClass$l([connectedProperty(historyDataImporterRulesByCollectionIdSelector)],ActivityHistoryImporter.prototype,"rulesByCollectionId",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"todayOnly",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"selectedDiagnosticCodes",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"availableDiagnostics",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"filteredGroups",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"totalCount",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"selectedIds",2),__decorateClass$l([e$Q(".virtual-viewport")],ActivityHistoryImporter.prototype,"_viewport",2),__decorateClass$l([e$Q(".virtual-content")],ActivityHistoryImporter.prototype,"_content",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"_virtualScrollerState",2),ActivityHistoryImporter=__decorateClass$l([t$x("activity-history-importer")],ActivityHistoryImporter);const styles$d=":host{display:flex;min-height:1px;height:100%;width:100%}.container{display:flex;flex-direction:column;width:100%;border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm)}.container[maximized]{position:absolute;background:#fff;top:0;left:0;bottom:0;border:none}.container[maximized] .header-maximized-container{display:flex;flex-direction:column}.container[maximized] .header-maximized-container .header__maximized{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px;padding-inline:40px}.container[maximized] .header-maximized-container .header__maximized .header__maximized__search{flex:1;border-radius:8px;border:1px solid rgb(189,189,189);padding:8px;width:300px}.container[maximized] .header-maximized-container .header__maximized .title{color:var(--color-neutral-900);font-weight:700;font-size:20px;line-height:30px;white-space:nowrap}.container[maximized] .header-maximized-container .header__maximized .options{display:flex;align-items:center;color:var(--color-primary-400);font-weight:600;font-size:14px;line-height:24px;cursor:pointer}.container[maximized] .header-maximized-container .header__maximized .header__maximized__left{display:flex;flex-direction:row;gap:24px;align-items:center;width:100%}.container[maximized] .header-maximized-container .header__maximized .header__maximized__right{display:flex;flex-direction:row;gap:16px;align-items:center}.container[maximized] .wrapper{height:calc(100vh - 175px);border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm);margin-bottom:24px;margin-inline:40px;width:calc(100% - 80px)}.container .header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgb(189,189,189);gap:16px}.container .header .header__left{display:flex;flex-direction:row;align-items:center;flex:1;gap:16px}.container .header .header__left .title{color:var(--color-neutral-800);font-weight:700;font-size:16px;line-height:24px;white-space:nowrap}.container .header .header__right{display:flex;flex-direction:row;align-items:center;gap:8px}.container .header .header__right .action-icons{display:flex;align-items:center}.container .wrapper{display:flex;flex-direction:row;min-height:1px;width:100%;height:100%}.container .wrapper[maximized] .content{width:100%;background:var(--color-neutral-50);border-top-right-radius:var(--dss-radius-sm);display:flex;flex-direction:column}.container .wrapper .content{width:100%;background:var(--color-neutral-50);border-bottom-right-radius:var(--dss-radius-sm);overflow:hidden;display:flex;flex-direction:column}",template$e=X=>ke$1`<div class="container" ?maximized=${X.maximized}>
694
+ `,__decorateClass$l([lazyInject(TYPES.primaryApi)],ActivityHistoryImporter.prototype,"api",2),__decorateClass$l([connectedProperty(activityHistoryGroupedItems)],ActivityHistoryImporter.prototype,"historyGroups",2),__decorateClass$l([connectedProperty(activityHistorySearchStringSelector)],ActivityHistoryImporter.prototype,"searchString",2),__decorateClass$l([connectedProperty(historyDataImporterRulesByCollectionIdSelector)],ActivityHistoryImporter.prototype,"rulesByCollectionId",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"todayOnly",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"selectedDiagnosticCodes",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"availableDiagnostics",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"filteredGroups",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"totalCount",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"selectedIds",2),__decorateClass$l([e$Q(".virtual-viewport")],ActivityHistoryImporter.prototype,"_viewport",2),__decorateClass$l([r$I()],ActivityHistoryImporter.prototype,"_virtualScrollerState",2),ActivityHistoryImporter=__decorateClass$l([t$x("activity-history-importer")],ActivityHistoryImporter);const styles$d=":host{display:flex;min-height:1px;height:100%;width:100%}.container{display:flex;flex-direction:column;width:100%;border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm)}.container[maximized]{position:absolute;background:#fff;top:0;left:0;bottom:0;border:none}.container[maximized] .header-maximized-container{display:flex;flex-direction:column}.container[maximized] .header-maximized-container .header__maximized{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px;padding-inline:40px}.container[maximized] .header-maximized-container .header__maximized .header__maximized__search{flex:1;border-radius:8px;border:1px solid rgb(189,189,189);padding:8px;width:300px}.container[maximized] .header-maximized-container .header__maximized .title{color:var(--color-neutral-900);font-weight:700;font-size:20px;line-height:30px;white-space:nowrap}.container[maximized] .header-maximized-container .header__maximized .options{display:flex;align-items:center;color:var(--color-primary-400);font-weight:600;font-size:14px;line-height:24px;cursor:pointer}.container[maximized] .header-maximized-container .header__maximized .header__maximized__left{display:flex;flex-direction:row;gap:24px;align-items:center;width:100%}.container[maximized] .header-maximized-container .header__maximized .header__maximized__right{display:flex;flex-direction:row;gap:16px;align-items:center}.container[maximized] .wrapper{height:calc(100vh - 175px);border:1px solid rgb(189,189,189);border-radius:var(--dss-radius-sm);margin-bottom:24px;margin-inline:40px;width:calc(100% - 80px)}.container .header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgb(189,189,189);gap:16px}.container .header .header__left{display:flex;flex-direction:row;align-items:center;flex:1;gap:16px}.container .header .header__left .title{color:var(--color-neutral-800);font-weight:700;font-size:16px;line-height:24px;white-space:nowrap}.container .header .header__right{display:flex;flex-direction:row;align-items:center;gap:8px}.container .header .header__right .action-icons{display:flex;align-items:center}.container .wrapper{display:flex;flex-direction:row;min-height:1px;width:100%;height:100%}.container .wrapper[maximized] .content{width:100%;background:var(--color-neutral-50);border-top-right-radius:var(--dss-radius-sm);display:flex;flex-direction:column}.container .wrapper .content{width:100%;background:var(--color-neutral-50);border-bottom-right-radius:var(--dss-radius-sm);overflow:hidden;display:flex;flex-direction:column}",template$e=X=>ke$1`<div class="container" ?maximized=${X.maximized}>
695
695
  ${X.maximized?ke$1`${headerMaximizedTemplate(X)}`:ke$1`<div class="header">
696
696
  <div class="header__left">
697
697
  <div class="title">${translate("activityHistory")}</div>