@aggdirect/coolmap 0.0.9 → 0.1.3

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.
Files changed (105) hide show
  1. package/README.md +0 -33
  2. package/karma.conf.js +44 -0
  3. package/ng-package.json +7 -0
  4. package/package.json +5 -31
  5. package/src/assets/mixin.scss +28 -0
  6. package/src/assets/palette.scss +24 -0
  7. package/src/assets/variable.scss +15 -0
  8. package/src/lib/component/add-route/add-route.component.html +140 -0
  9. package/src/lib/component/add-route/add-route.component.scss +235 -0
  10. package/src/lib/component/add-route/add-route.component.spec.ts +23 -0
  11. package/src/lib/component/add-route/add-route.component.ts +270 -0
  12. package/src/lib/component/job-code/job-code.component.html +93 -0
  13. package/src/lib/component/job-code/job-code.component.scss +427 -0
  14. package/src/lib/component/job-code/job-code.component.ts +94 -0
  15. package/src/lib/component/map/map.component.css +0 -0
  16. package/src/lib/component/map/map.component.html +5 -0
  17. package/src/lib/component/map/map.component.spec.ts +23 -0
  18. package/src/lib/component/map/map.component.ts +33 -0
  19. package/src/lib/component/nav/layout/add-route-nav/add-route-nav.component.html +44 -0
  20. package/src/lib/component/nav/layout/add-route-nav/add-route-nav.component.scss +0 -0
  21. package/src/lib/component/nav/layout/add-route-nav/add-route-nav.component.spec.ts +23 -0
  22. package/src/lib/component/nav/layout/add-route-nav/add-route-nav.component.ts +70 -0
  23. package/src/lib/component/nav/layout/job-code-nav/job-code-nav.component.html +43 -0
  24. package/src/lib/component/nav/layout/job-code-nav/job-code-nav.component.scss +5 -0
  25. package/src/lib/component/nav/layout/job-code-nav/job-code-nav.component.ts +64 -0
  26. package/src/lib/component/nav/nav.component.html +19 -0
  27. package/src/lib/component/nav/nav.component.scss +65 -0
  28. package/src/lib/component/nav/nav.component.ts +38 -0
  29. package/src/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.html +56 -0
  30. package/src/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.scss +167 -0
  31. package/src/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.spec.ts +23 -0
  32. package/src/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.ts +42 -0
  33. package/src/lib/component/route-jobcode-list/route-jobcode-list.component.html +66 -0
  34. package/src/lib/component/route-jobcode-list/route-jobcode-list.component.scss +226 -0
  35. package/src/lib/component/route-jobcode-list/route-jobcode-list.component.ts +234 -0
  36. package/src/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.html +7 -0
  37. package/src/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.scss +10 -0
  38. package/src/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.spec.ts +23 -0
  39. package/src/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.ts +15 -0
  40. package/src/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.html +30 -0
  41. package/src/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.scss +172 -0
  42. package/src/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.spec.ts +23 -0
  43. package/src/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.ts +19 -0
  44. package/src/lib/component/shared/dialog/dialog.component.html +7 -0
  45. package/src/lib/component/shared/dialog/dialog.component.scss +30 -0
  46. package/src/lib/component/shared/dialog/dialog.component.ts +18 -0
  47. package/src/lib/component/shared/job-route-list/job-route-list.component.html +27 -0
  48. package/src/lib/component/shared/job-route-list/job-route-list.component.scss +3 -0
  49. package/src/lib/component/shared/job-route-list/job-route-list.component.spec.ts +23 -0
  50. package/src/lib/component/shared/job-route-list/job-route-list.component.ts +54 -0
  51. package/src/lib/component/shared/jobcode-overview/jobcode-overview.component.html +8 -0
  52. package/src/lib/component/shared/jobcode-overview/jobcode-overview.component.scss +12 -0
  53. package/src/lib/component/shared/jobcode-overview/jobcode-overview.component.spec.ts +23 -0
  54. package/src/lib/component/shared/jobcode-overview/jobcode-overview.component.ts +15 -0
  55. package/src/lib/component/shared/jobcode-status/jobcode-status.component.html +5 -0
  56. package/src/lib/component/shared/jobcode-status/jobcode-status.component.scss +32 -0
  57. package/src/lib/component/shared/jobcode-status/jobcode-status.component.spec.ts +23 -0
  58. package/src/lib/component/shared/jobcode-status/jobcode-status.component.ts +12 -0
  59. package/src/lib/coolmap.component.ts +20 -0
  60. package/src/lib/coolmap.module.ts +92 -0
  61. package/src/public-api.ts +10 -0
  62. package/src/test.ts +27 -0
  63. package/tsconfig.lib.json +15 -0
  64. package/tsconfig.lib.prod.json +10 -0
  65. package/tsconfig.spec.json +17 -0
  66. package/esm2020/aggdirect-coolmap.mjs +0 -5
  67. package/esm2020/lib/component/add-route/add-route.component.mjs +0 -310
  68. package/esm2020/lib/component/job-code/job-code.component.mjs +0 -114
  69. package/esm2020/lib/component/map/map.component.mjs +0 -37
  70. package/esm2020/lib/component/nav/layout/add-route-nav/add-route-nav.component.mjs +0 -87
  71. package/esm2020/lib/component/nav/layout/job-code-nav/job-code-nav.component.mjs +0 -89
  72. package/esm2020/lib/component/nav/nav.component.mjs +0 -52
  73. package/esm2020/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.mjs +0 -68
  74. package/esm2020/lib/component/route-jobcode-list/route-jobcode-list.component.mjs +0 -314
  75. package/esm2020/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.mjs +0 -19
  76. package/esm2020/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.mjs +0 -29
  77. package/esm2020/lib/component/shared/dialog/dialog.component.mjs +0 -29
  78. package/esm2020/lib/component/shared/job-route-list/job-route-list.component.mjs +0 -71
  79. package/esm2020/lib/component/shared/jobcode-overview/jobcode-overview.component.mjs +0 -19
  80. package/esm2020/lib/component/shared/jobcode-status/jobcode-status.component.mjs +0 -14
  81. package/esm2020/lib/coolmap.component.mjs +0 -22
  82. package/esm2020/lib/coolmap.module.mjs +0 -156
  83. package/esm2020/public-api.mjs +0 -16
  84. package/fesm2015/aggdirect-coolmap.mjs +0 -1343
  85. package/fesm2015/aggdirect-coolmap.mjs.map +0 -1
  86. package/fesm2020/aggdirect-coolmap.mjs +0 -1316
  87. package/fesm2020/aggdirect-coolmap.mjs.map +0 -1
  88. package/index.d.ts +0 -5
  89. package/lib/component/add-route/add-route.component.d.ts +0 -62
  90. package/lib/component/job-code/job-code.component.d.ts +0 -31
  91. package/lib/component/map/map.component.d.ts +0 -14
  92. package/lib/component/nav/layout/add-route-nav/add-route-nav.component.d.ts +0 -40
  93. package/lib/component/nav/layout/job-code-nav/job-code-nav.component.d.ts +0 -38
  94. package/lib/component/nav/nav.component.d.ts +0 -30
  95. package/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.d.ts +0 -19
  96. package/lib/component/route-jobcode-list/route-jobcode-list.component.d.ts +0 -42
  97. package/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.d.ts +0 -9
  98. package/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.d.ts +0 -11
  99. package/lib/component/shared/dialog/dialog.component.d.ts +0 -13
  100. package/lib/component/shared/job-route-list/job-route-list.component.d.ts +0 -26
  101. package/lib/component/shared/jobcode-overview/jobcode-overview.component.d.ts +0 -9
  102. package/lib/component/shared/jobcode-status/jobcode-status.component.d.ts +0 -8
  103. package/lib/coolmap.component.d.ts +0 -8
  104. package/lib/coolmap.module.d.ts +0 -40
  105. package/public-api.d.ts +0 -12
@@ -0,0 +1,172 @@
1
+ @import "../../../../assets/variable.scss";
2
+ .routebox{
3
+ span {
4
+ display: flex;
5
+ align-items: center;
6
+ h2 {
7
+ margin-left: 5px;
8
+ white-space: nowrap;
9
+ overflow: hidden;
10
+ text-overflow: ellipsis;
11
+ max-width: 180px;
12
+ margin-bottom: 5px;
13
+ margin-top: 5px;
14
+ font-size: 0.95rem;
15
+ }
16
+ }
17
+ h3 {
18
+ font-size: 0.85rem;
19
+ color: $softgrey;
20
+ font-weight: 400;
21
+ margin-top: 0;
22
+ white-space: nowrap;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ max-width: 325px;
26
+ margin-bottom: 10px;
27
+ }
28
+ .pickdropprt {
29
+ font-size: 0.8125rem;
30
+ .pickprt {
31
+ position: relative;
32
+ display: flex;
33
+ align-items: center;
34
+ padding-bottom: 6px;
35
+ span {
36
+ padding-left: 0;
37
+ padding-right: 20px;
38
+ display: block;
39
+ }
40
+ b {
41
+ position: relative;
42
+ font-weight: normal;
43
+ &:after {
44
+ background: $black;
45
+ width: 1px;
46
+ height: 100%;
47
+ left: 3px;
48
+ content: "";
49
+ position: absolute;
50
+ top: 10px;
51
+ }
52
+ }
53
+ h4 {
54
+ position: relative;
55
+ padding-left: 15px;
56
+ margin: 0px 0 0 0;
57
+ line-height: 18px;
58
+ font-weight: normal;
59
+ overflow: hidden;
60
+ text-overflow: ellipsis;
61
+ display: -webkit-box;
62
+ -webkit-line-clamp: 1;
63
+ -webkit-box-orient: vertical;
64
+ max-width: 215px;
65
+ @media (min-width:1600px) {
66
+ max-width: 265px;
67
+ }
68
+ &:before {
69
+ background: $black;
70
+ top: 4px;
71
+ left: 0px;
72
+ position: absolute;
73
+ content: "";
74
+ width: 7px;
75
+ height: 7px;
76
+ border-radius: 100%;
77
+ }
78
+ }
79
+ }
80
+ .dropprt {
81
+ position: relative;
82
+ padding-bottom: 10px;
83
+ display: flex;
84
+ align-items: center;
85
+ span {
86
+ padding-left: 0;
87
+ padding-right: 20px;
88
+ display: block;
89
+ }
90
+ b {
91
+ position: relative;
92
+ font-weight: normal;
93
+ &:after {
94
+ background: $black;
95
+ width: 1px;
96
+ height: 12px;
97
+ left: 3px;
98
+ content: "";
99
+ position: absolute;
100
+ top: -7px;
101
+ }
102
+ }
103
+ h4 {
104
+ position: relative;
105
+ padding-left: 15px;
106
+ margin: 0;
107
+ line-height: 18px;
108
+ font-weight: normal;
109
+ overflow: hidden;
110
+ text-overflow: ellipsis;
111
+ display: -webkit-box;
112
+ -webkit-line-clamp: 1;
113
+ -webkit-box-orient: vertical;
114
+ max-width: 215px;
115
+ &:before {
116
+ background: $black;
117
+ top: 4px;
118
+ left: 0px;
119
+ position: absolute;
120
+ content: "";
121
+ width: 7px;
122
+ height: 7px;
123
+ border-radius: 100%;
124
+ }
125
+ }
126
+ }
127
+ }
128
+ .infoicon{
129
+ position: absolute;
130
+ right:10px;
131
+ bottom: 10px;
132
+ img{
133
+ width: 20px;
134
+ height: 20px;
135
+ }
136
+ }
137
+ .status {
138
+ position: absolute;
139
+ border-radius: 30px;
140
+ top: 12px;
141
+ right: 40px;
142
+ font-size: 0;
143
+ color: $white;
144
+ text-transform: capitalize;
145
+ font-weight: 500;
146
+ padding: 3px 10px;
147
+ &.routestatus{
148
+ right: 10px;
149
+ width: 20px;
150
+ height: 20px;
151
+ text-align: center;
152
+ line-height: 20px;
153
+ padding: 0 0 0 1px;
154
+ &::first-letter{
155
+ font-size: 0.8rem;
156
+ }
157
+ @media (min-width:1600px) {
158
+ padding: 0px;
159
+ line-height: 22px;
160
+ }
161
+ }
162
+ &.Ton {
163
+ background: #ff7272;
164
+ }
165
+ &.Load {
166
+ background: #a3c52e;
167
+ }
168
+ &.Hourly {
169
+ background: #ae23d1;
170
+ }
171
+ }
172
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { ViewRouteListCardComponent } from './view-route-list-card.component';
4
+
5
+ describe('ViewRouteListCardComponent', () => {
6
+ let component: ViewRouteListCardComponent;
7
+ let fixture: ComponentFixture<ViewRouteListCardComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ ViewRouteListCardComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(ViewRouteListCardComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Route, UtilsService } from 'coolmap-services';
3
+
4
+ @Component({
5
+ selector: 'app-view-route-list-card',
6
+ templateUrl: './view-route-list-card.component.html',
7
+ styleUrls: ['./view-route-list-card.component.scss']
8
+ })
9
+ export class ViewRouteListCardComponent {
10
+ @Input() route!: Route;
11
+ @Input() emitrouteevent: any;
12
+ constructor(private utils: UtilsService) { }
13
+
14
+ detailsDict(event: boolean | string, route: Route) {
15
+ if(event === 'click') this.utils.setdictValue('route-detailsv2', JSON.stringify(route));
16
+ route['type'] = 'editroute'; route['prevent'] = true; this.emitrouteevent.emit(route);
17
+ this.utils.routeDetailsUtility.next({ event, route });
18
+ }
19
+ }
@@ -0,0 +1,7 @@
1
+ <div class="dialogbox">
2
+ <h2>{{body}}</h2>
3
+ <div class="twobtnprt">
4
+ <button class="delbtn" (click)="onClose(true)">{{positive}}</button>
5
+ <button class="closebtn" (click)="onClose(false)">{{negative}}</button>
6
+ </div>
7
+ </div>
@@ -0,0 +1,30 @@
1
+ @import "../../../../assets/variable.scss";
2
+
3
+ .dialogbox{
4
+ display: flex;
5
+ flex-direction: column;
6
+ h2{
7
+ font-size: 1.5rem;
8
+ }
9
+ .twobtnprt{
10
+ display: flex;
11
+ justify-content: center;
12
+ margin-top: 10px;
13
+ }
14
+ }
15
+ .closebtn{
16
+ background: $black;
17
+ color: $white;
18
+ border-radius: 30px;
19
+ padding: 10px 18px 10px 18px;
20
+ margin: 0 10px;
21
+ font-size: 1rem;
22
+ }
23
+ .delbtn{
24
+ background:red;
25
+ color: $white;
26
+ border-radius: 30px;
27
+ padding: 10px 18px 10px 18px;
28
+ margin: 0 10px;
29
+ font-size: 1rem;
30
+ }
@@ -0,0 +1,18 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import {MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';
3
+ @Component({
4
+ selector: 'app-dialog',
5
+ templateUrl: './dialog.component.html',
6
+ styleUrls: ['./dialog.component.scss']
7
+ })
8
+ export class DialogComponent {
9
+ body = 'Are you sure you want to delete?';
10
+ positive = 'Delete';
11
+ negative = 'Cancel';
12
+ constructor(public dialogRef: MatDialogRef<DialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
13
+ ['body', 'positive', 'negative'].map(elem => {
14
+ if (this.data[elem] !== undefined) { this[elem] = this.data[elem] }
15
+ });
16
+ }
17
+ onClose(result: boolean) { this.dialogRef.close(result) }
18
+ }
@@ -0,0 +1,27 @@
1
+ <div class="searchprt">
2
+ <form [formGroup]="filterForm">
3
+ <mat-form-field class="full-width">
4
+ <input matInput [matChipInputFor]="chipList" formControlName="search" [matAutocomplete]="auto" placeholder="Search">
5
+ <mat-icon matSuffix *ngIf="!utils.conveySearchIcon(filterForm.value.search)">search</mat-icon>
6
+ <button mat-button matSuffix mat-icon-button aria-label="Clear" (click)="filterForm.reset()" *ngIf="utils.conveySearchIcon(filterForm.value.search)">
7
+ <mat-icon>close</mat-icon>
8
+ </button>
9
+ <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete">
10
+ <mat-option *ngFor="let option of filteredOptions | async" (onSelectionChange)="filterSearch($event)"
11
+ [value]="option">
12
+ {{option.type | titlecase }}: {{option['label']}}
13
+ </mat-option>
14
+ </mat-autocomplete>
15
+ </mat-form-field>
16
+ </form>
17
+ </div>
18
+ <div class="chip-list">
19
+ <mat-chip-list #chipList aria-label="Filter selection">
20
+ <mat-chip *ngFor="let filter of filters" (removed)="removeFromFilter(filter)">
21
+ {{filter.type | titlecase }}: {{filter.name}}
22
+ <button matChipRemove>
23
+ <mat-icon>cancel</mat-icon>
24
+ </button>
25
+ </mat-chip>
26
+ </mat-chip-list>
27
+ </div>
@@ -0,0 +1,3 @@
1
+ .searchprt{
2
+ padding-right: 20px;
3
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { JobRouteListComponent } from './job-route-list.component';
4
+
5
+ describe('JobRouteListComponent', () => {
6
+ let component: JobRouteListComponent;
7
+ let fixture: ComponentFixture<JobRouteListComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ JobRouteListComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(JobRouteListComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,54 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import { CoolmapService, Route, UtilsService } from 'coolmap-services';
4
+ import { map, Observable, startWith } from 'rxjs';
5
+
6
+ @Component({
7
+ selector: 'app-job-route-list',
8
+ templateUrl: './job-route-list.component.html',
9
+ styleUrls: ['./job-route-list.component.scss']
10
+ })
11
+ export class JobRouteListComponent {
12
+ @Output() changeNav = new EventEmitter<string | any>();
13
+ filteredOptions!: Observable<any[]> | undefined;
14
+ preventListUpdate: boolean;
15
+ filterForm = new FormGroup({ search: new FormControl() });
16
+ filters: any[];
17
+ @Input() routes: Route[];
18
+ @Input() selectedRoute;
19
+ @Output() changeRoutes = new EventEmitter<string | any>();
20
+ @Output() changeSelectedRoute = new EventEmitter<string | any>();
21
+ @Input() masterRoutes: Route[];
22
+
23
+ constructor(public utils: UtilsService, private coolMap: CoolmapService) {
24
+ this.filters = [];
25
+ this.filteredOptions = this.filterForm.get('search')?.valueChanges.pipe(startWith(''),
26
+ map(value => this.utils.filter(value, this.filters)));
27
+ }
28
+
29
+ filterSearch(e: any): void {
30
+ this.changeNav.emit({ type: 'Addroute' });
31
+ this.preventListUpdate = true;
32
+ this.filterForm.controls.search.setValue(null);
33
+ this.filters = [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }];
34
+ const filteredRoutes = this.utils.getSearchResults(this.masterRoutes, [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }]);
35
+ this.changeRoutes.emit(filteredRoutes);
36
+ this.selectedRoute.selected.forEach((item: any) => {
37
+ const routeData = filteredRoutes.find(x => x.route_id === item.route_id);
38
+ if (!routeData) {
39
+ this.selectedRoute.toggle(item);
40
+ this.changeSelectedRoute.emit(this.selectedRoute);
41
+ this.coolMap.removeRouteAndMarker(item['route_id']).then((res: any) => {
42
+ this.coolMap.extendReBound();
43
+ });
44
+ }
45
+ })
46
+ }
47
+
48
+ removeFromFilter(filter: any): void {
49
+ this.changeNav.emit({ type: 'Addroute' });
50
+ const index = this.filters.indexOf(filter);
51
+ if (index >= 0) { this.filters = []; this.changeRoutes.emit(this.masterRoutes); }
52
+ }
53
+ }
54
+
@@ -0,0 +1,8 @@
1
+ <div class="detail_view m-40">
2
+ <ng-container *ngFor="let item of label">
3
+ <span [class.pickprt]="item === 'pickup_location'" [class.dropprt]="item === 'delivery_location'">
4
+ <label>{{overViewEnum[item]}}</label>
5
+ <b> {{jobValue[item] ? jobValue[item] : 'N/A'}} </b>
6
+ </span>
7
+ </ng-container>
8
+ </div>
@@ -0,0 +1,12 @@
1
+ @import "../../../../assets/variable.scss";
2
+
3
+ .detail_view{
4
+ .destination{
5
+ .duration{
6
+ padding: 10px;
7
+ }
8
+ span{
9
+ padding: 5px 0;
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { JobcodeOverviewComponent } from './jobcode-overview.component';
4
+
5
+ describe('JobcodeOverviewComponent', () => {
6
+ let component: JobcodeOverviewComponent;
7
+ let fixture: ComponentFixture<JobcodeOverviewComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ JobcodeOverviewComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(JobcodeOverviewComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,15 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { JobCodeOverviewData, JobCodeOverviewEnum } from 'coolmap-services';
3
+
4
+ @Component({
5
+ selector: 'app-jobcode-overview',
6
+ templateUrl: './jobcode-overview.component.html',
7
+ styleUrls: ['./jobcode-overview.component.scss']
8
+ })
9
+ export class JobcodeOverviewComponent {
10
+ @Input() jobValue: any;
11
+ label = JobCodeOverviewData;
12
+ overViewEnum: any = JobCodeOverviewEnum;
13
+ constructor() { }
14
+
15
+ }
@@ -0,0 +1,5 @@
1
+ <div class="statusprt">
2
+ <span class="done"> Done - {{jobValue['values']['Done']}} </span>
3
+ <span class="ongoing"> Ongoing - {{jobValue['values']['Ongoing']}} </span>
4
+ <span class="open"> Open - {{jobValue['values']['Open']}} </span>
5
+ </div>
@@ -0,0 +1,32 @@
1
+ @import "../../../../assets/variable.scss";
2
+
3
+ .statusprt{
4
+ span{
5
+ padding: 10px 10px;
6
+ font-size: 0.9rem;
7
+ &.done{
8
+ border:2px solid #0b843c;
9
+ color: #0b843c;
10
+ &:hover{
11
+ background: #0b843c;
12
+ color: $white;
13
+ }
14
+ }
15
+ &.ongoing{
16
+ border:2px solid #eecb27;
17
+ color: #eecb27;
18
+ &:hover{
19
+ background: #eecb27;
20
+ color: $white;
21
+ }
22
+ }
23
+ &.open{
24
+ border:2px solid #12afcb;
25
+ color: #12afcb;
26
+ &:hover{
27
+ background: #12afcb;
28
+ color: $white;
29
+ }
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { JobcodeStatusComponent } from './jobcode-status.component';
4
+
5
+ describe('JobcodeStatusComponent', () => {
6
+ let component: JobcodeStatusComponent;
7
+ let fixture: ComponentFixture<JobcodeStatusComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ JobcodeStatusComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(JobcodeStatusComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,12 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Route } from 'coolmap-services';
3
+
4
+ @Component({
5
+ selector: 'app-jobcode-status',
6
+ templateUrl: './jobcode-status.component.html',
7
+ styleUrls: ['./jobcode-status.component.scss']
8
+ })
9
+ export class JobcodeStatusComponent {
10
+ @Input() jobValue!: Route
11
+ constructor() { }
12
+ }
@@ -0,0 +1,20 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'lib-coolmap',
5
+ template: `
6
+ <p>
7
+ coolmap works!
8
+ </p>
9
+ `,
10
+ styles: [
11
+ ]
12
+ })
13
+ export class CoolmapComponent implements OnInit {
14
+
15
+ constructor() { }
16
+
17
+ ngOnInit(): void {
18
+ }
19
+
20
+ }
@@ -0,0 +1,92 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CoolmapComponent } from './coolmap.component';
3
+ import { MapComponent } from './component/map/map.component';
4
+ import { NavComponent } from './component/nav/nav.component';
5
+
6
+ import { MatSidenavModule } from '@angular/material/sidenav';
7
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
8
+ import { DragDropModule } from '@angular/cdk/drag-drop';
9
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatSelectModule } from '@angular/material/select';
12
+ import { MatIconModule } from '@angular/material/icon';
13
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
14
+ import { MatFormFieldModule } from '@angular/material/form-field';
15
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
16
+ import { MatChipsModule } from '@angular/material/chips';
17
+ import { MatDialogModule } from '@angular/material/dialog';
18
+ import { CommonModule } from '@angular/common';
19
+ import {MatTooltipModule} from '@angular/material/tooltip';
20
+ import { AddRouteNavComponent } from './component/nav/layout/add-route-nav/add-route-nav.component';
21
+ import { JobCodeNavComponent } from './component/nav/layout/job-code-nav/job-code-nav.component';
22
+ import { MatDatepickerModule } from '@angular/material/datepicker';
23
+ import { MatNativeDateModule, MatPseudoCheckboxModule } from '@angular/material/core';
24
+ import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';
25
+ import { MatButtonModule } from '@angular/material/button';
26
+ import {MatProgressBarModule} from '@angular/material/progress-bar';
27
+ import { RouteJobCodeListComponent } from './component/route-jobcode-list/route-jobcode-list.component';
28
+ import { ViewRouteListCardComponent } from './component/route-jobcode-list/view-route-list-card/view-route-list-card.component';
29
+ import { SmsCardDetailsOverviewComponent } from './component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component';
30
+ import { JobCodeListCardComponent } from './component/route-jobcode-list/job-code-list-card/job-code-list-card.component';
31
+ import { JobCodeComponent } from './component/job-code/job-code.component';
32
+ import { JobcodeStatusComponent } from './component/shared/jobcode-status/jobcode-status.component';
33
+ import { JobRouteListComponent } from './component/shared/job-route-list/job-route-list.component';
34
+ import { JobcodeOverviewComponent } from './component/shared/jobcode-overview/jobcode-overview.component';
35
+ import { DialogComponent } from './component/shared/dialog/dialog.component';
36
+
37
+
38
+
39
+ @NgModule({
40
+ declarations: [
41
+ CoolmapComponent,
42
+ MapComponent,
43
+ NavComponent,
44
+ AddRouteNavComponent,
45
+ JobCodeNavComponent,
46
+ RouteJobCodeListComponent,
47
+ ViewRouteListCardComponent,
48
+ SmsCardDetailsOverviewComponent,
49
+ JobCodeListCardComponent,
50
+ JobCodeComponent,
51
+ JobRouteListComponent,
52
+ JobcodeStatusComponent,
53
+ JobcodeOverviewComponent,
54
+ DialogComponent
55
+ ],
56
+ imports: [
57
+ CommonModule,
58
+ MatSnackBarModule,
59
+ MatSidenavModule,
60
+ DragDropModule,
61
+ FormsModule,
62
+ MatInputModule,
63
+ MatSelectModule,
64
+ MatIconModule,
65
+ ReactiveFormsModule,
66
+ MatAutocompleteModule,
67
+ MatFormFieldModule,
68
+ MatProgressSpinnerModule,
69
+ MatChipsModule,
70
+ MatDialogModule,
71
+ MatTooltipModule,
72
+ MatDatepickerModule,
73
+ MatNativeDateModule,
74
+ PerfectScrollbarModule,
75
+ MatPseudoCheckboxModule,
76
+ MatButtonModule,
77
+ MatProgressBarModule,
78
+ ],
79
+ exports: [
80
+ CoolmapComponent,
81
+ MapComponent,
82
+ NavComponent,
83
+ AddRouteNavComponent,
84
+ JobCodeNavComponent
85
+ ],
86
+ entryComponents: [
87
+ DialogComponent
88
+ ],
89
+ providers: [
90
+ ]
91
+ })
92
+ export class CoolmapModule { }
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Public API Surface of coolmap
3
+ */
4
+
5
+ export * from './lib/coolmap.component';
6
+ export * from './lib/coolmap.module';
7
+ export * from './lib/component/map/map.component';
8
+ export * from './lib/component/nav/nav.component';
9
+ export * from './lib/component/nav/layout/add-route-nav/add-route-nav.component';
10
+ export * from './lib/component/nav/layout/job-code-nav/job-code-nav.component';