PageSourceSearch

https://portal.gruntify.com/chunk-IUJXFC7A.js

js gruntify.com collected 2026-09-28 11:09:13 UTC 30,374 bytes, 2 lines download raw bytes

1import{a as yt}from"./chunk-VS66DXSU.js";import{a as at}from"./chunk-YPJ5RT2N.js";import{c as lt,d as pt}from"./chunk-JBIWJT4Y.js";import{b as O,c as nt,d as rt}from"./chunk-D4HOXRHG.js";import"./chunk-IP772FLX.js";import"./chunk-A63H5UJW.js";import{a as ft}from"./chunk-DCEP4GAJ.js";import{a as h}from"./chunk-4DC7RUEB.js";import{a as mt}from"./chunk-HSIASCQD.js";import{a as tt}from"./chunk-KDL6RCGV.js";import{b as re,c as st}from"./chunk-SQEFJS6H.js";import"./chunk-SGPIDPDA.js";import{a as ut}from"./chunk-USVDASNU.js";import"./chunk-OQTOEUEA.js";import{a as dt}from"./chunk-D4MRFOUL.js";import{b as $,c as ct,d as ht}from"./chunk-B6OXGZXY.js";import{g as ot}from"./chunk-J76ZNBK6.js";import"./chunk-ULQUHK7U.js";import"./chunk-4ZHSUCNA.js";import"./chunk-VRS7QYCO.js";import"./chunk-W6IMPSB7.js";import{a as it}from"./chunk-SYB4CDDT.js";import"./chunk-LSKLD7EY.js";import"./chunk-YXXDOOE3.js";import"./chunk-5W7OEH62.js";import"./chunk-S36REMTT.js";import"./chunk-BQIQBNP5.js";import"./chunk-3CR5UZIC.js";import"./chunk-P5RRBCYF.js";import"./chunk-E4PFII3N.js";import"./chunk-3SUYW2GG.js";import"./chunk-R3ADEE4W.js";import"./chunk-UKUMW5QG.js";import"./chunk-CCKEMURB.js";import"./chunk-ICSV3RQT.js";import"./chunk-GT5NBUEI.js";import"./chunk-532PDGDO.js";import"./chunk-4NGSRHY2.js";import"./chunk-C4EZAPRU.js";import"./chunk-UDXMC45N.js";import"./chunk-ICHCLSXT.js";import"./chunk-W62HSDAI.js";import"./chunk-355XC7DU.js";import{b as $e,c as Xe}from"./chunk-P55U3ZSO.js";import{c as He,d as Je}from"./chunk-54KAYNFP.js";import{a as Ze,b as et}from"./chunk-HH35VR35.js";import"./chunk-DTAE3PNV.js";import"./chunk-V7N2IOPF.js";import{c as Qe}from"./chunk-EYZGZHRZ.js";import"./chunk-MBUZNCE5.js";import{h as Ge,i as Ke,t as Ye,u as ze}from"./chunk-GCXRYXT7.js";import{c as Ue,h as Y,i as z,k as We}from"./chunk-4R66SQDS.js";import"./chunk-YRTJE6OC.js";import"./chunk-OTRQ25F7.js";import{c as _,m as M}from"./chunk-OPTJW4JE.js";import"./chunk-5BLHNZDP.js";import"./chunk-WB4UDHGR.js";import"./chunk-O6S73HBP.js";import"./chunk-24TTAY2V.js";import"./chunk-Q4JZH25S.js";import"./chunk-6WTCTXBT.js";import{a as ke,b as Re}from"./chunk-FJ42RUHX.js";import"./chunk-S32TRXZR.js";import{c as W}from"./chunk-6OOTKTOZ.js";import"./chunk-BWQVGDGK.js";import"./chunk-JXF4C3JY.js";import"./chunk-CZOO6RCA.js";import{D as Be,da as je,p as Ve}from"./chunk-R6QMPW7N.js";import{g as Le}from"./chunk-EVOCXT37.js";import"./chunk-CRQLOGO2.js";import"./chunk-6KLBWMIQ.js";import{p as we,q as Te}from"./chunk-ZJPYIHQI.js";import"./chunk-V7GJMELI.js";import"./chunk-Q5ZQGBU6.js";import"./chunk-R7SFGGYR.js";import"./chunk-4UTG2YAB.js";import"./chunk-AQ3WX2K4.js";import"./chunk-5CH6SBJG.js";import"./chunk-SYCHDXOW.js";import"./chunk-I7SHJN5Z.js";import"./chunk-ISPUEUID.js";import"./chunk-FPV6KFXW.js";import"./chunk-MPBLSDRZ.js";import"./chunk-UVBZ4N6D.js";import{d as Ie,e as De}from"./chunk-HHYRVWMU.js";import{a as Pe}from"./chunk-U2FCQQYN.js";import{a as Ne}from"./chunk-JDX2HSF5.js";import"./chunk-JNIZWQQN.js";import{e as ne}from"./chunk-2TKPGIPN.js";import{a as C,c as K}from"./chunk-VMIK6VAM.js";import{a as Oe,c as Fe,d as Ae}from"./chunk-RHNR7ISS.js";import"./chunk-TLYRL5LT.js";import{a as w,b as oe}from"./chunk-PDFYF2R6.js";import{B as Se}from"./chunk-DONZ5GTA.js";import{C as ve,D as Ce,E as _e,d as he,f as fe,i as ye,j as be,o as ge,s as Ee,v as qe}from"./chunk-MBYL3FOQ.js";import"./chunk-225YF3HZ.js";import"./chunk-7V3O7UCX.js";import"./chunk-7DYAWMWV.js";import"./chunk-VMRL7W35.js";import"./chunk-Q2WS72Y7.js";import{u as xe,x as Me}from"./chunk-KKMW7J56.js";import"./chunk-YHMN23T3.js";import{s as ie}from"./chunk-2NEMWXIH.js";
1import{$b as ee,Ac as L,Ec as D,Ia as pe,Mb as p,Nb as s,Oa as Z,Ob as m,P as ae,Pb as ue,Qb as de,Rd as U,S as se,Sb as S,Xb as v,Yb as y,Za as a,Zc as F,ac as B,d as f,db as d,dd as ce,fa as Q,ic as G,jc as c,lb as P,lc as te,mb as x,na as T,od as A,pb as me,qa as le,rb as q,ya as b,za as g,zb as n,zc as j}from"./chunk-L6MSYN6L.js";import{k as u}from"./chunk-GL2BOVXA.js";var k=class{};var H=class extends k{};var I=class i{static fromDto(r){let e=new i;return e.id=r.id,e.notes=r.notes,e.registrationNumber=r.registrationNumber,e.model=r.model,e.equipmentType=r.equipmentType,e.class=r.class,e.bodyStyle=r.bodyStyle,e.teamId=r.team?r.team.id:null,e.teamName=r.team?r.team.name:null,e.depotId=r.depot?r.depot.id:null,e.depotName=r.depot?r.depot.name:null,e.status=r.status,e.createdAt=r.createdAt,e}get isActive(){return this.status===_.Active}};function xt(i,r){if(i&1){let e=S();p(0,"button",36),v("click",function(){b(e);let o=y(2);return g(o.onSave())}),c(1),s()}if(i&2){let e=y(2);n("inProgress",e.saveInProgress)("disabled",e.editEquipment.invalid),a(),te(" ",e.equipment.id?"Save":"Create"," ")}}function Mt(i,r){if(i&1&&(ue(0),m(1,"app-quick-sidebar-header",4),p(2,"ng-scrollbar",5)(3,"form",6)(4,"div",7),m(5,"app-form-messages",8),p(6,"app-form-group",9)(7,"label",10),c(8,"Model (*)"),s(),m(9,"span",11)(10,"input",12),s(),p(11,"app-form-group",13)(12,"label",14),c(13,"Body Style"),s(),m(14,"span",15)(15,"input",16),s(),p(16,"app-form-group",17)(17,"label",18),c(18,"Class"),s(),m(19,"input",19),s(),p(20,"app-form-group",20)(21,"label",21),c(22,"Registration Number"),s(),m(23,"input",22),s(),p(24,"app-form-group",23)(25,"label",24),c(26,"Equipment Notes"),s(),m(27,"input",25),s(),p(28,"app-form-group",26)(29,"label",27),c(30,"Equipment Type"),s(),m(31,"input",28),s(),p(32,"app-form-group",29)(33,"label",30),c(34,"Team"),s(),m(35,"app-dropdown",31),s(),p(36,"app-form-group",32)(37,"label",33),
1c(38),j(39,"depotLabel"),j(40,"async"),s(),m(41,"app-dropdown",34),j(42,"depotLabel"),j(43,"async"),s()()()(),p(44,"app-quick-sidebar-footer"),q(45,xt,2,3,"button",35),s(),de()),i&2){let e=y();a(),n("title",(e.equipment.id?"Edit":"Create")+" Equipment"),a(2),n("formGroup",e.editEquipment),a(2),n("messages",e.formErrorMessages),a(),n("validatedFormControl",e.editEquipmentFormControls.model),a(4),n("maxLength",50)("appTooltip",e.editEquipmentFormControls.model.control.value)("enableOnlyOnTruncated",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.bodyStyle),a(4),n("maxLength",50)("appTooltip",e.editEquipmentFormControls.bodyStyle.control.value)("enableOnlyOnTruncated",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.class),a(3),n("maxLength",100)("appTooltip",e.editEquipmentFormControls.class.control.value)("enableOnlyOnTruncated",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.registrationNumber),a(3),n("maxLength",100)("appTooltip",e.editEquipmentFormControls.registrationNumber.control.value)("enableOnlyOnTruncated",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.notes),a(3),n("maxLength",500)("appTooltip",e.editEquipmentFormControls.notes.control.value)("enableOnlyOnTruncated",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.equipmentType),a(3),n("maxLength",100)("appTooltip",e.editEquipmentFormControls.equipmentType.control.value)("enableOnlyOnTruncated",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.teamId),a(3),n("allowNull",!0)("options",e.availableTeams)("enableSearch",!0),a(),n("validatedFormControl",e.editEquipmentFormControls.depotId),a(2),te("",L(40,41,L(39,39,"Depot"))," (*)"),a(3),B("placeholder","Add ",L(43,45,L(42,43,"depot")),"..."),n("allowNull",!1)("options",e.availableDepots)("enableSearch",!0),a(4),n("ngIf",e.canEdit)}}function Ot(i,r){i&1&&(p(0,"div",37)(1,"div"),m(2,"app-modal-loader"),s()())}var gt=(()=>{class i extends it{get equipment(){return this._equipment}get canEdit(){return this._uiPolicy.canWrite}constructor(e,t,o,l,N,V,St,wt){super(N),this.depotService=e,this.teamService=t,this.equipmentService=o,this.jobService=l,this.uiPolicyService=V,this.notifyService=St,this.formBuilder=wt,this.operations=[ct,ht],this.availableTeams=[],this.availableDepots=[],this.formErrorMessages=new f,this.showFinalConfirmation=new f}sourceChanged(e){return u(this,null,function*(){if(!e)return;this._equipment=e,this._uiPolicy=this.uiPolicyService.getEquipmentPolicy(this._equipment),yield this.initializeFormControls();let t=yield this.teamService.searchAll(Ze.deserialize({allowQueuing:!0}));this.initialTeam=this._equipment.teamId?t.find(l=>l.id===this._equipment.teamId):null,this.setAvailableTeams(t);let o=yield this.depotService.searchAll();this.setAvailableDepots(o)})}initializeFormControls(){return u(this,null,function*(){this.editEquipmentFormControls={notes:new w(this._equipment.notes),registrationNumber:new w(this._equipment.registrationNumber),model:new w(this._equipment.model,ne.requiredNotEmpty,{required:"This field is required."},ne.maxLengthWarning(50)),equipmentType:new w(this._equipment.equipmentType),class:new w(this._equipment.class),bodyStyle:new w(this._equipment.bodyStyle),teamId:new w(this._equipment.teamId),depotId:new w(this._equipment.depotId,fe.required,{required:"This field is required."})},this.editEquipment=oe.buildFormFromControls(this.editEquipmentFormControls,this.formBuilder),this.subscriptions.push(this.editEquipment.valueChanges.subscribe(()=>this.onEditEquipmentValueChanges())),this.canEdit||this.editEquipment.disable()})}onEditEquipmentValueChanges(){oe.updateFormErrorMessages(this.editEquipment,this.editEquipmentFormControls),this.formErrorMessages.next(null),this.onIsDirty(!0)}onCloseSideBar(){super.onCloseSideBar(),this._equipment=null}setAvailableTeams(e){this.availableTeams=e.map(t=>({id:t.id,text:t.name}))}setAvailableDepots(e){this.availableDepots=e.map(t=>({id:t.id,text:t.name}))}onSave(){return u(this,null,function*(){if(this.formErrorMessages.next(null),this.initialTeam&&this.initialTeam.id!==this.editEquipment.controls.teamId.value&&this.initialTeam.equipment){let e=this.initialTeam.equipment.map(o=>o.id).filter(o=>o!==this._equipment.id),t=yield this.jobService.teamRequirementsC
1heck(new ft(this._equipment.teamId,null,e));!t.isValid()&&t.isMissingEquipmentTypes()?this.showFinalConfirmation.next({successCallback:()=>this.executeRequest(!1)}):yield this.executeRequest(!1)}else yield this.executeRequest(!this._equipment.id)})}executeRequest(e){return u(this,null,function*(){let t;try{e?t=yield this.createEquipment(this.buildDto(k)):t=yield this.updateEquipment(this._equipment.id,this.buildDto(H)),this.updated.emit(I.fromDto(t)),this.onIsDirty(!1),this.notifyService.notifyAction(e?C.Created:C.Updated,"Equipment"),this.onCloseSideBar()}catch(o){this.formErrorMessages.next(o.errorMessage)}})}buildDto(e){let t=new e;return t.notes=this.editEquipment.controls.notes.dirty?this.editEquipment.controls.notes.value:null,t.registrationNumber=this.editEquipment.controls.registrationNumber.dirty?this.editEquipment.controls.registrationNumber.value:null,t.model=this.editEquipment.controls.model.dirty?this.editEquipment.controls.model.value:null,t.equipmentType=this.editEquipment.controls.equipmentType.dirty?this.editEquipment.controls.equipmentType.value:null,t.class=this.editEquipment.controls.class.dirty?this.editEquipment.controls.class.value:null,t.bodyStyle=this.editEquipment.controls.bodyStyle.dirty?this.editEquipment.controls.bodyStyle.value:null,t.teamId=this.editEquipment.controls.teamId.dirty?this.editEquipment.controls.teamId.value??"":null,t.depotId=this.editEquipment.controls.depotId.dirty?this.editEquipment.controls.depotId.value:null,t}createEquipment(e){return u(this,null,function*(){return yield this.equipmentService.create(e)})}updateEquipment(e,t){return u(this,null,function*(){return yield this.equipmentService.update(e,t)})}static{this.\u0275fac=function(t){return new(t||i)(d(dt),d(et),d($),d(ot),d(Me),d(M),d(K),d(ve))}}static{this.\u0275cmp=P({type:i,selectors:[["app-edit-equipment"]],standalone:!1,features:[me],decls:5,vars:5,consts:[["loadingData",""],[3,"closed","show","isDirty"],[4,"ngIf","ngIfElse"],["size","md","yes","Yes","no","Cancel","header","Are You Sure You Want to Update Team?","text",`The Team linked to this equipment has assigned jobs and/or recurring schedules which require existing equipment.
2                        If you update the equipment, the Team may not be able to complete these jobs.`,3,"open"],[3,"title"],[1,"scrollbar-default","full-width"],[3,"formGroup"],[1,"equipment-fields"],[3,"messages"],["id","model-form-group",3,"validatedFormControl"],["for","model"],["placement","right","container","body","appTooltip","This is how your equipment will appear when creating jobs. Equipment of the same model will be treated as interchangeable by the job scheduler.",1,"field-helper","inline-left","module-tooltip","mdi","mdi-help-circle"],["id","model","type","text","name","model","formControlName","model","placeholder","Equipment make/model",1,"form-control","m-input",3,"maxLength","appTooltip","enableOnlyOnTruncated"],["id","body-style-form-group",3,"validatedFormControl"],["for","body-style"],["placement","right","appTooltip","This allows you to further differentiate your equipment. When set, equipment with a body style will display in job creation as '<model> - <body style>' and will only be interchangeable with other equipment that has the same model and body style.",1,"field-helper","inline-left","module-tooltip","mdi","mdi-help-circle"],["id","body-style","type","text","name","body-style","formControlName","bodyStyle","placeholder","eg. Winged",1,"form-control","m-input",3,"maxLength","appTooltip","enableOnlyOnTruncated"],["id","class-form-group",3,"validatedFormControl"],["for","class"],["
2id","class","type","text","name","class","formControlName","class","placeholder","eg. Plant & Equipment",1,"form-control","m-input",3,"maxLength","appTooltip","enableOnlyOnTruncated"],["id","registration-number-form-group",3,"validatedFormControl"],["for","registration-number"],["id","registration-number","type","text","name","registration-number","formControlName","registrationNumber","placeholder","Add registration number...",1,"form-control","m-input",3,"maxLength","appTooltip","enableOnlyOnTruncated"],["id","notes-form-group",3,"validatedFormControl"],["for","notes"],["id","notes","type","text","name","notes","formControlName","notes","placeholder","eg. Roller Mower",1,"form-control","m-input",3,"maxLength","appTooltip","enableOnlyOnTruncated"],["id","equipment-type-form-group",3,"validatedFormControl"],["for","equipment-type"],["id","equipment-type","type","text","name","equipment-type","formControlName","equipmentType","placeholder","eg. Mower",1,"form-control","m-input",3,"maxLength","appTooltip","enableOnlyOnTruncated"],["id","team-form-group",3,"validatedFormControl"],["for","team"],["id","team","placeholder","Add team...","formControlName","teamId","valuePath","id","displayPath","text","container","body",3,"allowNull","options","enableSearch"],["id","depot-form-group",3,"validatedFormControl"],["for","depot"],["id","depot","formControlName","depotId","valuePath","id","displayPath","text","container","body",3,"placeholder","allowNull","options","enableSearch"],["appLoadingButton","","id","save-equipment","type","submit","class","btn btn-primary m-btn m-btn--icon m-btn--pill m-btn--uppercase m-btn--wide m--font-bolder float-right",3,"inProgress","disabled","click",4,"ngIf"],["appLoadingButton","","id","save-equipment","type","submit",1,"btn","btn-primary","m-btn","m-btn--icon","m-btn--pill","m-btn--uppercase","m-btn--wide","m--font-bolder","float-right",3,"click","inProgress","disabled"],[1,"loading-data"]],template:function(t,o){if(t&1){let l=S();p(0,"app-quick-sidebar",1),v("closed",function(){return b(l),g(o.onCloseSideBar())}),q(1,Mt,46,47,"ng-container",2),s(),m(2,"app-confirmation-modal",3),q(3,Ot,3,0,"ng-template",null,0,D)}if(t&2){let l=G(4);n("show",o.showSidebar)("isDirty",o.isDirty),a(),n("ngIf",!o.isLoading&&o.equipment)("ngIfElse",l),a(),n("open",o.showFinalConfirmation)}},dependencies:[F,Je,He,$e,ge,he,ye,be,Ee,qe,Ne,Ie,Fe,Ue,Oe,Ge,Y,we,ce,Ve],styles:[".equipment-fields[_ngcontent-%COMP%]{padding:35px;width:450px}.equipment-fields[_ngcontent-%COMP%]   app-form-group[_ngcontent-%COMP%]   input.form-control[_ngcontent-%COMP%]{width:100%;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.equipment-fields[_ngcontent-%COMP%]   app-form-group[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%], .equipment-fields[_ngcontent-%COMP%]   app-form-group[_ngcontent-%COMP%]   .dropdown-toggle[_ngcontent-%COMP%]   .filter-option[_ngcontent-%COMP%]{display:block;width:100%;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.m-icon[_ngcontent-%COMP%]{display:inline-block}.loading-data[_ngcontent-%COMP%]{margin-top:31px;display:flex;flex-direction:column;align-items:center;justify-content:center}"]})}}return i})();var Et=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=x({type:i})}static{this.\u0275inj=T({imports:[A,Xe,_e,Pe,Qe,De,Ae,We,Le,Ke,je,z,Te]})}}return i})();var E=function(i){return i[i.Notes=0]="Notes",i[i.CreatedAt=1]="CreatedAt",i[i.RegistrationNumber=2]="RegistrationNumber",i[i.Model=3]="Model",i[i.EquipmentType=4]="EquipmentType",i[i.Class=5]="Class",i[i.BodyStyle=6]="BodyStyle",i}(E||{});var J=class extends at{constructor(r){super(),this.equipmentService=r}fetchPage(r,e,t){return this.equipmentService.searchAsObservable({searchPhrase:this.quickSearch?.trim(),status:this.status,pageToken:r,pageSize:e,sort:this.sortDto??{type:E.Model,order:W.Ascending}})}setQuickSearch(r,e){r===null&&this.quickSearch===null||(this.quickSearch=r,e&&this.goToFirstPage())}clearQuickSearch(){this.quickSearch=null}setStatus(r){this.status=r}},X=class extends yt{mapResults(r){return Promise.resolve(r.map(e=>I.fromDto(e)))}};function Dt(i,r){if(i&1){let e=S();p(0,"app-table",8),v("rowClicked",function(o){b(e);let l=y();return g(l.onRowClicked(o))}),s()}if(i&2){let e=y();n("dataSource",e.mappedDataSource)("configuration",e.configuration)}}function Nt(i,r){if(i&1&&m(0,"app-table-pager",9),i&2){let e=y();n("dataSource",e.mappedDataSource)}}function Pt(i,r){i&1&&(p(0,"div",10),m(1,"img",11),p(2,"h5"),c(3,"No results found"),s(),p(4,"p",12),c(5," Sorry, but nothing matched your search or filter criteria. Please change the criteria and try again. "),s()())}var qt=(()=>{class i{constructor(e,t,o,l){this.equipmentService=e,this.uiPolicyService=t,this.notifyService=o,this.dateTimeFormatPipe=l,this.bulkActionRefresh=new f,this.editEquipment=ne
2w pe,this._entityName="Equipment",this.destroyed$=new f,this.showDisableConfirmation=new f,this.showDeleteConfirmation=new f,this.showFinalConfirmation=new f,this.showError=new f,this.noRecordsAvailable=!1,this._dataSource=new J(e),this.mappedDataSource=new X(this._dataSource)}ngOnInit(){this.configuration={availableColumns:[{name:"Model",prop:"model",sortable:!0,sortDto:{type:E.Model},defaultSort:!0,defaultSortOrder:W.Ascending},{name:"Body Style",prop:"bodyStyle",sortable:!0,sortDto:{type:E.BodyStyle}},{name:"Class",prop:"class",sortable:!0,sortDto:{type:E.Class}},{name:"Registration",prop:"registrationNumber",sortable:!0,sortDto:{type:E.RegistrationNumber}},{name:"Created",prop:"createdAt",pipe:this.dateTimeFormatPipe,sortable:!0,sortDto:{type:E.CreatedAt}},{name:"Notes",prop:"notes",sortable:!0,sortDto:{type:E.Notes}},{name:"Type",prop:"equipmentType",sortable:!0,sortDto:{type:E.EquipmentType}},{name:"Team",prop:"teamName",sortable:!1},{name:"Depot",prop:"depotName",sortable:!1}],defaultColumns:["model","bodyStyle","class","registrationNumber","createdAt","notes"],trackByProp:"id",policyBuilder:e=>this.uiPolicyService.getEquipmentPolicy(e),rowClickable:(e,t)=>t.canRead,allowSelection:!0,actions:[{label:"Edit",icon:"pencil",shouldDisplay:(e,t)=>t.canWrite,execute:e=>this.onEdit(e)},{label:"Delete",icon:"trash",shouldDisplay:(e,t)=>t.canDelete,execute:e=>this.onDelete(e)},{label:"Deactivate",icon:"circle_close",shouldDisplay:(e,t)=>t.canDeactivate,execute:e=>this.onDeactivate(e)},{label:"Activate",icon:"circle_checkmark",shouldDisplay:(e,t)=>t.canActivate,execute:e=>this.onActivate(e)}],bulkActions:[{label:"Activate",icon:"circle_checkmark",actionName:C.Activated,notifyWithToast:!0,tooltipText:"Bulk activate selected Equipment",disabledTooltipText:"Bulk activate can only be performed when there are deactivated Equipment selected.",canExecuteSet:e=>this.canBulkAction(h.Activate,e),executeRow:e=>u(this,null,function*(){return yield this.equipmentService.updateStatus(e.id,{status:_.Active}),this.bulkActionRefresh.next(),O.Success})},{label:"Deactivate",icon:"circle_close",actionName:C.Deactivated,notifyWithToast:!0,tooltipText:"Bulk deactivate selected Equipment",disabledTooltipText:"Bulk deactivate can only be performed when there are activated Equipment selected.",canExecuteSet:e=>this.canBulkAction(h.Deactivate,e),executeRow:e=>u(this,null,function*(){return yield this.equipmentService.updateStatus(e.id,{status:_.Disabled}),this.bulkActionRefresh.next(),O.Success})},{label:"Delete",icon:"trash",actionName:C.Deleted,notifyWithToast:!0,tooltipText:"Bulk delete selected Equipment",disabledTooltipText:"Bulk delete can only be used with sufficient permissions.",canExecuteSet:e=>this.canBulkAction(h.Delete,e),executeRow:e=>u(this,null,function*(){return yield this.equipmentService.delete({id:e.id}),this.bulkActionRefresh.next(),O.Success})}]},this._dataSource.setStatus(this.equipmentStatus),this._dataSource.connect(),this.mappedDataSource.connect(),this.refresh&&this.refresh.pipe(Q(this.destroyed$)).subscribe(()=>{this.noRecordsAvailable=!1,this._dataSource.setStatus(this.equipmentStatus),this._dataSource.setQuickSearch(this.searchText,!1),this.mappedDataSource.goToFirstPage()}),this._dataSource.dataAvailable.pipe(Q(this.destroyed$)).subscribe(e=>{e.success&&e.rows.length===0&&(this.noRecordsAvailable=!0)}),this.bulkActionRefresh.pipe(Q(this.destroyed$),ae(100)).subscribe(()=>this._dataSource.goToFirstPage()),this._dataSource.goToFirstPage()}ngOnDestroy(){this._dataSource.disconnect(),this.mappedDataSource.disconnect(),this.destroyed$.next(),this.destroyed$.complete()}canBulkAction(e,t){let o=!0;return t.forEach(l=>{switch(e){case h.Activate:l.policy.canActivate||(o=!1);break;case h.Deactivate:l.policy.canDeactivate||(o=!1);break;case h.Delete:l.policy.canDelete||(o=!1);break}}),o}onRowClicked(e){let t=e;this.editEquipment.emit(t)}onEdit(e){return this.onRowClicked(e),Promise.resolve(O.Success)}onDelete(e){return this.showDeleteConfirmation.next({successCallback:()=>this.deleteEquipment(e)}),Promise.resolve(O.Success)}onDeactivate(e){return this.showDisableConfirmation.next({successCallback:()=>this.deactivateEquipment(e)}),Promise.resolve(O.Success)}onActivate(e){return u(this,null,function*(){return yield this.activateEquipment(e),O.Success})}deleteEquipment(e,t=!1){return u(this,null,function*(){return yield this.handleEquipmentUpdate(o=>this.equipmentService.delete({id:o.id,force:t}),h.Delete,e)})}deactivateEquipment(e,t=!1){return u(this,null,function*(){return yield this.handleEquipmentUpdate(o=>this.equipmentService.updateStatus(o.id,{status:_.Disabled,force:t}),h.Deactivate,e)})}activateEquipment(e){return u(this,null,function*(){return yield this.handleEquipmentUpdate(t=>this.equipmentService.updateStatus(t.id,{status:_.Active}),h.Activate,e)})}handleEquipmentUpdate(e,t,o){return u(this,null,function*(){try{switch(yield e(o),this._dataSource.reloadPage(),t){case h.Activate:this.notifyService.n
2otifyAction(C.Activated,this._entityName);break;case h.Deactivate:this.notifyService.notifyAction(C.Deactivated,this._entityName);break;case h.Delete:this.notifyService.notifyAction(C.Deleted,this._entityName);break}}catch(l){if(l instanceof xe&&l.statusCode===400)switch(this.errorText=l.errorMessage,this.errorVerb=t,this.errorVerb){case h.Delete:{this.showFinalConfirmation.next({successCallback:()=>this.deleteEquipment(o,!0)});break}case h.Deactivate:{this.showFinalConfirmation.next({successCallback:()=>this.deactivateEquipment(o,!0)});break}default:{this.showError.next(this.errorText);break}}}})}static{this.\u0275fac=function(t){return new(t||i)(d($),d(M),d(K),d(Be))}}static{this.\u0275cmp=P({type:i,selectors:[["app-equipment-table"]],inputs:{equipmentStatus:"equipmentStatus",searchText:"searchText",refresh:"refresh"},outputs:{editEquipment:"editEquipment"},standalone:!1,decls:9,vars:13,consts:[["noResults",""],[1,"portlet"],[3,"dataSource","configuration","rowClicked",4,"ngIf","ngIfElse"],[3,"dataSource",4,"ngIf"],["size","md","yes","Deactivate","no","Cancel","header","Are you sure you want to deactivate?","text","If you deactivate equipment, it can no longer be assigned to Teams. You can reactivate at a later date if you wish.",3,"open"],["size","md","yes","Delete","no","Cancel","header","Are you sure you want to delete?","text","If you delete equipment, the equipment will be removed from the system. This action cannot be undone.",3,"open"],["size","md","no","Cancel",3,"yes","open","header","text"],[3,"open","title"],[3,"rowClicked","dataSource","configuration"],[3,"dataSource"],["id","no-items",1,"no-items"],["src","assets/images/icon-state-no-results.svg","alt","No results found","id","no-results-image"],["id","no-requests-found",1,"font-light-black"]],template:function(t,o){if(t&1&&(p(0,"div",1),q(1,Dt,1,2,"app-table",2)(2,Nt,1,1,"app-table-pager",3),s(),m(3,"app-confirmation-modal",4)(4,"app-confirmation-modal",5)(5,"app-confirmation-modal",6)(6,"app-error-modal",7),q(7,Pt,6,0,"ng-template",null,0,D)),t&2){let l=G(8);a(),n("ngIf",!o.noRecordsAvailable)("ngIfElse",l),a(),n("ngIf",!o.noRecordsAvailable),a(),n("open",o.showDisableConfirmation),a(),n("open",o.showDeleteConfirmation),a(),ee("yes",o.errorVerb),B("header","Are you sure you want to ",o.errorVerb," this equipment?"),ee("text",o.errorText),n("open",o.showFinalConfirmation),a(),B("title","Cannot ",o.errorVerb," Equipment"),n("open",o.showError)}},dependencies:[F,nt,lt,Y,Ye],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.portlet[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-grow:1}.search-input[_ngcontent-%COMP%]{border-top-right-radius:8px;border-top-left-radius:8px}app-table-pager[_ngcontent-%COMP%]{border-bottom-left-radius:8px;border-bottom-right-radius:8px}app-table[_ngcontent-%COMP%]{border-top-left-radius:8px;border-top-right-radius:8px}.no-items[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.no-items[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{margin-bottom:20px}.no-items[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{max-width:300px;margin-bottom:70px}"]})}}return i})();function At(i,r){if(i&1){let e=S();p(0,"div",5)(1,"button",6),v("click",function(){b(e);let o=y(2);return g(o.createEquipment())}),c(2," Add Equipment "),s()()}}function kt(i,r){if(i&1&&q(0,At,3,0,"div",4),i&2){let e=y();n("ngIf",e.uiPolicy.canWrite)}}function Rt(i,r){if(i&1){let e=S();p(0,"div",7)(1,"app-equipment-table",8),v("editEquipment",function(o){b(e);let l=y();return g(l.onEquipmentEdit(o))}),s()()}if(i&2){let e,t=y();a(),n("equipmentStatus",(e=t.currentStatusOption())==null?null:e.value)("searchText",t.searchText())("refresh",t.refresh$)}}var vt=(()=>{class i{constructor(e){this.uiPolicyService=e,this.refreshSource=new f,this.refresh$=this.refreshSource.pipe(se(100)),this.editEquipment=new f,this.showFilters=!1,this.supportedViewModes=[],this.supportedStatusOptions=[new re(_.Active,"Active",ie.GenericStatusColors.Active),new re(_.Disabled,"Inactive",ie.GenericStatusColors.Disabled)],this.currentStatusOption=Z(this.supportedStatusOptions[0]),this.searchText=Z(null)}ngOnInit(){this.uiPolicy=this.uiPolicyService.getEquipmentListPolicy()}onStatusOptionChange(e){this.currentStatusOption.set(e),this.refreshSource.next()}onSearchTextChanged(e){this.searchText()!==e?.trim()&&(this.searchText.set(e?.trim()),this.refreshSource.next())}onRefreshRequired(){this.refreshSource.next()}createEquipment(){this.editEquipment.next(new I)}onEquipmentEdit(e){this.editEquipment.next(e)}static{this.\u0275fac=function(t){return new(t||i)(d(M))}}static{this.\u0275cmp=P({type:i,selectors:[["app-equipment"]],standalone:!1,decls:6,vars:7,consts:[["headerButtons",""],["content",""],[3,"statusOptionChanged","quickSearch","reload","title","showFilters","supp
2ortedViewModes","supportedStatusOptions","showQuickSearch","currentStatusOption"],[3,"updated","editSource"],["id","create-equipment","class","header-button",4,"ngIf"],["id","create-equipment",1,"header-button"],["app-button","","size","medium","variant","solid","icon","circle_add","id","create-button",3,"click"],[1,"m-content"],[3,"editEquipment","equipmentStatus","searchText","refresh"]],template:function(t,o){if(t&1){let l=S();p(0,"app-search-view",2),v("statusOptionChanged",function(V){return b(l),g(o.onStatusOptionChange(V))})("quickSearch",function(V){return b(l),g(o.onSearchTextChanged(V))})("reload",function(){return b(l),g(o.onRefreshRequired())}),q(1,kt,1,1,"ng-template",null,0,D)(3,Rt,2,3,"ng-template",null,1,D),s(),p(5,"app-edit-equipment",3),v("updated",function(){return b(l),g(o.onRefreshRequired())}),s()}t&2&&(n("title","Equipment")("showFilters",o.showFilters)("supportedViewModes",o.supportedViewModes)("supportedStatusOptions",o.supportedStatusOptions)("showQuickSearch",!0)("currentStatusOption",o.currentStatusOption()),a(5),n("editSource",o.editEquipment))},dependencies:[F,gt,st,qt,ke],styles:[".layout-root[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column}.nav-item[_ngcontent-%COMP%]{cursor:pointer}.tab-content[_ngcontent-%COMP%], .tab-pane[_ngcontent-%COMP%], .m-content[_ngcontent-%COMP%]{height:100%}"]})}}return i})();var Vt=(()=>{class i extends ut{static{this.canActivateManagerRoute=(e,t)=>this.processResult(le(M).getEquipmentListPolicy().canList)}}return i})(),Bt=[{path:"",canActivate:[Vt.canActivateManagerRoute],component:vt,data:{title:"Equipment"}}],Ct=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=x({type:i})}static{this.\u0275inj=T({imports:[U.forChild(Bt),U]})}}return i})();var _t=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=x({type:i})}static{this.\u0275inj=T({imports:[A,rt,pt,tt,Ce,z,ze]})}}return i})();var rn=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=x({type:i})}static{this.\u0275inj=T({imports:[A,Et,Se,mt,_t,Ct,Re,U]})}}return i})();export{rn as EquipmentModule};

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.