@aggdirect/coolmap 1.0.2 → 1.0.4
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/README.md +57 -57
- package/esm2020/aggdirect-coolmap.mjs +4 -4
- package/esm2020/lib/component/job-code/job-code.component.mjs +114 -114
- package/esm2020/lib/component/map/map.component.mjs +35 -39
- package/esm2020/lib/component/nav/layout/add-route-nav/add-route-nav.component.mjs +87 -87
- package/esm2020/lib/component/nav/layout/job-code-nav/job-code-nav.component.mjs +89 -89
- package/esm2020/lib/component/nav/nav.component.mjs +52 -52
- package/esm2020/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.mjs +68 -68
- package/esm2020/lib/component/route-jobcode-list/route-jobcode-list.component.mjs +314 -314
- package/esm2020/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.mjs +19 -19
- package/esm2020/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.mjs +29 -29
- package/esm2020/lib/component/shared/dialog/dialog.component.mjs +29 -29
- package/esm2020/lib/component/shared/job-route-list/job-route-list.component.mjs +71 -71
- package/esm2020/lib/component/shared/jobcode-overview/jobcode-overview.component.mjs +19 -19
- package/esm2020/lib/component/shared/jobcode-status/jobcode-status.component.mjs +14 -14
- package/esm2020/lib/coolmap.component.mjs +13 -13
- package/esm2020/lib/coolmap.module.mjs +171 -156
- package/esm2020/public-api.mjs +19 -17
- package/fesm2015/aggdirect-coolmap.mjs +975 -1287
- package/fesm2015/aggdirect-coolmap.mjs.map +1 -1
- package/fesm2020/aggdirect-coolmap.mjs +958 -1260
- package/fesm2020/aggdirect-coolmap.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/component/job-code/job-code.component.d.ts +32 -31
- package/lib/component/map/map.component.d.ts +15 -16
- package/lib/component/nav/layout/add-route-nav/add-route-nav.component.d.ts +40 -40
- package/lib/component/nav/layout/job-code-nav/job-code-nav.component.d.ts +38 -38
- package/lib/component/nav/nav.component.d.ts +30 -30
- package/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.d.ts +19 -19
- package/lib/component/route-jobcode-list/route-jobcode-list.component.d.ts +42 -42
- package/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.d.ts +9 -9
- package/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.d.ts +11 -11
- package/lib/component/shared/dialog/dialog.component.d.ts +13 -13
- package/lib/component/shared/job-route-list/job-route-list.component.d.ts +26 -26
- package/lib/component/shared/jobcode-overview/jobcode-overview.component.d.ts +9 -9
- package/lib/component/shared/jobcode-status/jobcode-status.component.d.ts +8 -8
- package/lib/coolmap.component.d.ts +8 -8
- package/lib/coolmap.module.d.ts +39 -40
- package/package.json +1 -1
- package/public-api.d.ts +15 -13
- package/esm2020/lib/component/add-route/add-route.component.mjs +0 -310
- package/esm2020/lib/event.service.mjs +0 -26
- package/lib/component/add-route/add-route.component.d.ts +0 -62
- package/lib/event.service.d.ts +0 -19
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { DriverSmsCardEnum, DriversmsCardKey } from 'coolmap-services';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class SmsCardDetailsOverviewComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.label = DriversmsCardKey;
|
|
8
|
-
this.overViewEnum = DriverSmsCardEnum;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
SmsCardDetailsOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmsCardDetailsOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
SmsCardDetailsOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmsCardDetailsOverviewComponent, selector: "app-sms-card-details-overview", inputs: { jobValue: "jobValue" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of label\">\n <span>\n <label>{{overViewEnum[item]}}</label>\n <ng-container *ngIf=\"item !== 'values'\">{{jobValue[item] ? jobValue[item] : 'N/A'}}</ng-container>\n <ng-container *ngIf=\"item === 'values'\">{{jobValue[item]['Done'] + jobValue[item]['Ongoing'] + jobValue[item]['Open']}}</ng-container>\n </span>\n</ng-container>\n", styles: ["span{display:flex;margin-bottom:12px;font-size:.8rem;align-items:center}span label{font-weight:600;width:37%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmsCardDetailsOverviewComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{ selector: 'app-sms-card-details-overview', template: "<ng-container *ngFor=\"let item of label\">\n <span>\n <label>{{overViewEnum[item]}}</label>\n <ng-container *ngIf=\"item !== 'values'\">{{jobValue[item] ? jobValue[item] : 'N/A'}}</ng-container>\n <ng-container *ngIf=\"item === 'values'\">{{jobValue[item]['Done'] + jobValue[item]['Ongoing'] + jobValue[item]['Open']}}</ng-container>\n </span>\n</ng-container>\n", styles: ["span{display:flex;margin-bottom:12px;font-size:.8rem;align-items:center}span label{font-weight:600;width:37%}\n"] }]
|
|
16
|
-
}], ctorParameters: function () { return []; }, propDecorators: { jobValue: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { DriverSmsCardEnum, DriversmsCardKey } from 'coolmap-services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class SmsCardDetailsOverviewComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.label = DriversmsCardKey;
|
|
8
|
+
this.overViewEnum = DriverSmsCardEnum;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
SmsCardDetailsOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmsCardDetailsOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
SmsCardDetailsOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: SmsCardDetailsOverviewComponent, selector: "app-sms-card-details-overview", inputs: { jobValue: "jobValue" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of label\">\r\n <span>\r\n <label>{{overViewEnum[item]}}</label>\r\n <ng-container *ngIf=\"item !== 'values'\">{{jobValue[item] ? jobValue[item] : 'N/A'}}</ng-container>\r\n <ng-container *ngIf=\"item === 'values'\">{{jobValue[item]['Done'] + jobValue[item]['Ongoing'] + jobValue[item]['Open']}}</ng-container>\r\n </span>\r\n</ng-container>\r\n", styles: ["span{display:flex;margin-bottom:12px;font-size:.8rem;align-items:center}span label{font-weight:600;width:37%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SmsCardDetailsOverviewComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'app-sms-card-details-overview', template: "<ng-container *ngFor=\"let item of label\">\r\n <span>\r\n <label>{{overViewEnum[item]}}</label>\r\n <ng-container *ngIf=\"item !== 'values'\">{{jobValue[item] ? jobValue[item] : 'N/A'}}</ng-container>\r\n <ng-container *ngIf=\"item === 'values'\">{{jobValue[item]['Done'] + jobValue[item]['Ongoing'] + jobValue[item]['Open']}}</ng-container>\r\n </span>\r\n</ng-container>\r\n", styles: ["span{display:flex;margin-bottom:12px;font-size:.8rem;align-items:center}span label{font-weight:600;width:37%}\n"] }]
|
|
16
|
+
}], ctorParameters: function () { return []; }, propDecorators: { jobValue: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLWNhcmQtZGV0YWlscy1vdmVydmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC9zbXMtY2FyZC1kZXRhaWxzLW92ZXJ2aWV3L3Ntcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9yb3V0ZS1qb2Jjb2RlLWxpc3Qvc21zLWNhcmQtZGV0YWlscy1vdmVydmlldy9zbXMtY2FyZC1kZXRhaWxzLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPdkUsTUFBTSxPQUFPLCtCQUErQjtJQUkxQztRQUZBLFVBQUssR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QixpQkFBWSxHQUFRLGlCQUFpQixDQUFDO0lBQ3RCLENBQUM7OzZIQUpOLCtCQUErQjtpSEFBL0IsK0JBQStCLHVHQ1I1QyxzWUFPQTs0RkRDYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsK0JBQStCOzBFQUtoQyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEcml2ZXJTbXNDYXJkRW51bSwgRHJpdmVyc21zQ2FyZEtleSB9IGZyb20gJ2Nvb2xtYXAtc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc21zLWNhcmQtZGV0YWlscy1vdmVydmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Ntcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Ntcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXcuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21zQ2FyZERldGFpbHNPdmVydmlld0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgam9iVmFsdWU6IGFueTtcclxuICBsYWJlbCA9IERyaXZlcnNtc0NhcmRLZXk7XHJcbiAgb3ZlclZpZXdFbnVtOiBhbnkgPSBEcml2ZXJTbXNDYXJkRW51bTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxhYmVsXCI+XHJcbiAgPHNwYW4+XHJcbiAgICA8bGFiZWw+e3tvdmVyVmlld0VudW1baXRlbV19fTwvbGFiZWw+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSAhPT0gJ3ZhbHVlcydcIj57e2pvYlZhbHVlW2l0ZW1dID8gam9iVmFsdWVbaXRlbV0gOiAnTi9BJ319PC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSA9PT0gJ3ZhbHVlcydcIj57e2pvYlZhbHVlW2l0ZW1dWydEb25lJ10gKyBqb2JWYWx1ZVtpdGVtXVsnT25nb2luZyddICsgam9iVmFsdWVbaXRlbV1bJ09wZW4nXX19PC9uZy1jb250YWluZXI+XHJcbiAgPC9zcGFuPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "coolmap-services";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "@angular/material/icon";
|
|
6
|
-
export class ViewRouteListCardComponent {
|
|
7
|
-
constructor(utils) {
|
|
8
|
-
this.utils = utils;
|
|
9
|
-
}
|
|
10
|
-
detailsDict(event, route) {
|
|
11
|
-
if (event === 'click')
|
|
12
|
-
this.utils.setdictValue('route-detailsv2', JSON.stringify(route));
|
|
13
|
-
route['type'] = 'editroute';
|
|
14
|
-
route['prevent'] = true;
|
|
15
|
-
this.emitrouteevent.emit(route);
|
|
16
|
-
this.utils.routeDetailsUtility.next({ event, route });
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
ViewRouteListCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ViewRouteListCardComponent, deps: [{ token: i1.UtilsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
ViewRouteListCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ViewRouteListCardComponent, selector: "app-view-route-list-card", inputs: { route: "route", emitrouteevent: "emitrouteevent" }, ngImport: i0, template: "<div class=\"routebox\">\n <span>\n <mat-icon>directions</mat-icon>\n <h2 [ngClass]=\"{'routeheading': route['route_name']}\">\n {{route['route_name']}}\n </h2>\n </span>\n <h3>{{route['customer_name']}} | {{route['material']}}</h3>\n\n <div class=\"pickdropprt\">\n <div class=\"pickprt\">\n <b>\n <h4>{{route['pickup_location']}}</h4>\n </b>\n </div>\n <div class=\"dropprt\">\n <b>\n <h4>{{route['delivery_location']}}</h4>\n </b>\n </div>\n </div>\n <div class=\"infoicon\" (click)=\"detailsDict('click', route)\" (mouseover)=\"detailsDict(true, route)\"\n (mouseleave)=\"detailsDict(false, route)\">\n <img src=\"assets/images/info_icon.png\" [alt]=\"\" />\n </div>\n <div class=\"status routestatus\" [ngClass]=\"route['unit']\">{{route['unit']}}</div>\n</div>\n\n\n\n", styles: [".routebox span{display:flex;align-items:center}.routebox span h2{margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-bottom:5px;margin-top:5px;font-size:.95rem}.routebox h3{font-size:.85rem;color:#767676;font-weight:400;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:325px;margin-bottom:10px}.routebox .pickdropprt{font-size:.8125rem}.routebox .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:6px}.routebox .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .pickprt b{position:relative;font-weight:400}.routebox .pickdropprt .pickprt b:after{background:black;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.routebox .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}@media (min-width: 1600px){.routebox .pickdropprt .pickprt h4{max-width:265px}}.routebox .pickdropprt .pickprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.routebox .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .dropprt b{position:relative;font-weight:400}.routebox .pickdropprt .dropprt b:after{background:black;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.routebox .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}.routebox .pickdropprt .dropprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .infoicon{position:absolute;right:10px;bottom:
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ViewRouteListCardComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'app-view-route-list-card', template: "<div class=\"routebox\">\n <span>\n <mat-icon>directions</mat-icon>\n <h2 [ngClass]=\"{'routeheading': route['route_name']}\">\n {{route['route_name']}}\n </h2>\n </span>\n <h3>{{route['customer_name']}} | {{route['material']}}</h3>\n\n <div class=\"pickdropprt\">\n <div class=\"pickprt\">\n <b>\n <h4>{{route['pickup_location']}}</h4>\n </b>\n </div>\n <div class=\"dropprt\">\n <b>\n <h4>{{route['delivery_location']}}</h4>\n </b>\n </div>\n </div>\n <div class=\"infoicon\" (click)=\"detailsDict('click', route)\" (mouseover)=\"detailsDict(true, route)\"\n (mouseleave)=\"detailsDict(false, route)\">\n <img src=\"assets/images/info_icon.png\" [alt]=\"\" />\n </div>\n <div class=\"status routestatus\" [ngClass]=\"route['unit']\">{{route['unit']}}</div>\n</div>\n\n\n\n", styles: [".routebox span{display:flex;align-items:center}.routebox span h2{margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-bottom:5px;margin-top:5px;font-size:.95rem}.routebox h3{font-size:.85rem;color:#767676;font-weight:400;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:325px;margin-bottom:10px}.routebox .pickdropprt{font-size:.8125rem}.routebox .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:6px}.routebox .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .pickprt b{position:relative;font-weight:400}.routebox .pickdropprt .pickprt b:after{background:black;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.routebox .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}@media (min-width: 1600px){.routebox .pickdropprt .pickprt h4{max-width:265px}}.routebox .pickdropprt .pickprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.routebox .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .dropprt b{position:relative;font-weight:400}.routebox .pickdropprt .dropprt b:after{background:black;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.routebox .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}.routebox .pickdropprt .dropprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .infoicon{position:absolute;right:10px;bottom:
|
|
24
|
-
}], ctorParameters: function () { return [{ type: i1.UtilsService }]; }, propDecorators: { route: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], emitrouteevent: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "coolmap-services";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@angular/material/icon";
|
|
6
|
+
export class ViewRouteListCardComponent {
|
|
7
|
+
constructor(utils) {
|
|
8
|
+
this.utils = utils;
|
|
9
|
+
}
|
|
10
|
+
detailsDict(event, route) {
|
|
11
|
+
if (event === 'click')
|
|
12
|
+
this.utils.setdictValue('route-detailsv2', JSON.stringify(route));
|
|
13
|
+
route['type'] = 'editroute';
|
|
14
|
+
route['prevent'] = true;
|
|
15
|
+
this.emitrouteevent.emit(route);
|
|
16
|
+
this.utils.routeDetailsUtility.next({ event, route });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ViewRouteListCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ViewRouteListCardComponent, deps: [{ token: i1.UtilsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
ViewRouteListCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ViewRouteListCardComponent, selector: "app-view-route-list-card", inputs: { route: "route", emitrouteevent: "emitrouteevent" }, ngImport: i0, template: "<div class=\"routebox\">\r\n <span>\r\n <mat-icon>directions</mat-icon>\r\n <h2 [ngClass]=\"{'routeheading': route['route_name']}\">\r\n {{route['route_name']}}\r\n </h2>\r\n </span>\r\n <h3>{{route['customer_name']}} | {{route['material']}}</h3>\r\n\r\n <div class=\"pickdropprt\">\r\n <div class=\"pickprt\">\r\n <b>\r\n <h4>{{route['pickup_location']}}</h4>\r\n </b>\r\n </div>\r\n <div class=\"dropprt\">\r\n <b>\r\n <h4>{{route['delivery_location']}}</h4>\r\n </b>\r\n </div>\r\n </div>\r\n <div class=\"infoicon\" (click)=\"detailsDict('click', route)\" (mouseover)=\"detailsDict(true, route)\"\r\n (mouseleave)=\"detailsDict(false, route)\">\r\n <img src=\"assets/images/info_icon.png\" [alt]=\"\" />\r\n </div>\r\n <div class=\"status routestatus\" [ngClass]=\"route['unit']\">{{route['unit']}}</div>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".routebox span{display:flex;align-items:center}.routebox span h2{margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-bottom:5px;margin-top:5px;font-size:.95rem}.routebox h3{font-size:.85rem;color:#767676;font-weight:400;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:325px;margin-bottom:10px}.routebox .pickdropprt{font-size:.8125rem}.routebox .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:6px}.routebox .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .pickprt b{position:relative;font-weight:400}.routebox .pickdropprt .pickprt b:after{background:black;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.routebox .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}@media (min-width: 1600px){.routebox .pickdropprt .pickprt h4{max-width:265px}}.routebox .pickdropprt .pickprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.routebox .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .dropprt b{position:relative;font-weight:400}.routebox .pickdropprt .dropprt b:after{background:black;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.routebox .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}.routebox .pickdropprt .dropprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .infoicon{position:absolute;right:10px;bottom:10px}.routebox .infoicon img{width:20px;height:20px}.routebox .status{position:absolute;border-radius:30px;top:12px;right:40px;font-size:0;color:#fff;text-transform:capitalize;font-weight:500;padding:3px 10px}.routebox .status.routestatus{right:10px;width:20px;height:20px;text-align:center;line-height:20px;padding:0 0 0 1px}.routebox .status.routestatus:first-letter{font-size:.8rem}@media (min-width: 1600px){.routebox .status.routestatus{padding:0;line-height:22px}}.routebox .status.Ton{background:#ff7272}.routebox .status.Load{background:#a3c52e}.routebox .status.Hourly{background:#ae23d1}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ViewRouteListCardComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'app-view-route-list-card', template: "<div class=\"routebox\">\r\n <span>\r\n <mat-icon>directions</mat-icon>\r\n <h2 [ngClass]=\"{'routeheading': route['route_name']}\">\r\n {{route['route_name']}}\r\n </h2>\r\n </span>\r\n <h3>{{route['customer_name']}} | {{route['material']}}</h3>\r\n\r\n <div class=\"pickdropprt\">\r\n <div class=\"pickprt\">\r\n <b>\r\n <h4>{{route['pickup_location']}}</h4>\r\n </b>\r\n </div>\r\n <div class=\"dropprt\">\r\n <b>\r\n <h4>{{route['delivery_location']}}</h4>\r\n </b>\r\n </div>\r\n </div>\r\n <div class=\"infoicon\" (click)=\"detailsDict('click', route)\" (mouseover)=\"detailsDict(true, route)\"\r\n (mouseleave)=\"detailsDict(false, route)\">\r\n <img src=\"assets/images/info_icon.png\" [alt]=\"\" />\r\n </div>\r\n <div class=\"status routestatus\" [ngClass]=\"route['unit']\">{{route['unit']}}</div>\r\n</div>\r\n\r\n\r\n\r\n", styles: [".routebox span{display:flex;align-items:center}.routebox span h2{margin-left:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-bottom:5px;margin-top:5px;font-size:.95rem}.routebox h3{font-size:.85rem;color:#767676;font-weight:400;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:325px;margin-bottom:10px}.routebox .pickdropprt{font-size:.8125rem}.routebox .pickdropprt .pickprt{position:relative;display:flex;align-items:center;padding-bottom:6px}.routebox .pickdropprt .pickprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .pickprt b{position:relative;font-weight:400}.routebox .pickdropprt .pickprt b:after{background:black;width:1px;height:100%;left:3px;content:\"\";position:absolute;top:10px}.routebox .pickdropprt .pickprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}@media (min-width: 1600px){.routebox .pickdropprt .pickprt h4{max-width:265px}}.routebox .pickdropprt .pickprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .pickdropprt .dropprt{position:relative;padding-bottom:10px;display:flex;align-items:center}.routebox .pickdropprt .dropprt span{padding-left:0;padding-right:20px;display:block}.routebox .pickdropprt .dropprt b{position:relative;font-weight:400}.routebox .pickdropprt .dropprt b:after{background:black;width:1px;height:12px;left:3px;content:\"\";position:absolute;top:-7px}.routebox .pickdropprt .dropprt h4{position:relative;padding-left:15px;margin:0;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:215px}.routebox .pickdropprt .dropprt h4:before{background:black;top:4px;left:0;position:absolute;content:\"\";width:7px;height:7px;border-radius:100%}.routebox .infoicon{position:absolute;right:10px;bottom:10px}.routebox .infoicon img{width:20px;height:20px}.routebox .status{position:absolute;border-radius:30px;top:12px;right:40px;font-size:0;color:#fff;text-transform:capitalize;font-weight:500;padding:3px 10px}.routebox .status.routestatus{right:10px;width:20px;height:20px;text-align:center;line-height:20px;padding:0 0 0 1px}.routebox .status.routestatus:first-letter{font-size:.8rem}@media (min-width: 1600px){.routebox .status.routestatus{padding:0;line-height:22px}}.routebox .status.Ton{background:#ff7272}.routebox .status.Load{background:#a3c52e}.routebox .status.Hourly{background:#ae23d1}\n"] }]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: i1.UtilsService }]; }, propDecorators: { route: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], emitrouteevent: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1yb3V0ZS1saXN0LWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9yb3V0ZS1qb2Jjb2RlLWxpc3Qvdmlldy1yb3V0ZS1saXN0LWNhcmQvdmlldy1yb3V0ZS1saXN0LWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9yb3V0ZS1qb2Jjb2RlLWxpc3Qvdmlldy1yb3V0ZS1saXN0LWNhcmQvdmlldy1yb3V0ZS1saXN0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUWpELE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFBbUIsS0FBbUI7UUFBbkIsVUFBSyxHQUFMLEtBQUssQ0FBYztJQUFJLENBQUM7SUFFM0MsV0FBVyxDQUFDLEtBQXVCLEVBQUUsS0FBWTtRQUMvQyxJQUFHLEtBQUssS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUM7UUFBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOzt3SEFUVSwwQkFBMEI7NEdBQTFCLDBCQUEwQiw4SENSdkMsODRCQThCQTs0RkR0QmEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLDBCQUEwQjttR0FLcEIsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZSwgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnY29vbG1hcC1zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12aWV3LXJvdXRlLWxpc3QtY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpZXctcm91dGUtbGlzdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi92aWV3LXJvdXRlLWxpc3QtY2FyZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3Um91dGVMaXN0Q2FyZENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgcHVibGljIHJvdXRlITogUm91dGU7XHJcbiAgQElucHV0KCkgcHVibGljIGVtaXRyb3V0ZWV2ZW50OiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHV0aWxzOiBVdGlsc1NlcnZpY2UpIHsgfVxyXG5cclxuICBkZXRhaWxzRGljdChldmVudDogYm9vbGVhbiB8IHN0cmluZywgcm91dGU6IFJvdXRlKSB7XHJcbiAgICBpZihldmVudCA9PT0gJ2NsaWNrJykgdGhpcy51dGlscy5zZXRkaWN0VmFsdWUoJ3JvdXRlLWRldGFpbHN2MicsIEpTT04uc3RyaW5naWZ5KHJvdXRlKSk7XHJcbiAgICByb3V0ZVsndHlwZSddID0gJ2VkaXRyb3V0ZSc7IHJvdXRlWydwcmV2ZW50J10gPSB0cnVlOyB0aGlzLmVtaXRyb3V0ZWV2ZW50LmVtaXQocm91dGUpO1xyXG4gICAgdGhpcy51dGlscy5yb3V0ZURldGFpbHNVdGlsaXR5Lm5leHQoeyBldmVudCwgcm91dGUgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3V0ZWJveFwiPlxyXG4gIDxzcGFuPlxyXG4gICAgPG1hdC1pY29uPmRpcmVjdGlvbnM8L21hdC1pY29uPlxyXG4gICAgPGgyIFtuZ0NsYXNzXT1cInsncm91dGVoZWFkaW5nJzogcm91dGVbJ3JvdXRlX25hbWUnXX1cIj5cclxuICAgICAge3tyb3V0ZVsncm91dGVfbmFtZSddfX1cclxuICAgIDwvaDI+XHJcbiAgPC9zcGFuPlxyXG4gIDxoMz57e3JvdXRlWydjdXN0b21lcl9uYW1lJ119fSB8IHt7cm91dGVbJ21hdGVyaWFsJ119fTwvaDM+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJwaWNrZHJvcHBydFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBpY2twcnRcIj5cclxuICAgICAgPGI+XHJcbiAgICAgICAgPGg0Pnt7cm91dGVbJ3BpY2t1cF9sb2NhdGlvbiddfX08L2g0PlxyXG4gICAgICA8L2I+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkcm9wcHJ0XCI+XHJcbiAgICAgIDxiPlxyXG4gICAgICAgIDxoND57e3JvdXRlWydkZWxpdmVyeV9sb2NhdGlvbiddfX08L2g0PlxyXG4gICAgICA8L2I+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaW5mb2ljb25cIiAoY2xpY2spPVwiZGV0YWlsc0RpY3QoJ2NsaWNrJywgcm91dGUpXCIgKG1vdXNlb3Zlcik9XCJkZXRhaWxzRGljdCh0cnVlLCByb3V0ZSlcIlxyXG4gICAgKG1vdXNlbGVhdmUpPVwiZGV0YWlsc0RpY3QoZmFsc2UsIHJvdXRlKVwiPlxyXG4gICAgPGltZyBzcmM9XCJhc3NldHMvaW1hZ2VzL2luZm9faWNvbi5wbmdcIiBbYWx0XT1cIlwiIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInN0YXR1cyByb3V0ZXN0YXR1c1wiIFtuZ0NsYXNzXT1cInJvdXRlWyd1bml0J11cIj57e3JvdXRlWyd1bml0J119fTwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
export class DialogComponent {
|
|
6
|
-
constructor(dialogRef, data) {
|
|
7
|
-
this.dialogRef = dialogRef;
|
|
8
|
-
this.data = data;
|
|
9
|
-
this.body = 'Are you sure you want to delete?';
|
|
10
|
-
this.positive = 'Delete';
|
|
11
|
-
this.negative = 'Cancel';
|
|
12
|
-
['body', 'positive', 'negative'].map(elem => {
|
|
13
|
-
if (this.data[elem] !== undefined) {
|
|
14
|
-
this[elem] = this.data[elem];
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
onClose(result) { this.dialogRef.close(result); }
|
|
19
|
-
}
|
|
20
|
-
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DialogComponent, selector: "app-dialog", ngImport: i0, template: "<div class=\"dialogbox\">\n <h2>{{body}}</h2>\n <div class=\"twobtnprt\">\n <button class=\"delbtn\" (click)=\"onClose(true)\">{{positive}}</button>\n <button class=\"closebtn\" (click)=\"onClose(false)\">{{negative}}</button>\n </div>\n</div>\n", styles: [".dialogbox{display:flex;flex-direction:column}.dialogbox h2{font-size:1.5rem}.dialogbox .twobtnprt{display:flex;justify-content:center;margin-top:10px}.closebtn{background:black;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}\n"] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DialogComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'app-dialog', template: "<div class=\"dialogbox\">\n <h2>{{body}}</h2>\n <div class=\"twobtnprt\">\n <button class=\"delbtn\" (click)=\"onClose(true)\">{{positive}}</button>\n <button class=\"closebtn\" (click)=\"onClose(false)\">{{negative}}</button>\n </div>\n</div>\n", styles: [".dialogbox{display:flex;flex-direction:column}.dialogbox h2{font-size:1.5rem}.dialogbox .twobtnprt{display:flex;justify-content:center;margin-top:10px}.closebtn{background:black;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}\n"] }]
|
|
25
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
26
|
-
type: Inject,
|
|
27
|
-
args: [MAT_DIALOG_DATA]
|
|
28
|
-
}] }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
export class DialogComponent {
|
|
6
|
+
constructor(dialogRef, data) {
|
|
7
|
+
this.dialogRef = dialogRef;
|
|
8
|
+
this.data = data;
|
|
9
|
+
this.body = 'Are you sure you want to delete?';
|
|
10
|
+
this.positive = 'Delete';
|
|
11
|
+
this.negative = 'Cancel';
|
|
12
|
+
['body', 'positive', 'negative'].map(elem => {
|
|
13
|
+
if (this.data[elem] !== undefined) {
|
|
14
|
+
this[elem] = this.data[elem];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
onClose(result) { this.dialogRef.close(result); }
|
|
19
|
+
}
|
|
20
|
+
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DialogComponent, selector: "app-dialog", ngImport: i0, template: "<div class=\"dialogbox\">\r\n <h2>{{body}}</h2>\r\n <div class=\"twobtnprt\">\r\n <button class=\"delbtn\" (click)=\"onClose(true)\">{{positive}}</button>\r\n <button class=\"closebtn\" (click)=\"onClose(false)\">{{negative}}</button>\r\n </div>\r\n</div>\r\n", styles: [".dialogbox{display:flex;flex-direction:column}.dialogbox h2{font-size:1.5rem}.dialogbox .twobtnprt{display:flex;justify-content:center;margin-top:10px}.closebtn{background:black;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}\n"] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DialogComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'app-dialog', template: "<div class=\"dialogbox\">\r\n <h2>{{body}}</h2>\r\n <div class=\"twobtnprt\">\r\n <button class=\"delbtn\" (click)=\"onClose(true)\">{{positive}}</button>\r\n <button class=\"closebtn\" (click)=\"onClose(false)\">{{negative}}</button>\r\n </div>\r\n</div>\r\n", styles: [".dialogbox{display:flex;flex-direction:column}.dialogbox h2{font-size:1.5rem}.dialogbox .twobtnprt{display:flex;justify-content:center;margin-top:10px}.closebtn{background:black;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px;margin:0 10px;font-size:1rem}\n"] }]
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
26
|
+
type: Inject,
|
|
27
|
+
args: [MAT_DIALOG_DATA]
|
|
28
|
+
}] }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAvc3JjL2xpYi9jb21wb25lbnQvc2hhcmVkL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7OztBQU12RSxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUFtQixTQUF3QyxFQUFrQyxJQUFTO1FBQW5GLGNBQVMsR0FBVCxTQUFTLENBQStCO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUs7UUFIdEcsU0FBSSxHQUFHLGtDQUFrQyxDQUFDO1FBQzFDLGFBQVEsR0FBRyxRQUFRLENBQUM7UUFDcEIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUVsQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7YUFBRTtRQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUMsQ0FBQzs7NkdBVDlDLGVBQWUsOENBSTJDLGVBQWU7aUdBSnpFLGVBQWUsa0RDUDVCLDhRQU9BOzRGREFhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTs7MEJBUXdDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEF9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRpYWxvZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgYm9keSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPyc7XHJcbiAgcG9zaXRpdmUgPSAnRGVsZXRlJztcclxuICBuZWdhdGl2ZSA9ICdDYW5jZWwnO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dDb21wb25lbnQ+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSkge1xyXG4gICAgWydib2R5JywgJ3Bvc2l0aXZlJywgJ25lZ2F0aXZlJ10ubWFwKGVsZW0gPT4ge1xyXG4gICAgICBpZiAodGhpcy5kYXRhW2VsZW1dICE9PSB1bmRlZmluZWQpIHsgdGhpc1tlbGVtXSA9IHRoaXMuZGF0YVtlbGVtXSB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25DbG9zZShyZXN1bHQ6IGJvb2xlYW4pIHsgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KSB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZ2JveFwiPlxyXG4gIDxoMj57e2JvZHl9fTwvaDI+XHJcbiAgPGRpdiBjbGFzcz1cInR3b2J0bnBydFwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImRlbGJ0blwiIChjbGljayk9XCJvbkNsb3NlKHRydWUpXCI+e3twb3NpdGl2ZX19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2xvc2VidG5cIiAoY2xpY2spPVwib25DbG9zZShmYWxzZSlcIj57e25lZ2F0aXZlfX08L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import { map, startWith } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "coolmap-services";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@angular/forms";
|
|
8
|
-
import * as i4 from "@angular/material/form-field";
|
|
9
|
-
import * as i5 from "@angular/material/input";
|
|
10
|
-
import * as i6 from "@angular/material/core";
|
|
11
|
-
import * as i7 from "@angular/material/icon";
|
|
12
|
-
import * as i8 from "@angular/material/autocomplete";
|
|
13
|
-
import * as i9 from "@angular/material/chips";
|
|
14
|
-
import * as i10 from "@angular/material/button";
|
|
15
|
-
export class JobRouteListComponent {
|
|
16
|
-
constructor(utils, coolMap) {
|
|
17
|
-
this.utils = utils;
|
|
18
|
-
this.coolMap = coolMap;
|
|
19
|
-
this.changeNav = new EventEmitter();
|
|
20
|
-
this.filterForm = new FormGroup({ search: new FormControl() });
|
|
21
|
-
this.changeRoutes = new EventEmitter();
|
|
22
|
-
this.changeSelectedRoute = new EventEmitter();
|
|
23
|
-
this.filters = [];
|
|
24
|
-
this.filteredOptions = this.filterForm.get('search')?.valueChanges.pipe(startWith(''), map(value => this.utils.filter(value, this.filters)));
|
|
25
|
-
}
|
|
26
|
-
filterSearch(e) {
|
|
27
|
-
this.changeNav.emit({ type: 'Addroute' });
|
|
28
|
-
this.preventListUpdate = true;
|
|
29
|
-
this.filterForm.controls.search.setValue(null);
|
|
30
|
-
this.filters = [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }];
|
|
31
|
-
const filteredRoutes = this.utils.getSearchResults(this.masterRoutes, [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }]);
|
|
32
|
-
this.changeRoutes.emit(filteredRoutes);
|
|
33
|
-
this.selectedRoute.selected.forEach((item) => {
|
|
34
|
-
const routeData = filteredRoutes.find(x => x.route_id === item.route_id);
|
|
35
|
-
if (!routeData) {
|
|
36
|
-
this.selectedRoute.toggle(item);
|
|
37
|
-
this.changeSelectedRoute.emit(this.selectedRoute);
|
|
38
|
-
this.coolMap.removeRouteAndMarker(item['route_id']).then((res) => {
|
|
39
|
-
this.coolMap.extendReBound();
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
removeFromFilter(filter) {
|
|
45
|
-
this.changeNav.emit({ type: 'Addroute' });
|
|
46
|
-
const index = this.filters.indexOf(filter);
|
|
47
|
-
if (index >= 0) {
|
|
48
|
-
this.filters = [];
|
|
49
|
-
this.changeRoutes.emit(this.masterRoutes);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
JobRouteListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobRouteListComponent, deps: [{ token: i1.UtilsService }, { token: i1.CoolmapService }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
JobRouteListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: JobRouteListComponent, selector: "app-job-route-list", inputs: { routes: "routes", selectedRoute: "selectedRoute", masterRoutes: "masterRoutes" }, outputs: { changeNav: "changeNav", changeRoutes: "changeRoutes", changeSelectedRoute: "changeSelectedRoute" }, ngImport: i0, template: "<div class=\"searchprt\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"full-width\">\n <input matInput [matChipInputFor]=\"chipList\" formControlName=\"search\" [matAutocomplete]=\"auto\" placeholder=\"Search\">\n <mat-icon matSuffix *ngIf=\"!utils.conveySearchIcon(filterForm.value.search)\">search</mat-icon>\n <button mat-button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"filterForm.reset()\" *ngIf=\"utils.conveySearchIcon(filterForm.value.search)\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let option of filteredOptions | async\" (onSelectionChange)=\"filterSearch($event)\"\n [value]=\"option\">\n {{option.type | titlecase }}: {{option['label']}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n</form>\n</div>\n<div class=\"chip-list\">\n <mat-chip-list #chipList aria-label=\"Filter selection\">\n <mat-chip *ngFor=\"let filter of filters\" (removed)=\"removeFromFilter(filter)\">\n {{filter.type | titlecase }}: {{filter.name}}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-list>\n</div>\n", styles: [".searchprt{padding-right:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i9.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }] });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobRouteListComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ selector: 'app-job-route-list', template: "<div class=\"searchprt\">\n <form [formGroup]=\"filterForm\">\n <mat-form-field class=\"full-width\">\n <input matInput [matChipInputFor]=\"chipList\" formControlName=\"search\" [matAutocomplete]=\"auto\" placeholder=\"Search\">\n <mat-icon matSuffix *ngIf=\"!utils.conveySearchIcon(filterForm.value.search)\">search</mat-icon>\n <button mat-button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"filterForm.reset()\" *ngIf=\"utils.conveySearchIcon(filterForm.value.search)\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let option of filteredOptions | async\" (onSelectionChange)=\"filterSearch($event)\"\n [value]=\"option\">\n {{option.type | titlecase }}: {{option['label']}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n</form>\n</div>\n<div class=\"chip-list\">\n <mat-chip-list #chipList aria-label=\"Filter selection\">\n <mat-chip *ngFor=\"let filter of filters\" (removed)=\"removeFromFilter(filter)\">\n {{filter.type | titlecase }}: {{filter.name}}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip>\n </mat-chip-list>\n</div>\n", styles: [".searchprt{padding-right:20px}\n"] }]
|
|
58
|
-
}], ctorParameters: function () { return [{ type: i1.UtilsService }, { type: i1.CoolmapService }]; }, propDecorators: { changeNav: [{
|
|
59
|
-
type: Output
|
|
60
|
-
}], routes: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], selectedRoute: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], changeRoutes: [{
|
|
65
|
-
type: Output
|
|
66
|
-
}], changeSelectedRoute: [{
|
|
67
|
-
type: Output
|
|
68
|
-
}], masterRoutes: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { map, startWith } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "coolmap-services";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/material/form-field";
|
|
9
|
+
import * as i5 from "@angular/material/input";
|
|
10
|
+
import * as i6 from "@angular/material/core";
|
|
11
|
+
import * as i7 from "@angular/material/icon";
|
|
12
|
+
import * as i8 from "@angular/material/autocomplete";
|
|
13
|
+
import * as i9 from "@angular/material/chips";
|
|
14
|
+
import * as i10 from "@angular/material/button";
|
|
15
|
+
export class JobRouteListComponent {
|
|
16
|
+
constructor(utils, coolMap) {
|
|
17
|
+
this.utils = utils;
|
|
18
|
+
this.coolMap = coolMap;
|
|
19
|
+
this.changeNav = new EventEmitter();
|
|
20
|
+
this.filterForm = new FormGroup({ search: new FormControl() });
|
|
21
|
+
this.changeRoutes = new EventEmitter();
|
|
22
|
+
this.changeSelectedRoute = new EventEmitter();
|
|
23
|
+
this.filters = [];
|
|
24
|
+
this.filteredOptions = this.filterForm.get('search')?.valueChanges.pipe(startWith(''), map(value => this.utils.filter(value, this.filters)));
|
|
25
|
+
}
|
|
26
|
+
filterSearch(e) {
|
|
27
|
+
this.changeNav.emit({ type: 'Addroute' });
|
|
28
|
+
this.preventListUpdate = true;
|
|
29
|
+
this.filterForm.controls.search.setValue(null);
|
|
30
|
+
this.filters = [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }];
|
|
31
|
+
const filteredRoutes = this.utils.getSearchResults(this.masterRoutes, [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }]);
|
|
32
|
+
this.changeRoutes.emit(filteredRoutes);
|
|
33
|
+
this.selectedRoute.selected.forEach((item) => {
|
|
34
|
+
const routeData = filteredRoutes.find(x => x.route_id === item.route_id);
|
|
35
|
+
if (!routeData) {
|
|
36
|
+
this.selectedRoute.toggle(item);
|
|
37
|
+
this.changeSelectedRoute.emit(this.selectedRoute);
|
|
38
|
+
this.coolMap.removeRouteAndMarker(item['route_id']).then((res) => {
|
|
39
|
+
this.coolMap.extendReBound();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
removeFromFilter(filter) {
|
|
45
|
+
this.changeNav.emit({ type: 'Addroute' });
|
|
46
|
+
const index = this.filters.indexOf(filter);
|
|
47
|
+
if (index >= 0) {
|
|
48
|
+
this.filters = [];
|
|
49
|
+
this.changeRoutes.emit(this.masterRoutes);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
JobRouteListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobRouteListComponent, deps: [{ token: i1.UtilsService }, { token: i1.CoolmapService }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
JobRouteListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: JobRouteListComponent, selector: "app-job-route-list", inputs: { routes: "routes", selectedRoute: "selectedRoute", masterRoutes: "masterRoutes" }, outputs: { changeNav: "changeNav", changeRoutes: "changeRoutes", changeSelectedRoute: "changeSelectedRoute" }, ngImport: i0, template: "<div class=\"searchprt\">\r\n <form [formGroup]=\"filterForm\">\r\n <mat-form-field class=\"full-width\">\r\n <input matInput [matChipInputFor]=\"chipList\" formControlName=\"search\" [matAutocomplete]=\"auto\" placeholder=\"Search\">\r\n <mat-icon matSuffix *ngIf=\"!utils.conveySearchIcon(filterForm.value.search)\">search</mat-icon>\r\n <button mat-button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"filterForm.reset()\" *ngIf=\"utils.conveySearchIcon(filterForm.value.search)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" (onSelectionChange)=\"filterSearch($event)\"\r\n [value]=\"option\">\r\n {{option.type | titlecase }}: {{option['label']}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n</form>\r\n</div>\r\n<div class=\"chip-list\">\r\n <mat-chip-list #chipList aria-label=\"Filter selection\">\r\n <mat-chip *ngFor=\"let filter of filters\" (removed)=\"removeFromFilter(filter)\">\r\n {{filter.type | titlecase }}: {{filter.name}}\r\n <button matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n </mat-chip-list>\r\n</div>\r\n", styles: [".searchprt{padding-right:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i9.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i9.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }] });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobRouteListComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'app-job-route-list', template: "<div class=\"searchprt\">\r\n <form [formGroup]=\"filterForm\">\r\n <mat-form-field class=\"full-width\">\r\n <input matInput [matChipInputFor]=\"chipList\" formControlName=\"search\" [matAutocomplete]=\"auto\" placeholder=\"Search\">\r\n <mat-icon matSuffix *ngIf=\"!utils.conveySearchIcon(filterForm.value.search)\">search</mat-icon>\r\n <button mat-button matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"filterForm.reset()\" *ngIf=\"utils.conveySearchIcon(filterForm.value.search)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions | async\" (onSelectionChange)=\"filterSearch($event)\"\r\n [value]=\"option\">\r\n {{option.type | titlecase }}: {{option['label']}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n</form>\r\n</div>\r\n<div class=\"chip-list\">\r\n <mat-chip-list #chipList aria-label=\"Filter selection\">\r\n <mat-chip *ngFor=\"let filter of filters\" (removed)=\"removeFromFilter(filter)\">\r\n {{filter.type | titlecase }}: {{filter.name}}\r\n <button matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip>\r\n </mat-chip-list>\r\n</div>\r\n", styles: [".searchprt{padding-right:20px}\n"] }]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.UtilsService }, { type: i1.CoolmapService }]; }, propDecorators: { changeNav: [{
|
|
59
|
+
type: Output
|
|
60
|
+
}], routes: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], selectedRoute: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], changeRoutes: [{
|
|
65
|
+
type: Output
|
|
66
|
+
}], changeSelectedRoute: [{
|
|
67
|
+
type: Output
|
|
68
|
+
}], masterRoutes: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXJvdXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvam9iLXJvdXRlLWxpc3Qvam9iLXJvdXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvam9iLXJvdXRlLWxpc3Qvam9iLXJvdXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPbEQsTUFBTSxPQUFPLHFCQUFxQjtJQVloQyxZQUFtQixLQUFtQixFQUFVLE9BQXVCO1FBQXBELFVBQUssR0FBTCxLQUFLLENBQWM7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQVg3RCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFHdkQsZUFBVSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSXpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDaEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFJdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDbkYsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFNO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxSixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNoRCxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFXO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FBRTtJQUNuRixDQUFDOzttSEF6Q1UscUJBQXFCO3VHQUFyQixxQkFBcUIscVFDVmxDLDB6Q0EyQkE7NEZEakJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0I7Z0lBS3BCLFNBQVM7c0JBQWxCLE1BQU07Z0JBS1MsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsbUJBQW1CO3NCQUFuQyxNQUFNO2dCQUNTLFlBQVk7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb29sbWFwU2VydmljZSwgUm91dGUsIFV0aWxzU2VydmljZSB9IGZyb20gJ2Nvb2xtYXAtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtam9iLXJvdXRlLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9qb2Itcm91dGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vam9iLXJvdXRlLWxpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSm9iUm91dGVMaXN0Q29tcG9uZW50IHtcclxuICBAT3V0cHV0KCkgY2hhbmdlTmF2ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBhbnk+KCk7XHJcbiAgZmlsdGVyZWRPcHRpb25zITogT2JzZXJ2YWJsZTxhbnlbXT4gfCB1bmRlZmluZWQ7XHJcbiAgcHJldmVudExpc3RVcGRhdGU6IGJvb2xlYW47XHJcbiAgZmlsdGVyRm9ybSA9IG5ldyBGb3JtR3JvdXAoeyBzZWFyY2g6IG5ldyBGb3JtQ29udHJvbCgpIH0pO1xyXG4gIGZpbHRlcnM6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb3V0ZXM6IFJvdXRlW107XHJcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkUm91dGU7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VSb3V0ZXMgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IGFueT4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZVNlbGVjdGVkUm91dGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IGFueT4oKTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWFzdGVyUm91dGVzOiBSb3V0ZVtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbHM6IFV0aWxzU2VydmljZSwgcHJpdmF0ZSBjb29sTWFwOiBDb29sbWFwU2VydmljZSkge1xyXG4gICAgdGhpcy5maWx0ZXJzID0gW107XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmlsdGVyRm9ybS5nZXQoJ3NlYXJjaCcpPy52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoJycpLFxyXG4gICAgICBtYXAodmFsdWUgPT4gdGhpcy51dGlscy5maWx0ZXIodmFsdWUsIHRoaXMuZmlsdGVycykpKTtcclxuICB9XHJcblxyXG4gIGZpbHRlclNlYXJjaChlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlTmF2LmVtaXQoeyB0eXBlOiAnQWRkcm91dGUnIH0pO1xyXG4gICAgdGhpcy5wcmV2ZW50TGlzdFVwZGF0ZSA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlckZvcm0uY29udHJvbHMuc2VhcmNoLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5maWx0ZXJzID0gW3sgbmFtZTogZS5zb3VyY2UudmFsdWUubGFiZWwsIHR5cGU6IGUuc291cmNlLnZhbHVlLnR5cGUsIHZhbHVlOiBlLnNvdXJjZS52YWx1ZSB9XTtcclxuICAgIGNvbnN0IGZpbHRlcmVkUm91dGVzID0gdGhpcy51dGlscy5nZXRTZWFyY2hSZXN1bHRzKHRoaXMubWFzdGVyUm91dGVzLCBbeyBuYW1lOiBlLnNvdXJjZS52YWx1ZS5sYWJlbCwgdHlwZTogZS5zb3VyY2UudmFsdWUudHlwZSwgdmFsdWU6IGUuc291cmNlLnZhbHVlIH1dKTtcclxuICAgIHRoaXMuY2hhbmdlUm91dGVzLmVtaXQoZmlsdGVyZWRSb3V0ZXMpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFJvdXRlLnNlbGVjdGVkLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCByb3V0ZURhdGEgPSBmaWx0ZXJlZFJvdXRlcy5maW5kKHggPT4geC5yb3V0ZV9pZCA9PT0gaXRlbS5yb3V0ZV9pZCk7XHJcbiAgICAgIGlmICghcm91dGVEYXRhKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvdXRlLnRvZ2dsZShpdGVtKTtcclxuICAgICAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUm91dGUuZW1pdCh0aGlzLnNlbGVjdGVkUm91dGUpO1xyXG4gICAgICAgIHRoaXMuY29vbE1hcC5yZW1vdmVSb3V0ZUFuZE1hcmtlcihpdGVtWydyb3V0ZV9pZCddKS50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb29sTWFwLmV4dGVuZFJlQm91bmQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHJlbW92ZUZyb21GaWx0ZXIoZmlsdGVyOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlTmF2LmVtaXQoeyB0eXBlOiAnQWRkcm91dGUnIH0pO1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbHRlcnMuaW5kZXhPZihmaWx0ZXIpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHsgdGhpcy5maWx0ZXJzID0gW107IHRoaXMuY2hhbmdlUm91dGVzLmVtaXQodGhpcy5tYXN0ZXJSb3V0ZXMpOyB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwic2VhcmNocHJ0XCI+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgPGlucHV0IG1hdElucHV0IFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiPlxyXG4gICAgICA8bWF0LWljb24gbWF0U3VmZml4ICpuZ0lmPVwiIXV0aWxzLmNvbnZleVNlYXJjaEljb24oZmlsdGVyRm9ybS52YWx1ZS5zZWFyY2gpXCI+c2VhcmNoPC9tYXQtaWNvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKGNsaWNrKT1cImZpbHRlckZvcm0ucmVzZXQoKVwiICpuZ0lmPVwidXRpbHMuY29udmV5U2VhcmNoSWNvbihmaWx0ZXJGb3JtLnZhbHVlLnNlYXJjaClcIj5cclxuICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPG1hdC1hdXRvY29tcGxldGUgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMgfCBhc3luY1wiIChvblNlbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAgICB7e29wdGlvbi50eXBlIHwgdGl0bGVjYXNlIH19OiB7e29wdGlvblsnbGFiZWwnXX19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9mb3JtPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNoaXAtbGlzdFwiPlxyXG4gIDxtYXQtY2hpcC1saXN0ICNjaGlwTGlzdCBhcmlhLWxhYmVsPVwiRmlsdGVyIHNlbGVjdGlvblwiPlxyXG4gICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZmlsdGVyc1wiIChyZW1vdmVkKT1cInJlbW92ZUZyb21GaWx0ZXIoZmlsdGVyKVwiPlxyXG4gICAgICB7e2ZpbHRlci50eXBlIHwgdGl0bGVjYXNlIH19OiB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlPlxyXG4gICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LWNoaXA+XHJcbiAgPC9tYXQtY2hpcC1saXN0PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { JobCodeOverviewData, JobCodeOverviewEnum } from 'coolmap-services';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class JobcodeOverviewComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.label = JobCodeOverviewData;
|
|
8
|
-
this.overViewEnum = JobCodeOverviewEnum;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
JobcodeOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
JobcodeOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: JobcodeOverviewComponent, selector: "app-jobcode-overview", inputs: { jobValue: "jobValue" }, ngImport: i0, template: "<div class=\"detail_view m-40\">\n <ng-container *ngFor=\"let item of label\">\n <span [class.pickprt]=\"item === 'pickup_location'\" [class.dropprt]=\"item === 'delivery_location'\">\n <label>{{overViewEnum[item]}}</label>\n <b> {{jobValue[item] ? jobValue[item] : 'N/A'}} </b>\n </span>\n </ng-container>\n</div>\n", styles: [".detail_view .destination .duration{padding:10px}.detail_view .destination span{padding:5px 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeOverviewComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{ selector: 'app-jobcode-overview', template: "<div class=\"detail_view m-40\">\n <ng-container *ngFor=\"let item of label\">\n <span [class.pickprt]=\"item === 'pickup_location'\" [class.dropprt]=\"item === 'delivery_location'\">\n <label>{{overViewEnum[item]}}</label>\n <b> {{jobValue[item] ? jobValue[item] : 'N/A'}} </b>\n </span>\n </ng-container>\n</div>\n", styles: [".detail_view .destination .duration{padding:10px}.detail_view .destination span{padding:5px 0}\n"] }]
|
|
16
|
-
}], ctorParameters: function () { return []; }, propDecorators: { jobValue: [{
|
|
17
|
-
type: Input
|
|
18
|
-
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { JobCodeOverviewData, JobCodeOverviewEnum } from 'coolmap-services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class JobcodeOverviewComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.label = JobCodeOverviewData;
|
|
8
|
+
this.overViewEnum = JobCodeOverviewEnum;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
JobcodeOverviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
JobcodeOverviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: JobcodeOverviewComponent, selector: "app-jobcode-overview", inputs: { jobValue: "jobValue" }, ngImport: i0, template: "<div class=\"detail_view m-40\">\r\n <ng-container *ngFor=\"let item of label\">\r\n <span [class.pickprt]=\"item === 'pickup_location'\" [class.dropprt]=\"item === 'delivery_location'\">\r\n <label>{{overViewEnum[item]}}</label>\r\n <b> {{jobValue[item] ? jobValue[item] : 'N/A'}} </b>\r\n </span>\r\n </ng-container>\r\n</div>\r\n", styles: [".detail_view .destination .duration{padding:10px}.detail_view .destination span{padding:5px 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeOverviewComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: 'app-jobcode-overview', template: "<div class=\"detail_view m-40\">\r\n <ng-container *ngFor=\"let item of label\">\r\n <span [class.pickprt]=\"item === 'pickup_location'\" [class.dropprt]=\"item === 'delivery_location'\">\r\n <label>{{overViewEnum[item]}}</label>\r\n <b> {{jobValue[item] ? jobValue[item] : 'N/A'}} </b>\r\n </span>\r\n </ng-container>\r\n</div>\r\n", styles: [".detail_view .destination .duration{padding:10px}.detail_view .destination span{padding:5px 0}\n"] }]
|
|
16
|
+
}], ctorParameters: function () { return []; }, propDecorators: { jobValue: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iY29kZS1vdmVydmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29tcG9uZW50L3NoYXJlZC9qb2Jjb2RlLW92ZXJ2aWV3L2pvYmNvZGUtb3ZlcnZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvam9iY29kZS1vdmVydmlldy9qb2Jjb2RlLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFPNUUsTUFBTSxPQUFPLHdCQUF3QjtJQUluQztRQUZBLFVBQUssR0FBRyxtQkFBbUIsQ0FBQztRQUM1QixpQkFBWSxHQUFRLG1CQUFtQixDQUFDO0lBQ3hCLENBQUM7O3NIQUpOLHdCQUF3QjswR0FBeEIsd0JBQXdCLDhGQ1JyQyxnV0FRQTs0RkRBYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzBFQUt2QixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKb2JDb2RlT3ZlcnZpZXdEYXRhLCBKb2JDb2RlT3ZlcnZpZXdFbnVtIH0gZnJvbSAnY29vbG1hcC1zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1qb2Jjb2RlLW92ZXJ2aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vam9iY29kZS1vdmVydmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vam9iY29kZS1vdmVydmlldy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBKb2Jjb2RlT3ZlcnZpZXdDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGpvYlZhbHVlOiBhbnk7XHJcbiAgbGFiZWwgPSBKb2JDb2RlT3ZlcnZpZXdEYXRhO1xyXG4gIG92ZXJWaWV3RW51bTogYW55ID0gSm9iQ29kZU92ZXJ2aWV3RW51bTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGV0YWlsX3ZpZXcgbS00MFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGFiZWxcIj5cclxuICAgIDxzcGFuIFtjbGFzcy5waWNrcHJ0XT1cIml0ZW0gPT09ICdwaWNrdXBfbG9jYXRpb24nXCIgW2NsYXNzLmRyb3BwcnRdPVwiaXRlbSA9PT0gJ2RlbGl2ZXJ5X2xvY2F0aW9uJ1wiPlxyXG4gICAgICA8bGFiZWw+e3tvdmVyVmlld0VudW1baXRlbV19fTwvbGFiZWw+XHJcbiAgICAgIDxiPiB7e2pvYlZhbHVlW2l0ZW1dID8gam9iVmFsdWVbaXRlbV0gOiAnTi9BJ319IDwvYj5cclxuICAgIDwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class JobcodeStatusComponent {
|
|
4
|
-
constructor() { }
|
|
5
|
-
}
|
|
6
|
-
JobcodeStatusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
-
JobcodeStatusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: JobcodeStatusComponent, selector: "app-jobcode-status", inputs: { jobValue: "jobValue" }, ngImport: i0, template: "<div class=\"statusprt\">\n <span class=\"done\"> Done - {{jobValue['values']['Done']}} </span>\n <span class=\"ongoing\"> Ongoing - {{jobValue['values']['Ongoing']}} </span>\n <span class=\"open\"> Open - {{jobValue['values']['Open']}} </span>\n</div>\n", styles: [".statusprt span{padding:10px;font-size:.9rem}.statusprt span.done{border:2px solid #0b843c;color:#0b843c}.statusprt span.done:hover{background:#0b843c;color:#fff}.statusprt span.ongoing{border:2px solid #eecb27;color:#eecb27}.statusprt span.ongoing:hover{background:#eecb27;color:#fff}.statusprt span.open{border:2px solid #12afcb;color:#12afcb}.statusprt span.open:hover{background:#12afcb;color:#fff}\n"] });
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeStatusComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{ selector: 'app-jobcode-status', template: "<div class=\"statusprt\">\n <span class=\"done\"> Done - {{jobValue['values']['Done']}} </span>\n <span class=\"ongoing\"> Ongoing - {{jobValue['values']['Ongoing']}} </span>\n <span class=\"open\"> Open - {{jobValue['values']['Open']}} </span>\n</div>\n", styles: [".statusprt span{padding:10px;font-size:.9rem}.statusprt span.done{border:2px solid #0b843c;color:#0b843c}.statusprt span.done:hover{background:#0b843c;color:#fff}.statusprt span.ongoing{border:2px solid #eecb27;color:#eecb27}.statusprt span.ongoing:hover{background:#eecb27;color:#fff}.statusprt span.open{border:2px solid #12afcb;color:#12afcb}.statusprt span.open:hover{background:#12afcb;color:#fff}\n"] }]
|
|
11
|
-
}], ctorParameters: function () { return []; }, propDecorators: { jobValue: [{
|
|
12
|
-
type: Input
|
|
13
|
-
}] } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class JobcodeStatusComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
JobcodeStatusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
JobcodeStatusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: JobcodeStatusComponent, selector: "app-jobcode-status", inputs: { jobValue: "jobValue" }, ngImport: i0, template: "<div class=\"statusprt\">\r\n <span class=\"done\"> Done - {{jobValue['values']['Done']}} </span>\r\n <span class=\"ongoing\"> Ongoing - {{jobValue['values']['Ongoing']}} </span>\r\n <span class=\"open\"> Open - {{jobValue['values']['Open']}} </span>\r\n</div>\r\n", styles: [".statusprt span{padding:10px;font-size:.9rem}.statusprt span.done{border:2px solid #0b843c;color:#0b843c}.statusprt span.done:hover{background:#0b843c;color:#fff}.statusprt span.ongoing{border:2px solid #eecb27;color:#eecb27}.statusprt span.ongoing:hover{background:#eecb27;color:#fff}.statusprt span.open{border:2px solid #12afcb;color:#12afcb}.statusprt span.open:hover{background:#12afcb;color:#fff}\n"] });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: JobcodeStatusComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'app-jobcode-status', template: "<div class=\"statusprt\">\r\n <span class=\"done\"> Done - {{jobValue['values']['Done']}} </span>\r\n <span class=\"ongoing\"> Ongoing - {{jobValue['values']['Ongoing']}} </span>\r\n <span class=\"open\"> Open - {{jobValue['values']['Open']}} </span>\r\n</div>\r\n", styles: [".statusprt span{padding:10px;font-size:.9rem}.statusprt span.done{border:2px solid #0b843c;color:#0b843c}.statusprt span.done:hover{background:#0b843c;color:#fff}.statusprt span.ongoing{border:2px solid #eecb27;color:#eecb27}.statusprt span.ongoing:hover{background:#eecb27;color:#fff}.statusprt span.open{border:2px solid #12afcb;color:#12afcb}.statusprt span.open:hover{background:#12afcb;color:#fff}\n"] }]
|
|
11
|
+
}], ctorParameters: function () { return []; }, propDecorators: { jobValue: [{
|
|
12
|
+
type: Input
|
|
13
|
+
}] } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iY29kZS1zdGF0dXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvam9iY29kZS1zdGF0dXMvam9iY29kZS1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvam9iY29kZS1zdGF0dXMvam9iY29kZS1zdGF0dXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUWpELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7O29IQUZOLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDRGQ1JuQyw2UUFLQTs0RkRHYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQUtyQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ2Nvb2xtYXAtc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtam9iY29kZS1zdGF0dXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9qb2Jjb2RlLXN0YXR1cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vam9iY29kZS1zdGF0dXMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSm9iY29kZVN0YXR1c0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgam9iVmFsdWUhOiBSb3V0ZVxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN0YXR1c3BydFwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZG9uZVwiPiBEb25lIC0ge3tqb2JWYWx1ZVsndmFsdWVzJ11bJ0RvbmUnXX19IDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cIm9uZ29pbmdcIj4gT25nb2luZyAtIHt7am9iVmFsdWVbJ3ZhbHVlcyddWydPbmdvaW5nJ119fSA8L3NwYW4+XHJcbiAgPHNwYW4gY2xhc3M9XCJvcGVuXCI+IE9wZW4gLSB7e2pvYlZhbHVlWyd2YWx1ZXMnXVsnT3BlbiddfX0gPC9zcGFuPlxyXG48L2Rpdj5cclxuIl19
|