1import{a as w}from"./chunk-HFFDQ462.js";import{a as x}from"./chunk-L3O4KRZG.js";import"./chunk-U42R3LYZ.js";import"./chunk-ZGH5ULR3.js";import{a as v}from"./chunk-S4X6KA56.js";import{O as b,b as u,ea as c,p as h,r as f,s as C}from"./chunk-LK7BEFLO.js";import"./chunk-YAIVQ4SQ.js";import{p as g}from"./chunk-YFR6M5MQ.js";import"./chunk-3QDDXVT5.js";import"./chunk-IA7P7NEI.js";import{Injector as H,computed as O,effect as R,inject as p,signal as m}from"@angular/core";import{CommonModule as U}from"@angular/common";import{NavigationEnd as j,Router as W,RouterOutlet as G}from"@angular/router";import{EventEmitter as L,computed as M,effect as T,inject as P,signal as r}from"@angular/core";import{CommonModule as E,DOCUMENT as D}from"@angular/common";import{FormsModule as k}from"@angular/forms";import{SelectModule as F}from"primeng/select";import*as e from"@angular/core";import*as d from"@angular/forms";import*as S from"primeng/select";var V=()=>({baseZIndex:11e3});function N(o,s){if(o&1&&(e.\u0275\u0275elementStart(0,"div",8),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),o&2){let n=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(),e.\u0275\u0275textInterpolate(n.errorMessage())}}function z(o,s){if(o&1){let n=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"p-select",18),e.\u0275\u0275listener("ngModelChange",function(i){e.\u0275\u0275restoreView(n);let l=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(l.locationFieldName.set(i))}),e.\u0275\u0275elementEnd()}if(o&2){let n=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("options",n.locationFieldOptions())("ngModel",n.locationFieldName())("placeholder","-- Select Location Field --")("appendTo","body")("overlayOptions",e.\u0275\u0275pureFunction0(6,V))("filter",n.locationFieldOptions().length>10)}}function B(o,s){if(o&1){let n=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",12)(1,"div",13)(2,"div",14),e.\u0275\u0275text(3,"My organization has multiple locations"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"ui-cc-toggle",15),e.\u0275\u0275listener("changeEmitter",function(){e.\u0275\u0275restoreView(n);let i=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(i.onToggleChange())}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",16),e.\u0275\u0275text(6,"Use this option to get action plans per department by location"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(7,z,1,7,"p-select",17)}if(o&2){let n=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("toggleId","actionPlansScopeLocationToggle")("isChecked",n.hasMultipleLocations())("isSmallToggle",!1),e.\u0275\u0275advance(3),e.\u0275\u0275conditional(n.hasMultipleLocations()?7:-1)}}function I(o,s){if(o&1){let n=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(n);let i=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(i.cancel())}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(1,"div",1)(2,"div",2)(3,"div")(4,"div",3),e.\u0275\u0275text(5,"Action Plans Scope"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"p",4),e.\u0275\u0275text(7," Action plans are always scoped by department. The department values are used from the employee directory. Setup additional scope here. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"button",5),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(n);let i=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(i.cancel())}),e.\u0275\u0275elementStart(9,"span",6),e.\u0275\u0275text(10,"close"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(11,"div",7),e.\u0275\u0275template(12,N,2,1,"div",8)(13,B,8,4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"div",9)(15,"ui-cc-button",10),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(n);let i=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(i.cancel())}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"ui-cc-button",11),e.\u0275\u0275listener("btnClickEvent",function(){e.\u0275\u0275restoreView(n);let i=e.\u0275\u0275nextContext();
1return e.\u0275\u0275resetView(i.save())}),e.\u0275\u0275elementEnd()()()}if(o&2){let n=e.\u0275\u0275nextContext();e.\u0275\u0275classProp("open",n.panelOpen()),e.\u0275\u0275advance(),e.\u0275\u0275classProp("open",n.panelOpen()),e.\u0275\u0275advance(11),e.\u0275\u0275conditional(n.errorMessage()?12:-1),e.\u0275\u0275advance(),e.\u0275\u0275conditional(n.loading()?-1:13),e.\u0275\u0275advance(3),e.\u0275\u0275property("buttonClass",n.canSave()?"shellBtn themeBased margin-0":"shellBtn themeBased margin-0 disabled")}}var y=(()=>{class o{service=P(w);_visible=r(!1);rendered=r(!1);panelOpen=r(!1);document=P(D);drawerBodyClass="exapDrawerBodyOverflow";constructor(){T(()=>{this.document.body.classList.toggle(this.drawerBodyClass,this.rendered())})}panelAnimationMs=320;panelTimer=null;set visible(n){this._visible.set(n),n?(this.openPanel(),this.load()):this.closePanel()}get visible(){return this._visible()}openPanel(){this.clearPanelTimer(),this.rendered.set(!0),this.panelTimer=setTimeout(()=>{this.panelOpen.set(!0),this.panelTimer=null})}closePanel(){this.clearPanelTimer(),this.rendered()&&(this.panelOpen.set(!1),this.panelTimer=setTimeout(()=>{this.rendered.set(!1),this.panelTimer=null},this.panelAnimationMs))}clearPanelTimer(){this.panelTimer!==null&&(clearTimeout(this.panelTimer),this.panelTimer=null)}ngOnDestroy(){this.clearPanelTimer(),this.document.body.classList.remove(this.drawerBodyClass)}closed=new L;loading=r(!1);saving=r(!1);errorMessage=r(null);locationFieldOptions=r([]);hasMultipleLocations=r(!1);locationFieldName=r(null);savedHasMultipleLocations=!1;savedLocationFieldName=null;isDirty=M(()=>this.hasMultipleLocations()!==this.savedHasMultipleLocations||this.locationFieldName()!==this.savedLocationFieldName);canSave=M(()=>this.isDirty()&&!this.saving()&&(!this.hasMultipleLocations()||!!this.locationFieldName()));load(){this.loading.set(!0),this.errorMessage.set(null),this.service.getScope().subscribe({next:n=>{if(this.loading.set(!1),n.message?.status===!1){this.errorMessage.set(n.message.userMessage||"Could not load Action Plans scope.");return}this.savedHasMultipleLocations=n.data?.scope?.hasMultipleLocations??!1,this.savedLocationFieldName=n.data?.scope?.locationFieldName??null,this.hasMultipleLocations.set(this.savedHasMultipleLocations),this.locationFieldName.set(this.savedLocationFieldName),this.locationFieldOptions.set(n.data?.locationFieldOptions??[])},error:()=>{this.loading.set(!1),this.errorMessage.set("Could not load Action Plans scope.")}})}onToggleChange(){this.hasMultipleLocations.update(n=>!n)}cancel(){this.hasMultipleLocations.set(this.savedHasMultipleLocations),this.locationFieldName.set(this.savedLocationFieldName),this.errorMessage.set(null),this.closed.emit()}save(){this.canSave()&&(this.saving.set(!0),this.errorMessage.set(null),this.service.setScope({hasMultipleLocations:this.hasMultipleLocations(),locationFieldName:this.hasMultipleLocations()?this.locationFieldName():null}).subscribe({next:n=>{if(this.saving.set(!1),n.message?.status===!1){this.errorMessage.set(n.message.userMessage||"Could not save Action Plans scope.");return}this.savedHasMultipleLocations=this.hasMultipleLocations(),this.savedLocationFieldName=this.locationFieldName(),this.closed.emit()},error:()=>{this.saving.set(!1),this.errorMessage.set("Could not save Action Plans scope.")}}))}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=e.\u0275\u0275defineComponent({type:o,selectors:[["app-action-plans-scope-drawer"]],inputs:{visible:"visible"},outputs:{closed:"closed"},decls:1,vars:1,consts:[[1,"scope-drawer__backdrop",3,"click"],["role","dialog","aria-label","Action Plans Scope",1,"scope-drawer"],[1,"scope-drawer__header"],[1,"scope-drawer__title"],[1,"scope-drawer__desc"],["type","button","aria-label","Close",1,"scope-drawer__close",3,"click"],[1,"material-symbols-rounded"],[1,"scope-drawer__body"],[1,"scope-drawer__error"],[1,"scope-drawer__footer"],["BtnLabel","Cancel","buttonClass","cancelBtn themeBased margin-0",3,"click"],["BtnLabel","Save",3,"btnClickEvent","buttonClass"],[1,"scope-drawer__toggle-row-wrapper"],[1,"scope-drawer__toggle-row"],[1,"scope-drawer__toggle-label"],[3,"changeEmitter","toggleId","isChecked","isSmallToggle"],[1,"scope-drawer__toggle-help"],["panelStyleClass","newDDPanelStyle select-user-dd-overlay","styleClass","newDDStyle","filterPlaceholder","Search location","scrollHeight","24rem",1,"scope-drawer__select",3,"options","ngModel","placeholder","a
1ppendTo","overlayOptions","filter"],["panelStyleClass","newDDPanelStyle select-user-dd-overlay","styleClass","newDDStyle","filterPlaceholder","Search location","scrollHeight","24rem",1,"scope-drawer__select",3,"ngModelChange","options","ngModel","placeholder","appendTo","overlayOptions","filter"]],template:function(a,i){a&1&&e.\u0275\u0275template(0,I,17,7),a&2&&e.\u0275\u0275conditional(i.rendered()?0:-1)},dependencies:[E,k,d.NgControlStatus,d.NgModel,F,S.Select,c,h,f],styles:[`[_ngcontent-%COMP%]:root{--p-scrollpanel-bar-size: 18px;--p-button-primary-hover-border-color: #f0f1f2} body.exapDrawerBodyOverflow{overflow:hidden}.scope-drawer__backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;background:#0000004d;z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s ease}.scope-drawer__backdrop.open[_ngcontent-%COMP%]{opacity:1;pointer-events:all}.scope-drawer[_ngcontent-%COMP%]{position:fixed;top:0;right:0;bottom:0;width:52rem;max-width:100vw;background:#fff;box-shadow:-.2rem 0 1.2rem #00000026;z-index:10000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}.scope-drawer.open[_ngcontent-%COMP%]{transform:translate(0)}.scope-drawer__header[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1.6rem;padding:2rem;border-bottom:.1rem solid #f0f1f2}.scope-drawer__title[_ngcontent-%COMP%]{font-size:1.8rem;color:#20232a;font-family:Proxima N W01 Smbd,sans-serif;margin-bottom:.4rem}.scope-drawer__desc[_ngcontent-%COMP%]{font-size:1.4rem;color:#7d8393;line-height:2rem;margin:0}.scope-drawer__close[_ngcontent-%COMP%]{flex-shrink:0;border:none;background:transparent;cursor:pointer;padding:.4rem;color:#7d8393}.scope-drawer__close[_ngcontent-%COMP%] .material-symbols-rounded[_ngcontent-%COMP%]{font-family:Material Symbols Rounded;font-size:1.8rem;vertical-align:middle;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48}.scope-drawer__body[_ngcontent-%COMP%]{flex:1;padding:2rem;overflow-y:auto}.scope-drawer__error[_ngcontent-%COMP%]{font-size:1.4rem;color:#a1150e;background:#fde9e8;border:.1rem solid #f6bab6;border-radius:.3rem;padding:1rem 1.2rem;margin-bottom:1.6rem}.scope-drawer__toggle-row-wrapper[_ngcontent-%COMP%]{margin-bottom:1.4rem}.scope-drawer__toggle-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.2rem;margin-bottom:.8rem}.scope-drawer__toggle-label[_ngcontent-%COMP%]{font-size:1.4rem;color:#20232a;font-family:Proxima N W01 Smbd,sans-serif}.scope-drawer__toggle-help[_ngcontent-%COMP%]{font-size:1.4rem;color:#7d8393}.scope-drawer__select[_ngcontent-%COMP%]{width:100%}.scope-drawer__footer[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:1.2rem;padding:1.6rem 2rem;border-top:.1rem solid #f0f1f2} 2/*# sourceMappingURL=action-plans-scope-drawer.component-6ZJLCM4V.css.map */`],changeDetection:0})}return o})();import*as t from"@angular/core";function J(o,s){if(o&1){let n=t.\u0275\u0275getCurrentView();t.\u0275\u0275elementStart(0,"div",11)(1,"button",12),t.\u0275\u0275listener("click",function(){t.\u0275\u0275restoreView(n);let i=t.\u0275\u0275nextContext(2);return t.\u0275\u0275resetView(i.openScopeDrawer())}),t.\u0275\u0275elementStart(2,"span",13),t.\u0275\u0275text(3,"settings"),t.\u0275\u0275elementEnd(),t.\u0275\u0275text(4," Action Plans Scope "),t.\u0275\u0275elementEnd()()}}function Z(o,s){if(o&1){let n=t.\u0275\u0275getCurrentView();t.\u0275\u0275elementStart(0,"div",5)(1,"div",9),t.\u0275\u0275listener("click",function(i){return t.\u0275\u0275restoreView(n),t.\u0275\u0275resetView(i.stopPropagation())}),t.\u0275\u0275elementStart(2,"ui-cc-icon-button",10),t.\u0275\u0275listener("btnClickEvent",function(){t.\u0275\u0275restoreView(n);let i=t.\u0275\u0275nextContext();return t.\u0275\u0275resetView(i.toggleMoreMenu())}),t.\u0275\u0275elementEnd(),t.\u0275\u0275template(3,J,5,0,"div",11),t.\u0275\u0275elementEnd()()}if(o&2){let n=t.\u0275\u0275nextContext();t.\u0275\u0275advance(),t.\u0275\u0275classProp("disabled",n.pageLoading())("activeMenu",n.moreMenuOpen()),t.\u0275\u0275advance(),t.\u0275\u0275property("tooltip",n.pageLoading()?"Loading...":"")("styleClass","action-plan-tooltip")("disabledTooltip",!1)("link","")("body",!0),t.\u0275\u0275advance(),t.\u0275\u0275conditional(n.moreMenuOpen()?3:-1)}}function X(o,s){if(o&1){let n=t.\u0275\u0275getCurrentView();t.\u0275\u0275elementStart(0,"app-action-plans-scope-drawer",14),t.\u0275\u0275listener("closed",function(){t.\u0275\u0275restoreView(n);let i=t.\u0275\u0275nextContext();
2return t.\u0275\u0275resetView(i.closeScopeDrawer())}),t.\u0275\u0275elementEnd()}if(o&2){let n=t.\u0275\u0275nextContext();t.\u0275\u0275property("visible",n.scopeDrawerOpen())}}var fe=(()=>{class o{router=p(W);loaderService=p(v);roleService=p(x);injector=p(H);isAdmin=this.roleService.isAdmin;tabs=O(()=>this.isAdmin()?[{label:"Recommended Plans"},{label:"Assigned Plans"}]:[{label:"Assigned Plans"}]);currentUrl=m(this.router.url);activeTabIndex=O(()=>this.isAdmin()&&this.currentUrl().endsWith("/assigned")?1:0);constructor(){this.router.events.pipe(g(n=>n instanceof j)).subscribe(()=>this.currentUrl.set(this.router.url))}ngOnInit(){this.loaderService.removeDefaultLoader()}onTabSelected(n){if(!this.isAdmin()){this.router.navigate(["/action-plan","assigned"]);return}this.router.navigate(["/action-plan",n.index===1?"assigned":"new"])}moreMenuOpen=m(!1);scopeDrawerOpen=m(!1);pageLoading=m(!0);childLoadingEffect=null;onChildActivate(n){this.childLoadingEffect?.destroy();let a=n.loading;if(!a){this.pageLoading.set(!1);return}this.childLoadingEffect=R(()=>this.pageLoading.set(a()),{injector:this.injector})}onChildDeactivate(){this.childLoadingEffect?.destroy(),this.childLoadingEffect=null,this.pageLoading.set(!0)}toggleMoreMenu(){this.pageLoading()||this.moreMenuOpen.update(n=>!n)}onDocumentClick(){this.moreMenuOpen()&&this.moreMenuOpen.set(!1)}openScopeDrawer(){this.moreMenuOpen.set(!1),this.scopeDrawerOpen.set(!0)}closeScopeDrawer(){this.scopeDrawerOpen.set(!1)}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=t.\u0275\u0275defineComponent({type:o,selectors:[["app-ex-action-plans-shell"]],hostBindings:function(a,i){a&1&&t.\u0275\u0275listener("click",function(){return i.onDocumentClick()},!1,t.\u0275\u0275resolveDocument)},decls:12,vars:4,consts:[[1,"exap-shell"],[1,"exap-shell__header"],[1,"exap-shell__desc"],[1,"exap-shell__tabrow"],[3,"tabSelected","tabs","parentControlledIndex"],[1,"exap-more-wrapper"],[1,"exap-shell__content"],[3,"activate","deactivate"],[3,"visible"],[1,"exap-more",3,"click"],["buttonClass","mat-font-icon mat-horizontalDots-icon default-Btn only-icon-btn secondary margin-0","placement","top","delay","500",3,"btnClickEvent","tooltip","styleClass","disabledTooltip","link","body"],[1,"exap-more__menu"],["type","button",1,"exap-more__item",3,"click"],[1,"material-symbols-rounded"],[3,"closed","visible"]],template:function(a,i){a&1&&(t.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"h1"),t.\u0275\u0275text(3,"Action Plans"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(4,"p",2),t.\u0275\u0275text(5," Action Plans are generated from every signal in your account: survey responses, metric and driver scores, NLP insights, directory attributes, employee activities, and external reviews. Once reviewed, a plan can be activated and assigned to a sub-user, who owns it and is responsible for completing its steps. "),t.\u0275\u0275elementEnd()(),t.\u0275\u0275elementStart(6,"div",3)(7,"ui-cc-tab",4),t.\u0275\u0275listener("tabSelected",function(_){return i.onTabSelected(_)}),t.\u0275\u0275elementEnd(),t.\u0275\u0275template(8,Z,4,10,"div",5),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(9,"div",6)(10,"router-outlet",7),t.\u0275\u0275listener("activate",function(_){return i.onChildActivate(_)})("deactivate",function(){return i.onChildDeactivate()}),t.\u0275\u0275elementEnd()()(),t.\u0275\u0275template(11,X,1,1,"app-action-plans-scope-drawer",8)),a&2&&(t.\u0275\u0275advance(7),t.\u0275\u0275property("tabs",i.tabs())("parentControlledIndex",i.activeTabIndex()),t.\u0275\u0275advance(),t.\u0275\u0275conditional(i.isAdmin()?8:-1),t.\u0275\u0275advance(3),t.\u0275\u0275conditional(i.isAdmin()?11:-1))},dependencies:[U,c,C,b,u,G,y],styles:[`[_ngcontent-%COMP%]:root{--p-scrollpanel-bar-size: 18px;--p-button-primary-hover-border-color: #f0f1f2}[_nghost-%COMP%]{display:block;min-height:calc(100vh - 7.4rem)}.exap-shell[_ngcontent-%COMP%]{padding:2.4rem 10rem}.exap-shell__header[_ngcontent-%COMP%]{margin-bottom:1.6rem;padding-bottom:1.6rem;border-bottom:.1rem solid #f0f1f2}.exap-shell__header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem;color:#20232a;font-family:Proxima N W01 Smbd,sans-serif;margin-bottom:.8rem;margin-top:0}.exap-shell__desc[_ngcontent-%COMP%]{font-size:1.4rem;color:#7d8393;line-height:2rem;margin:0}.exap-shell__content[_ngcontent-%COMP%]{padding:0}.exap-shell__tabrow[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;position:relative}.exap-shell__tabrow[_ngcontent-%COMP%] ui-cc-tab[_ngcontent-%COMP%]{flex:1;min-width:0}.exap-more-wrapper[_ngcontent-%COMP%]{position:absolute;right:0;top:-.4rem}.exap-more[_ngcontent-%COMP%]{position:relative;flex-shrink:0}.exap-more__btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border:.1rem solid #ccced4;border-radius:.3rem;background:#fff;cursor:pointer;color:#20232a}.exap-more__btn[_ngcontent-%COMP%]:hover{background:#f0f1f2}.exap-more__btn[_ngcontent-%COMP%] .material-symbols-rounded[_ngcontent-%COMP%]{font-family:Material Symbols Rounded;font-size:2rem}.exap-more__menu[_ngcontent-%COMP%]{position:absolute;top:calc(100% + .4rem);right:0;min-width:20rem;background:#fff;border:.1rem solid #ccced4;border-radius:.6rem;box-shadow:0 .2rem .8rem #0000001f;z-index:20;overflow:hidden;padding:.6rem;box-sizing:border-box}.exap-more__item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.8rem;width:100%;padding:.7rem 1.2rem;border:none;background:transparent;cursor:pointer;text-align:left;font-size:1.4rem;color:#20232a;box-sizing:border-box;border-radius:.6rem}.exap-more__item[_ngcontent-%COMP%]:hover{background:#f0f1f2}.exap-more__item[_ngcontent-%COMP%]:hover .material-symbols-rounded[_ngcontent-%COMP%]{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48;color:#20232a}.exap-more__item[_ngcontent-%COMP%] .material-symbols-rounded[_ngcontent-%COMP%]{font-family:Material Symbols Rounded;font-size:1.8rem;color:#7d8393;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48} 3/*# sourceMappingURL=ex-action-plans-shell.component-OTJMZXJV.css.map */`],changeDetection:0})}return o}
3)();export{fe as ExActionPlansShellComponent}; 4//# sourceMappingURL=chunk-XB5MDZM3.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.