PageSourceSearch

https://dwp.werner.com/4433.4f0469d43f922a06.js

js werner.com collected 2026-10-02 02:59:12 UTC 12,197 bytes, 1 lines download raw bytes

1(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4433],{34433(c,f,t){"use strict";t.d(f,{ComposeMailPageModule:()=>p});var a=t(31635),r=t(23214),i=t(10467);var k,D=t(4546),I=t.n(D),d=t(64211),U=t(89417),v=t(36388),O=t(21602),R=t(7575),y=t(17945),C=t(79525),M=t(28894),x=t(98169),b=t(51239),P=t(68076),T=t(50678),F=t(16213),l=t(26337),N=t(54843),w=t(88254),S=t(52972);let m=(class{constructor(e,n,o,s,h,u,A,H,j,G){this.route=e,this.alertController=n,this.loadingUtility=o,this.utility=s,this.requestService=h,this.profileService=u,this.authService=A,this.phoneFormatPipe=H,this.monitoringService=j,this.analytics=G,this.identityKey="",this.toEmail="",this.fromEmail="",this.messageText="",this.subjectText="",this.subjectMaximumCharactersCount=140,this.messageMaximumCharactersCount=750,this.charactersCountLabelText="0/750",this.selectedProgram=null,this.driverPrograms=[],this.showSendMessageConfirmationModal=!1,this.sendMessageConfirmationModalYesButtonText="Yes",this.sendMessageConfirmationModalNoButtonText="No",this.sendMessageConfirmationModalContent="Do you want to send this message?",this.sendMessageConfirmationModalTitle="Confirm Send",this.phoneNumber="",this.subscriptions$=new R.a}ngOnInit(){this.initializeComponent()}ngOnDestroy(){this.subscriptions$.unsubscribe()}ionViewDidEnter(){this.analytics.trackEvent("User","entered_driver_programs_screen","Entered Driver Programs Screen"),this.showSendMessageConfirmationModal=!1,this.initializeComponent()}ionViewDidLeave(){this.clearForm()}backButtonClickHandler(){var e=this;return(0,i.A)(function*(){e.analytics.trackEvent("User","clicked_back_on_compose_mail"),yield e.route.navigate(["/"])})()}initializeComponent(){var e=this;return(0,i.A)(function*(){e.identityKey=yield e.authService.getUserIdentitityKey(),yield e.loadDriverPrograms(),e.getProfileInfo()})()}loadDriverPrograms(){var e=this;return(0,i.A)(function*(){try{const n=yield w.p.get({key:S.f.DRIVER_PROGRAM_TYPES});if(null!==n.value&&void 0!==n.value)return void(e.driverPrograms=JSON.parse(n.value));const o=yield(0,N._)(e.requestService.messagingDriverprogramtypesGet());e.driverPrograms=o??[],yield w.p.set({key:S.f.DRIVER_PROGRAM_TYPES,value:JSON.stringify(e.driverPrograms)})}catch(n){e.driverPrograms=[];const o=n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n:new Error(o);e.monitoringService.logException(s,{context:"LoadDriverPrograms",reason:o}),yield e.showAlert("Error","Unable to load Driver Programs. Please check your connection and try again.")}})()}onProgramChange(e){this.selectedProgram=e,this.toEmail=e?.driverProgramEmailAddress??""}getProfileInfo(){var e=this;return(0,i.A)(function*(){e.profileInfo=yield e.profileService.getUserProfileInfo(),e.profileInfo&&(e.fromEmail=e.utility.getUserEmail(e.profileInfo),e.phoneNumber=e.utility.getUserPhoneNumber(e.profileInfo))})()}sendMessageButtonClickHandler(){var e=this;return(0,i.A)(function*(){const n=e.checkForm();n.length>0?yield e.showAlert("Error",n):e.showSendMessageConfirmationModal=!0})()}checkForm(){let e="";return this.selectedProgram?0===this.subjectText.trim().length?e="Please enter the subject.":0===this.messageText.trim().length&&(e="Please enter the message you want to send."):e="Please select a Driver Program.",e}messageChangedHandler(e){var n=this;return(0,i.A)(function*(){null!==n.messageText&&void 0!==n.messageText&&(n.messageText.length>750?n.charactersCountLabelText="750/750":n.charactersCountLabelText=n.messageText.length+"/750"),n.messageText.length>750&&(yield n.showAlert("Error","Sorry, you cannot enter more than 750 characters for the message."),n.messageText=n.messageText.substring(0,750),n.charactersCountLabelText="750/750")})()}showAlert(e,n){var o=this;return(0,i.A)(function*(){const s=yield o.alertController.create({cssClass:"ion-confirm-alert",header:e,message:n,backdropDismiss:!1,buttons:[{text:"Ok",handler:()=>{}}]});yield s.present(),yield s.onDidDismiss()})()}sendMessageConfirmationModalCloseButtonClickHandler(){this.showSendMessageConfirmationModal=!1}sendMessageConfirmationModalYesButtonClickHandler(){var e=this;return(0,i.A)(function*(){e.showSendMessageConfirmationModal=!1,yield e.sendMessage(e.subjectText,e.messageText)})()}sendMessage(e,n){var o=this;return(0,i.A)(function*(){yield o.loadingUtility.showLoader("Sending your message...");const s=o.selectedProgram?.driverProgramTitle??"Unknown Program";o.analytics.trackEvent("User","clicked_send_message_button","Clicked Send Message "+s);const h={body:n,subject:e,driverId:o.identityKey,driverProgramId:o.selectedProgram?.driverProgramId};var u;o.subscriptions$.sink=o.requestService.messagingDriverprogramsPost(h).subscribe({next:(u=(0,i.A)(function*(){o.loadingUtility.hideLoader(),yield o.showAlert("Message Sent","Your message has been successfully sent. A team member will review it and follow up with you soon."),o.clearForm(),yield o.route.navigate(["/"])}),function(){return u.apply(this,arguments)}),error:()=>{o.loadingUtility.hideLoader(),o.showAlert("Message Failed to Send","Please make sure you are connected and try again.")}})})()}clearForm(){this.selectedProgram=null,this.toEmail="",this.subjectText="",this.messageText="",this.fromEmail="",this.phoneNumber="",this.charactersCountLabelText="0
1/750"}static#e=k=()=>(this.ctorParameters=()=>[{type:v.Ix},{type:d.hG},{type:y.N},{type:C.o},{type:M.By},{type:x.T},{type:b.u},{type:l.U},{type:P.G},{type:T.c}],this)},k());m=(0,a.Cg)([(0,r.uAl)({selector:"app-compose-mail",standalone:!0,template:'<ion-toolbar class="ion-safe-area-top" mode="ios">\n  <button slot="start" class="back-button" (click)="backButtonClickHandler()">\n    <ion-icon class="back-icon pointer" name="chevron-back-outline"></ion-icon>\n  </button>\n  <ion-title class="ion-text-center sub-header-title">Driver Programs</ion-title>\n</ion-toolbar>\n\n<ion-content>\n\n  <app-yes-no-action-modal #sendMessageConfirmationModal *ngIf="showSendMessageConfirmationModal"\n    [yesButtonText]="sendMessageConfirmationModalYesButtonText"\n    [noButtonText]="sendMessageConfirmationModalNoButtonText" [content]="sendMessageConfirmationModalContent"\n    [title]="sendMessageConfirmationModalTitle"\n    (tappedCloseButton)="sendMessageConfirmationModalCloseButtonClickHandler()"\n    (noButton)="sendMessageConfirmationModalCloseButtonClickHandler()"\n    (yesButton)="sendMessageConfirmationModalYesButtonClickHandler()"></app-yes-no-action-modal>\n\n<ion-card>\n  <ion-card-content>\n    <ion-list class="form-list">\n      <ion-item class="list-item hide-ion-click-animation" lines="full">\n        <ion-row class="row-item">\n          <ion-col size-sm="2" size-md="1" size-lg="1" size="3">\n            <div class="prompt-label-separator"></div>\n            <ion-label class="prompt-label"> To </ion-label>\n          </ion-col>\n          <ion-col size-sm="10" size-md="11" size-lg="11" size="9">\n            <ion-item class="ion-no-padding hide-ion-click-animation" lines="none">\n              <ion-select\n                interface="popover"\n                placeholder="Please select a program"\n                okText="Ok"\n                cancelText="Dismiss"\n                [(ngModel)]="selectedProgram"\n                (ngModelChange)="onProgramChange($event)"\n                [interfaceOptions]="{cssClass: \'custom-message-pop-over\'}">\n                <ion-select-option [value]="program" *ngFor="let program of driverPrograms">\n                  {{ program.driverProgramTitle }}\n                </ion-select-option>\n              </ion-select>\n            </ion-item>\n          </ion-col>\n        </ion-row>\n      </ion-item>\n\n      <ion-item class="list-item" lines="full">\n        <ion-row class="row-item ion-align-items-baseline">\n          <ion-col size-sm="2" size-md="1" size-lg="1" size="3">\n            <div class="prompt-label-separator"></div>\n            <ion-label class="prompt-label"> Email </ion-label>\n          </ion-col>\n          <ion-col size-sm="10" size-md="11" size-lg="11" size="9">\n            <ion-input class="form-widget" type="email" placeholder="Email" [(ngModel)]="fromEmail" readonly></ion-input>\n          </ion-col>\n        </ion-row>\n      </ion-item>\n\n      <ion-item class="list-item" lines="full">\n        <ion-row class="row-item ion-align-items-baseline">\n          <ion-col size-sm="2" size-md="1" size-lg="1" size="3">\n            <div class="prompt-label-separator"></div>\n            <ion-label class="prompt-label"> Phone </ion-label>\n          </ion-col>\n          <ion-col size-sm="10" size-md="11" size-lg="11" size="9">\n            <ion-input class="form-widget" type="tel" placeholder="Phone Number" [ngModel]="phoneNumber | phoneFormat" readonly></ion-input>\n          </ion-col>\n        </ion-row>\n      </ion-item>\n\n      <ion-item class="list-item" lines="full">\n        <ion-row class="row-item">\n          <ion-col size="12">\n            <ion-input class="form-widget" type="text" [maxlength]="subjectMaximumCharactersCount" placeholder="Subject"\n              [(ngModel)]="subjectText"></ion-input>\n          </ion-col>\n        </ion-row>\n      </ion-item>\n\n      <ion-item class="list-item" lines="full">\n        <ion-row class="row-item">\n          <ion-col size="12">\n            <ion-textarea class="form-widget ion-no-padding" rows="12" placeholder="Message" (ionInput)="messageChangedHandler($event)"\n              [maxlength]="messageMaximumCharactersCount" [(ngModel)]="messageText"></ion-textarea>\n            <ion-label class="characters-counter-label">{{charactersCountLabelText}}</ion-label>\n          </ion-col>\n        </ion-row>\n      </ion-item>\n    </ion-list>\n    <br>\n    <div class="ion-text-center">\n      <ion-button (click)="sendMessageButtonClickHandler()" (keydown.enter)="sendMessageButtonClickHandler()" (keydown.space)="sendMessageButtonClickHandler()">\n        SEND\n      </ion-button>\n    </div>\n  </ion-card-content>\n</ion-card>\n</ion-content>',imports:[d.bv,U.YN,O.J,F.MD,l.U],providers:[l.U],styles:[I()]}),(0,a.Sn)("design:paramtypes",[v.Ix,d.hG,y.N,C.o,M.By,x.T,b.u,l.U,P.G,T.c])],m);var E=t(25207);const L=[{path:"",component:m}];let g=class{};g=(0,a.Cg)([(0,r.UQu)({imports:[E.iI.forChild(L)],exports:[E.iI]})],g);let p=class{};p=(0,a.Cg)([(0,r.UQu)({imports:[m,g]})],p)},4546(c,f,t){var a=t(8564),i=t(98557)(a);i.push([c.id,".send-message-button {\n  margin-right: 12px;\n}\n\n.send-message-icon {\n  font-size: 24px !important;\n}\n\n.back-button {\n  margin-left: 5px;\n  padding-top: 3px;\n  height: 45px;\n  width: 45px;\n  background-color: transparent;\n  color: var(--ion-color-primary, #3880ff);\n}\n\n.back-icon {\n  font-size: 32px;\n}\n\n.form-list {\n  margin-top: 15px !important;\n}\n\n.list-item {\n  width: 100% !important;\n  margin-left: 0% !important;\n}\n@media screen and (max-width: 400px) {\n  .list-item {\n    --padding-start: 0px;\n  }\n}\n\n.row-item {\n  width: 100% !important;\n}\n\n.form-widget {\n  max-width: 100% !important;\n  background-color: #FFFFFF !important;\n  --padding-top: 0px !important;\n  --padding-bottom: 0px !important;\n  --padding-start: 0px !important;\n  --padding-end: 0px !important;\n}\n\n.prompt-label {\n  font-size: 15px !important;\n  color: #000000 !important;\n  white-space: nowrap !important;\n}\n\n.prompt-label-separator {\n  width: 100% !important;\n  height: 12px !important;\n}\n\n.characters-counter-label {\n  float: right !important;\n  color: #B7B7B7 !important;\n  font-size: 14px !important;\n}\n\n.cta {\n  margin: 10px 10px 0px;\n}\n\n.attachment-name-panel {\n  width: 95% !important;\n  margin-left: 2.5% !important;\n  margin-right: 2.5% !important;\n}\n\nion-select {\n  max-width: 100%;\n  width: 100%;\n}\n\n.hide-ion-click-animation {\n  --ripple-color: transparent;\n  --background-activated: transparent;\n  --background-activated-opacity: transparent;\n  --background-focused: transparent;\n  --background-focused-opacity: transparent;\n  --background-hover: transparent;\n  --background-hover-opacity: transparent;\n}\n\nion-content {\n  --background: var(--canvas-background);\n}\n\nion-card {\n  margin-top: 0px;\n}",""]),c.exports=i.toString()}}]);

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.