@tuki-io/tuki-widgets 0.0.120 → 0.0.121

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 (34) hide show
  1. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  2. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
  3. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  4. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  5. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  6. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
  7. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  8. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  9. package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
  10. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
  11. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  12. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  13. package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
  14. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  15. package/esm2020/users-list/src/services/users-search.service.mjs +21 -16
  16. package/esm2020/users-list/src/users-list.component.mjs +16 -17
  17. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  18. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +4 -4
  19. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  20. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +6 -6
  21. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  22. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  23. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  24. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +37 -33
  25. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  26. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +4 -4
  27. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  28. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +6 -6
  29. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  30. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  31. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  32. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +37 -33
  33. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  34. package/package.json +1 -1
@@ -26,13 +26,13 @@ export class ProgressBarComponent {
26
26
  }
27
27
  }
28
28
  ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ProgressBarComponent, selector: "app-progress-bar", inputs: { isAvailable: "isAvailable", progress: "progress" }, ngImport: i0, template: "<!--<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\r\n <div class=\"progress-bar {{color}}\" [ngStyle]=\"{'width': progress + '%'}\"></div>\r\n</div>-->\r\n<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\r\n <div class=\"progress-bar\" [ngClass]=\"color\" [style.width.%]=\"progress\"></div>\r\n</div>\r\n", styles: [".progress-bar-container{background-color:#e5e5e5;border-radius:20px;width:100%}.progress-bar{height:7px;width:0;border-radius:15px;text-align:center}.progress-percent{font-weight:600}.progress-bar.green{background-color:#94d326}.progress-bar.red{background-color:#ed4364}.progress-bar.yellow{background-color:#fed200}.progress-bar{height:8px;border-radius:4px;transition:width .25s ease,background-color .25s ease}.progress-bar.red{background-color:#e53935}.progress-bar.yellow{background-color:#fbc02d}.progress-bar.darkblue{background-color:#1e3a8a}.progress-bar.lightblue{background-color:#60a5fa}.progress-bar.green{background-color:#22c55e}.progress-bar.grey{background-color:#9ca3af}.progress-bar.darkblue{background-color:#2c355d}.progress-bar.lightblue{background-color:#2299d9}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
29
+ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ProgressBarComponent, selector: "app-progress-bar", inputs: { isAvailable: "isAvailable", progress: "progress" }, ngImport: i0, template: "<!--<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\n <div class=\"progress-bar {{color}}\" [ngStyle]=\"{'width': progress + '%'}\"></div>\n</div>-->\n<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\n <div class=\"progress-bar\" [ngClass]=\"color\" [style.width.%]=\"progress\"></div>\n</div>\n", styles: [".progress-bar-container{background-color:#e5e5e5;border-radius:20px;width:100%}.progress-bar{height:7px;width:0;border-radius:15px;text-align:center}.progress-percent{font-weight:600}.progress-bar.green{background-color:#94d326}.progress-bar.red{background-color:#ed4364}.progress-bar.yellow{background-color:#fed200}.progress-bar{height:8px;border-radius:4px;transition:width .25s ease,background-color .25s ease}.progress-bar.red{background-color:#e53935}.progress-bar.yellow{background-color:#fbc02d}.progress-bar.darkblue{background-color:#1e3a8a}.progress-bar.lightblue{background-color:#60a5fa}.progress-bar.green{background-color:#22c55e}.progress-bar.grey{background-color:#9ca3af}.progress-bar.darkblue{background-color:#2c355d}.progress-bar.lightblue{background-color:#2299d9}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ProgressBarComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'app-progress-bar', template: "<!--<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\r\n <div class=\"progress-bar {{color}}\" [ngStyle]=\"{'width': progress + '%'}\"></div>\r\n</div>-->\r\n<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\r\n <div class=\"progress-bar\" [ngClass]=\"color\" [style.width.%]=\"progress\"></div>\r\n</div>\r\n", styles: [".progress-bar-container{background-color:#e5e5e5;border-radius:20px;width:100%}.progress-bar{height:7px;width:0;border-radius:15px;text-align:center}.progress-percent{font-weight:600}.progress-bar.green{background-color:#94d326}.progress-bar.red{background-color:#ed4364}.progress-bar.yellow{background-color:#fed200}.progress-bar{height:8px;border-radius:4px;transition:width .25s ease,background-color .25s ease}.progress-bar.red{background-color:#e53935}.progress-bar.yellow{background-color:#fbc02d}.progress-bar.darkblue{background-color:#1e3a8a}.progress-bar.lightblue{background-color:#60a5fa}.progress-bar.green{background-color:#22c55e}.progress-bar.grey{background-color:#9ca3af}.progress-bar.darkblue{background-color:#2c355d}.progress-bar.lightblue{background-color:#2299d9}\n"] }]
32
+ args: [{ selector: 'app-progress-bar', template: "<!--<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\n <div class=\"progress-bar {{color}}\" [ngStyle]=\"{'width': progress + '%'}\"></div>\n</div>-->\n<div *ngIf=\"isAvailable\" class=\"progress-bar-container\">\n <div class=\"progress-bar\" [ngClass]=\"color\" [style.width.%]=\"progress\"></div>\n</div>\n", styles: [".progress-bar-container{background-color:#e5e5e5;border-radius:20px;width:100%}.progress-bar{height:7px;width:0;border-radius:15px;text-align:center}.progress-percent{font-weight:600}.progress-bar.green{background-color:#94d326}.progress-bar.red{background-color:#ed4364}.progress-bar.yellow{background-color:#fed200}.progress-bar{height:8px;border-radius:4px;transition:width .25s ease,background-color .25s ease}.progress-bar.red{background-color:#e53935}.progress-bar.yellow{background-color:#fbc02d}.progress-bar.darkblue{background-color:#1e3a8a}.progress-bar.lightblue{background-color:#60a5fa}.progress-bar.green{background-color:#22c55e}.progress-bar.grey{background-color:#9ca3af}.progress-bar.darkblue{background-color:#2c355d}.progress-bar.lightblue{background-color:#2299d9}\n"] }]
33
33
  }], propDecorators: { isAvailable: [{
34
34
  type: Input
35
35
  }], progress: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3NpdGUtdXBncmFkZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3NpdGUtdXBncmFkZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFPdEIsVUFBSyxHQUFXLE1BQU0sQ0FBQztLQVN4QjtJQWZDLElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUlqQyxRQUFRLENBQUMsQ0FBUztRQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDakMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2FBQ3BDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQzthQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7O1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQzFDLENBQUM7O2tIQWxCVSxvQkFBb0I7c0dBQXBCLG9CQUFvQixzSENQakMsZ1ZBTUE7NEZEQ2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFLbkIsV0FBVztzQkFBbkIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3Jlc3MtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGlzQXZhaWxhYmxlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3Byb2dyZXNzID0gMDtcclxuICBASW5wdXQoKSBzZXQgcHJvZ3Jlc3ModmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fcHJvZ3Jlc3MgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIE51bWJlcih2YWx1ZSkgfHwgMCkpO1xyXG4gICAgdGhpcy5zZXRDb2xvcih0aGlzLl9wcm9ncmVzcyk7XHJcbiAgfVxyXG4gIGdldCBwcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX3Byb2dyZXNzOyB9XHJcblxyXG4gIGNvbG9yOiBzdHJpbmcgPSAnZ3JleSc7XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sb3IocDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAocCA8PSAyMCkgICAgICAgdGhpcy5jb2xvciA9ICdyZWQnO1xyXG4gICAgZWxzZSBpZiAocCA8PSA0MCkgIHRoaXMuY29sb3IgPSAneWVsbG93JztcclxuICAgIGVsc2UgaWYgKHAgPD0gNjApICB0aGlzLmNvbG9yID0gJ2RhcmtibHVlJztcclxuICAgIGVsc2UgaWYgKHAgPD0gODApICB0aGlzLmNvbG9yID0gJ2xpZ2h0Ymx1ZSc7XHJcbiAgICBlbHNlICAgICAgICAgICAgICAgdGhpcy5jb2xvciA9ICdncmVlbic7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS08ZGl2ICpuZ0lmPVwiaXNBdmFpbGFibGVcIiBjbGFzcz1cInByb2dyZXNzLWJhci1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyIHt7Y29sb3J9fVwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBwcm9ncmVzcyArICclJ31cIj48L2Rpdj5cclxuPC9kaXY+LS0+XHJcbjxkaXYgKm5nSWY9XCJpc0F2YWlsYWJsZVwiIGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXJcIiBbbmdDbGFzc109XCJjb2xvclwiIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3NpdGUtdXBncmFkZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy9kaTJtdC93aWRnZXRzL3NpdGUtdXBncmFkZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFPdEIsVUFBSyxHQUFXLE1BQU0sQ0FBQztLQVN4QjtJQWZDLElBQWEsUUFBUSxDQUFDLEtBQWE7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUlqQyxRQUFRLENBQUMsQ0FBUztRQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQVEsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDakMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2FBQ3BDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQzthQUN0QyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7O1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQzFDLENBQUM7O2tIQWxCVSxvQkFBb0I7c0dBQXBCLG9CQUFvQixzSENQakMsb1VBTUE7NEZEQ2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFLbkIsV0FBVztzQkFBbkIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXNBdmFpbGFibGUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wcm9ncmVzcyA9IDA7XG4gIEBJbnB1dCgpIHNldCBwcm9ncmVzcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcHJvZ3Jlc3MgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIE51bWJlcih2YWx1ZSkgfHwgMCkpO1xuICAgIHRoaXMuc2V0Q29sb3IodGhpcy5fcHJvZ3Jlc3MpO1xuICB9XG4gIGdldCBwcm9ncmVzcygpIHsgcmV0dXJuIHRoaXMuX3Byb2dyZXNzOyB9XG5cbiAgY29sb3I6IHN0cmluZyA9ICdncmV5JztcblxuICBwcml2YXRlIHNldENvbG9yKHA6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChwIDw9IDIwKSAgICAgICB0aGlzLmNvbG9yID0gJ3JlZCc7XG4gICAgZWxzZSBpZiAocCA8PSA0MCkgIHRoaXMuY29sb3IgPSAneWVsbG93JztcbiAgICBlbHNlIGlmIChwIDw9IDYwKSAgdGhpcy5jb2xvciA9ICdkYXJrYmx1ZSc7XG4gICAgZWxzZSBpZiAocCA8PSA4MCkgIHRoaXMuY29sb3IgPSAnbGlnaHRibHVlJztcbiAgICBlbHNlICAgICAgICAgICAgICAgdGhpcy5jb2xvciA9ICdncmVlbic7XG4gIH1cbn1cbiIsIjwhLS08ZGl2ICpuZ0lmPVwiaXNBdmFpbGFibGVcIiBjbGFzcz1cInByb2dyZXNzLWJhci1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhciB7e2NvbG9yfX1cIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogcHJvZ3Jlc3MgKyAnJSd9XCI+PC9kaXY+XG48L2Rpdj4tLT5cbjxkaXYgKm5nSWY9XCJpc0F2YWlsYWJsZVwiIGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCIgW25nQ2xhc3NdPVwiY29sb3JcIiBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc1wiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -421,10 +421,10 @@ export class SiteUpgradeDataTableComponent {
421
421
  }
422
422
  }
423
423
  SiteUpgradeDataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeDataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
424
- SiteUpgradeDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SiteUpgradeDataTableComponent, selector: "tk-site-upgrade-data-table", inputs: { token: "token", customerId: "customerId" }, ngImport: i0, template: "<div *ngIf=\"dataPending\" class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n\r\n<div id=\"siteUpgradeTable\" class=\"wrapper\">\r\n <div class=\"site-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Sites are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites are not ready'\" [value]=\"statusCounts['Not Ready']\"\r\n [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites failed to upgrade'\" [value]=\"statusCounts['Failed']\"\r\n [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\"\r\n [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{ filteredDataCount }} Sites</span>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"site-upgrade-table\">\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n {{ element.siteName }}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Ready Users Column -->\r\n <ng-container matColumnDef=\"ready users\">\r\n <th mat-header-cell *matHeaderCellDef>Ready Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalReadyUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Ready/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Upgraded Users Column -->\r\n <ng-container matColumnDef=\"upgraded users\">\r\n <th mat-header-cell *matHeaderCellDef>Upgraded Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalUpgradedUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Upgraded/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Location Mapping Column -->\r\n <ng-container matColumnDef=\"location mapping\">\r\n <th mat-header-cell *matHeaderCellDef>Location Mapping</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.locationMapping\" src=\"assets/icons/check2_icon.png\" alt=\"Location Mapping Enabled\"/>\r\n <img *ngIf=\"!element.locationMapping\" src=\"assets/icons/issue_icon.png\" alt=\"Location Mapping Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- PSTN Trunk Column -->\r\n <ng-container matColumnDef=\"pstn trunk\">\r\n <th mat-header-cell *matHeaderCellDef>PSTN Trunk</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.PSTNTrunk\" src=\"assets/icons/check2_icon.png\" alt=\"PSTN Trunk Enabled\"/>\r\n <img *ngIf=\"!element.PSTNTrunk\" src=\"assets/icons/issue_icon.png\" alt=\"PSTN Trunk Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Upgrade Status Column -->\r\n <ng-container matColumnDef=\"site upgrade status\">\r\n <th mat-header-cell *matHeaderCellDef>Site Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"element.upgradeStatus === 'READY'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"onSiteMigration(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getSiteUpgradeStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{ STATUS_ENTRIES[element.upgradeStatus] }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"progressBar\">\r\n <th class=\"header\" mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"app-progress-bar-container\">\r\n <app-progress-bar\r\n [isAvailable]=\"element.isProgressBarAvailable\"\r\n [progress]=\"element.progress\"\r\n #progressBars>\r\n </app-progress-bar>\r\n </div>\r\n <span *ngIf=\"element.isProgressBarAvailable\" class=\"progress-percents\">\r\n {{ element.progress }} %\r\n </span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef>Actions</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"progress-spinner-td\">\r\n <div class=\"flex-container\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"defaultBatchMenu\">\r\n <span style=\"font-size: 17px;\">\u22EE</span>\r\n </button>\r\n </div>\r\n\r\n <mat-menu\r\n #defaultBatchMenu=\"matMenu\"\r\n xPosition=\"after\"\r\n class=\"webex-action-menu\">\r\n\r\n <div class=\"webex-action-menu-row\"\r\n [ngClass]=\"{ 'webex-action-menu-row-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED' }\"\r\n (click)=\"element.pending || element.migrationFormStatus === 'NOT_PREPARED' ? $event.stopPropagation() : onCollect(element)\">\r\n <span\r\n class=\"webex-details-icon webex-icon\"\r\n [ngClass]=\"{ 'migration-action-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED'}\">\r\n </span>\r\n <span class=\"webex-action-menu-title\">Collect</span>\r\n </div>\r\n </mat-menu>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"userUpgradeLoader\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"mat-progress-spinner-td\" mat-cell *matCellDef=\"let element\">\r\n\r\n <mat-progress-spinner\r\n *ngIf=\"element.pending\"\r\n class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\";.webex-action-menu{box-shadow:0 4px 40px #0000001a!important;border-radius:0!important;width:258px;box-sizing:content-box;cursor:pointer}.webex-action-menu-row-disabled{cursor:default!important;opacity:.4}.webex-action-menu-row-disabled .webex-action-menu-title{color:#bababa!important;line-height:23px}.app-progress-bar-container{margin:7px 20px 0 0}.progress-bar-container{min-width:40px}.webex-action-menu-row:hover{background:#f5f5f5}.webex-icon{display:inline-block;height:25px;width:25px;margin:0 7px 0 0}.webex-details-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M16.2115 19.5H17.0961V16H16.2115V19.5ZM16.6538 15.0865C16.7743 15.0929 16.8782 15.0509 16.9653 14.9606C17.0525 14.8702 17.0961 14.7647 17.0961 14.6442C17.0961 14.5237 17.0509 14.4199 16.9605 14.3327C16.8701 14.2455 16.7679 14.2019 16.6538 14.2019C16.5333 14.2019 16.4294 14.2455 16.3422 14.3327C16.2551 14.4199 16.2115 14.5237 16.2115 14.6442C16.2115 14.7583 16.2551 14.8606 16.3422 14.951C16.4294 15.0413 16.5333 15.0865 16.6538 15.0865ZM4.99997 3.99998V10.1827V10.1538V20V3.99998ZM7.25 13.75H10.7231C10.8679 13.4692 11.0307 13.2038 11.2115 12.9538C11.3923 12.7038 11.591 12.4692 11.8077 12.25H7.25V13.75ZM7.25 17.75H10.0173C9.98009 17.5 9.9615 17.2516 9.9615 17.0048C9.9615 16.758 9.97688 16.5064 10.0076 16.25H7.25V17.75ZM5.3077 21.5C4.80257 21.5 4.375 21.325 4.025 20.975C3.675 20.625 3.5 20.1974 3.5 19.6923V4.3077C3.5 3.80257 3.675 3.375 4.025 3.025C4.375 2.675 4.80257 2.5 5.3077 2.5H13.25L18.5 7.74995V10.425C18.2538 10.3506 18.0073 10.2933 17.7605 10.2529C17.5137 10.2125 17.2602 10.1891 17 10.1827V8.49995H12.5V3.99998H5.3077C5.23077 3.99998 5.16024 4.03203 5.09612 4.09613C5.03202 4.16024 4.99997 4.23077 4.99997 4.3077V19.6923C4.99997 19.7692 5.03202 19.8397 5.09612 19.9038C5.16024 19.9679 5.23077 20 5.3077 20H10.7615C10.9064 20.2871 11.0692 20.5557 11.25 20.8057C11.4307 21.0557 11.6327 21.2871 11.8557 21.5H5.3077ZM16.6538 12.3462C17.9025 12.3462 18.9647 12.784 19.8403 13.6596C20.7159 14.5352 21.1538 15.5974 21.1538 16.8461C21.1538 18.0948 20.7159 19.157 19.8403 20.0326C18.9647 20.9083 17.9025 21.3461 16.6538 21.3461C15.4051 21.3461 14.3429 20.9083 13.4673 20.0326C12.5916 19.157 12.1538 18.0948 12.1538 16.8461C12.1538 15.5974 12.5916 14.5352 13.4673 13.6596C14.3429 12.784 15.4051 12.3462 16.6538 12.3462Z%22 fill%3D%22%232C355D%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.webex-action-menu-row{padding:5px 15px;display:flex;justify-content:flex-start}.webex-action-menu-row .webex-action-menu-title{line-height:23px}.mat-menu-content:not(:empty){padding-top:0!important}.mat-menu-panel{min-height:auto!important}#siteUpgradeTable{font-family:Inter,sans-serif!important}.wrapper{display:flex;flex-direction:column;gap:1rem}.overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff6;z-index:200}.mat-progress-spinner{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-25px;width:50px;height:40px;text-align:center;font-size:10px}.mat-progress-spinner-td{position:relative}.mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0;position:absolute}.progress-percents{font-weight:500;font-size:12px}::ng-deep .mat-progress-spinner-td{position:relative}::ng-deep #siteUpgradeTable .mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0}.site-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;align-items:stretch}.site-upgrade-table{width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.site-upgrade-table .mat-header-row{font-size:12px;height:35px}.site-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6;font-family:Inter,sans-serif!important}.site-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf;font-family:Inter,sans-serif!important}.site-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.site-upgrade-table .indicator-status-ready{color:#1170cf!important}.site-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.site-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:4px}.site-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.site-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.site-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.site-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.site-upgrade-table .status-info .status-indicator.ready{background-color:#1170cf}.site-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.site-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.site-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.site-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.site-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.site-upgrade-table .flex-container{display:flex}.site-upgrade-table .upgrade-button{border:1px solid #08599c!important;color:#08599c!important;background:white!important;border-radius:20px!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.site-upgrade-table .upgrade-button:hover{background-color:#e3f2fd!important}.site-upgrade-table .user-count-info .user-count{font-weight:500;color:#212121}.site-upgrade-table .user-count-info .user-label{font-size:12px;color:#757575}.site-upgrade-table .status-icon-cell,.site-upgrade-table .collect-icon-cell{display:flex;align-items:center}.site-upgrade-table .icon-play{width:24px;height:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2218%22 height%3D%2219%22 viewBox%3D%220 0 18 19%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M8.09567 11.7427L11.3625 9.64421C11.523 9.54226 11.6033 9.40067 11.6033 9.21945C11.6033 9.03821 11.523 8.89615 11.3625 8.79326L8.09567 6.69472C7.92739 6.57933 7.75479 6.5701 7.57787 6.66701C7.40096 6.76391 7.3125 6.91497 7.3125 7.12019V11.3173C7.3125 11.5225 7.40096 11.6736 7.57787 11.7705C7.75479 11.8674 7.92739 11.8581 8.09567 11.7427ZM9.00124 16.3437C8.01579 16.3437 7.08951 16.1567 6.22241 15.7827C5.3553 15.4087 4.60104 14.9012 3.95963 14.26C3.3182 13.6189 2.81041 12.865 2.43624 11.9982C2.06208 11.1315 1.875 10.2054 1.875 9.21999C1.875 8.23454 2.062 7.30826 2.436 6.44116C2.81 5.57405 3.31756 4.81979 3.95869 4.17838C4.59983 3.53695 5.35376 3.02916 6.22048 2.65499C7.08719 2.28083 8.01328 2.09375 8.99873 2.09375C9.98418 2.09375 10.9105 2.28075 11.7776 2.65475C12.6447 3.02875 13.3989 3.53631 14.0403 4.17744C14.6818 4.81858 15.1896 5.57251 15.5637 6.43923C15.9379 7.30594 16.125 8.23203 16.125 9.21748C16.125 10.2029 15.938 11.1292 15.564 11.9963C15.19 12.8634 14.6824 13.6177 14.0413 14.2591C13.4001 14.9005 12.6462 15.4083 11.7795 15.7825C10.9128 16.1566 9.98669 16.3437 9.00124 16.3437ZM8.99998 15.2187C10.675 15.2187 12.0937 14.6375 13.2562 13.475C14.4187 12.3125 15 10.8937 15 9.21873C15 7.54373 14.4187 6.12498 13.2562 4.96248C12.0937 3.79998 10.675 3.21873 8.99998 3.21873C7.32498 3.21873 5.90623 3.79998 4.74373 4.96248C3.58123 6.12498 2.99998 7.54373 2.99998 9.21873C2.99998 10.8937 3.58123 12.3125 4.74373 13.475C5.90623 14.6375 7.32498 15.2187 8.99998 15.2187Z%22 fill%3D%22%232C355D%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;background-size:contain}.site-upgrade-table .collect-icon-cell{cursor:pointer}::ng-deep .action-wrapper{display:flex;align-items:center;flex:1;justify-content:space-between;gap:1rem;color:#555}.table-action-panel{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:1rem}.pay-button-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid #2c355d;background-color:#fff;cursor:pointer;transition:all .3s ease;position:relative}.pay-button-icon:after{content:\"\";width:0;height:0;border-left:6px solid #2c355d;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}.pay-button-icon:hover{border-color:#2c355d;background-color:#f8fafc;transform:scale(1.05)}.pay-button-icon:hover:after{border-left-color:#2c355d}.pay-button-icon:active{transform:scale(.95);background-color:#e2e8f0}.pay-button-icon:disabled,.pay-button-icon.disabled{opacity:.5;cursor:not-allowed}.pay-button-icon:disabled:hover,.pay-button-icon.disabled:hover{transform:none;border-color:#d1d5db;background-color:#fff}.pay-button-icon:disabled:hover:after,.pay-button-icon.disabled:hover:after{border-left-color:#2c355d}.pay-button-icon.small{width:32px;height:32px;border-width:1.5px}.pay-button-icon.small:after{border-left-width:6px;border-top-width:5px;border-bottom-width:5px;margin-left:1px}.pay-button-icon.large{width:48px;height:48px;border-width:2.5px}.pay-button-icon.large:after{border-left-width:10px;border-top-width:7px;border-bottom-width:7px;margin-left:3px}.pay-button-icon.xl{width:56px;height:56px;border-width:3px}.pay-button-icon.xl:after{border-left-width:12px;border-top-width:8px;border-bottom-width:8px;margin-left:3px}.pay-button-icon.loading:after{display:none}.pay-button-icon.loading:before{content:\"\";width:16px;height:16px;border:2px solid #2c355d;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pay-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#2c355d;transition:color .3s ease}.pay-button .pay-button-icon{margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.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: "component", type: i4.SummaryCardComponent, selector: "tk-summary-card", inputs: ["value", "status", "description"] }, { kind: "component", type: i5.TableFiltersComponent, selector: "tk-table-filters", inputs: ["filters"], outputs: ["filter"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.ProgressBarComponent, selector: "app-progress-bar", inputs: ["isAvailable", "progress"] }], encapsulation: i0.ViewEncapsulation.None });
424
+ SiteUpgradeDataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SiteUpgradeDataTableComponent, selector: "tk-site-upgrade-data-table", inputs: { token: "token", customerId: "customerId" }, ngImport: i0, template: "<div *ngIf=\"dataPending\" class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n\r\n<div id=\"siteUpgradeTable\" class=\"wrapper\">\r\n <div class=\"site-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Sites are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites are not ready'\" [value]=\"statusCounts['Not Ready']\"\r\n [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites failed to upgrade'\" [value]=\"statusCounts['Failed']\"\r\n [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\"\r\n [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{ filteredDataCount }} Sites</span>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"site-upgrade-table\">\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n {{ element.siteName }}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Ready Users Column -->\r\n <ng-container matColumnDef=\"ready users\">\r\n <th mat-header-cell *matHeaderCellDef>Ready Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalReadyUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Ready/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Upgraded Users Column -->\r\n <ng-container matColumnDef=\"upgraded users\">\r\n <th mat-header-cell *matHeaderCellDef>Upgraded Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalUpgradedUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Upgraded/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Location Mapping Column -->\r\n <ng-container matColumnDef=\"location mapping\">\r\n <th mat-header-cell *matHeaderCellDef>Location Mapping</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.locationMapping\" src=\"assets/icons/check2_icon.png\" alt=\"Location Mapping Enabled\"/>\r\n <img *ngIf=\"!element.locationMapping\" src=\"assets/icons/issue_icon.png\" alt=\"Location Mapping Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- PSTN Trunk Column -->\r\n <ng-container matColumnDef=\"pstn trunk\">\r\n <th mat-header-cell *matHeaderCellDef>PSTN Trunk</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.PSTNTrunk\" src=\"assets/icons/check2_icon.png\" alt=\"PSTN Trunk Enabled\"/>\r\n <img *ngIf=\"!element.PSTNTrunk\" src=\"assets/icons/issue_icon.png\" alt=\"PSTN Trunk Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Upgrade Status Column -->\r\n <ng-container matColumnDef=\"site upgrade status\">\r\n <th mat-header-cell *matHeaderCellDef>Site Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"element.upgradeStatus === 'READY'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"onSiteMigration(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getSiteUpgradeStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{ STATUS_ENTRIES[element.upgradeStatus] }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"progressBar\">\r\n <th class=\"header\" mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"app-progress-bar-container\">\r\n <app-progress-bar\r\n [isAvailable]=\"element.isProgressBarAvailable\"\r\n [progress]=\"element.progress\"\r\n #progressBars>\r\n </app-progress-bar>\r\n </div>\r\n <span *ngIf=\"element.isProgressBarAvailable\" class=\"progress-percents\">\r\n {{ element.progress }} %\r\n </span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef>Actions</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"progress-spinner-td\">\r\n <div class=\"flex-container\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"defaultBatchMenu\">\r\n <span style=\"font-size: 17px;\">\u22EE</span>\r\n </button>\r\n </div>\r\n\r\n <mat-menu\r\n #defaultBatchMenu=\"matMenu\"\r\n xPosition=\"after\"\r\n class=\"webex-action-menu\">\r\n\r\n <div class=\"webex-action-menu-row\"\r\n [ngClass]=\"{ 'webex-action-menu-row-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED' }\"\r\n (click)=\"element.pending || element.migrationFormStatus === 'NOT_PREPARED' ? $event.stopPropagation() : onCollect(element)\">\r\n <span\r\n class=\"webex-details-icon webex-icon\"\r\n [ngClass]=\"{ 'migration-action-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED'}\">\r\n </span>\r\n <span class=\"webex-action-menu-title\">Collect</span>\r\n </div>\r\n </mat-menu>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"userUpgradeLoader\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"mat-progress-spinner-td\" mat-cell *matCellDef=\"let element\">\r\n\r\n <mat-progress-spinner\r\n *ngIf=\"element.pending\"\r\n class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\";.webex-action-menu{box-shadow:0 4px 40px #0000001a!important;border-radius:0!important;width:258px;box-sizing:content-box;cursor:pointer}.webex-action-menu-row-disabled{cursor:default!important;opacity:.4}.webex-action-menu-row-disabled .webex-action-menu-title{color:#bababa!important;line-height:23px}.app-progress-bar-container{margin:7px 20px 0 0}.progress-bar-container{min-width:40px}.webex-action-menu-row:hover{background:#f5f5f5}.webex-icon{display:inline-block;height:25px;width:25px;margin:0 7px 0 0}.webex-details-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M16.2115 19.5H17.0961V16H16.2115V19.5ZM16.6538 15.0865C16.7743 15.0929 16.8782 15.0509 16.9653 14.9606C17.0525 14.8702 17.0961 14.7647 17.0961 14.6442C17.0961 14.5237 17.0509 14.4199 16.9605 14.3327C16.8701 14.2455 16.7679 14.2019 16.6538 14.2019C16.5333 14.2019 16.4294 14.2455 16.3422 14.3327C16.2551 14.4199 16.2115 14.5237 16.2115 14.6442C16.2115 14.7583 16.2551 14.8606 16.3422 14.951C16.4294 15.0413 16.5333 15.0865 16.6538 15.0865ZM4.99997 3.99998V10.1827V10.1538V20V3.99998ZM7.25 13.75H10.7231C10.8679 13.4692 11.0307 13.2038 11.2115 12.9538C11.3923 12.7038 11.591 12.4692 11.8077 12.25H7.25V13.75ZM7.25 17.75H10.0173C9.98009 17.5 9.9615 17.2516 9.9615 17.0048C9.9615 16.758 9.97688 16.5064 10.0076 16.25H7.25V17.75ZM5.3077 21.5C4.80257 21.5 4.375 21.325 4.025 20.975C3.675 20.625 3.5 20.1974 3.5 19.6923V4.3077C3.5 3.80257 3.675 3.375 4.025 3.025C4.375 2.675 4.80257 2.5 5.3077 2.5H13.25L18.5 7.74995V10.425C18.2538 10.3506 18.0073 10.2933 17.7605 10.2529C17.5137 10.2125 17.2602 10.1891 17 10.1827V8.49995H12.5V3.99998H5.3077C5.23077 3.99998 5.16024 4.03203 5.09612 4.09613C5.03202 4.16024 4.99997 4.23077 4.99997 4.3077V19.6923C4.99997 19.7692 5.03202 19.8397 5.09612 19.9038C5.16024 19.9679 5.23077 20 5.3077 20H10.7615C10.9064 20.2871 11.0692 20.5557 11.25 20.8057C11.4307 21.0557 11.6327 21.2871 11.8557 21.5H5.3077ZM16.6538 12.3462C17.9025 12.3462 18.9647 12.784 19.8403 13.6596C20.7159 14.5352 21.1538 15.5974 21.1538 16.8461C21.1538 18.0948 20.7159 19.157 19.8403 20.0326C18.9647 20.9083 17.9025 21.3461 16.6538 21.3461C15.4051 21.3461 14.3429 20.9083 13.4673 20.0326C12.5916 19.157 12.1538 18.0948 12.1538 16.8461C12.1538 15.5974 12.5916 14.5352 13.4673 13.6596C14.3429 12.784 15.4051 12.3462 16.6538 12.3462Z%22 fill%3D%22%232C355D%22%2F%3E%3C%2Fsvg%3E\")}.webex-action-menu-row{padding:5px 15px;display:flex;justify-content:flex-start}.webex-action-menu-row .webex-action-menu-title{line-height:23px}.mat-menu-content:not(:empty){padding-top:0!important}.mat-menu-panel{min-height:auto!important}#siteUpgradeTable{font-family:Inter,sans-serif!important}.wrapper{display:flex;flex-direction:column;gap:1rem}.overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff6;z-index:200}.mat-progress-spinner{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-25px;width:50px;height:40px;text-align:center;font-size:10px}.mat-progress-spinner-td{position:relative}.mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0;position:absolute}.progress-percents{font-weight:500;font-size:12px}::ng-deep .mat-progress-spinner-td{position:relative}::ng-deep #siteUpgradeTable .mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0}.site-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;align-items:stretch}.site-upgrade-table{width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.site-upgrade-table .mat-header-row{font-size:12px;height:35px}.site-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6;font-family:Inter,sans-serif!important}.site-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf;font-family:Inter,sans-serif!important}.site-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.site-upgrade-table .indicator-status-ready{color:#1170cf!important}.site-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.site-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:4px}.site-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.site-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.site-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.site-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.site-upgrade-table .status-info .status-indicator.ready{background-color:#1170cf}.site-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.site-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.site-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.site-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.site-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.site-upgrade-table .flex-container{display:flex}.site-upgrade-table .upgrade-button{border:1px solid #08599c!important;color:#08599c!important;background:white!important;border-radius:20px!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.site-upgrade-table .upgrade-button:hover{background-color:#e3f2fd!important}.site-upgrade-table .user-count-info .user-count{font-weight:500;color:#212121}.site-upgrade-table .user-count-info .user-label{font-size:12px;color:#757575}.site-upgrade-table .status-icon-cell,.site-upgrade-table .collect-icon-cell{display:flex;align-items:center}.site-upgrade-table .icon-play{width:24px;height:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2218%22 height%3D%2219%22 viewBox%3D%220 0 18 19%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M8.09567 11.7427L11.3625 9.64421C11.523 9.54226 11.6033 9.40067 11.6033 9.21945C11.6033 9.03821 11.523 8.89615 11.3625 8.79326L8.09567 6.69472C7.92739 6.57933 7.75479 6.5701 7.57787 6.66701C7.40096 6.76391 7.3125 6.91497 7.3125 7.12019V11.3173C7.3125 11.5225 7.40096 11.6736 7.57787 11.7705C7.75479 11.8674 7.92739 11.8581 8.09567 11.7427ZM9.00124 16.3437C8.01579 16.3437 7.08951 16.1567 6.22241 15.7827C5.3553 15.4087 4.60104 14.9012 3.95963 14.26C3.3182 13.6189 2.81041 12.865 2.43624 11.9982C2.06208 11.1315 1.875 10.2054 1.875 9.21999C1.875 8.23454 2.062 7.30826 2.436 6.44116C2.81 5.57405 3.31756 4.81979 3.95869 4.17838C4.59983 3.53695 5.35376 3.02916 6.22048 2.65499C7.08719 2.28083 8.01328 2.09375 8.99873 2.09375C9.98418 2.09375 10.9105 2.28075 11.7776 2.65475C12.6447 3.02875 13.3989 3.53631 14.0403 4.17744C14.6818 4.81858 15.1896 5.57251 15.5637 6.43923C15.9379 7.30594 16.125 8.23203 16.125 9.21748C16.125 10.2029 15.938 11.1292 15.564 11.9963C15.19 12.8634 14.6824 13.6177 14.0413 14.2591C13.4001 14.9005 12.6462 15.4083 11.7795 15.7825C10.9128 16.1566 9.98669 16.3437 9.00124 16.3437ZM8.99998 15.2187C10.675 15.2187 12.0937 14.6375 13.2562 13.475C14.4187 12.3125 15 10.8937 15 9.21873C15 7.54373 14.4187 6.12498 13.2562 4.96248C12.0937 3.79998 10.675 3.21873 8.99998 3.21873C7.32498 3.21873 5.90623 3.79998 4.74373 4.96248C3.58123 6.12498 2.99998 7.54373 2.99998 9.21873C2.99998 10.8937 3.58123 12.3125 4.74373 13.475C5.90623 14.6375 7.32498 15.2187 8.99998 15.2187Z%22 fill%3D%22%232C355D%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;background-size:contain}.site-upgrade-table .collect-icon-cell{cursor:pointer}::ng-deep .action-wrapper{display:flex;align-items:center;flex:1;justify-content:space-between;gap:1rem;color:#555}.table-action-panel{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:1rem}.pay-button-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid #2c355d;background-color:#fff;cursor:pointer;transition:all .3s ease;position:relative}.pay-button-icon:after{content:\"\";width:0;height:0;border-left:6px solid #2c355d;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}.pay-button-icon:hover{border-color:#2c355d;background-color:#f8fafc;transform:scale(1.05)}.pay-button-icon:hover:after{border-left-color:#2c355d}.pay-button-icon:active{transform:scale(.95);background-color:#e2e8f0}.pay-button-icon:disabled,.pay-button-icon.disabled{opacity:.5;cursor:not-allowed}.pay-button-icon:disabled:hover,.pay-button-icon.disabled:hover{transform:none;border-color:#d1d5db;background-color:#fff}.pay-button-icon:disabled:hover:after,.pay-button-icon.disabled:hover:after{border-left-color:#2c355d}.pay-button-icon.small{width:32px;height:32px;border-width:1.5px}.pay-button-icon.small:after{border-left-width:6px;border-top-width:5px;border-bottom-width:5px;margin-left:1px}.pay-button-icon.large{width:48px;height:48px;border-width:2.5px}.pay-button-icon.large:after{border-left-width:10px;border-top-width:7px;border-bottom-width:7px;margin-left:3px}.pay-button-icon.xl{width:56px;height:56px;border-width:3px}.pay-button-icon.xl:after{border-left-width:12px;border-top-width:8px;border-bottom-width:8px;margin-left:3px}.pay-button-icon.loading:after{display:none}.pay-button-icon.loading:before{content:\"\";width:16px;height:16px;border:2px solid #2c355d;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pay-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#2c355d;transition:color .3s ease}.pay-button .pay-button-icon{margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.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: "component", type: i4.SummaryCardComponent, selector: "tk-summary-card", inputs: ["value", "status", "description"] }, { kind: "component", type: i5.TableFiltersComponent, selector: "tk-table-filters", inputs: ["filters"], outputs: ["filter"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.ProgressBarComponent, selector: "app-progress-bar", inputs: ["isAvailable", "progress"] }], encapsulation: i0.ViewEncapsulation.None });
425
425
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteUpgradeDataTableComponent, decorators: [{
426
426
  type: Component,
427
- args: [{ selector: 'tk-site-upgrade-data-table', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"dataPending\" class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n\r\n<div id=\"siteUpgradeTable\" class=\"wrapper\">\r\n <div class=\"site-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Sites are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites are not ready'\" [value]=\"statusCounts['Not Ready']\"\r\n [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites failed to upgrade'\" [value]=\"statusCounts['Failed']\"\r\n [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\"\r\n [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{ filteredDataCount }} Sites</span>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"site-upgrade-table\">\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n {{ element.siteName }}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Ready Users Column -->\r\n <ng-container matColumnDef=\"ready users\">\r\n <th mat-header-cell *matHeaderCellDef>Ready Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalReadyUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Ready/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Upgraded Users Column -->\r\n <ng-container matColumnDef=\"upgraded users\">\r\n <th mat-header-cell *matHeaderCellDef>Upgraded Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalUpgradedUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Upgraded/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Location Mapping Column -->\r\n <ng-container matColumnDef=\"location mapping\">\r\n <th mat-header-cell *matHeaderCellDef>Location Mapping</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.locationMapping\" src=\"assets/icons/check2_icon.png\" alt=\"Location Mapping Enabled\"/>\r\n <img *ngIf=\"!element.locationMapping\" src=\"assets/icons/issue_icon.png\" alt=\"Location Mapping Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- PSTN Trunk Column -->\r\n <ng-container matColumnDef=\"pstn trunk\">\r\n <th mat-header-cell *matHeaderCellDef>PSTN Trunk</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.PSTNTrunk\" src=\"assets/icons/check2_icon.png\" alt=\"PSTN Trunk Enabled\"/>\r\n <img *ngIf=\"!element.PSTNTrunk\" src=\"assets/icons/issue_icon.png\" alt=\"PSTN Trunk Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Upgrade Status Column -->\r\n <ng-container matColumnDef=\"site upgrade status\">\r\n <th mat-header-cell *matHeaderCellDef>Site Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"element.upgradeStatus === 'READY'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"onSiteMigration(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getSiteUpgradeStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{ STATUS_ENTRIES[element.upgradeStatus] }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"progressBar\">\r\n <th class=\"header\" mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"app-progress-bar-container\">\r\n <app-progress-bar\r\n [isAvailable]=\"element.isProgressBarAvailable\"\r\n [progress]=\"element.progress\"\r\n #progressBars>\r\n </app-progress-bar>\r\n </div>\r\n <span *ngIf=\"element.isProgressBarAvailable\" class=\"progress-percents\">\r\n {{ element.progress }} %\r\n </span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef>Actions</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"progress-spinner-td\">\r\n <div class=\"flex-container\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"defaultBatchMenu\">\r\n <span style=\"font-size: 17px;\">\u22EE</span>\r\n </button>\r\n </div>\r\n\r\n <mat-menu\r\n #defaultBatchMenu=\"matMenu\"\r\n xPosition=\"after\"\r\n class=\"webex-action-menu\">\r\n\r\n <div class=\"webex-action-menu-row\"\r\n [ngClass]=\"{ 'webex-action-menu-row-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED' }\"\r\n (click)=\"element.pending || element.migrationFormStatus === 'NOT_PREPARED' ? $event.stopPropagation() : onCollect(element)\">\r\n <span\r\n class=\"webex-details-icon webex-icon\"\r\n [ngClass]=\"{ 'migration-action-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED'}\">\r\n </span>\r\n <span class=\"webex-action-menu-title\">Collect</span>\r\n </div>\r\n </mat-menu>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"userUpgradeLoader\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"mat-progress-spinner-td\" mat-cell *matCellDef=\"let element\">\r\n\r\n <mat-progress-spinner\r\n *ngIf=\"element.pending\"\r\n class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\";.webex-action-menu{box-shadow:0 4px 40px #0000001a!important;border-radius:0!important;width:258px;box-sizing:content-box;cursor:pointer}.webex-action-menu-row-disabled{cursor:default!important;opacity:.4}.webex-action-menu-row-disabled .webex-action-menu-title{color:#bababa!important;line-height:23px}.app-progress-bar-container{margin:7px 20px 0 0}.progress-bar-container{min-width:40px}.webex-action-menu-row:hover{background:#f5f5f5}.webex-icon{display:inline-block;height:25px;width:25px;margin:0 7px 0 0}.webex-details-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M16.2115 19.5H17.0961V16H16.2115V19.5ZM16.6538 15.0865C16.7743 15.0929 16.8782 15.0509 16.9653 14.9606C17.0525 14.8702 17.0961 14.7647 17.0961 14.6442C17.0961 14.5237 17.0509 14.4199 16.9605 14.3327C16.8701 14.2455 16.7679 14.2019 16.6538 14.2019C16.5333 14.2019 16.4294 14.2455 16.3422 14.3327C16.2551 14.4199 16.2115 14.5237 16.2115 14.6442C16.2115 14.7583 16.2551 14.8606 16.3422 14.951C16.4294 15.0413 16.5333 15.0865 16.6538 15.0865ZM4.99997 3.99998V10.1827V10.1538V20V3.99998ZM7.25 13.75H10.7231C10.8679 13.4692 11.0307 13.2038 11.2115 12.9538C11.3923 12.7038 11.591 12.4692 11.8077 12.25H7.25V13.75ZM7.25 17.75H10.0173C9.98009 17.5 9.9615 17.2516 9.9615 17.0048C9.9615 16.758 9.97688 16.5064 10.0076 16.25H7.25V17.75ZM5.3077 21.5C4.80257 21.5 4.375 21.325 4.025 20.975C3.675 20.625 3.5 20.1974 3.5 19.6923V4.3077C3.5 3.80257 3.675 3.375 4.025 3.025C4.375 2.675 4.80257 2.5 5.3077 2.5H13.25L18.5 7.74995V10.425C18.2538 10.3506 18.0073 10.2933 17.7605 10.2529C17.5137 10.2125 17.2602 10.1891 17 10.1827V8.49995H12.5V3.99998H5.3077C5.23077 3.99998 5.16024 4.03203 5.09612 4.09613C5.03202 4.16024 4.99997 4.23077 4.99997 4.3077V19.6923C4.99997 19.7692 5.03202 19.8397 5.09612 19.9038C5.16024 19.9679 5.23077 20 5.3077 20H10.7615C10.9064 20.2871 11.0692 20.5557 11.25 20.8057C11.4307 21.0557 11.6327 21.2871 11.8557 21.5H5.3077ZM16.6538 12.3462C17.9025 12.3462 18.9647 12.784 19.8403 13.6596C20.7159 14.5352 21.1538 15.5974 21.1538 16.8461C21.1538 18.0948 20.7159 19.157 19.8403 20.0326C18.9647 20.9083 17.9025 21.3461 16.6538 21.3461C15.4051 21.3461 14.3429 20.9083 13.4673 20.0326C12.5916 19.157 12.1538 18.0948 12.1538 16.8461C12.1538 15.5974 12.5916 14.5352 13.4673 13.6596C14.3429 12.784 15.4051 12.3462 16.6538 12.3462Z%22 fill%3D%22%232C355D%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.webex-action-menu-row{padding:5px 15px;display:flex;justify-content:flex-start}.webex-action-menu-row .webex-action-menu-title{line-height:23px}.mat-menu-content:not(:empty){padding-top:0!important}.mat-menu-panel{min-height:auto!important}#siteUpgradeTable{font-family:Inter,sans-serif!important}.wrapper{display:flex;flex-direction:column;gap:1rem}.overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff6;z-index:200}.mat-progress-spinner{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-25px;width:50px;height:40px;text-align:center;font-size:10px}.mat-progress-spinner-td{position:relative}.mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0;position:absolute}.progress-percents{font-weight:500;font-size:12px}::ng-deep .mat-progress-spinner-td{position:relative}::ng-deep #siteUpgradeTable .mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0}.site-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;align-items:stretch}.site-upgrade-table{width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.site-upgrade-table .mat-header-row{font-size:12px;height:35px}.site-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6;font-family:Inter,sans-serif!important}.site-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf;font-family:Inter,sans-serif!important}.site-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.site-upgrade-table .indicator-status-ready{color:#1170cf!important}.site-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.site-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:4px}.site-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.site-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.site-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.site-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.site-upgrade-table .status-info .status-indicator.ready{background-color:#1170cf}.site-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.site-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.site-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.site-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.site-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.site-upgrade-table .flex-container{display:flex}.site-upgrade-table .upgrade-button{border:1px solid #08599c!important;color:#08599c!important;background:white!important;border-radius:20px!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.site-upgrade-table .upgrade-button:hover{background-color:#e3f2fd!important}.site-upgrade-table .user-count-info .user-count{font-weight:500;color:#212121}.site-upgrade-table .user-count-info .user-label{font-size:12px;color:#757575}.site-upgrade-table .status-icon-cell,.site-upgrade-table .collect-icon-cell{display:flex;align-items:center}.site-upgrade-table .icon-play{width:24px;height:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2218%22 height%3D%2219%22 viewBox%3D%220 0 18 19%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M8.09567 11.7427L11.3625 9.64421C11.523 9.54226 11.6033 9.40067 11.6033 9.21945C11.6033 9.03821 11.523 8.89615 11.3625 8.79326L8.09567 6.69472C7.92739 6.57933 7.75479 6.5701 7.57787 6.66701C7.40096 6.76391 7.3125 6.91497 7.3125 7.12019V11.3173C7.3125 11.5225 7.40096 11.6736 7.57787 11.7705C7.75479 11.8674 7.92739 11.8581 8.09567 11.7427ZM9.00124 16.3437C8.01579 16.3437 7.08951 16.1567 6.22241 15.7827C5.3553 15.4087 4.60104 14.9012 3.95963 14.26C3.3182 13.6189 2.81041 12.865 2.43624 11.9982C2.06208 11.1315 1.875 10.2054 1.875 9.21999C1.875 8.23454 2.062 7.30826 2.436 6.44116C2.81 5.57405 3.31756 4.81979 3.95869 4.17838C4.59983 3.53695 5.35376 3.02916 6.22048 2.65499C7.08719 2.28083 8.01328 2.09375 8.99873 2.09375C9.98418 2.09375 10.9105 2.28075 11.7776 2.65475C12.6447 3.02875 13.3989 3.53631 14.0403 4.17744C14.6818 4.81858 15.1896 5.57251 15.5637 6.43923C15.9379 7.30594 16.125 8.23203 16.125 9.21748C16.125 10.2029 15.938 11.1292 15.564 11.9963C15.19 12.8634 14.6824 13.6177 14.0413 14.2591C13.4001 14.9005 12.6462 15.4083 11.7795 15.7825C10.9128 16.1566 9.98669 16.3437 9.00124 16.3437ZM8.99998 15.2187C10.675 15.2187 12.0937 14.6375 13.2562 13.475C14.4187 12.3125 15 10.8937 15 9.21873C15 7.54373 14.4187 6.12498 13.2562 4.96248C12.0937 3.79998 10.675 3.21873 8.99998 3.21873C7.32498 3.21873 5.90623 3.79998 4.74373 4.96248C3.58123 6.12498 2.99998 7.54373 2.99998 9.21873C2.99998 10.8937 3.58123 12.3125 4.74373 13.475C5.90623 14.6375 7.32498 15.2187 8.99998 15.2187Z%22 fill%3D%22%232C355D%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-position:center;background-size:contain}.site-upgrade-table .collect-icon-cell{cursor:pointer}::ng-deep .action-wrapper{display:flex;align-items:center;flex:1;justify-content:space-between;gap:1rem;color:#555}.table-action-panel{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:1rem}.pay-button-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid #2c355d;background-color:#fff;cursor:pointer;transition:all .3s ease;position:relative}.pay-button-icon:after{content:\"\";width:0;height:0;border-left:6px solid #2c355d;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}.pay-button-icon:hover{border-color:#2c355d;background-color:#f8fafc;transform:scale(1.05)}.pay-button-icon:hover:after{border-left-color:#2c355d}.pay-button-icon:active{transform:scale(.95);background-color:#e2e8f0}.pay-button-icon:disabled,.pay-button-icon.disabled{opacity:.5;cursor:not-allowed}.pay-button-icon:disabled:hover,.pay-button-icon.disabled:hover{transform:none;border-color:#d1d5db;background-color:#fff}.pay-button-icon:disabled:hover:after,.pay-button-icon.disabled:hover:after{border-left-color:#2c355d}.pay-button-icon.small{width:32px;height:32px;border-width:1.5px}.pay-button-icon.small:after{border-left-width:6px;border-top-width:5px;border-bottom-width:5px;margin-left:1px}.pay-button-icon.large{width:48px;height:48px;border-width:2.5px}.pay-button-icon.large:after{border-left-width:10px;border-top-width:7px;border-bottom-width:7px;margin-left:3px}.pay-button-icon.xl{width:56px;height:56px;border-width:3px}.pay-button-icon.xl:after{border-left-width:12px;border-top-width:8px;border-bottom-width:8px;margin-left:3px}.pay-button-icon.loading:after{display:none}.pay-button-icon.loading:before{content:\"\";width:16px;height:16px;border:2px solid #2c355d;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pay-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#2c355d;transition:color .3s ease}.pay-button .pay-button-icon{margin:0}\n"] }]
427
+ args: [{ selector: 'tk-site-upgrade-data-table', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"dataPending\" class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n\r\n<div id=\"siteUpgradeTable\" class=\"wrapper\">\r\n <div class=\"site-upgrade-status-wrapper\">\r\n <tk-summary-card [description]=\"'Sites are ready to upgrade'\" [value]=\"statusCounts['Ready']\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites are not ready'\" [value]=\"statusCounts['Not Ready']\"\r\n [status]=\"'Not Ready'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Sites failed to upgrade'\" [value]=\"statusCounts['Failed']\"\r\n [status]=\"'Failed'\"></tk-summary-card>\r\n <tk-summary-card [description]=\"'Successfully upgraded'\" [value]=\"statusCounts['Completed']\"\r\n [status]=\"'Completed'\"></tk-summary-card>\r\n </div>\r\n <div class=\"table-action-panel\">\r\n <tk-table-filters *ngIf=\"filters.length > 0\" [filters]=\"filters\" (filter)=\"onFilter($event)\"></tk-table-filters>\r\n <div class=\"action-wrapper\">\r\n <span>{{ filteredDataCount }} Sites</span>\r\n </div>\r\n </div>\r\n <table mat-table [dataSource]=\"data\" class=\"site-upgrade-table\">\r\n\r\n <!-- Site Column -->\r\n <ng-container matColumnDef=\"site\">\r\n <th mat-header-cell *matHeaderCellDef>Site</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"site-info\">\r\n {{ element.siteName }}\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Ready Users Column -->\r\n <ng-container matColumnDef=\"ready users\">\r\n <th mat-header-cell *matHeaderCellDef>Ready Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalReadyUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Ready/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Upgraded Users Column -->\r\n <ng-container matColumnDef=\"upgraded users\">\r\n <th mat-header-cell *matHeaderCellDef>Upgraded Users</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"user-count-info\">\r\n <div class=\"user-count\">{{ element.totalUpgradedUsers }}/{{ element.totalUsers }}</div>\r\n <div class=\"user-label\">Upgraded/Total</div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Location Mapping Column -->\r\n <ng-container matColumnDef=\"location mapping\">\r\n <th mat-header-cell *matHeaderCellDef>Location Mapping</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.locationMapping\" src=\"assets/icons/check2_icon.png\" alt=\"Location Mapping Enabled\"/>\r\n <img *ngIf=\"!element.locationMapping\" src=\"assets/icons/issue_icon.png\" alt=\"Location Mapping Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- PSTN Trunk Column -->\r\n <ng-container matColumnDef=\"pstn trunk\">\r\n <th mat-header-cell *matHeaderCellDef>PSTN Trunk</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"status-icon-cell\">\r\n <img *ngIf=\"element.PSTNTrunk\" src=\"assets/icons/check2_icon.png\" alt=\"PSTN Trunk Enabled\"/>\r\n <img *ngIf=\"!element.PSTNTrunk\" src=\"assets/icons/issue_icon.png\" alt=\"PSTN Trunk Disabled\"/>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Site Upgrade Status Column -->\r\n <ng-container matColumnDef=\"site upgrade status\">\r\n <th mat-header-cell *matHeaderCellDef>Site Upgrade Status</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"upgrade-status-cell\">\r\n <ng-container *ngIf=\"element.upgradeStatus === 'READY'; else statusBlock\">\r\n <button mat-button color=\"primary\" class=\"upgrade-button\" (click)=\"onSiteMigration(element)\">Upgrade</button>\r\n </ng-container>\r\n <ng-template #statusBlock>\r\n <div class=\"status-info\">\r\n <span class=\"status-indicator\" [ngClass]=\"getSiteUpgradeStatusClass(element.upgradeStatus)\"></span>\r\n <span>{{ STATUS_ENTRIES[element.upgradeStatus] }}</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"progressBar\">\r\n <th class=\"header\" mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <div class=\"app-progress-bar-container\">\r\n <app-progress-bar\r\n [isAvailable]=\"element.isProgressBarAvailable\"\r\n [progress]=\"element.progress\"\r\n #progressBars>\r\n </app-progress-bar>\r\n </div>\r\n <span *ngIf=\"element.isProgressBarAvailable\" class=\"progress-percents\">\r\n {{ element.progress }} %\r\n </span>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef>Actions</th>\r\n <td mat-cell *matCellDef=\"let element\" class=\"progress-spinner-td\">\r\n <div class=\"flex-container\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"defaultBatchMenu\">\r\n <span style=\"font-size: 17px;\">\u22EE</span>\r\n </button>\r\n </div>\r\n\r\n <mat-menu\r\n #defaultBatchMenu=\"matMenu\"\r\n xPosition=\"after\"\r\n class=\"webex-action-menu\">\r\n\r\n <div class=\"webex-action-menu-row\"\r\n [ngClass]=\"{ 'webex-action-menu-row-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED' }\"\r\n (click)=\"element.pending || element.migrationFormStatus === 'NOT_PREPARED' ? $event.stopPropagation() : onCollect(element)\">\r\n <span\r\n class=\"webex-details-icon webex-icon\"\r\n [ngClass]=\"{ 'migration-action-disabled': element.pending || element.migrationFormStatus === 'NOT_PREPARED'}\">\r\n </span>\r\n <span class=\"webex-action-menu-title\">Collect</span>\r\n </div>\r\n </mat-menu>\r\n\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"userUpgradeLoader\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td class=\"mat-progress-spinner-td\" mat-cell *matCellDef=\"let element\">\r\n\r\n <mat-progress-spinner\r\n *ngIf=\"element.pending\"\r\n class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\">\r\n </mat-progress-spinner>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap\";.webex-action-menu{box-shadow:0 4px 40px #0000001a!important;border-radius:0!important;width:258px;box-sizing:content-box;cursor:pointer}.webex-action-menu-row-disabled{cursor:default!important;opacity:.4}.webex-action-menu-row-disabled .webex-action-menu-title{color:#bababa!important;line-height:23px}.app-progress-bar-container{margin:7px 20px 0 0}.progress-bar-container{min-width:40px}.webex-action-menu-row:hover{background:#f5f5f5}.webex-icon{display:inline-block;height:25px;width:25px;margin:0 7px 0 0}.webex-details-icon{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M16.2115 19.5H17.0961V16H16.2115V19.5ZM16.6538 15.0865C16.7743 15.0929 16.8782 15.0509 16.9653 14.9606C17.0525 14.8702 17.0961 14.7647 17.0961 14.6442C17.0961 14.5237 17.0509 14.4199 16.9605 14.3327C16.8701 14.2455 16.7679 14.2019 16.6538 14.2019C16.5333 14.2019 16.4294 14.2455 16.3422 14.3327C16.2551 14.4199 16.2115 14.5237 16.2115 14.6442C16.2115 14.7583 16.2551 14.8606 16.3422 14.951C16.4294 15.0413 16.5333 15.0865 16.6538 15.0865ZM4.99997 3.99998V10.1827V10.1538V20V3.99998ZM7.25 13.75H10.7231C10.8679 13.4692 11.0307 13.2038 11.2115 12.9538C11.3923 12.7038 11.591 12.4692 11.8077 12.25H7.25V13.75ZM7.25 17.75H10.0173C9.98009 17.5 9.9615 17.2516 9.9615 17.0048C9.9615 16.758 9.97688 16.5064 10.0076 16.25H7.25V17.75ZM5.3077 21.5C4.80257 21.5 4.375 21.325 4.025 20.975C3.675 20.625 3.5 20.1974 3.5 19.6923V4.3077C3.5 3.80257 3.675 3.375 4.025 3.025C4.375 2.675 4.80257 2.5 5.3077 2.5H13.25L18.5 7.74995V10.425C18.2538 10.3506 18.0073 10.2933 17.7605 10.2529C17.5137 10.2125 17.2602 10.1891 17 10.1827V8.49995H12.5V3.99998H5.3077C5.23077 3.99998 5.16024 4.03203 5.09612 4.09613C5.03202 4.16024 4.99997 4.23077 4.99997 4.3077V19.6923C4.99997 19.7692 5.03202 19.8397 5.09612 19.9038C5.16024 19.9679 5.23077 20 5.3077 20H10.7615C10.9064 20.2871 11.0692 20.5557 11.25 20.8057C11.4307 21.0557 11.6327 21.2871 11.8557 21.5H5.3077ZM16.6538 12.3462C17.9025 12.3462 18.9647 12.784 19.8403 13.6596C20.7159 14.5352 21.1538 15.5974 21.1538 16.8461C21.1538 18.0948 20.7159 19.157 19.8403 20.0326C18.9647 20.9083 17.9025 21.3461 16.6538 21.3461C15.4051 21.3461 14.3429 20.9083 13.4673 20.0326C12.5916 19.157 12.1538 18.0948 12.1538 16.8461C12.1538 15.5974 12.5916 14.5352 13.4673 13.6596C14.3429 12.784 15.4051 12.3462 16.6538 12.3462Z%22 fill%3D%22%232C355D%22%2F%3E%3C%2Fsvg%3E\")}.webex-action-menu-row{padding:5px 15px;display:flex;justify-content:flex-start}.webex-action-menu-row .webex-action-menu-title{line-height:23px}.mat-menu-content:not(:empty){padding-top:0!important}.mat-menu-panel{min-height:auto!important}#siteUpgradeTable{font-family:Inter,sans-serif!important}.wrapper{display:flex;flex-direction:column;gap:1rem}.overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff6;z-index:200}.mat-progress-spinner{position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-25px;width:50px;height:40px;text-align:center;font-size:10px}.mat-progress-spinner-td{position:relative}.mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0;position:absolute}.progress-percents{font-weight:500;font-size:12px}::ng-deep .mat-progress-spinner-td{position:relative}::ng-deep #siteUpgradeTable .mat-progress-spinner-td .mat-progress-spinner{top:28%;left:0;margin:0}.site-upgrade-status-wrapper{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;align-items:stretch}.site-upgrade-table{width:100%;background:white;border-radius:8px;overflow:hidden;font-size:14px}.site-upgrade-table .mat-header-row{font-size:12px;height:35px}.site-upgrade-table .mat-cell{border-bottom:1px solid #d6d6d6;font-family:Inter,sans-serif!important}.site-upgrade-table .mat-header-cell{border-bottom:1px solid #afafaf;font-family:Inter,sans-serif!important}.site-upgrade-table .site-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .site-info .site-indicator{width:8px;height:8px;border-radius:50%;background-color:#1170cf}.site-upgrade-table .indicator-status-ready{color:#1170cf!important}.site-upgrade-table .device-info{display:flex;align-items:center;gap:12px}.site-upgrade-table .device-info .device-name-wrapper{display:flex;align-items:center;gap:4px}.site-upgrade-table .device-info .device-name-wrapper .device-name{font-weight:500;color:#212121}.site-upgrade-table .device-info .device-name-wrapper .device-indicator{width:8px;height:8px;border-radius:50%;background-color:#f8cd00}.site-upgrade-table .device-info .device-model{font-size:12px;color:#757575}.site-upgrade-table .status-info{display:flex;align-items:center;gap:8px}.site-upgrade-table .status-info .status-indicator{width:8px;height:8px;border-radius:50%}.site-upgrade-table .status-info .status-indicator.ready{background-color:#1170cf}.site-upgrade-table .status-info .status-indicator.partial-ready{background-color:#f8cd00}.site-upgrade-table .status-info .status-indicator.not-ready{background-color:#9e9e9e}.site-upgrade-table .status-info .status-indicator.completed{background-color:#1d805f}.site-upgrade-table .status-info .status-indicator.failed{background-color:#f23933}.site-upgrade-table .dependencies-text{font-size:12px;background-color:#ffe9e9;padding:.25rem .5rem;border-radius:3px;color:#000}.site-upgrade-table .upgrade-status-cell{display:flex;align-items:center;justify-content:flex-start}.site-upgrade-table .flex-container{display:flex}.site-upgrade-table .upgrade-button{border:1px solid #08599c!important;color:#08599c!important;background:white!important;border-radius:20px!important;font-size:14px!important;font-style:normal!important;font-weight:500!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.site-upgrade-table .upgrade-button:hover{background-color:#e3f2fd!important}.site-upgrade-table .user-count-info .user-count{font-weight:500;color:#212121}.site-upgrade-table .user-count-info .user-label{font-size:12px;color:#757575}.site-upgrade-table .status-icon-cell,.site-upgrade-table .collect-icon-cell{display:flex;align-items:center}.site-upgrade-table .icon-play{width:24px;height:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2218%22 height%3D%2219%22 viewBox%3D%220 0 18 19%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M8.09567 11.7427L11.3625 9.64421C11.523 9.54226 11.6033 9.40067 11.6033 9.21945C11.6033 9.03821 11.523 8.89615 11.3625 8.79326L8.09567 6.69472C7.92739 6.57933 7.75479 6.5701 7.57787 6.66701C7.40096 6.76391 7.3125 6.91497 7.3125 7.12019V11.3173C7.3125 11.5225 7.40096 11.6736 7.57787 11.7705C7.75479 11.8674 7.92739 11.8581 8.09567 11.7427ZM9.00124 16.3437C8.01579 16.3437 7.08951 16.1567 6.22241 15.7827C5.3553 15.4087 4.60104 14.9012 3.95963 14.26C3.3182 13.6189 2.81041 12.865 2.43624 11.9982C2.06208 11.1315 1.875 10.2054 1.875 9.21999C1.875 8.23454 2.062 7.30826 2.436 6.44116C2.81 5.57405 3.31756 4.81979 3.95869 4.17838C4.59983 3.53695 5.35376 3.02916 6.22048 2.65499C7.08719 2.28083 8.01328 2.09375 8.99873 2.09375C9.98418 2.09375 10.9105 2.28075 11.7776 2.65475C12.6447 3.02875 13.3989 3.53631 14.0403 4.17744C14.6818 4.81858 15.1896 5.57251 15.5637 6.43923C15.9379 7.30594 16.125 8.23203 16.125 9.21748C16.125 10.2029 15.938 11.1292 15.564 11.9963C15.19 12.8634 14.6824 13.6177 14.0413 14.2591C13.4001 14.9005 12.6462 15.4083 11.7795 15.7825C10.9128 16.1566 9.98669 16.3437 9.00124 16.3437ZM8.99998 15.2187C10.675 15.2187 12.0937 14.6375 13.2562 13.475C14.4187 12.3125 15 10.8937 15 9.21873C15 7.54373 14.4187 6.12498 13.2562 4.96248C12.0937 3.79998 10.675 3.21873 8.99998 3.21873C7.32498 3.21873 5.90623 3.79998 4.74373 4.96248C3.58123 6.12498 2.99998 7.54373 2.99998 9.21873C2.99998 10.8937 3.58123 12.3125 4.74373 13.475C5.90623 14.6375 7.32498 15.2187 8.99998 15.2187Z%22 fill%3D%22%232C355D%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;background-size:contain}.site-upgrade-table .collect-icon-cell{cursor:pointer}::ng-deep .action-wrapper{display:flex;align-items:center;flex:1;justify-content:space-between;gap:1rem;color:#555}.table-action-panel{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:1rem}.pay-button-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid #2c355d;background-color:#fff;cursor:pointer;transition:all .3s ease;position:relative}.pay-button-icon:after{content:\"\";width:0;height:0;border-left:6px solid #2c355d;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}.pay-button-icon:hover{border-color:#2c355d;background-color:#f8fafc;transform:scale(1.05)}.pay-button-icon:hover:after{border-left-color:#2c355d}.pay-button-icon:active{transform:scale(.95);background-color:#e2e8f0}.pay-button-icon:disabled,.pay-button-icon.disabled{opacity:.5;cursor:not-allowed}.pay-button-icon:disabled:hover,.pay-button-icon.disabled:hover{transform:none;border-color:#d1d5db;background-color:#fff}.pay-button-icon:disabled:hover:after,.pay-button-icon.disabled:hover:after{border-left-color:#2c355d}.pay-button-icon.small{width:32px;height:32px;border-width:1.5px}.pay-button-icon.small:after{border-left-width:6px;border-top-width:5px;border-bottom-width:5px;margin-left:1px}.pay-button-icon.large{width:48px;height:48px;border-width:2.5px}.pay-button-icon.large:after{border-left-width:10px;border-top-width:7px;border-bottom-width:7px;margin-left:3px}.pay-button-icon.xl{width:56px;height:56px;border-width:3px}.pay-button-icon.xl:after{border-left-width:12px;border-top-width:8px;border-bottom-width:8px;margin-left:3px}.pay-button-icon.loading:after{display:none}.pay-button-icon.loading:before{content:\"\";width:16px;height:16px;border:2px solid #2c355d;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pay-button{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#2c355d;transition:color .3s ease}.pay-button .pay-button-icon{margin:0}\n"] }]
428
428
  }], ctorParameters: function () { return []; }, propDecorators: { token: [{
429
429
  type: Input
430
430
  }], customerId: [{