tango-app-ui-store-builder 1.2.6 → 1.2.8

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.
@@ -498,6 +498,9 @@ class StoreBuilderService {
498
498
  updateRevisionName(data) {
499
499
  return this.http.post(`${this.storeBuilderApiUrl}/managePlano/updateRevisionName`, data);
500
500
  }
501
+ setStagingFlag(data) {
502
+ return this.http.post(`${this.storeBuilderApiUrl}/managePlano/setStagingFlag`, data);
503
+ }
501
504
  getShelfDetails(data) {
502
505
  return this.http.post(`${this.storeBuilderApiUrl}/shelfProduct`, data);
503
506
  }
@@ -25428,9 +25431,17 @@ class CreateFixtureModalComponent {
25428
25431
  storeBuilderService;
25429
25432
  toast;
25430
25433
  clientId;
25434
+ countryOptions = [
25435
+ { id: 'IN', label: 'IN' },
25436
+ { id: 'SG', label: 'SG' },
25437
+ { id: 'SA', label: 'SA' },
25438
+ { id: 'TH', label: 'TH' },
25439
+ { id: 'AE', label: 'AE' },
25440
+ ];
25431
25441
  fixtureForm = new FormGroup({
25432
25442
  fixtureCategory: new FormControl('', [Validators.required, generalValidator()]),
25433
- fixtureType: new FormControl('wall', [Validators.required])
25443
+ fixtureType: new FormControl('wall', [Validators.required]),
25444
+ country: new FormControl([], [Validators.required])
25434
25445
  });
25435
25446
  destroy$ = new Subject();
25436
25447
  constructor(activeModal, storeBuilderService, toast) {
@@ -25469,11 +25480,11 @@ class CreateFixtureModalComponent {
25469
25480
  this.destroy$.complete();
25470
25481
  }
25471
25482
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateFixtureModalComponent, deps: [{ token: i1$1.NgbActiveModal }, { token: StoreBuilderService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
25472
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateFixtureModalComponent, selector: "app-create-fixture-modal", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"modal-wrapper\">\r\n <div class=\"mb-4\">\r\n <h3 class=\"mb-1\">Create fixture</h3>\r\n <p>You can create your fixture from the pre-configured settings.</p>\r\n </div>\r\n\r\n <form [formGroup]=\"fixtureForm\">\r\n <div class=\"mb-5\">\r\n <label for=\"fixtureCategory\" class=\"form-label mb-1\">Fixture name</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n id=\"fixtureCategory\"\r\n formControlName=\"fixtureCategory\"\r\n placeholder=\"Type your fixture name\"\r\n />\r\n <ng-container *ngIf=\"fixtureForm.get('fixtureCategory')?.touched && fixtureForm.get('fixtureCategory')?.invalid\">\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('required')\">\r\n Fixture name is required.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('whitespace')\">\r\n Fixture name cannot be only whitespace.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('trimSpaces')\">\r\n No leading or trailing whitespace allowed.\r\n </small>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-5\">\r\n <h4 class=\"mb-1\">Fixture type</h4>\r\n <p>Choose fixture type based on where it requires to fit into your store.</p>\r\n </div>\r\n\r\n <div class=\"type-container\">\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('wall')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'wall'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"66\"\r\n height=\"67\"\r\n viewBox=\"0 0 66 67\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"66\" height=\"66\" fill=\"url(#pattern0_11_41655)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41655\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41655\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41655\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Wall Fixture</h5>\r\n </div>\r\n\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('floor')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'floor'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"72\"\r\n height=\"73\"\r\n viewBox=\"0 0 72 73\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"72\" height=\"72\" fill=\"url(#pattern0_11_41659)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41659\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41659\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41659\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Floor Fixture</h5>\r\n </div>\r\n </div>\r\n\r\n <div class=\"modal-actions\">\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onCancel()\">Cancel</button>\r\n <button type=\"button\" class=\"btn btn-primary px-4\" (click)=\"onProceed()\" [disabled]=\"!fixtureForm.valid\">Proceed</button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: [".modal-wrapper{padding:24px}.type-container{display:flex;justify-content:stretch;gap:16px;margin-bottom:24px}.type-item{width:100%;padding:30px;background:#fff;border:2px solid #d0d5dd;border-radius:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all ease .2s;box-shadow:0 8px 8px -4px #fff0;box-shadow:0 20px 24px -4px #fff0}.type-item:hover{cursor:pointer}.type-item.active{border:2px solid #00a3ff;box-shadow:0 8px 8px -4px #10182808;box-shadow:0 20px 24px -4px #10182814}.modal-actions{display:flex;justify-content:end;gap:12px}::ng-deep .modal-content{border-radius:12px!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
25483
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateFixtureModalComponent, selector: "app-create-fixture-modal", inputs: { clientId: "clientId" }, ngImport: i0, template: "<div class=\"modal-wrapper\">\r\n <div class=\"mb-4\">\r\n <h3 class=\"mb-1\">Create fixture</h3>\r\n <p>You can create your fixture from the pre-configured settings.</p>\r\n </div>\r\n\r\n <form [formGroup]=\"fixtureForm\">\r\n <div class=\"mb-5\">\r\n <label for=\"fixtureCategory\" class=\"form-label mb-1\">Fixture name</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n id=\"fixtureCategory\"\r\n formControlName=\"fixtureCategory\"\r\n placeholder=\"Type your fixture name\"\r\n />\r\n <ng-container *ngIf=\"fixtureForm.get('fixtureCategory')?.touched && fixtureForm.get('fixtureCategory')?.invalid\">\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('required')\">\r\n Fixture name is required.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('whitespace')\">\r\n Fixture name cannot be only whitespace.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('trimSpaces')\">\r\n No leading or trailing whitespace allowed.\r\n </small>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-5\">\r\n <label for=\"country\" class=\"form-label mb-1\">Country</label>\r\n <multiselect-chip-dropdown\r\n [items]=\"countryOptions\"\r\n [idField]=\"'id'\"\r\n [nameField]=\"'label'\"\r\n [placeholder]=\"'Select countries'\"\r\n formControlName=\"country\"\r\n ></multiselect-chip-dropdown>\r\n <ng-container *ngIf=\"fixtureForm.get('country')?.touched && fixtureForm.get('country')?.invalid\">\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('country')?.hasError('required')\">\r\n Select at least one country.\r\n </small>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-5\">\r\n <h4 class=\"mb-1\">Fixture type</h4>\r\n <p>Choose fixture type based on where it requires to fit into your store.</p>\r\n </div>\r\n\r\n <div class=\"type-container\">\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('wall')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'wall'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"66\"\r\n height=\"67\"\r\n viewBox=\"0 0 66 67\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"66\" height=\"66\" fill=\"url(#pattern0_11_41655)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41655\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41655\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41655\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABdSSURBVHic7d1rrGVnXQbw53Sm5UxLb4ZWK5UWiIoiyFBipIopBJAglIvBWwyFKF4+aEJiwgdjIgH9UEQE/CClQvUTIaAgl7a2IkFC1ECaoAKKLbRcBWzL9HKmM9M5ftgzljN0zp5z1l77fff6/37Jm07SnLWfNWvNfp+zrmuZhtOSPC3Js47994eTPDrJWUnWktyb5GtJ/jPJp5L8Y5J/SfJgi7AAdGNPkp9M8swkT03yhCTfl+SRSTaT3Jfky5nNH5/MbP74ZJKjLcLykIuSvD7J7ZltqJ2MryS5Osljlp4agNYuSfKGJF/NzueP2zObey5aempyfpK3JDmYnW+4E8ehJNckuWCpawBACxcmeXtm3/1D54+NJG9Oct5S16Cwlyb5nwzfcCeO/03yq0tcDwCW6+VJ7szi54+vJ3nJEtejnD2ZNa1Fb7gTx7VJzljSOgEwvjOSvCPjzh1Hk7wps7mKBXpEkvdm/Mn/+LghswsIAVhtZyW5McubP96b2ZzFAuxJ8u4sb+MdH/8QGxFglZ2e5Posf/54fxwJWIg3Zfkb7/i4dgnrB8A43pl288efLGH9Ju3FmZ1XabUBN+PCQIBVdFXazh1Hk7xw9LWcqHMyu1e/5QbczOyK0QtHXlcAFud7k9yV9vPH15KcO/K6TtKfpv3GOz6uGXldAVicsa/438m4euR1nZwLM3v8YusNd3wcSnLpmCsMwEI8NsnhtJ83jo/70ulR5NNaBziJ305yZusQ3+H0JL/TOgQAc/1ukr2tQ3yHM5P8ZusQq2ItyX+nfWs7cXw9fe1UAGy1N7Pv6tbzxYnj85nNbczxlLTfWCcbzxhxvQEY5oq0nydONp403mrvTo+nAJ7VOsA2es4GUF3P39HdZeuxAFy2gGV8NckvZXb7xdlJXpTkMwtY7tMWsAwAxrGI+eOLmT2D5uzM3vL3siS3LWC55o9T8MkMO8zytTz8FZfnJvnCwGX/14LXFYDFGXr92K15+Pv2L8zwawv+dcHrOklDH/6z3ZP7rhy47HsWtpYALNrQ28dfsM2yXz5w2V9a2FpO2Lcz7C/5gm2WvZ5hjxY+mj5PmwBUtyfDv9+3ewHchQOWvZnZ3NaVHiezMwb+/Ha/pR9M8sCAZa9leD4AFu/0DLvV7oFsPz8cGLDspMO5o8cCAACMTAEAgIIUAAAoyKNt+/eYJK9I8pzMXkh0VsswNHdfktuT3JzkuszuWW7pkjy0f14S+2d1x/fPmzLbP29vmoaVs5FhV1quN17+opyW5A8XkNeY7jiY5PWZXf28bHuSvO5YhtZ/D0af42CS12Z5R5rXB+bdaLx8ogAks38w7x6Y06gz3pflloA9Sf5mhPUwpjnek+XsnwrADrkGoE+vzezxk3AqXpTkj5b4ea9P8pIlfh6r7ecz+06jMz2+nvD+JPsG/PyZ2b5pbWTYb/H7Mju0NZZLk3wu2z+QAk50OMkTM3vt6Jgen+Szmd1zDafqUJIfyWKeqX8y6xn2W/bBbD/3jL38pevxCMDQUrK5kBTt/HpM/uzc6ZntO2N7VUz+7NwZSX6tdQi26rEADJ3AezyqsRPPbR2AlfWzS/gM+ye7tYz9kx3osQBUPwJwaesArKxLJ/IZTNOlrQOwVY8FoPoRgLNbB2BlPdxrTBfN/sluLWP/ZAd6LADVjwAAwOh6LAAAwMgUAAAoSAEAgIJ6LADVLwIEgNH1WAAAgJEpAABQ0N7WAVi4i5I80PDz7xz489+z4p8/1ND8vbswyZFGn703yTcG/PyRzPIPscr759C/PzqjAEzP3Rn3ZUVju6v450/dXWlbAIZqvX+0/HzzxcQ4BQAABSkAAFCQAgAABSkAAFCQAgAABSkAAFBQj7d1eBRwbbe2DgAnsSf2TyakxwIwdAIfWiBo63GtA8BJrMX+yYQ4BQAABSkAAFCQAgAABU2xALgIEADm6LEAuIgPAEbWYwEAAEamALBo97cOMMAqZ2e+B5Mcah1iAPsnC6UAsGhfaR1ggC+3DsCoNmP/hP+nALBoH20dYICPtA7A6D7aOsAA9k8WSgFg0a5rHWCXNpP8VesQjO661gF2yf7JwikALNonkryndYhdeHeSf24dgtF9LMn7WofYBfsnJdyXWdvd7ThrzvI3Bi5/fSFrubr5TsW5Sf4tw9ZjmePTSc4Z5W9i54auy9gOD8zXw/tHzkvymbTf71Zt/9ybYetxeOR86wPzbTRe/tL1eARgGV9ijOvbSX4myYdbBzkFH8gs64HWQViau5P8dJIbWgc5BfZPSrk3w1qWIwB9eX6Sv83wIzuLHPcey/S8Edd7t4au29imcATgO70gyftj/zwVjgCMu/yl6/Gxufdm/iS+nUdm9o/5ZDYybJLcl+TggJ+fp/d8Qzwq7Q9lHkjyrcYZtjN0Eh/73/ThDJvET09yZEFZFu2CJGc3ztDz/rk3wybxI5lt/7GsZ9gkezCz789Wy1+63tp4MvwLbBm/BbE730q/X27wzWMDSujxGgAAYGQKAAAUpAAAQEEKAAAUNMUC0OOdDQDQlR4LgKv4AWBkPRYAAGBkCgAAFKQAAEBBCgAAFKQAAEBBCgAAFKQAAEBBCgAAFKQAAEBBCgAAFKQAAEBBCgAAFKQAAEBBCgAAFDTFArDWOgAA9K7HArDZOgAATF2PBQAAGJkCAAAFKQAAUJACAAAFKQAAUJACAAAFKQAAUJACAAAFKQAAUJACAAAFKQAAUJACAAAFKQAAUJACAAAFKQAAUNAUC8Ba6wAA0LseC8Bm6wAAMHU9FgAAYGQKAAAUpAAAQEEKAAAUpAAAQEEKAAAUpAAAQEEKAAAUpAAAQEEKAAAUpAAAQEEKAAAUpAAAQEEKAAAUNMUCsNY6AAD0booFAACYo8cCsNk6AABMXY8FAAAYmQIAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQ0BQLwFrrAADQuykWAABgjh4LwGbrAAAwdT0WAABgZAoAABSkAABAQQoAABSkAABAQQoAABS0t3WAFbTROsAcvedjXL3fRnu4dQCa2Zv+989SHAEAgIIUAAAoSAEAgIIUAAAoSAEAgIIUAAAoSAEAgIKmWADWWgcAgN5NsQAAAHP0WAA8KQoARtZjAQAARqYAAEBBCgAAFKQAAEBBCgAAFLS3dYAVtC/JwdYhANhiPclG6xCrxBEAAChIAQCAghQAAChIAQCAghQAAChIAQCAghQAAChois8BWBt5+e4zBWDlOQIAAAUpAABQUI8FYLN1AACYuh4LAAAwMgUAAApSAACgIAUAAApSAACgIAUAAApSAACgIAUAAApSAACgIAUAAApSAACgIAUAAAra2zrACtqX5GDrEABssZ5ko3WIVTLFIwBrrQMAQO+mWAAAgDl6LACbrQMAwNT1WAAAgJEpAABQkAIAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQkAIAAAX1+Drgoe8CmPLbAC9IcnbrEAAncU+Sb7YOwanpsQCw1QuS/EaSZyfZ1zgLwDwbSW5Kck2SDzXOwjacAujX+UmuT/KBJC+MyR9YDfuSXJnkg5kVgPPaxuFkFIA+nZvkn5I8r3UQgAGen9l32Tmtg/DdFIA+vSPJE1uHAFiAH0vy9tYh+G4KQH9+KslLW4cAWKBfSPL01iHYSgHozytaBwAYwVWtA7CVAtCfK1oHABjBM1sHYCsFoD/f3zoAwAgubh2ArRSA/pzZOgDACHy3dUYBAICCFAAAKEgBAICCFAAAKEgBAICCFAAAKKjH1wFvDvz5tYWkWF23tQ7AII8b+PNjb//e8zGuodufjvRYAIZO4EMLxKp7fOsADDJ0/x17+/eej3FV/36dlCmeAqh+BAAA5ppiAQAA5lAAAKAgBQAACuqxALjIBABG1mMBAABG1uNtgMDuuU8bOCUKAEzLra0DAKvBKQAAKEgBAICCFAAAKEgBAICCFAAAKEgBAICCeiwAQ58E6G2AADBHjwVg6ATuUcKssrtbBxjRXa0DAA/psQA4AkBlX2gdYES3tQ4APKTHAmACp7LrWwcY0YdbBwAe0mMBgMquSfJA6xAjOJjk2tYhgIf0WACcw6ey25P8cesQI3hdkjtahwD69o3MSsBuxwVzlr8xcPnrC1nLkxuSTXmahrUkf53h+0Iv47o4tTcVPX8/rQ/MttF4+UvX4xEAqG4zyVVJfi/JPY2zDHEgyauTvDLKKXTH64ChT5tJ3pjZkYBfTvLsJJcmOathplNxX5IvJrkpybuSfLNpGmClOAXQ7yE2oLaev5+cAtghpwAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoKApFgAvHQGAOaZYAACAORQAAChIAQCAgnosAN5oBwAj67EAAAAjUwAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoKApFoC11gEAoHdTLAAAwBwKAAAUpAAAQEE9FoDN1gEAYOp6LAAAwMgUAAAoSAEAgIIUAAAoSAEAgIIUAAAoSAEAgIIUAAAoSAEAgIIUAAAoSAEAgIKmWADWWgcAgN5NsQAAAHMoAABQkAIAAAUpAABQUI8FYLN1AACYuh4LAAAwMgUAAApSAACgIAUAAApSAACgIAUAAAra2zrAwxh6G+DY7wLYn+TQyJ8xxGWtAwCcxJjfT2eMuOxJ6rEADJ3Ax36OwCdGXv5Qn2wdAOAkfD91xCkAAChIAQCAghQAAChoigVg7IsAAWDlTbEAAABzKAAAUJACAAAF9VgAxr6PHwDK67EAAAAjUwAAoCAFAAAKUgAAoCAFAAAKUgAAoKAeXwc81NiPAr4lydGRPwOAnTktyf7WIVbJFAvA2M8RuDzJwZE/A4CdWU+y0TrEKnEKAAAKUgAAoCAFAAAKmmIBGPsiQABYeVMsAADAHAoAABTU422Avb8OeH+SQ61DALDFGa0DrJoeC0Dv5/A/0ToAAAzV4ymA3o8AAMDK67EAAAAjUwAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoCAFAAAKUgAAoKApFoDe3yUAAM1NsQAAAHMoAABQUI+vA+79bYC3JDnaOgQAW5yWZH/rEKukxwLQ+zn8y5McbB0CgC3Wk2y0DrFKnAIAgIJ6LAC9nwIAgJXXYwEAAEamAABAQQoAABSkAABAQT3eBjhU77cRAg/v7CQXtA7BIN9KcqB1CE7NFAsAsDqem+RVx/57TuMsLMaBJDcleXuSGxtnYcV8ObNbAXc7Lp6z/I2By19fyFpCbecm+bsM+7do9D8+kOS8LMf6wKzzHiI09vKXrsdrADZbBwBGdU6SjyV5YesgjO4FmW1rR3c61GMBAKbt2iRPbh2CpXlSZtuczigAwDI9PcnLWodg6V6W2XtU6EiPBcBV/DBdr2wdgGZs+870WABcAwDTdUXrADTzzNYB2KrHAgBM16NbB6CZi+MIb1d6LAB2EJiuM1sHoJlHJNnTOgQP6bEAAAAj67EAuAYAAEbWYwEAAEamAABAQQoAABSkAABAQVN8HbDbCGG6bht5+Y8b+PND8z02w77DvpBxL6Qemo+OTLEAuIsApuvxIy9/6PfH0HyHM+x7+YeSHBmYYTtD89ERpwAAoCAFAAAKUgAAoCAFAAAKmmIBcIUqAMwxxQIAAMzR4+0cbuM7uX1J1luHmLi1THsffCDJ/a1DTNj5rQPAqeqxALDVM5L8VpLnJLmgcRam4a4kNyf5yyQ3Ns4yNXe2DgCnyimAfp2V5F1JPpbkV2LyZ3HOT/KyJDck+WD81golKQB9OjPJR5L8YusgTN7PJfl4kvNaBwGWSwHo058n+YnWISjjR5O8s3UIYLkUgP48JclVrUNQzouTXNE6BLA8CkB/XhHbhTZe2ToAsDxTnGhW/UFAz2wdgLKe1ToAsDxTLACr7uLWASjrorg1GMqYYgFY9Ye4nNk6AGXtiQdNHWgdYID7khxpHYLVMcUCsOqnAIB27mgdYIDbWwdgtUyxAKz6EQCgnVV+MuINrQOwWnosAEMncEcAgN26Nqt5GP1IZtnhlPVYAABa+VySt7QOsQtvTfLZ1iFYLQoAwFavSfKh1iF24PrMMsOOKAAAWx3J7MmIVyc51DjLdg5nlvHKY3+GHXHP7/Tcnb4vhBz65rm7Vvzzx3ZeXAezCEcy+636bZk9IfHZSS5J+9skD2Z2p8LNmb2/4da2cWCx7shsAtvteMyc5W8MXP7YXwC95xtqyLototgcHvj5vZfmezJs/R45cr7W259hev73sz4w20bj5S+dUwAAUJACAAAFKQAAUFCPBcB5PgAYWY8FAAAYmQIAAAX1fkvTbrgHetqG3scPQKZZAFxDMG13tg4AMAVOAQBAQQoAABSkAABAQQoAABSkAABAQVMsAG4DBIA5eiwAbuMDgJH1WAD8Bj9tB1oHGOC+JEdahwBYhB4LgCMA03ZH6wAD3N46AMCi9FgAHAGYthtbBxjghtYBABalxwLgCMC0XZvVPIx+JLPsAJPQYwFg2j6X5C2tQ+zCW5N8tnUIgEVRAGjhNUk+1DrEDlyfWWaAyZhiAXANQf+OJHlxkquTHGqcZTuHM8t45bE/A0zGFF8HzGo4ktlv1W9L8sokz05ySZL1lqGSHMzsToWbk7wzya1t4wCMY4oFwEWEq+W2JH9wbACwJFM8BQAAzKEAAEBBCgAAFKQAAEBBCgAAFDTFAuA5AAAwxxQLAAAwhwIAAAUpAABQkAIAAAUpAABQkAIAAAX1WAC8zAcARtZjAQAARqYAAEBBCgAAFKQAAEBBCgAAFKQAAEBBCgAAFKQAAEBBCgAAFDTFArDWOgAA9G6KBQAAmEMBAICCFAAAKEgBAICCFAAAKEgBAICCeiwAm60DAMDU9VgAAICRKQAAUJACAAAFKQAAUJACAAAFKQAAUJACAAAFKQAAUNDe1gEextAHAa0tJMXJ7U9yaMTlDy1lY+ejb4vYf+5fRJCRXNY6QHFDv1+fmuTBRQR5GGeMtNzJGnuy3I3bkjx2wM8//tgyTmYjyfqA5QMwPQeT7Nvm/69nNn+MtfylcwoAAApSAACgIAUAAApSAACgIAUAAArqsQAMvQ0QAJijxwIAAIxMAQCAghQAAChIAQCAghQAAChIAQCAghQAAChIAQCAgva2DvAwhj4IaOxXHN+S5OjInwHAzpyWZH/rEKukxwIw9gQ+1OWZvdcZgH6sJ9loHWKVOAUAAAUpAABQkAIAAAUpAABQkAIAAAUpAABQUI+3AQ59DsDY9ic51DoEAFuc0TrAqumxAPTuE60DAMBQTgEAQEEKAAAUpAAAQEEKAAAUpAAAQEEKAAAUpAAAQEFTLABrrQMAQO+mWAAAgDkUAAAoSAEAgIIUAAAoSAEAgIIUAAAoqMfXAW+2DjDHLUmOtg4BwBanJdnfOsQq6bEA9O7yJAdbhwBgi/UkG61DrBKnAACgIAUAAApSAACgIAUAAApSAACgIAUAAApSAACgoCk+B+DzrQMAsHLW0/+D6BbKEQAAKEgBAICCFAAAKEgBAICCFAAAKEgBAICCFAAAKKjHAnBP6wDbeODYAKAvDyQ51DrENg60DnCiHgvAHa0DbONLKfagCIAVsZnky61DbKO7ua3HAnBT6wDb+PvWAQA4KfPHintUkrsza3M9jQeT7B9xvQEY5rIkR9N+vjhxHErygyOu96S8Ou032InjmlHXGIBFeEfazxcnjqtHXeOJWUvyzrTfaMfHxzJ7UQQAfduX5ONpP28cHx/ONF+8N6q1JL+fZCPtNtyDSf4iySNGXlcAFmc9s6O2D6bd/HE4yRtj8h/kB5K8LsmnktyZ8TfavUn+PcmfJXnyEtYPgHH8eJI3J/mPzL7bx54/DiT5dJI3JHnCEtZvkP8DGyhAOzjp39kAAAAASUVORK5CYII=\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Wall Fixture</h5>\r\n </div>\r\n\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('floor')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'floor'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"72\"\r\n height=\"73\"\r\n viewBox=\"0 0 72 73\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"72\" height=\"72\" fill=\"url(#pattern0_11_41659)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41659\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41659\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41659\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Floor Fixture</h5>\r\n </div>\r\n </div>\r\n\r\n <div class=\"modal-actions\">\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onCancel()\">Cancel</button>\r\n <button type=\"button\" class=\"btn btn-primary px-4\" (click)=\"onProceed()\" [disabled]=\"!fixtureForm.valid\">Proceed</button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: [".modal-wrapper{padding:24px}.type-container{display:flex;justify-content:stretch;gap:16px;margin-bottom:24px}.type-item{width:100%;padding:30px;background:#fff;border:2px solid #d0d5dd;border-radius:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all ease .2s;box-shadow:0 8px 8px -4px #fff0;box-shadow:0 20px 24px -4px #fff0}.type-item:hover{cursor:pointer}.type-item.active{border:2px solid #00a3ff;box-shadow:0 8px 8px -4px #10182808;box-shadow:0 20px 24px -4px #10182814}.modal-actions{display:flex;justify-content:end;gap:12px}::ng-deep .modal-content{border-radius:12px!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: MultiselectChipDropdownComponent, selector: "multiselect-chip-dropdown", inputs: ["idField", "nameField", "placeholder", "items", "search", "searchField", "maxSelection", "compact", "extraActionLabel", "extraActionActive"], outputs: ["extraActionClick"] }] });
25473
25484
  }
25474
25485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateFixtureModalComponent, decorators: [{
25475
25486
  type: Component,
25476
- args: [{ selector: 'app-create-fixture-modal', template: "<div class=\"modal-wrapper\">\r\n <div class=\"mb-4\">\r\n <h3 class=\"mb-1\">Create fixture</h3>\r\n <p>You can create your fixture from the pre-configured settings.</p>\r\n </div>\r\n\r\n <form [formGroup]=\"fixtureForm\">\r\n <div class=\"mb-5\">\r\n <label for=\"fixtureCategory\" class=\"form-label mb-1\">Fixture name</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n id=\"fixtureCategory\"\r\n formControlName=\"fixtureCategory\"\r\n placeholder=\"Type your fixture name\"\r\n />\r\n <ng-container *ngIf=\"fixtureForm.get('fixtureCategory')?.touched && fixtureForm.get('fixtureCategory')?.invalid\">\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('required')\">\r\n Fixture name is required.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('whitespace')\">\r\n Fixture name cannot be only whitespace.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('trimSpaces')\">\r\n No leading or trailing whitespace allowed.\r\n </small>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-5\">\r\n <h4 class=\"mb-1\">Fixture type</h4>\r\n <p>Choose fixture type based on where it requires to fit into your store.</p>\r\n </div>\r\n\r\n <div class=\"type-container\">\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('wall')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'wall'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"66\"\r\n height=\"67\"\r\n viewBox=\"0 0 66 67\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"66\" height=\"66\" fill=\"url(#pattern0_11_41655)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41655\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41655\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41655\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Wall Fixture</h5>\r\n </div>\r\n\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('floor')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'floor'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"72\"\r\n height=\"73\"\r\n viewBox=\"0 0 72 73\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"72\" height=\"72\" fill=\"url(#pattern0_11_41659)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41659\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41659\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41659\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Floor Fixture</h5>\r\n </div>\r\n </div>\r\n\r\n <div class=\"modal-actions\">\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onCancel()\">Cancel</button>\r\n <button type=\"button\" class=\"btn btn-primary px-4\" (click)=\"onProceed()\" [disabled]=\"!fixtureForm.valid\">Proceed</button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: [".modal-wrapper{padding:24px}.type-container{display:flex;justify-content:stretch;gap:16px;margin-bottom:24px}.type-item{width:100%;padding:30px;background:#fff;border:2px solid #d0d5dd;border-radius:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all ease .2s;box-shadow:0 8px 8px -4px #fff0;box-shadow:0 20px 24px -4px #fff0}.type-item:hover{cursor:pointer}.type-item.active{border:2px solid #00a3ff;box-shadow:0 8px 8px -4px #10182808;box-shadow:0 20px 24px -4px #10182814}.modal-actions{display:flex;justify-content:end;gap:12px}::ng-deep .modal-content{border-radius:12px!important}\n"] }]
25487
+ args: [{ selector: 'app-create-fixture-modal', template: "<div class=\"modal-wrapper\">\r\n <div class=\"mb-4\">\r\n <h3 class=\"mb-1\">Create fixture</h3>\r\n <p>You can create your fixture from the pre-configured settings.</p>\r\n </div>\r\n\r\n <form [formGroup]=\"fixtureForm\">\r\n <div class=\"mb-5\">\r\n <label for=\"fixtureCategory\" class=\"form-label mb-1\">Fixture name</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n id=\"fixtureCategory\"\r\n formControlName=\"fixtureCategory\"\r\n placeholder=\"Type your fixture name\"\r\n />\r\n <ng-container *ngIf=\"fixtureForm.get('fixtureCategory')?.touched && fixtureForm.get('fixtureCategory')?.invalid\">\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('required')\">\r\n Fixture name is required.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('whitespace')\">\r\n Fixture name cannot be only whitespace.\r\n </small>\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('fixtureCategory')?.hasError('trimSpaces')\">\r\n No leading or trailing whitespace allowed.\r\n </small>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-5\">\r\n <label for=\"country\" class=\"form-label mb-1\">Country</label>\r\n <multiselect-chip-dropdown\r\n [items]=\"countryOptions\"\r\n [idField]=\"'id'\"\r\n [nameField]=\"'label'\"\r\n [placeholder]=\"'Select countries'\"\r\n formControlName=\"country\"\r\n ></multiselect-chip-dropdown>\r\n <ng-container *ngIf=\"fixtureForm.get('country')?.touched && fixtureForm.get('country')?.invalid\">\r\n <small class=\"text-danger\" *ngIf=\"fixtureForm.get('country')?.hasError('required')\">\r\n Select at least one country.\r\n </small>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-5\">\r\n <h4 class=\"mb-1\">Fixture type</h4>\r\n <p>Choose fixture type based on where it requires to fit into your store.</p>\r\n </div>\r\n\r\n <div class=\"type-container\">\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('wall')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'wall'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"66\"\r\n height=\"67\"\r\n viewBox=\"0 0 66 67\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"66\" height=\"66\" fill=\"url(#pattern0_11_41655)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41655\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41655\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41655\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Wall Fixture</h5>\r\n </div>\r\n\r\n <div\r\n class=\"type-item\"\r\n (click)=\"fixtureForm.get('fixtureType')?.setValue('floor')\"\r\n [class.active]=\"fixtureForm.get('fixtureType')?.value === 'floor'\"\r\n >\r\n <svg\r\n class=\"mb-3\"\r\n width=\"72\"\r\n height=\"73\"\r\n viewBox=\"0 0 72 73\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n >\r\n <rect y=\"0.5\" width=\"72\" height=\"72\" fill=\"url(#pattern0_11_41659)\" />\r\n <defs>\r\n <pattern id=\"pattern0_11_41659\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\r\n <use xlink:href=\"#image0_11_41659\" transform=\"scale(0.00195312)\" />\r\n </pattern>\r\n <image\r\n id=\"image0_11_41659\"\r\n width=\"512\"\r\n height=\"512\"\r\n preserveAspectRatio=\"none\"\r\n xlink:href=\"data:image/png;base64,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\"\r\n />\r\n </defs>\r\n </svg>\r\n <h5>Floor Fixture</h5>\r\n </div>\r\n </div>\r\n\r\n <div class=\"modal-actions\">\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onCancel()\">Cancel</button>\r\n <button type=\"button\" class=\"btn btn-primary px-4\" (click)=\"onProceed()\" [disabled]=\"!fixtureForm.valid\">Proceed</button>\r\n </div>\r\n </form>\r\n</div>\r\n", styles: [".modal-wrapper{padding:24px}.type-container{display:flex;justify-content:stretch;gap:16px;margin-bottom:24px}.type-item{width:100%;padding:30px;background:#fff;border:2px solid #d0d5dd;border-radius:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all ease .2s;box-shadow:0 8px 8px -4px #fff0;box-shadow:0 20px 24px -4px #fff0}.type-item:hover{cursor:pointer}.type-item.active{border:2px solid #00a3ff;box-shadow:0 8px 8px -4px #10182808;box-shadow:0 20px 24px -4px #10182814}.modal-actions{display:flex;justify-content:end;gap:12px}::ng-deep .modal-content{border-radius:12px!important}\n"] }]
25477
25488
  }], ctorParameters: () => [{ type: i1$1.NgbActiveModal }, { type: StoreBuilderService }, { type: i4.ToastService }], propDecorators: { clientId: [{
25478
25489
  type: Input
25479
25490
  }] } });
@@ -25511,12 +25522,23 @@ class FixtureLibraryComponent {
25511
25522
  { text: "Wall", id: 'wall' },
25512
25523
  { text: "Floor", id: 'floor' },
25513
25524
  ]
25525
+ },
25526
+ {
25527
+ Description: 'Country',
25528
+ Issues: [
25529
+ { text: "IN", id: 'IN' },
25530
+ { text: "SG", id: 'SG' },
25531
+ { text: "SA", id: 'SA' },
25532
+ { text: "TH", id: 'TH' },
25533
+ { text: "AE", id: 'AE' },
25534
+ ]
25514
25535
  }
25515
25536
  ];
25516
25537
  appliedFilters = {
25517
25538
  type: [],
25518
25539
  status: [],
25519
- size: []
25540
+ size: [],
25541
+ country: []
25520
25542
  };
25521
25543
  isFilterApplied = false;
25522
25544
  isPageLoading = true;
@@ -25613,6 +25635,7 @@ class FixtureLibraryComponent {
25613
25635
  templatesTagged: item.templateId.length,
25614
25636
  status: item.status,
25615
25637
  id: item._id,
25638
+ country: item.country || [],
25616
25639
  };
25617
25640
  });
25618
25641
  if (this.totalItems < 10) {
@@ -25657,7 +25680,8 @@ class FixtureLibraryComponent {
25657
25680
  filter: {
25658
25681
  type: [],
25659
25682
  status: [],
25660
- size: []
25683
+ size: [],
25684
+ country: []
25661
25685
  },
25662
25686
  export: true,
25663
25687
  emptyDownload: true
@@ -25734,9 +25758,10 @@ class FixtureLibraryComponent {
25734
25758
  applyFilters(event) {
25735
25759
  const status = event[0]?.Issues?.map((i) => i?.id);
25736
25760
  const type = event[1]?.Issues?.map((i) => i?.id);
25737
- const size = event[2]?.Issues?.map((i) => i?.id);
25738
- this.isFilterApplied = (status || type || size);
25739
- this.appliedFilters = { type, status, size };
25761
+ const country = event[2]?.Issues?.map((i) => i?.id);
25762
+ const size = event[3]?.Issues?.map((i) => i?.id);
25763
+ this.isFilterApplied = (status || type || size || country);
25764
+ this.appliedFilters = { type, status, size, country };
25740
25765
  this.offset = 1;
25741
25766
  this.getFixturesList();
25742
25767
  }
@@ -25838,11 +25863,11 @@ class FixtureLibraryComponent {
25838
25863
  this.libSub?.unsubscribe();
25839
25864
  }
25840
25865
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FixtureLibraryComponent, deps: [{ token: i1$1.NgbModal }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: StoreBuilderService }, { token: i2$1.GlobalStateService }, { token: i4.ToastService }, { token: i2$1.PageInfoService }], target: i0.ɵɵFactoryTarget.Component });
25841
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FixtureLibraryComponent, selector: "lib-fixture-library", ngImport: i0, template: "<section id=\"fixture-library\" class=\"content-wrapper\">\r\n <!-- Fixture view header -->\r\n <div\r\n *ngIf=\"fixturesList.length !== 0 || searchTerm || isFilterApplied\"\r\n class=\"d-flex justify-content-between align-items-center mb-5\"\r\n >\r\n <div>\r\n <h4>Fixtures List</h4>\r\n <span>{{ totalItems }} - Total Fixtures</span>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div style=\"position: relative\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchTerm\"\r\n (change)=\"onSearch()\"\r\n style=\"padding-left: 3rem; padding-right: 3rem\"\r\n class=\"form-control\"\r\n name=\"search\"\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n />\r\n\r\n <span class=\"search-icon\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" stroke-width=\"2\" />\r\n <line x1=\"13\" y1=\"13\" x2=\"16\" y2=\"16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <button *ngIf=\"searchTerm\" type=\"button\" aria-label=\"Clear\" (click)=\"searchTerm = ''; onSearch()\" class=\"clear-search\">\r\n <svg width=\"64px\" height=\"64px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path d=\"M9 9L15 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <path d=\"M15 9L9 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n ></circle>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <button type=\"button\" (click)=\"onClickCreateFixtureLibrary()\" class=\"btn btn-primary d-inline-flex align-items-center me-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\"\r\n stroke=\"white\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create </span>\r\n </button>\r\n\r\n <!-- <button type=\"button\" (click)=\"openBulkUploadModal()\" class=\"btn btn-outline text-nowrap\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Bulk Upload\r\n </button> -->\r\n\r\n <button\r\n type=\"button\"\r\n [disabled]=\"fixturesList.length <= 0\"\r\n (click)=\"exportFixtureList()\"\r\n class=\"btn btn-outline text-nowrap\"\r\n >\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Export\r\n </button>\r\n\r\n <lib-filters [dataObject]=\"filterObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"toggle-button me-2\" [ngClass]=\"{ selected: viewMode === 'list' }\" (click)=\"toggleViewMode('list')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.24078 4.54639H15.8906M6.24078 9.00017H15.8906M6.24078 13.4539H15.8906M2.5293 4.54639H2.53672M2.5293 9.00017H2.53672M2.5293 13.4539H2.53672\"\r\n [attr.stroke]=\"viewMode === 'list' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"toggle-button\" [ngClass]=\"{ selected: viewMode === 'grid' }\" (click)=\"toggleViewMode('grid')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7.91886 2.31934H2.72278V7.51541H7.91886V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 2.31934H10.888V7.51541H16.0841V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 10.4846H10.888V15.6807H16.0841V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M7.91886 10.4846H2.72278V15.6807H7.91886V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isPageLoading; else contentPart\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #contentPart>\r\n <div *ngIf=\"fixturesList.length === 0\">\r\n @if(searchTerm || isFilterApplied){\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" />\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for matching filter and search</div>\r\n </div>\r\n </div>\r\n </div>\r\n }@else{\r\n <div class=\"row g-0 py-12\">\r\n <!-- Single Fixture Creation -->\r\n <div class=\"col-md-12 pe-md-3\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 56 56\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\" />\r\n <path\r\n d=\"M28 24V32M24 28H32M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture</h3>\r\n <p class=\"card-tagline mb-0\">Start creating fixture manually through step by step</p>\r\n </div>\r\n <button\r\n (click)=\"onClickCreateFixtureLibrary()\"\r\n type=\"button\"\r\n class=\"btn btn-outline d-inline-flex align-items-center\"\r\n >\r\n <svg class=\"me-2\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12 5V19M5 12H19\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Create\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Bulk Fixture Creation -->\r\n <!-- <div class=\"col-md-6 ps-md-3 border-start\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 95 94\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" fill=\"#DAF1FF\" />\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" stroke=\"#EAF8FF\" stroke-width=\"13.3333\" />\r\n <path\r\n d=\"M62.5 52V58.6667C62.5 59.5507 62.1488 60.3986 61.5237 61.0237C60.8986 61.6488 60.0507 62 59.1667 62H35.8333C34.9493 62 34.1014 61.6488 33.4763 61.0237C32.8512 60.3986 32.5 59.5507 32.5 58.6667V52M55.8333 40.3333L47.5 32M47.5 32L39.1667 40.3333M47.5 32V52\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"3.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture using excel template</h3>\r\n <p class=\"card-tagline mb-0\">You can create a single or a multiple fixtures using the template below</p>\r\n </div>\r\n <div class=\"d-flex flex-column gap-2 mb-6\" style=\"width: fit-content\">\r\n <p class=\"card-description mb-0\">\r\n Step1 - <a class=\"download-link fw-medium\" (click)=\"downloadEmptyTemplate()\">Download the template here</a>\r\n </p>\r\n <p class=\"card-description mb-0\">Step2 - Add your data to the Template File</p>\r\n <p class=\"card-description mb-0\">Step3 - Upload it below for processing</p>\r\n </div>\r\n <button class=\"btn btn-primary d-inline-flex align-items-center\" (click)=\"openBulkUploadModal()\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Upload\r\n </button>\r\n </div>\r\n </div> -->\r\n </div>\r\n }\r\n </div>\r\n\r\n <div *ngIf=\"fixturesList.length != 0\">\r\n <!-- Fixture list view -->\r\n <section id=\"list-view\" *ngIf=\"viewMode === 'list'; else gridView\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureCategory')\" class=\"cursor-pointer\">\r\n Fixture name\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureCategory' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureCategory' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureType')\" class=\"cursor-pointer\">\r\n Type\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureType' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureType' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureWidth')\" class=\"cursor-pointer\">\r\n Width\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureWidth' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureWidth' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureLength')\" class=\"cursor-pointer\">\r\n Height\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureLength' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureLength' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('shelfConfig')\" class=\"cursor-pointer\">\r\n Partitions\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'shelfConfig' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'shelfConfig' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n\r\n <svg\r\n placement=\"start\"\r\n ngbTooltip=\"Partitions are shelves/sections/panel\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n class=\"ms-2\"\r\n >\r\n <g clip-path=\"url(#clip0_1_25644)\">\r\n <path\r\n d=\"M9 12V9M9 6H9.0075M16.5 9C16.5 13.1421 13.1421 16.5 9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9Z\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1_25644\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('templateCount')\" class=\"cursor-pointer\">\r\n Templates tagged\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'templateCount' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'templateCount' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">Status</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let fixture of fixturesList\">\r\n <td style=\"max-width: 300px\">\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"thumbnail\"></div> -->\r\n <a\r\n [routerLink]=\"['/manage/planogram/create-library-fixture']\"\r\n [queryParams]=\"{ fixtureId: fixture.id }\"\r\n class=\"text-decoration-underline ellipsis\"\r\n [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\"\r\n >\r\n {{ fixture.name }} - {{ fixture.width }}ft\r\n </a>\r\n </div>\r\n </td>\r\n <td>{{ fixture.type | titlecase }}</td>\r\n <td class=\"text-center\">{{ fixture.width }}ft</td>\r\n <td class=\"text-center\">{{ fixture.height }}ft</td>\r\n <td class=\"text-center\">{{ fixture.partitions }}</td>\r\n <td class=\"text-center\">{{ fixture.templatesTagged }}</td>\r\n <td class=\"text-center\">\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-link p-0\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <ng-container *ngTemplateOutlet=\"verticalDots\"></ng-container>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onEdit(fixture.id, fixture.templatesTagged)\"> Edit </a>\r\n </li>\r\n <li><a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id)\">Duplicate</a></li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged)\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </section>\r\n\r\n <!-- Fixture grid view -->\r\n <ng-template #gridView>\r\n <section id=\"grid-view\" class=\"table-responsive\">\r\n <div class=\"row gx-6 gy-4 m-0\">\r\n <div class=\"col-md-4\" *ngFor=\"let fixture of fixturesList\">\r\n <div class=\"card\" (click)=\"onClickCard($event, fixture)\">\r\n <div class=\"card-img\">\r\n <div class=\"card-action dropdown\" (click)=\"$event.stopPropagation()\">\r\n <button class=\"btn btn-light\" style=\"padding: 12px 21px !important\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer\"\r\n (click)=\"onEdit(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Edit\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id); $event.stopPropagation()\">\r\n Duplicate\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"ellipsis\" [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\">\r\n {{ fixture.name }}\r\n </h3>\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </div>\r\n <div class=\"card-tagline\">\r\n {{ fixture.width }}ft x {{ fixture.height }}ft <span>&#8226;</span> {{ fixture.partitions }}\r\n <span>&#8226;</span>\r\n {{ fixture.type }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </ng-template>\r\n\r\n <!-- Pagination -->\r\n <lib-pagination\r\n class=\"text-start\"\r\n [itemsPerPage]=\"limit\"\r\n [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"\r\n ></lib-pagination>\r\n </div>\r\n </ng-template>\r\n</section>\r\n\r\n<ng-template #verticalDots>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n</ng-template>\r\n", styles: [".nodatamaintext{font-family:Inter;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#101828}.nodatasubtext[_ngcontent-ng-c2141490359]{font-family:Inter;font-size:14px;font-weight:400;line-height:20px;text-align:center;color:#667085}.table-responsive{min-height:calc(100vh - 495px)}.download-link{color:var(--Primary-800, #008edf);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;cursor:pointer}h3.card-title{color:#101828;font-size:18px;font-weight:600;line-height:28px}p.card-tagline{color:#101828;font-size:14px;font-weight:500;line-height:20px}p.card-description{color:#344054;font-size:14px;font-weight:400;line-height:20px}#list-view .thumbnail{height:40px;width:40px;background:#f2f4f7;margin-right:12px;border-radius:8px}#list-view td{vertical-align:middle}#grid-view .card{box-shadow:0 4px 10px #0000000d;border:1px solid rgb(223,225,231);background:#fff;border-radius:12px;padding:12px;height:100%;transition:all .2s ease}#grid-view .card:hover{cursor:pointer;box-shadow:0 10px 10px #0001;transition:all .2s ease}#grid-view .card-img{margin-bottom:12px;background:#d0d5dd;height:200px;border-radius:6px}#grid-view .card-action{position:absolute;top:20px;right:20px}#grid-view .card-tagline{color:#475467;font-weight:500;font-size:14px;line-height:20px}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7;color:#344054}.badge.cluster{background:#f2f4f7;color:#344054}.badge.published{background:#ecfdf3;color:#027a48}.badge.yet-to-publish{background:#f8f9fc;color:#363f72}.indicator{border-radius:16px;padding:2px 8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;width:fit-content;text-align:center;font-size:14px;font-weight:500}.indicator.short{height:14px!important;width:14px!important;border-radius:50%!important;padding:0!important}.indicator.yetToComplete{background:#f2f4f7;color:#667085}.indicator.yetToComplete path{fill:#667085}.indicator.draft{background:#f2f4f7;color:#667085}.indicator.draft path{fill:#667085}.indicator.yetToAssign{background:#eaecf5;color:#344054}.indicator.yetToAssign path{fill:#344054}.indicator.taskAssigned{background:#e0eaff;color:#7a5af8}.indicator.taskAssigned path{fill:#7a5af8}.indicator.reviewPending{background:#fef0c7;color:#f79009}.indicator.reviewPending path{fill:#f79009}.indicator.allocationPending{background:#fef0c7;color:#f79009}.indicator.allocationPending path{fill:#f79009}.indicator.flagged{background:var(--Error-50, #fef3f2);color:var(--Error-700, #b42318)}.indicator.completed{background:#d1fadf;color:#12b76a}.indicator.completed path{fill:#12b76a}.toggle-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fff;border:.89px solid rgb(208,213,221);box-shadow:0 .89px 1.78px #1018280d;transition:all ease .3s}.toggle-button:hover{cursor:pointer}.toggle-button.selected{transition:all ease .3s;background:#eaf8ff;box-shadow:0 0 0 3.56px #d5effe!important;border:.89px solid rgb(234,248,255)}.disabled-click{pointer-events:none;cursor:not-allowed!important;opacity:.6}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;height:1.5rem}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;height:1.5rem;width:1.5rem}.restrict-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.btn .spinner{height:22px;animation:spin .9s linear infinite}.btn .spinner .path{stroke-width:4px;stroke:#071437;stroke-linecap:round;stroke-dasharray:80;stroke-dashoffset:60}@keyframes spin{to{transform:rotate(360deg)}}.header{background:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.btn{padding:.775rem 1.5rem!important;font-size:1.1rem!important}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;padding:2px 8px;border-radius:16px}.badge.active{color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7!important;color:#344054!important}.badge.draft{color:#009bf3;background:#eaf8ff}.builder{height:75vh}.builder .cols{background:#fff;border-radius:12px;padding:24px 24px 12px;max-height:75vh;overflow-y:auto}.shelf-container{border-radius:8px;background:var(--Gray-50, #f9fafb);padding:8px 16px;margin-bottom:12px}.counter-container{display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fff;padding:10px;border:.49px solid #d0d5dd}.counter-container span{margin:0 18px;font-weight:500;font-size:14px;text-align:center;vertical-align:middle;width:18px}.disable-counter{color:var(--bs-gray-500)!important;background-color:var(--bs-gray-200)!important;border-color:var(--bs-gray-300)!important;pointer-events:none;opacity:1}.disabled-click{pointer-events:none;opacity:.85}.wall-viewport{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:30px;max-width:345px;min-width:234px;text-align:center}.wall-viewport .wrapper{width:100%;max-width:345px}.wall-viewport .header-info,.wall-viewport .footer-info,.wall-viewport .body-info{width:100%;border:2px solid #f2f4f7;border-bottom:4px solid #ffffff;background:#f2f4f7;max-width:230px;display:flex;align-items:center;justify-content:center;justify-content:start;padding:12px;gap:4px}.wall-viewport .header-info p,.wall-viewport .footer-info p,.wall-viewport .body-info p{margin:0}.wall-viewport .header-info{margin-top:40px}.wall-viewport .sub-footer{border:1px solid #98a2b3;height:100%}.wall-viewport .header-block,.wall-viewport .footer-block{border:1px solid #98a2b3;height:95px;padding:8px;background-color:#f2f4f7;width:100%;display:flex;justify-content:center;align-items:center}.wall-viewport .header-block p,.wall-viewport .footer-block p{color:var(--Gray-600, #475467);font-size:18px;font-weight:600;white-space:normal;word-wrap:break-word;margin:0;background-color:#f2f4f7}.wall-viewport .body-block{width:100%}.wall-viewport .body-block .shelfContainer .block{border:1px solid #98a2b3;border-top:none}.wall-viewport .body-block .shelfContainer:first-child .block{border-top:1px solid #98a2b3}.wall-viewport .body-block .block{padding:10px;width:100%;max-width:345px;overflow-x:auto;min-height:52px}.wall-viewport .body-block .tray,.wall-viewport .body-block .shelf{display:flex;gap:4px}.wall-viewport .body-block .tray .product,.wall-viewport .body-block .shelf .product{border:1px solid rgba(152,162,179,.2901960784);min-width:50px}.wall-viewport .body-block .tray .product{min-height:20px}.wall-viewport .body-block .shelf .product{min-height:30px}.wall-viewport .body-block .vmonly-placeholder{background-image:repeating-linear-gradient(45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px),repeating-linear-gradient(-45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px)}.wall-viewport .body-block .hide-product{border-color:transparent!important}.wall-viewport .body-block .hide-scroll{overflow-x:hidden!important}.horizontal-dimension{display:flex;align-items:center;justify-content:center;height:30px;position:relative}.horizontal-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.horizontal-dimension .arrow.left{transform:rotate(180deg);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .arrow.right{transform:rotate(0);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;height:1px}.horizontal-dimension .line span{position:absolute;top:-12px;color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:0 4px}.vertical-dimension{display:flex;flex-direction:column;align-items:center;width:30px;position:relative}.vertical-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.vertical-dimension .arrow.up{transform:rotate(-90deg);margin-top:20px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .arrow.down{transform:rotate(90deg);margin-bottom:26px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;width:1px}.vertical-dimension .line span{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:2px 4px}.info-card{padding:12px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.info-card h3{font-weight:600;font-size:18px;line-height:28px;vertical-align:middle}.info-card p{font-weight:500;font-size:14px;line-height:20px;color:#667085;margin:0}.checkbox input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #d0d5dd)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.checkbox input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00a3ff)!important;background-color:var(--primary-50, #eaf8ff)}.checkbox input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00a3ff;border-right:2px solid #00a3ff;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.nav-pills{display:inline-flex;gap:4px}.nav-pills .nav-item .nav-link{border-radius:0;color:#667085;font-size:14px;font-weight:500;padding:8px 16px;border:none}.nav-pills .nav-item .nav-link:hover{background-color:#00000005}.nav-pills .nav-item .nav-link.active{background-color:#eaf8ff;color:#009bf3;border-bottom:3px solid #009bf3}.content-wrapper{background:#fff;border-radius:12px;min-height:calc(100vh - 400px);height:100%;padding:16px 24px;display:flex;flex-direction:column}.loader .shimmer{height:150px}.filter-tab{border:1px solid rgb(234,236,240);background:#fff;box-shadow:0 1px 2px #1018280d;border-radius:8px;padding:18px;transition:all ease .2s}.filter-tab:hover{cursor:pointer}.filter-tab.selected{background:#f6fcff;border:1px solid rgb(107,202,255);box-shadow:0 1px 2px #1018280d}.filter-tab h3{color:#000;font-size:20px;font-weight:600;line-height:30px;margin:0}.filter-tab p{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;margin:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i4.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] });
25866
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FixtureLibraryComponent, selector: "lib-fixture-library", ngImport: i0, template: "<section id=\"fixture-library\" class=\"content-wrapper\">\r\n <!-- Fixture view header -->\r\n <div\r\n *ngIf=\"fixturesList.length !== 0 || searchTerm || isFilterApplied\"\r\n class=\"d-flex justify-content-between align-items-center mb-5\"\r\n >\r\n <div>\r\n <h4>Fixtures List</h4>\r\n <span>{{ totalItems }} - Total Fixtures</span>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div style=\"position: relative\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchTerm\"\r\n (change)=\"onSearch()\"\r\n style=\"padding-left: 3rem; padding-right: 3rem\"\r\n class=\"form-control\"\r\n name=\"search\"\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n />\r\n\r\n <span class=\"search-icon\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" stroke-width=\"2\" />\r\n <line x1=\"13\" y1=\"13\" x2=\"16\" y2=\"16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <button *ngIf=\"searchTerm\" type=\"button\" aria-label=\"Clear\" (click)=\"searchTerm = ''; onSearch()\" class=\"clear-search\">\r\n <svg width=\"64px\" height=\"64px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path d=\"M9 9L15 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <path d=\"M15 9L9 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n ></circle>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <button type=\"button\" (click)=\"onClickCreateFixtureLibrary()\" class=\"btn btn-primary d-inline-flex align-items-center me-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\"\r\n stroke=\"white\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create </span>\r\n </button>\r\n\r\n <!-- <button type=\"button\" (click)=\"openBulkUploadModal()\" class=\"btn btn-outline text-nowrap\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Bulk Upload\r\n </button> -->\r\n\r\n <button\r\n type=\"button\"\r\n [disabled]=\"fixturesList.length <= 0\"\r\n (click)=\"exportFixtureList()\"\r\n class=\"btn btn-outline text-nowrap\"\r\n >\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Export\r\n </button>\r\n\r\n <lib-filters [dataObject]=\"filterObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"toggle-button me-2\" [ngClass]=\"{ selected: viewMode === 'list' }\" (click)=\"toggleViewMode('list')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.24078 4.54639H15.8906M6.24078 9.00017H15.8906M6.24078 13.4539H15.8906M2.5293 4.54639H2.53672M2.5293 9.00017H2.53672M2.5293 13.4539H2.53672\"\r\n [attr.stroke]=\"viewMode === 'list' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"toggle-button\" [ngClass]=\"{ selected: viewMode === 'grid' }\" (click)=\"toggleViewMode('grid')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7.91886 2.31934H2.72278V7.51541H7.91886V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 2.31934H10.888V7.51541H16.0841V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 10.4846H10.888V15.6807H16.0841V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M7.91886 10.4846H2.72278V15.6807H7.91886V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isPageLoading; else contentPart\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #contentPart>\r\n <div *ngIf=\"fixturesList.length === 0\">\r\n @if(searchTerm || isFilterApplied){\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" />\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for matching filter and search</div>\r\n </div>\r\n </div>\r\n </div>\r\n }@else{\r\n <div class=\"row g-0 py-12\">\r\n <!-- Single Fixture Creation -->\r\n <div class=\"col-md-12 pe-md-3\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 56 56\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\" />\r\n <path\r\n d=\"M28 24V32M24 28H32M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture</h3>\r\n <p class=\"card-tagline mb-0\">Start creating fixture manually through step by step</p>\r\n </div>\r\n <button\r\n (click)=\"onClickCreateFixtureLibrary()\"\r\n type=\"button\"\r\n class=\"btn btn-outline d-inline-flex align-items-center\"\r\n >\r\n <svg class=\"me-2\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12 5V19M5 12H19\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Create\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Bulk Fixture Creation -->\r\n <!-- <div class=\"col-md-6 ps-md-3 border-start\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 95 94\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" fill=\"#DAF1FF\" />\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" stroke=\"#EAF8FF\" stroke-width=\"13.3333\" />\r\n <path\r\n d=\"M62.5 52V58.6667C62.5 59.5507 62.1488 60.3986 61.5237 61.0237C60.8986 61.6488 60.0507 62 59.1667 62H35.8333C34.9493 62 34.1014 61.6488 33.4763 61.0237C32.8512 60.3986 32.5 59.5507 32.5 58.6667V52M55.8333 40.3333L47.5 32M47.5 32L39.1667 40.3333M47.5 32V52\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"3.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture using excel template</h3>\r\n <p class=\"card-tagline mb-0\">You can create a single or a multiple fixtures using the template below</p>\r\n </div>\r\n <div class=\"d-flex flex-column gap-2 mb-6\" style=\"width: fit-content\">\r\n <p class=\"card-description mb-0\">\r\n Step1 - <a class=\"download-link fw-medium\" (click)=\"downloadEmptyTemplate()\">Download the template here</a>\r\n </p>\r\n <p class=\"card-description mb-0\">Step2 - Add your data to the Template File</p>\r\n <p class=\"card-description mb-0\">Step3 - Upload it below for processing</p>\r\n </div>\r\n <button class=\"btn btn-primary d-inline-flex align-items-center\" (click)=\"openBulkUploadModal()\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Upload\r\n </button>\r\n </div>\r\n </div> -->\r\n </div>\r\n }\r\n </div>\r\n\r\n <div *ngIf=\"fixturesList.length != 0\">\r\n <!-- Fixture list view -->\r\n <section id=\"list-view\" *ngIf=\"viewMode === 'list'; else gridView\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureCategory')\" class=\"cursor-pointer\">\r\n Fixture name\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureCategory' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureCategory' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureType')\" class=\"cursor-pointer\">\r\n Type\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureType' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureType' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th>Country</th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureWidth')\" class=\"cursor-pointer\">\r\n Width\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureWidth' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureWidth' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureLength')\" class=\"cursor-pointer\">\r\n Height\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureLength' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureLength' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('shelfConfig')\" class=\"cursor-pointer\">\r\n Partitions\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'shelfConfig' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'shelfConfig' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n\r\n <svg\r\n placement=\"start\"\r\n ngbTooltip=\"Partitions are shelves/sections/panel\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n class=\"ms-2\"\r\n >\r\n <g clip-path=\"url(#clip0_1_25644)\">\r\n <path\r\n d=\"M9 12V9M9 6H9.0075M16.5 9C16.5 13.1421 13.1421 16.5 9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9Z\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1_25644\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('templateCount')\" class=\"cursor-pointer\">\r\n Templates tagged\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'templateCount' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'templateCount' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">Status</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let fixture of fixturesList\">\r\n <td style=\"max-width: 300px\">\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"thumbnail\"></div> -->\r\n <a\r\n [routerLink]=\"['/manage/planogram/create-library-fixture']\"\r\n [queryParams]=\"{ fixtureId: fixture.id }\"\r\n class=\"text-decoration-underline ellipsis\"\r\n [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\"\r\n >\r\n {{ fixture.name }} - {{ fixture.width }}ft\r\n </a>\r\n </div>\r\n </td>\r\n <td>{{ fixture.type | titlecase }}</td>\r\n <td>\r\n <div *ngIf=\"fixture.country?.length; else noCountry\" class=\"country-chip-list\">\r\n <span class=\"country-chip\" *ngFor=\"let c of fixture.country\">{{ c }}</span>\r\n </div>\r\n <ng-template #noCountry>-</ng-template>\r\n </td>\r\n <td class=\"text-center\">{{ fixture.width }}ft</td>\r\n <td class=\"text-center\">{{ fixture.height }}ft</td>\r\n <td class=\"text-center\">{{ fixture.partitions }}</td>\r\n <td class=\"text-center\">{{ fixture.templatesTagged }}</td>\r\n <td class=\"text-center\">\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-link p-0\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <ng-container *ngTemplateOutlet=\"verticalDots\"></ng-container>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onEdit(fixture.id, fixture.templatesTagged)\"> Edit </a>\r\n </li>\r\n <li><a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id)\">Duplicate</a></li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged)\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </section>\r\n\r\n <!-- Fixture grid view -->\r\n <ng-template #gridView>\r\n <section id=\"grid-view\" class=\"table-responsive\">\r\n <div class=\"row gx-6 gy-4 m-0\">\r\n <div class=\"col-md-4\" *ngFor=\"let fixture of fixturesList\">\r\n <div class=\"card\" (click)=\"onClickCard($event, fixture)\">\r\n <div class=\"card-img\">\r\n <div class=\"card-action dropdown\" (click)=\"$event.stopPropagation()\">\r\n <button class=\"btn btn-light\" style=\"padding: 12px 21px !important\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer\"\r\n (click)=\"onEdit(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Edit\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id); $event.stopPropagation()\">\r\n Duplicate\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"ellipsis\" [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\">\r\n {{ fixture.name }}\r\n </h3>\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </div>\r\n <div class=\"card-tagline\">\r\n {{ fixture.width }}ft x {{ fixture.height }}ft <span>&#8226;</span> {{ fixture.partitions }}\r\n <span>&#8226;</span>\r\n {{ fixture.type }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </ng-template>\r\n\r\n <!-- Pagination -->\r\n <lib-pagination\r\n class=\"text-start\"\r\n [itemsPerPage]=\"limit\"\r\n [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"\r\n ></lib-pagination>\r\n </div>\r\n </ng-template>\r\n</section>\r\n\r\n<ng-template #verticalDots>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n</ng-template>\r\n", styles: [".nodatamaintext{font-family:Inter;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#101828}.nodatasubtext[_ngcontent-ng-c2141490359]{font-family:Inter;font-size:14px;font-weight:400;line-height:20px;text-align:center;color:#667085}.table-responsive{min-height:calc(100vh - 495px)}.download-link{color:var(--Primary-800, #008edf);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;cursor:pointer}h3.card-title{color:#101828;font-size:18px;font-weight:600;line-height:28px}p.card-tagline{color:#101828;font-size:14px;font-weight:500;line-height:20px}p.card-description{color:#344054;font-size:14px;font-weight:400;line-height:20px}#list-view .thumbnail{height:40px;width:40px;background:#f2f4f7;margin-right:12px;border-radius:8px}#list-view td{vertical-align:middle}#grid-view .card{box-shadow:0 4px 10px #0000000d;border:1px solid rgb(223,225,231);background:#fff;border-radius:12px;padding:12px;height:100%;transition:all .2s ease}#grid-view .card:hover{cursor:pointer;box-shadow:0 10px 10px #0001;transition:all .2s ease}#grid-view .card-img{margin-bottom:12px;background:#d0d5dd;height:200px;border-radius:6px}#grid-view .card-action{position:absolute;top:20px;right:20px}#grid-view .card-tagline{color:#475467;font-weight:500;font-size:14px;line-height:20px}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7;color:#344054}.badge.cluster{background:#f2f4f7;color:#344054}.badge.published{background:#ecfdf3;color:#027a48}.badge.yet-to-publish{background:#f8f9fc;color:#363f72}.indicator{border-radius:16px;padding:2px 8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;width:fit-content;text-align:center;font-size:14px;font-weight:500}.indicator.short{height:14px!important;width:14px!important;border-radius:50%!important;padding:0!important}.indicator.yetToComplete{background:#f2f4f7;color:#667085}.indicator.yetToComplete path{fill:#667085}.indicator.draft{background:#f2f4f7;color:#667085}.indicator.draft path{fill:#667085}.indicator.yetToAssign{background:#eaecf5;color:#344054}.indicator.yetToAssign path{fill:#344054}.indicator.taskAssigned{background:#e0eaff;color:#7a5af8}.indicator.taskAssigned path{fill:#7a5af8}.indicator.reviewPending{background:#fef0c7;color:#f79009}.indicator.reviewPending path{fill:#f79009}.indicator.allocationPending{background:#fef0c7;color:#f79009}.indicator.allocationPending path{fill:#f79009}.indicator.flagged{background:var(--Error-50, #fef3f2);color:var(--Error-700, #b42318)}.indicator.completed{background:#d1fadf;color:#12b76a}.indicator.completed path{fill:#12b76a}.toggle-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fff;border:.89px solid rgb(208,213,221);box-shadow:0 .89px 1.78px #1018280d;transition:all ease .3s}.toggle-button:hover{cursor:pointer}.toggle-button.selected{transition:all ease .3s;background:#eaf8ff;box-shadow:0 0 0 3.56px #d5effe!important;border:.89px solid rgb(234,248,255)}.disabled-click{pointer-events:none;cursor:not-allowed!important;opacity:.6}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;height:1.5rem}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;height:1.5rem;width:1.5rem}.restrict-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.btn .spinner{height:22px;animation:spin .9s linear infinite}.btn .spinner .path{stroke-width:4px;stroke:#071437;stroke-linecap:round;stroke-dasharray:80;stroke-dashoffset:60}@keyframes spin{to{transform:rotate(360deg)}}.header{background:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.btn{padding:.775rem 1.5rem!important;font-size:1.1rem!important}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;padding:2px 8px;border-radius:16px}.badge.active{color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7!important;color:#344054!important}.badge.draft{color:#009bf3;background:#eaf8ff}.builder{height:75vh}.builder .cols{background:#fff;border-radius:12px;padding:24px 24px 12px;max-height:75vh;overflow-y:auto}.shelf-container{border-radius:8px;background:var(--Gray-50, #f9fafb);padding:8px 16px;margin-bottom:12px}.counter-container{display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fff;padding:10px;border:.49px solid #d0d5dd}.counter-container span{margin:0 18px;font-weight:500;font-size:14px;text-align:center;vertical-align:middle;width:18px}.disable-counter{color:var(--bs-gray-500)!important;background-color:var(--bs-gray-200)!important;border-color:var(--bs-gray-300)!important;pointer-events:none;opacity:1}.disabled-click{pointer-events:none;opacity:.85}.wall-viewport{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:30px;max-width:345px;min-width:234px;text-align:center}.wall-viewport .wrapper{width:100%;max-width:345px}.wall-viewport .header-info,.wall-viewport .footer-info,.wall-viewport .body-info{width:100%;border:2px solid #f2f4f7;border-bottom:4px solid #ffffff;background:#f2f4f7;max-width:230px;display:flex;align-items:center;justify-content:center;justify-content:start;padding:12px;gap:4px}.wall-viewport .header-info p,.wall-viewport .footer-info p,.wall-viewport .body-info p{margin:0}.wall-viewport .header-info{margin-top:40px}.wall-viewport .sub-footer{border:1px solid #98a2b3;height:100%}.wall-viewport .header-block,.wall-viewport .footer-block{border:1px solid #98a2b3;height:95px;padding:8px;background-color:#f2f4f7;width:100%;display:flex;justify-content:center;align-items:center}.wall-viewport .header-block p,.wall-viewport .footer-block p{color:var(--Gray-600, #475467);font-size:18px;font-weight:600;white-space:normal;word-wrap:break-word;margin:0;background-color:#f2f4f7}.wall-viewport .body-block{width:100%}.wall-viewport .body-block .shelfContainer .block{border:1px solid #98a2b3;border-top:none}.wall-viewport .body-block .shelfContainer:first-child .block{border-top:1px solid #98a2b3}.wall-viewport .body-block .block{padding:10px;width:100%;max-width:345px;overflow-x:auto;min-height:52px}.wall-viewport .body-block .tray,.wall-viewport .body-block .shelf{display:flex;gap:4px}.wall-viewport .body-block .tray .product,.wall-viewport .body-block .shelf .product{border:1px solid rgba(152,162,179,.2901960784);min-width:50px}.wall-viewport .body-block .tray .product{min-height:20px}.wall-viewport .body-block .shelf .product{min-height:30px}.wall-viewport .body-block .vmonly-placeholder{background-image:repeating-linear-gradient(45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px),repeating-linear-gradient(-45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px)}.wall-viewport .body-block .hide-product{border-color:transparent!important}.wall-viewport .body-block .hide-scroll{overflow-x:hidden!important}.horizontal-dimension{display:flex;align-items:center;justify-content:center;height:30px;position:relative}.horizontal-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.horizontal-dimension .arrow.left{transform:rotate(180deg);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .arrow.right{transform:rotate(0);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;height:1px}.horizontal-dimension .line span{position:absolute;top:-12px;color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:0 4px}.vertical-dimension{display:flex;flex-direction:column;align-items:center;width:30px;position:relative}.vertical-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.vertical-dimension .arrow.up{transform:rotate(-90deg);margin-top:20px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .arrow.down{transform:rotate(90deg);margin-bottom:26px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;width:1px}.vertical-dimension .line span{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:2px 4px}.info-card{padding:12px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.info-card h3{font-weight:600;font-size:18px;line-height:28px;vertical-align:middle}.info-card p{font-weight:500;font-size:14px;line-height:20px;color:#667085;margin:0}.checkbox input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #d0d5dd)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.checkbox input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00a3ff)!important;background-color:var(--primary-50, #eaf8ff)}.checkbox input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00a3ff;border-right:2px solid #00a3ff;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.nav-pills{display:inline-flex;gap:4px}.nav-pills .nav-item .nav-link{border-radius:0;color:#667085;font-size:14px;font-weight:500;padding:8px 16px;border:none}.nav-pills .nav-item .nav-link:hover{background-color:#00000005}.nav-pills .nav-item .nav-link.active{background-color:#eaf8ff;color:#009bf3;border-bottom:3px solid #009bf3}.content-wrapper{background:#fff;border-radius:12px;min-height:calc(100vh - 400px);height:100%;padding:16px 24px;display:flex;flex-direction:column}.loader .shimmer{height:150px}.filter-tab{border:1px solid rgb(234,236,240);background:#fff;box-shadow:0 1px 2px #1018280d;border-radius:8px;padding:18px;transition:all ease .2s}.filter-tab:hover{cursor:pointer}.filter-tab.selected{background:#f6fcff;border:1px solid rgb(107,202,255);box-shadow:0 1px 2px #1018280d}.filter-tab h3{color:#000;font-size:20px;font-weight:600;line-height:30px;margin:0}.filter-tab p{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;margin:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-chip-list{display:flex;flex-wrap:wrap;gap:4px}.country-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:16px;background:var(--Gray-100, #f2f4f7);color:var(--Gray-700, #344054);font-size:12px;font-weight:500;line-height:18px}\n"], dependencies: [{ kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i4.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1$1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] });
25842
25867
  }
25843
25868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FixtureLibraryComponent, decorators: [{
25844
25869
  type: Component,
25845
- args: [{ selector: 'lib-fixture-library', template: "<section id=\"fixture-library\" class=\"content-wrapper\">\r\n <!-- Fixture view header -->\r\n <div\r\n *ngIf=\"fixturesList.length !== 0 || searchTerm || isFilterApplied\"\r\n class=\"d-flex justify-content-between align-items-center mb-5\"\r\n >\r\n <div>\r\n <h4>Fixtures List</h4>\r\n <span>{{ totalItems }} - Total Fixtures</span>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div style=\"position: relative\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchTerm\"\r\n (change)=\"onSearch()\"\r\n style=\"padding-left: 3rem; padding-right: 3rem\"\r\n class=\"form-control\"\r\n name=\"search\"\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n />\r\n\r\n <span class=\"search-icon\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" stroke-width=\"2\" />\r\n <line x1=\"13\" y1=\"13\" x2=\"16\" y2=\"16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <button *ngIf=\"searchTerm\" type=\"button\" aria-label=\"Clear\" (click)=\"searchTerm = ''; onSearch()\" class=\"clear-search\">\r\n <svg width=\"64px\" height=\"64px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path d=\"M9 9L15 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <path d=\"M15 9L9 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n ></circle>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <button type=\"button\" (click)=\"onClickCreateFixtureLibrary()\" class=\"btn btn-primary d-inline-flex align-items-center me-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\"\r\n stroke=\"white\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create </span>\r\n </button>\r\n\r\n <!-- <button type=\"button\" (click)=\"openBulkUploadModal()\" class=\"btn btn-outline text-nowrap\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Bulk Upload\r\n </button> -->\r\n\r\n <button\r\n type=\"button\"\r\n [disabled]=\"fixturesList.length <= 0\"\r\n (click)=\"exportFixtureList()\"\r\n class=\"btn btn-outline text-nowrap\"\r\n >\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Export\r\n </button>\r\n\r\n <lib-filters [dataObject]=\"filterObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"toggle-button me-2\" [ngClass]=\"{ selected: viewMode === 'list' }\" (click)=\"toggleViewMode('list')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.24078 4.54639H15.8906M6.24078 9.00017H15.8906M6.24078 13.4539H15.8906M2.5293 4.54639H2.53672M2.5293 9.00017H2.53672M2.5293 13.4539H2.53672\"\r\n [attr.stroke]=\"viewMode === 'list' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"toggle-button\" [ngClass]=\"{ selected: viewMode === 'grid' }\" (click)=\"toggleViewMode('grid')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7.91886 2.31934H2.72278V7.51541H7.91886V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 2.31934H10.888V7.51541H16.0841V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 10.4846H10.888V15.6807H16.0841V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M7.91886 10.4846H2.72278V15.6807H7.91886V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isPageLoading; else contentPart\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #contentPart>\r\n <div *ngIf=\"fixturesList.length === 0\">\r\n @if(searchTerm || isFilterApplied){\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" />\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for matching filter and search</div>\r\n </div>\r\n </div>\r\n </div>\r\n }@else{\r\n <div class=\"row g-0 py-12\">\r\n <!-- Single Fixture Creation -->\r\n <div class=\"col-md-12 pe-md-3\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 56 56\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\" />\r\n <path\r\n d=\"M28 24V32M24 28H32M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture</h3>\r\n <p class=\"card-tagline mb-0\">Start creating fixture manually through step by step</p>\r\n </div>\r\n <button\r\n (click)=\"onClickCreateFixtureLibrary()\"\r\n type=\"button\"\r\n class=\"btn btn-outline d-inline-flex align-items-center\"\r\n >\r\n <svg class=\"me-2\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12 5V19M5 12H19\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Create\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Bulk Fixture Creation -->\r\n <!-- <div class=\"col-md-6 ps-md-3 border-start\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 95 94\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" fill=\"#DAF1FF\" />\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" stroke=\"#EAF8FF\" stroke-width=\"13.3333\" />\r\n <path\r\n d=\"M62.5 52V58.6667C62.5 59.5507 62.1488 60.3986 61.5237 61.0237C60.8986 61.6488 60.0507 62 59.1667 62H35.8333C34.9493 62 34.1014 61.6488 33.4763 61.0237C32.8512 60.3986 32.5 59.5507 32.5 58.6667V52M55.8333 40.3333L47.5 32M47.5 32L39.1667 40.3333M47.5 32V52\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"3.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture using excel template</h3>\r\n <p class=\"card-tagline mb-0\">You can create a single or a multiple fixtures using the template below</p>\r\n </div>\r\n <div class=\"d-flex flex-column gap-2 mb-6\" style=\"width: fit-content\">\r\n <p class=\"card-description mb-0\">\r\n Step1 - <a class=\"download-link fw-medium\" (click)=\"downloadEmptyTemplate()\">Download the template here</a>\r\n </p>\r\n <p class=\"card-description mb-0\">Step2 - Add your data to the Template File</p>\r\n <p class=\"card-description mb-0\">Step3 - Upload it below for processing</p>\r\n </div>\r\n <button class=\"btn btn-primary d-inline-flex align-items-center\" (click)=\"openBulkUploadModal()\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Upload\r\n </button>\r\n </div>\r\n </div> -->\r\n </div>\r\n }\r\n </div>\r\n\r\n <div *ngIf=\"fixturesList.length != 0\">\r\n <!-- Fixture list view -->\r\n <section id=\"list-view\" *ngIf=\"viewMode === 'list'; else gridView\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureCategory')\" class=\"cursor-pointer\">\r\n Fixture name\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureCategory' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureCategory' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureType')\" class=\"cursor-pointer\">\r\n Type\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureType' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureType' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureWidth')\" class=\"cursor-pointer\">\r\n Width\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureWidth' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureWidth' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureLength')\" class=\"cursor-pointer\">\r\n Height\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureLength' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureLength' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('shelfConfig')\" class=\"cursor-pointer\">\r\n Partitions\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'shelfConfig' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'shelfConfig' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n\r\n <svg\r\n placement=\"start\"\r\n ngbTooltip=\"Partitions are shelves/sections/panel\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n class=\"ms-2\"\r\n >\r\n <g clip-path=\"url(#clip0_1_25644)\">\r\n <path\r\n d=\"M9 12V9M9 6H9.0075M16.5 9C16.5 13.1421 13.1421 16.5 9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9Z\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1_25644\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('templateCount')\" class=\"cursor-pointer\">\r\n Templates tagged\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'templateCount' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'templateCount' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">Status</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let fixture of fixturesList\">\r\n <td style=\"max-width: 300px\">\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"thumbnail\"></div> -->\r\n <a\r\n [routerLink]=\"['/manage/planogram/create-library-fixture']\"\r\n [queryParams]=\"{ fixtureId: fixture.id }\"\r\n class=\"text-decoration-underline ellipsis\"\r\n [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\"\r\n >\r\n {{ fixture.name }} - {{ fixture.width }}ft\r\n </a>\r\n </div>\r\n </td>\r\n <td>{{ fixture.type | titlecase }}</td>\r\n <td class=\"text-center\">{{ fixture.width }}ft</td>\r\n <td class=\"text-center\">{{ fixture.height }}ft</td>\r\n <td class=\"text-center\">{{ fixture.partitions }}</td>\r\n <td class=\"text-center\">{{ fixture.templatesTagged }}</td>\r\n <td class=\"text-center\">\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-link p-0\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <ng-container *ngTemplateOutlet=\"verticalDots\"></ng-container>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onEdit(fixture.id, fixture.templatesTagged)\"> Edit </a>\r\n </li>\r\n <li><a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id)\">Duplicate</a></li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged)\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </section>\r\n\r\n <!-- Fixture grid view -->\r\n <ng-template #gridView>\r\n <section id=\"grid-view\" class=\"table-responsive\">\r\n <div class=\"row gx-6 gy-4 m-0\">\r\n <div class=\"col-md-4\" *ngFor=\"let fixture of fixturesList\">\r\n <div class=\"card\" (click)=\"onClickCard($event, fixture)\">\r\n <div class=\"card-img\">\r\n <div class=\"card-action dropdown\" (click)=\"$event.stopPropagation()\">\r\n <button class=\"btn btn-light\" style=\"padding: 12px 21px !important\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer\"\r\n (click)=\"onEdit(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Edit\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id); $event.stopPropagation()\">\r\n Duplicate\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"ellipsis\" [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\">\r\n {{ fixture.name }}\r\n </h3>\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </div>\r\n <div class=\"card-tagline\">\r\n {{ fixture.width }}ft x {{ fixture.height }}ft <span>&#8226;</span> {{ fixture.partitions }}\r\n <span>&#8226;</span>\r\n {{ fixture.type }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </ng-template>\r\n\r\n <!-- Pagination -->\r\n <lib-pagination\r\n class=\"text-start\"\r\n [itemsPerPage]=\"limit\"\r\n [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"\r\n ></lib-pagination>\r\n </div>\r\n </ng-template>\r\n</section>\r\n\r\n<ng-template #verticalDots>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n</ng-template>\r\n", styles: [".nodatamaintext{font-family:Inter;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#101828}.nodatasubtext[_ngcontent-ng-c2141490359]{font-family:Inter;font-size:14px;font-weight:400;line-height:20px;text-align:center;color:#667085}.table-responsive{min-height:calc(100vh - 495px)}.download-link{color:var(--Primary-800, #008edf);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;cursor:pointer}h3.card-title{color:#101828;font-size:18px;font-weight:600;line-height:28px}p.card-tagline{color:#101828;font-size:14px;font-weight:500;line-height:20px}p.card-description{color:#344054;font-size:14px;font-weight:400;line-height:20px}#list-view .thumbnail{height:40px;width:40px;background:#f2f4f7;margin-right:12px;border-radius:8px}#list-view td{vertical-align:middle}#grid-view .card{box-shadow:0 4px 10px #0000000d;border:1px solid rgb(223,225,231);background:#fff;border-radius:12px;padding:12px;height:100%;transition:all .2s ease}#grid-view .card:hover{cursor:pointer;box-shadow:0 10px 10px #0001;transition:all .2s ease}#grid-view .card-img{margin-bottom:12px;background:#d0d5dd;height:200px;border-radius:6px}#grid-view .card-action{position:absolute;top:20px;right:20px}#grid-view .card-tagline{color:#475467;font-weight:500;font-size:14px;line-height:20px}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7;color:#344054}.badge.cluster{background:#f2f4f7;color:#344054}.badge.published{background:#ecfdf3;color:#027a48}.badge.yet-to-publish{background:#f8f9fc;color:#363f72}.indicator{border-radius:16px;padding:2px 8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;width:fit-content;text-align:center;font-size:14px;font-weight:500}.indicator.short{height:14px!important;width:14px!important;border-radius:50%!important;padding:0!important}.indicator.yetToComplete{background:#f2f4f7;color:#667085}.indicator.yetToComplete path{fill:#667085}.indicator.draft{background:#f2f4f7;color:#667085}.indicator.draft path{fill:#667085}.indicator.yetToAssign{background:#eaecf5;color:#344054}.indicator.yetToAssign path{fill:#344054}.indicator.taskAssigned{background:#e0eaff;color:#7a5af8}.indicator.taskAssigned path{fill:#7a5af8}.indicator.reviewPending{background:#fef0c7;color:#f79009}.indicator.reviewPending path{fill:#f79009}.indicator.allocationPending{background:#fef0c7;color:#f79009}.indicator.allocationPending path{fill:#f79009}.indicator.flagged{background:var(--Error-50, #fef3f2);color:var(--Error-700, #b42318)}.indicator.completed{background:#d1fadf;color:#12b76a}.indicator.completed path{fill:#12b76a}.toggle-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fff;border:.89px solid rgb(208,213,221);box-shadow:0 .89px 1.78px #1018280d;transition:all ease .3s}.toggle-button:hover{cursor:pointer}.toggle-button.selected{transition:all ease .3s;background:#eaf8ff;box-shadow:0 0 0 3.56px #d5effe!important;border:.89px solid rgb(234,248,255)}.disabled-click{pointer-events:none;cursor:not-allowed!important;opacity:.6}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;height:1.5rem}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;height:1.5rem;width:1.5rem}.restrict-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.btn .spinner{height:22px;animation:spin .9s linear infinite}.btn .spinner .path{stroke-width:4px;stroke:#071437;stroke-linecap:round;stroke-dasharray:80;stroke-dashoffset:60}@keyframes spin{to{transform:rotate(360deg)}}.header{background:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.btn{padding:.775rem 1.5rem!important;font-size:1.1rem!important}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;padding:2px 8px;border-radius:16px}.badge.active{color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7!important;color:#344054!important}.badge.draft{color:#009bf3;background:#eaf8ff}.builder{height:75vh}.builder .cols{background:#fff;border-radius:12px;padding:24px 24px 12px;max-height:75vh;overflow-y:auto}.shelf-container{border-radius:8px;background:var(--Gray-50, #f9fafb);padding:8px 16px;margin-bottom:12px}.counter-container{display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fff;padding:10px;border:.49px solid #d0d5dd}.counter-container span{margin:0 18px;font-weight:500;font-size:14px;text-align:center;vertical-align:middle;width:18px}.disable-counter{color:var(--bs-gray-500)!important;background-color:var(--bs-gray-200)!important;border-color:var(--bs-gray-300)!important;pointer-events:none;opacity:1}.disabled-click{pointer-events:none;opacity:.85}.wall-viewport{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:30px;max-width:345px;min-width:234px;text-align:center}.wall-viewport .wrapper{width:100%;max-width:345px}.wall-viewport .header-info,.wall-viewport .footer-info,.wall-viewport .body-info{width:100%;border:2px solid #f2f4f7;border-bottom:4px solid #ffffff;background:#f2f4f7;max-width:230px;display:flex;align-items:center;justify-content:center;justify-content:start;padding:12px;gap:4px}.wall-viewport .header-info p,.wall-viewport .footer-info p,.wall-viewport .body-info p{margin:0}.wall-viewport .header-info{margin-top:40px}.wall-viewport .sub-footer{border:1px solid #98a2b3;height:100%}.wall-viewport .header-block,.wall-viewport .footer-block{border:1px solid #98a2b3;height:95px;padding:8px;background-color:#f2f4f7;width:100%;display:flex;justify-content:center;align-items:center}.wall-viewport .header-block p,.wall-viewport .footer-block p{color:var(--Gray-600, #475467);font-size:18px;font-weight:600;white-space:normal;word-wrap:break-word;margin:0;background-color:#f2f4f7}.wall-viewport .body-block{width:100%}.wall-viewport .body-block .shelfContainer .block{border:1px solid #98a2b3;border-top:none}.wall-viewport .body-block .shelfContainer:first-child .block{border-top:1px solid #98a2b3}.wall-viewport .body-block .block{padding:10px;width:100%;max-width:345px;overflow-x:auto;min-height:52px}.wall-viewport .body-block .tray,.wall-viewport .body-block .shelf{display:flex;gap:4px}.wall-viewport .body-block .tray .product,.wall-viewport .body-block .shelf .product{border:1px solid rgba(152,162,179,.2901960784);min-width:50px}.wall-viewport .body-block .tray .product{min-height:20px}.wall-viewport .body-block .shelf .product{min-height:30px}.wall-viewport .body-block .vmonly-placeholder{background-image:repeating-linear-gradient(45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px),repeating-linear-gradient(-45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px)}.wall-viewport .body-block .hide-product{border-color:transparent!important}.wall-viewport .body-block .hide-scroll{overflow-x:hidden!important}.horizontal-dimension{display:flex;align-items:center;justify-content:center;height:30px;position:relative}.horizontal-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.horizontal-dimension .arrow.left{transform:rotate(180deg);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .arrow.right{transform:rotate(0);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;height:1px}.horizontal-dimension .line span{position:absolute;top:-12px;color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:0 4px}.vertical-dimension{display:flex;flex-direction:column;align-items:center;width:30px;position:relative}.vertical-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.vertical-dimension .arrow.up{transform:rotate(-90deg);margin-top:20px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .arrow.down{transform:rotate(90deg);margin-bottom:26px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;width:1px}.vertical-dimension .line span{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:2px 4px}.info-card{padding:12px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.info-card h3{font-weight:600;font-size:18px;line-height:28px;vertical-align:middle}.info-card p{font-weight:500;font-size:14px;line-height:20px;color:#667085;margin:0}.checkbox input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #d0d5dd)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.checkbox input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00a3ff)!important;background-color:var(--primary-50, #eaf8ff)}.checkbox input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00a3ff;border-right:2px solid #00a3ff;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.nav-pills{display:inline-flex;gap:4px}.nav-pills .nav-item .nav-link{border-radius:0;color:#667085;font-size:14px;font-weight:500;padding:8px 16px;border:none}.nav-pills .nav-item .nav-link:hover{background-color:#00000005}.nav-pills .nav-item .nav-link.active{background-color:#eaf8ff;color:#009bf3;border-bottom:3px solid #009bf3}.content-wrapper{background:#fff;border-radius:12px;min-height:calc(100vh - 400px);height:100%;padding:16px 24px;display:flex;flex-direction:column}.loader .shimmer{height:150px}.filter-tab{border:1px solid rgb(234,236,240);background:#fff;box-shadow:0 1px 2px #1018280d;border-radius:8px;padding:18px;transition:all ease .2s}.filter-tab:hover{cursor:pointer}.filter-tab.selected{background:#f6fcff;border:1px solid rgb(107,202,255);box-shadow:0 1px 2px #1018280d}.filter-tab h3{color:#000;font-size:20px;font-weight:600;line-height:30px;margin:0}.filter-tab p{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;margin:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
25870
+ args: [{ selector: 'lib-fixture-library', template: "<section id=\"fixture-library\" class=\"content-wrapper\">\r\n <!-- Fixture view header -->\r\n <div\r\n *ngIf=\"fixturesList.length !== 0 || searchTerm || isFilterApplied\"\r\n class=\"d-flex justify-content-between align-items-center mb-5\"\r\n >\r\n <div>\r\n <h4>Fixtures List</h4>\r\n <span>{{ totalItems }} - Total Fixtures</span>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div style=\"position: relative\">\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchTerm\"\r\n (change)=\"onSearch()\"\r\n style=\"padding-left: 3rem; padding-right: 3rem\"\r\n class=\"form-control\"\r\n name=\"search\"\r\n autocomplete=\"off\"\r\n placeholder=\"Search\"\r\n />\r\n\r\n <span class=\"search-icon\">\r\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"currentColor\" stroke-width=\"2\" />\r\n <line x1=\"13\" y1=\"13\" x2=\"16\" y2=\"16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <button *ngIf=\"searchTerm\" type=\"button\" aria-label=\"Clear\" (click)=\"searchTerm = ''; onSearch()\" class=\"clear-search\">\r\n <svg width=\"64px\" height=\"64px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path d=\"M9 9L15 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <path d=\"M15 9L9 15\" stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"9\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n ></circle>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <button type=\"button\" (click)=\"onClickCreateFixtureLibrary()\" class=\"btn btn-primary d-inline-flex align-items-center me-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\"\r\n stroke=\"white\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <span class=\"ms-2 text-white\">Create </span>\r\n </button>\r\n\r\n <!-- <button type=\"button\" (click)=\"openBulkUploadModal()\" class=\"btn btn-outline text-nowrap\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Bulk Upload\r\n </button> -->\r\n\r\n <button\r\n type=\"button\"\r\n [disabled]=\"fixturesList.length <= 0\"\r\n (click)=\"exportFixtureList()\"\r\n class=\"btn btn-outline text-nowrap\"\r\n >\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Export\r\n </button>\r\n\r\n <lib-filters [dataObject]=\"filterObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"toggle-button me-2\" [ngClass]=\"{ selected: viewMode === 'list' }\" (click)=\"toggleViewMode('list')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M6.24078 4.54639H15.8906M6.24078 9.00017H15.8906M6.24078 13.4539H15.8906M2.5293 4.54639H2.53672M2.5293 9.00017H2.53672M2.5293 13.4539H2.53672\"\r\n [attr.stroke]=\"viewMode === 'list' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n\r\n <div class=\"toggle-button\" [ngClass]=\"{ selected: viewMode === 'grid' }\" (click)=\"toggleViewMode('grid')\">\r\n <svg width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M7.91886 2.31934H2.72278V7.51541H7.91886V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 2.31934H10.888V7.51541H16.0841V2.31934Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M16.0841 10.4846H10.888V15.6807H16.0841V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M7.91886 10.4846H2.72278V15.6807H7.91886V10.4846Z\"\r\n [attr.stroke]=\"viewMode === 'grid' ? '#009BF3' : '#344054'\"\r\n stroke-width=\"1.48756\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isPageLoading; else contentPart\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #contentPart>\r\n <div *ngIf=\"fixturesList.length === 0\">\r\n @if(searchTerm || isFilterApplied){\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\" />\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for matching filter and search</div>\r\n </div>\r\n </div>\r\n </div>\r\n }@else{\r\n <div class=\"row g-0 py-12\">\r\n <!-- Single Fixture Creation -->\r\n <div class=\"col-md-12 pe-md-3\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 56 56\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\" />\r\n <path\r\n d=\"M28 24V32M24 28H32M38 28C38 33.5228 33.5228 38 28 38C22.4772 38 18 33.5228 18 28C18 22.4772 22.4772 18 28 18C33.5228 18 38 22.4772 38 28Z\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture</h3>\r\n <p class=\"card-tagline mb-0\">Start creating fixture manually through step by step</p>\r\n </div>\r\n <button\r\n (click)=\"onClickCreateFixtureLibrary()\"\r\n type=\"button\"\r\n class=\"btn btn-outline d-inline-flex align-items-center\"\r\n >\r\n <svg class=\"me-2\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M12 5V19M5 12H19\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Create\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Bulk Fixture Creation -->\r\n <!-- <div class=\"col-md-6 ps-md-3 border-start\">\r\n <div class=\"d-flex flex-column align-items-center p-10\">\r\n <div class=\"text-center mb-8\">\r\n <div class=\"mb-5\">\r\n <svg\r\n style=\"width: 80px; height: 80px\"\r\n width=\"56\"\r\n height=\"56\"\r\n viewBox=\"0 0 95 94\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" fill=\"#DAF1FF\" />\r\n <rect x=\"7.5\" y=\"7\" width=\"80\" height=\"80\" rx=\"40\" stroke=\"#EAF8FF\" stroke-width=\"13.3333\" />\r\n <path\r\n d=\"M62.5 52V58.6667C62.5 59.5507 62.1488 60.3986 61.5237 61.0237C60.8986 61.6488 60.0507 62 59.1667 62H35.8333C34.9493 62 34.1014 61.6488 33.4763 61.0237C32.8512 60.3986 32.5 59.5507 32.5 58.6667V52M55.8333 40.3333L47.5 32M47.5 32L39.1667 40.3333M47.5 32V52\"\r\n stroke=\"#00A3FF\"\r\n stroke-width=\"3.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n <h3 class=\"card-title mb-3\">Create fixture using excel template</h3>\r\n <p class=\"card-tagline mb-0\">You can create a single or a multiple fixtures using the template below</p>\r\n </div>\r\n <div class=\"d-flex flex-column gap-2 mb-6\" style=\"width: fit-content\">\r\n <p class=\"card-description mb-0\">\r\n Step1 - <a class=\"download-link fw-medium\" (click)=\"downloadEmptyTemplate()\">Download the template here</a>\r\n </p>\r\n <p class=\"card-description mb-0\">Step2 - Add your data to the Template File</p>\r\n <p class=\"card-description mb-0\">Step3 - Upload it below for processing</p>\r\n </div>\r\n <button class=\"btn btn-primary d-inline-flex align-items-center\" (click)=\"openBulkUploadModal()\">\r\n <svg class=\"me-2\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n Upload\r\n </button>\r\n </div>\r\n </div> -->\r\n </div>\r\n }\r\n </div>\r\n\r\n <div *ngIf=\"fixturesList.length != 0\">\r\n <!-- Fixture list view -->\r\n <section id=\"list-view\" *ngIf=\"viewMode === 'list'; else gridView\">\r\n <div class=\"table-responsive\">\r\n <table class=\"w-100 table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureCategory')\" class=\"cursor-pointer\">\r\n Fixture name\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureCategory' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureCategory' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th>\r\n <span (click)=\"onSortTable('fixtureType')\" class=\"cursor-pointer\">\r\n Type\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureType' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureType' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th>Country</th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureWidth')\" class=\"cursor-pointer\">\r\n Width\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureWidth' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureWidth' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('fixtureLength')\" class=\"cursor-pointer\">\r\n Height\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'fixtureLength' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'fixtureLength' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('shelfConfig')\" class=\"cursor-pointer\">\r\n Partitions\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'shelfConfig' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'shelfConfig' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n\r\n <svg\r\n placement=\"start\"\r\n ngbTooltip=\"Partitions are shelves/sections/panel\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"18\"\r\n viewBox=\"0 0 18 18\"\r\n fill=\"none\"\r\n class=\"ms-2\"\r\n >\r\n <g clip-path=\"url(#clip0_1_25644)\">\r\n <path\r\n d=\"M9 12V9M9 6H9.0075M16.5 9C16.5 13.1421 13.1421 16.5 9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9Z\"\r\n stroke=\"#667085\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1_25644\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </th>\r\n <th class=\"text-center\">\r\n <span (click)=\"onSortTable('templateCount')\" class=\"cursor-pointer\">\r\n Templates tagged\r\n <i\r\n [ngStyle]=\"{ color: sortedColumn === 'templateCount' ? '#009BF3' : '' }\"\r\n class=\"fa ms-1 mt-1\"\r\n [ngClass]=\"sortOrder === 1 && sortedColumn === 'templateCount' ? 'fa-arrow-up' : 'fa-arrow-down'\"\r\n aria-hidden=\"true\"\r\n ></i>\r\n </span>\r\n </th>\r\n <th class=\"text-center\">Status</th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let fixture of fixturesList\">\r\n <td style=\"max-width: 300px\">\r\n <div class=\"d-flex align-items-center\">\r\n <!-- <div class=\"thumbnail\"></div> -->\r\n <a\r\n [routerLink]=\"['/manage/planogram/create-library-fixture']\"\r\n [queryParams]=\"{ fixtureId: fixture.id }\"\r\n class=\"text-decoration-underline ellipsis\"\r\n [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\"\r\n >\r\n {{ fixture.name }} - {{ fixture.width }}ft\r\n </a>\r\n </div>\r\n </td>\r\n <td>{{ fixture.type | titlecase }}</td>\r\n <td>\r\n <div *ngIf=\"fixture.country?.length; else noCountry\" class=\"country-chip-list\">\r\n <span class=\"country-chip\" *ngFor=\"let c of fixture.country\">{{ c }}</span>\r\n </div>\r\n <ng-template #noCountry>-</ng-template>\r\n </td>\r\n <td class=\"text-center\">{{ fixture.width }}ft</td>\r\n <td class=\"text-center\">{{ fixture.height }}ft</td>\r\n <td class=\"text-center\">{{ fixture.partitions }}</td>\r\n <td class=\"text-center\">{{ fixture.templatesTagged }}</td>\r\n <td class=\"text-center\">\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"dropdown\">\r\n <button class=\"btn btn-link p-0\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <ng-container *ngTemplateOutlet=\"verticalDots\"></ng-container>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onEdit(fixture.id, fixture.templatesTagged)\"> Edit </a>\r\n </li>\r\n <li><a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id)\">Duplicate</a></li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged)\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </section>\r\n\r\n <!-- Fixture grid view -->\r\n <ng-template #gridView>\r\n <section id=\"grid-view\" class=\"table-responsive\">\r\n <div class=\"row gx-6 gy-4 m-0\">\r\n <div class=\"col-md-4\" *ngFor=\"let fixture of fixturesList\">\r\n <div class=\"card\" (click)=\"onClickCard($event, fixture)\">\r\n <div class=\"card-img\">\r\n <div class=\"card-action dropdown\" (click)=\"$event.stopPropagation()\">\r\n <button class=\"btn btn-light\" style=\"padding: 12px 21px !important\" type=\"button\" data-bs-toggle=\"dropdown\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer\"\r\n (click)=\"onEdit(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Edit\r\n </a>\r\n </li>\r\n <li>\r\n <a class=\"dropdown-item cursor-pointer\" (click)=\"onDuplicate(fixture.id); $event.stopPropagation()\">\r\n Duplicate\r\n </a>\r\n </li>\r\n <li>\r\n <a\r\n class=\"dropdown-item cursor-pointer text-danger\"\r\n (click)=\"onDelete(fixture.id, fixture.templatesTagged); $event.stopPropagation()\"\r\n >\r\n Delete\r\n </a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <h3 class=\"ellipsis\" [ngbTooltip]=\"fixture.name + ' - ' + fixture.width + 'ft'\">\r\n {{ fixture.name }}\r\n </h3>\r\n <div class=\"badge\" [ngClass]=\"fixture.status\" placement=\"start\" [ngbTooltip]=\"getTooltipText(fixture.status)\">\r\n {{ fixture.status | titlecase }}\r\n </div>\r\n </div>\r\n <div class=\"card-tagline\">\r\n {{ fixture.width }}ft x {{ fixture.height }}ft <span>&#8226;</span> {{ fixture.partitions }}\r\n <span>&#8226;</span>\r\n {{ fixture.type }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </ng-template>\r\n\r\n <!-- Pagination -->\r\n <lib-pagination\r\n class=\"text-start\"\r\n [itemsPerPage]=\"limit\"\r\n [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\"\r\n [paginationSizes]=\"paginationSizes\"\r\n [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\"\r\n (pageSizeChange)=\"onPageSizeChange($event)\"\r\n ></lib-pagination>\r\n </div>\r\n </ng-template>\r\n</section>\r\n\r\n<ng-template #verticalDots>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"4\" height=\"18\" viewBox=\"0 0 4 18\" fill=\"none\">\r\n <path\r\n d=\"M1 9C1 9.55228 1.44771 10 2 10C2.55228 10 3 9.55228 3 9C3 8.44772 2.55228 8 2 8C1.44771 8 1 8.44772 1 9Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M0.999999 16C0.999999 16.5523 1.44771 17 2 17C2.55228 17 3 16.5523 3 16C3 15.4477 2.55228 15 2 15C1.44771 15 0.999999 15.4477 0.999999 16Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n <path\r\n d=\"M1 2C1 2.55228 1.44772 3 2 3C2.55228 3 3 2.55228 3 2C3 1.44772 2.55228 1 2 1C1.44772 1 1 1.44772 1 2Z\"\r\n stroke=\"#101828\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n</ng-template>\r\n", styles: [".nodatamaintext{font-family:Inter;font-size:16px;font-weight:600;line-height:24px;text-align:center;color:#101828}.nodatasubtext[_ngcontent-ng-c2141490359]{font-family:Inter;font-size:14px;font-weight:400;line-height:20px;text-align:center;color:#667085}.table-responsive{min-height:calc(100vh - 495px)}.download-link{color:var(--Primary-800, #008edf);font-size:14px;font-weight:500;line-height:20px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font;cursor:pointer}h3.card-title{color:#101828;font-size:18px;font-weight:600;line-height:28px}p.card-tagline{color:#101828;font-size:14px;font-weight:500;line-height:20px}p.card-description{color:#344054;font-size:14px;font-weight:400;line-height:20px}#list-view .thumbnail{height:40px;width:40px;background:#f2f4f7;margin-right:12px;border-radius:8px}#list-view td{vertical-align:middle}#grid-view .card{box-shadow:0 4px 10px #0000000d;border:1px solid rgb(223,225,231);background:#fff;border-radius:12px;padding:12px;height:100%;transition:all .2s ease}#grid-view .card:hover{cursor:pointer;box-shadow:0 10px 10px #0001;transition:all .2s ease}#grid-view .card-img{margin-bottom:12px;background:#d0d5dd;height:200px;border-radius:6px}#grid-view .card-action{position:absolute;top:20px;right:20px}#grid-view .card-tagline{color:#475467;font-weight:500;font-size:14px;line-height:20px}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7;color:#344054}.badge.cluster{background:#f2f4f7;color:#344054}.badge.published{background:#ecfdf3;color:#027a48}.badge.yet-to-publish{background:#f8f9fc;color:#363f72}.indicator{border-radius:16px;padding:2px 8px;display:flex;justify-content:center;align-items:center;white-space:nowrap;width:fit-content;text-align:center;font-size:14px;font-weight:500}.indicator.short{height:14px!important;width:14px!important;border-radius:50%!important;padding:0!important}.indicator.yetToComplete{background:#f2f4f7;color:#667085}.indicator.yetToComplete path{fill:#667085}.indicator.draft{background:#f2f4f7;color:#667085}.indicator.draft path{fill:#667085}.indicator.yetToAssign{background:#eaecf5;color:#344054}.indicator.yetToAssign path{fill:#344054}.indicator.taskAssigned{background:#e0eaff;color:#7a5af8}.indicator.taskAssigned path{fill:#7a5af8}.indicator.reviewPending{background:#fef0c7;color:#f79009}.indicator.reviewPending path{fill:#f79009}.indicator.allocationPending{background:#fef0c7;color:#f79009}.indicator.allocationPending path{fill:#f79009}.indicator.flagged{background:var(--Error-50, #fef3f2);color:var(--Error-700, #b42318)}.indicator.completed{background:#d1fadf;color:#12b76a}.indicator.completed path{fill:#12b76a}.toggle-button{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:8px;background:#fff;border:.89px solid rgb(208,213,221);box-shadow:0 .89px 1.78px #1018280d;transition:all ease .3s}.toggle-button:hover{cursor:pointer}.toggle-button.selected{transition:all ease .3s;background:#eaf8ff;box-shadow:0 0 0 3.56px #d5effe!important;border:.89px solid rgb(234,248,255)}.disabled-click{pointer-events:none;cursor:not-allowed!important;opacity:.6}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:#888;display:flex;align-items:center;height:1.5rem}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;height:1.5rem;width:1.5rem}.restrict-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.btn .spinner{height:22px;animation:spin .9s linear infinite}.btn .spinner .path{stroke-width:4px;stroke:#071437;stroke-linecap:round;stroke-dasharray:80;stroke-dashoffset:60}@keyframes spin{to{transform:rotate(360deg)}}.header{background:#fff;padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between}.btn{padding:.775rem 1.5rem!important;font-size:1.1rem!important}.badge{font-weight:500;font-size:12px;line-height:18px;text-align:center;padding:2px 8px;border-radius:16px}.badge.active{color:#027a48;background:#ecfdf3}.badge.inactive{background:#f2f4f7!important;color:#344054!important}.badge.draft{color:#009bf3;background:#eaf8ff}.builder{height:75vh}.builder .cols{background:#fff;border-radius:12px;padding:24px 24px 12px;max-height:75vh;overflow-y:auto}.shelf-container{border-radius:8px;background:var(--Gray-50, #f9fafb);padding:8px 16px;margin-bottom:12px}.counter-container{display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:#fff;padding:10px;border:.49px solid #d0d5dd}.counter-container span{margin:0 18px;font-weight:500;font-size:14px;text-align:center;vertical-align:middle;width:18px}.disable-counter{color:var(--bs-gray-500)!important;background-color:var(--bs-gray-200)!important;border-color:var(--bs-gray-300)!important;pointer-events:none;opacity:1}.disabled-click{pointer-events:none;opacity:.85}.wall-viewport{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-bottom:30px;max-width:345px;min-width:234px;text-align:center}.wall-viewport .wrapper{width:100%;max-width:345px}.wall-viewport .header-info,.wall-viewport .footer-info,.wall-viewport .body-info{width:100%;border:2px solid #f2f4f7;border-bottom:4px solid #ffffff;background:#f2f4f7;max-width:230px;display:flex;align-items:center;justify-content:center;justify-content:start;padding:12px;gap:4px}.wall-viewport .header-info p,.wall-viewport .footer-info p,.wall-viewport .body-info p{margin:0}.wall-viewport .header-info{margin-top:40px}.wall-viewport .sub-footer{border:1px solid #98a2b3;height:100%}.wall-viewport .header-block,.wall-viewport .footer-block{border:1px solid #98a2b3;height:95px;padding:8px;background-color:#f2f4f7;width:100%;display:flex;justify-content:center;align-items:center}.wall-viewport .header-block p,.wall-viewport .footer-block p{color:var(--Gray-600, #475467);font-size:18px;font-weight:600;white-space:normal;word-wrap:break-word;margin:0;background-color:#f2f4f7}.wall-viewport .body-block{width:100%}.wall-viewport .body-block .shelfContainer .block{border:1px solid #98a2b3;border-top:none}.wall-viewport .body-block .shelfContainer:first-child .block{border-top:1px solid #98a2b3}.wall-viewport .body-block .block{padding:10px;width:100%;max-width:345px;overflow-x:auto;min-height:52px}.wall-viewport .body-block .tray,.wall-viewport .body-block .shelf{display:flex;gap:4px}.wall-viewport .body-block .tray .product,.wall-viewport .body-block .shelf .product{border:1px solid rgba(152,162,179,.2901960784);min-width:50px}.wall-viewport .body-block .tray .product{min-height:20px}.wall-viewport .body-block .shelf .product{min-height:30px}.wall-viewport .body-block .vmonly-placeholder{background-image:repeating-linear-gradient(45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px),repeating-linear-gradient(-45deg,rgba(152,162,179,.2901960784) 0,rgba(152,162,179,.2901960784) .7px,transparent .7px,transparent 8px)}.wall-viewport .body-block .hide-product{border-color:transparent!important}.wall-viewport .body-block .hide-scroll{overflow-x:hidden!important}.horizontal-dimension{display:flex;align-items:center;justify-content:center;height:30px;position:relative}.horizontal-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.horizontal-dimension .arrow.left{transform:rotate(180deg);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .arrow.right{transform:rotate(0);background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.horizontal-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;height:1px}.horizontal-dimension .line span{position:absolute;top:-12px;color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:0 4px}.vertical-dimension{display:flex;flex-direction:column;align-items:center;width:30px;position:relative}.vertical-dimension .arrow{width:12px;height:12px;background-size:contain;background-repeat:no-repeat;background-position:center}.vertical-dimension .arrow.up{transform:rotate(-90deg);margin-top:20px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .arrow.down{transform:rotate(90deg);margin-bottom:26px;background-image:url(\"data:image/svg+xml,%3Csvg fill='%23EAECF0' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 330 330'%3E%3Cpath d='M250.606,154.389l-150-149.996c-5.857-5.858-15.355-5.858-21.213,0.001c-5.857,5.858-5.857,15.355,0.001,21.213l139.393,139.39L79.393,304.394c-5.857,5.858-5.857,15.355,0.001,21.213C82.322,328.536,86.161,330,90,330s7.678-1.464,10.607-4.394l149.999-150.004c2.814-2.813,4.394-6.628,4.394-10.606C255,161.018,253.42,157.202,250.606,154.389z'/%3E%3C/svg%3E\")}.vertical-dimension .line{flex:1;background-color:#eaecf0;position:relative;display:flex;align-items:center;justify-content:center;width:1px}.vertical-dimension .line span{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);color:#667085;font-weight:500;font-size:14px;background-color:#fff;padding:2px 4px}.info-card{padding:12px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a}.info-card h3{font-weight:600;font-size:18px;line-height:28px;vertical-align:middle}.info-card p{font-weight:500;font-size:14px;line-height:20px;color:#667085;margin:0}.checkbox input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #d0d5dd)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.checkbox input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00a3ff)!important;background-color:var(--primary-50, #eaf8ff)}.checkbox input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00a3ff;border-right:2px solid #00a3ff;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.nav-pills{display:inline-flex;gap:4px}.nav-pills .nav-item .nav-link{border-radius:0;color:#667085;font-size:14px;font-weight:500;padding:8px 16px;border:none}.nav-pills .nav-item .nav-link:hover{background-color:#00000005}.nav-pills .nav-item .nav-link.active{background-color:#eaf8ff;color:#009bf3;border-bottom:3px solid #009bf3}.content-wrapper{background:#fff;border-radius:12px;min-height:calc(100vh - 400px);height:100%;padding:16px 24px;display:flex;flex-direction:column}.loader .shimmer{height:150px}.filter-tab{border:1px solid rgb(234,236,240);background:#fff;box-shadow:0 1px 2px #1018280d;border-radius:8px;padding:18px;transition:all ease .2s}.filter-tab:hover{cursor:pointer}.filter-tab.selected{background:#f6fcff;border:1px solid rgb(107,202,255);box-shadow:0 1px 2px #1018280d}.filter-tab h3{color:#000;font-size:20px;font-weight:600;line-height:30px;margin:0}.filter-tab p{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px;margin:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-chip-list{display:flex;flex-wrap:wrap;gap:4px}.country-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:16px;background:var(--Gray-100, #f2f4f7);color:var(--Gray-700, #344054);font-size:12px;font-weight:500;line-height:18px}\n"] }]
25846
25871
  }], ctorParameters: () => [{ type: i1$1.NgbModal }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: StoreBuilderService }, { type: i2$1.GlobalStateService }, { type: i4.ToastService }, { type: i2$1.PageInfoService }] });
25847
25872
 
25848
25873
  class VMBulkUploadComponent {
@@ -46477,8 +46502,11 @@ class PlanoOverviewComponent {
46477
46502
  this.isPageLoading = false;
46478
46503
  this.revisionPlanoList = res.data;
46479
46504
  this.buildRevisionSelectItems();
46480
- this.currentSelect = this.revisionPlanoList.length - 1;
46481
- this.previousSelect = this.revisionPlanoList.length - 2;
46505
+ const activeIndex = this.revisionPlanoList.findIndex((r) => r.isActive);
46506
+ this.currentSelect = activeIndex >= 0 ? activeIndex : this.revisionPlanoList.length - 1;
46507
+ this.previousSelect = this.currentSelect > 0
46508
+ ? this.currentSelect - 1
46509
+ : Math.min(1, this.revisionPlanoList.length - 1);
46482
46510
  this.latestFloorData = res.data[this.currentSelect]?.floorData;
46483
46511
  if (this.latestFloorData) {
46484
46512
  this.latestFloorData["revisionId"] =
@@ -46717,6 +46745,27 @@ class PlanoOverviewComponent {
46717
46745
  }
46718
46746
  }, () => { });
46719
46747
  }
46748
+ toggleStagingFlag(revisionIndex) {
46749
+ const revision = this.revisionPlanoList[revisionIndex];
46750
+ if (!revision || revision.isActive)
46751
+ return;
46752
+ const newValue = !revision.isStaging;
46753
+ this.apiService
46754
+ .setStagingFlag({ revisionId: revision._id, isStaging: newValue })
46755
+ .pipe(takeUntil(this.destroy$))
46756
+ .subscribe({
46757
+ next: (res) => {
46758
+ if (res && res.code == 200) {
46759
+ revision.isStaging = newValue;
46760
+ this.toastService.getSuccessToast(res?.message || (newValue ? "Marked for staging" : "Unmarked from staging"));
46761
+ this.cd.detectChanges();
46762
+ }
46763
+ },
46764
+ error: () => {
46765
+ this.toastService.getErrorToast("Failed to update staging flag");
46766
+ },
46767
+ });
46768
+ }
46720
46769
  openEditNameModal(revisionIndex) {
46721
46770
  const revision = this.revisionPlanoList[revisionIndex];
46722
46771
  if (!revision)
@@ -46753,11 +46802,11 @@ class PlanoOverviewComponent {
46753
46802
  }, () => { });
46754
46803
  }
46755
46804
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlanoOverviewComponent, deps: [{ token: i2$1.GlobalStateService }, { token: i5.TitleCasePipe }, { token: i5.DatePipe }, { token: StoreBuilderService }, { token: i0.ChangeDetectorRef }, { token: i1$1.NgbModal }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
46756
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PlanoOverviewComponent, selector: "plano-overview", inputs: { floorData: "floorData" }, outputs: { currentRevisionInfo: "currentRevisionInfo" }, host: { listeners: { "window:resize": "onResize()" } }, providers: [TitleCasePipe, DatePipe], viewQueries: [{ propertyName: "canvasEl", first: true, predicate: ["baseCanvas"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["canvasContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section id=\"plano-overview\">\r\n <div>\r\n <div class=\"row\" *ngIf=\"isPageLoading && !enableCompare\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div id=\"body\" class=\"row\" [class.d-none]=\"enableCompare\">\r\n <div class=\"col overflow-hidden position-relative overview-canvas\">\r\n <div id=\"canvas-card\" class=\"w-100 position-relative\" #canvasContainer>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check form-switch\" style=\"top: 24px; right: 94px\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram\r\n </label>\r\n </div>\r\n <div>\r\n <!-- Rotate Button -->\r\n <button style=\"top: 24px; right: 94px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"rotateCanvas(canvas,90)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 26 26\"\r\n fill=\"none\">\r\n <path\r\n d=\"M6.36265 7.17887L7.17625 6.36287L5.90425 5.09207L5.08945 5.90567L6.36265 7.17887ZM15.671 6.36407L19.6379 10.3309L20.9099 9.05769L16.9442 5.09087L15.671 6.36407ZM19.6379 18.8257L18.8243 19.6393L20.0963 20.9101L20.9099 20.0977L19.6379 18.8257ZM10.3295 19.6393L6.36265 15.6725L5.09065 16.9457L9.05626 20.9113L10.3295 19.6393ZM18.8243 19.6393C17.6543 20.8081 16.8407 21.6193 16.1459 22.1497C15.4715 22.6645 15.0155 22.8289 14.5763 22.8289V24.6289C15.5675 24.6289 16.4027 24.2173 17.2367 23.5813C18.0503 22.9609 18.9635 22.0453 20.0963 20.9125L18.8243 19.6393ZM9.05626 20.9113C10.1891 22.0453 11.1023 22.9597 11.9159 23.5813C12.7499 24.2173 13.5851 24.6289 14.5763 24.6289V22.8289C14.1371 22.8289 13.6823 22.6645 13.0067 22.1497C12.3119 21.6193 11.4983 20.8081 10.3295 19.6393L9.05626 20.9113ZM19.6379 10.3309C20.8067 11.4997 21.6179 12.3133 22.1483 13.0081C22.6631 13.6837 22.8275 14.1385 22.8275 14.5777H24.6275C24.6275 13.5865 24.2159 12.7513 23.5799 11.9173C22.9595 11.1037 22.0427 10.1905 20.9099 9.05769L19.6379 10.3309ZM20.9099 20.0977C22.0439 18.9637 22.9583 18.0517 23.5799 17.2381C24.2159 16.4041 24.6275 15.5689 24.6275 14.5777H22.8275C22.8275 15.0169 22.6631 15.4729 22.1483 16.1473C21.6179 16.8421 20.8067 17.6557 19.6379 18.8257L20.9099 20.0977ZM7.17625 6.36287C8.34625 5.19407 9.15985 4.38167 9.85465 3.85127C10.529 3.33647 10.985 3.17327 11.4242 3.17327V1.37207C10.433 1.37207 9.59785 1.78367 8.76385 2.41967C7.94905 3.04127 7.03705 3.95567 5.90425 5.08847L7.17625 6.36287ZM16.9442 5.09087C15.8114 3.95687 14.8982 3.04127 14.0846 2.41967C13.2506 1.78367 12.4154 1.37207 11.4242 1.37207V3.17327C11.8634 3.17327 12.3182 3.33647 12.9938 3.85127C13.6886 4.38167 14.5022 5.19287 15.671 6.36167L16.9442 5.09087ZM5.08945 5.90327C3.95665 7.03607 3.04225 7.94807 2.42065 8.76287C1.78465 9.59687 1.37305 10.4321 1.37305 11.4233H3.17305C3.17305 10.9841 3.33745 10.5281 3.85225 9.85367C4.38265 9.15887 5.19385 8.34527 6.36265 7.17527L5.08945 5.90327ZM6.36265 15.6713C5.19385 14.5013 4.38265 13.6877 3.85225 12.9929C3.33745 12.3185 3.17305 11.8625 3.17305 11.4233H1.37305C1.37305 12.4145 1.78465 13.2497 2.42065 14.0837C3.04225 14.8973 3.95665 15.8105 5.08945 16.9433L6.36265 15.6713Z\"\r\n fill=\"#1D2939\" />\r\n <path\r\n d=\"M23.2 6.9832L25 8.2C25 4.582 22.4056 1.5796 19 1M2.8 19.0168L1 17.8C1 21.418 3.5944 24.4204 7 25\"\r\n stroke=\"#1D2939\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <!-- Download Button -->\r\n <button style=\"top: 24px; right: 26px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"downloadCanvas()\">\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 26 26\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000000\"\r\n stroke-width=\"0.24000000000000005\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n stroke=\"#CCCCCC\" stroke-width=\"0.384\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path\r\n d=\"M12.5535 16.5061C12.4114 16.6615 12.2106 16.75 12 16.75C11.7894 16.75 11.5886 16.6615 11.4465 16.5061L7.44648 12.1311C7.16698 11.8254 7.18822 11.351 7.49392 11.0715C7.79963 10.792 8.27402 10.8132 8.55352 11.1189L11.25 14.0682V3C11.25 2.58579 11.5858 2.25 12 2.25C12.4142 2.25 12.75 2.58579 12.75 3V14.0682L15.4465 11.1189C15.726 10.8132 16.2004 10.792 16.5061 11.0715C16.8118 11.351 16.833 11.8254 16.5535 12.1311L12.5535 16.5061Z\"\r\n fill=\"#1D2939\"></path>\r\n <path\r\n d=\"M3.75 15C3.75 14.5858 3.41422 14.25 3 14.25C2.58579 14.25 2.25 14.5858 2.25 15V15.0549C2.24998 16.4225 2.24996 17.5248 2.36652 18.3918C2.48754 19.2919 2.74643 20.0497 3.34835 20.6516C3.95027 21.2536 4.70814 21.5125 5.60825 21.6335C6.47522 21.75 7.57754 21.75 8.94513 21.75H15.0549C16.4225 21.75 17.5248 21.75 18.3918 21.6335C19.2919 21.5125 20.0497 21.2536 20.6517 20.6516C21.2536 20.0497 21.5125 19.2919 21.6335 18.3918C21.75 17.5248 21.75 16.4225 21.75 15.0549V15C21.75 14.5858 21.4142 14.25 21 14.25C20.5858 14.25 20.25 14.5858 20.25 15C20.25 16.4354 20.2484 17.4365 20.1469 18.1919C20.0482 18.9257 19.8678 19.3142 19.591 19.591C19.3142 19.8678 18.9257 20.0482 18.1919 20.1469C17.4365 20.2484 16.4354 20.25 15 20.25H9C7.56459 20.25 6.56347 20.2484 5.80812 20.1469C5.07435 20.0482 4.68577 19.8678 4.40901 19.591C4.13225 19.3142 3.9518 18.9257 3.85315 18.1919C3.75159 17.4365 3.75 16.4354 3.75 15Z\"\r\n fill=\"#1D2939\"></path>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <canvas id=\"base-canvas\" #baseCanvas></canvas>\r\n </div>\r\n <div class=\"active-revision-info\" *ngIf=\"floorData?.revisionName\">\r\n {{ floorData.revisionName }}\r\n <span class=\"text-muted ms-2\" *ngIf=\"floorData?.createdAt\">Published: {{ floorData.createdAt | date:\"d MMM yyyy, hh:mm a\" }}</span>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'d-none':!selectedFixture?.fixtureData}\"\r\n class=\"col bg-white rounded p-3 fixture-overview card\">\r\n <fixture-overview [fixtureDetails]=\"selectedFixture?.fixtureData\" (onClose)=\"onClickClose()\"\r\n [totalFixtures]=\"fixturesList\" (changeFixture)=\"onChangeFixture($event)\"\r\n [revisionId]=\"floorData?.revisionId\"></fixture-overview>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"enableCompare\" class=\"card\">\r\n\r\n <div class=\"row\">\r\n <div class=\"form-check form-switch\" style=\"margin-top:21px;\">\r\n <input class=\"form-check-input\" style=\"margin-left:-1%\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram </label>\r\n </div>\r\n <div *ngIf=\"isPageLoading\" class=\"row\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"row h-100\" [hidden]=\"isPageLoading\">\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\" *ngIf=\"previousFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"previousSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'previous')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[previousSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(previousSelect)\" [disabled]=\"revisionPlanoList[previousSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(previousSelect)\">Edit revision name</button>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"previousFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"previousRenderKey && previousFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"previousFloorData\">\r\n Published: {{ (previousFloorData?.createdAt || previousFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!previousFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\"\r\n *ngIf=\"latestFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"currentSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'latest')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[currentSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(currentSelect)\" [disabled]=\"revisionPlanoList[currentSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(currentSelect)\">Edit revision name</button>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"latestFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"latestRenderKey && latestFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"latestFloorData\">\r\n Published: {{ (latestFloorData?.createdAt || latestFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!latestFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #headerSkeleton>\r\n <div class=\"row m-0 g-0 loader d-flex justify-content-center align-items-center overflow-hidden\">\r\n <div class=\"shimmer w-100 p-4 rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke mt-0 animate title\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #skeletonLoader>\r\n <div class=\"row loader d-flex justify-content-center align-items-center overflow-hidden m-0\">\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</section>", styles: ["#plano-overview{max-height:calc(100vh - 160px)}#plano-overview #body{height:calc(100vh - 160px)}#plano-overview #body #canvas-card{border-radius:8px;background:#fff;padding:20px 16px;height:100%;overflow:hidden;width:100%}#plano-overview #body .collapsed-col{transition:all .3s ease;width:0px!important}#plano-overview #body .fixture-overview{max-width:530px;max-height:calc(100vh - 160px);overflow-y:auto}#plano-overview #body .overview-canvas{height:calc(100vh - 160px)}#plano-overview .compareLabel{font-family:Inter;font-weight:500;font-size:16px;line-height:24px;letter-spacing:0%;color:#344054}#plano-overview .updateText{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#667085;margin-top:10px;margin-left:3%}#plano-overview .loader .shimmer{height:100%;width:100%}#plano-overview .rotate{animation:spin 1s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1280px){#plano-overview .fixture-overview{max-width:336px!important}}.noDataContent{height:70%;display:flex;justify-content:center;align-items:center}.mainText{color:#1d2939;font-family:Inter;font-weight:600;font-size:18px;line-height:28px;letter-spacing:0%}.subText{color:#475467;font-family:Inter;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0%}.currentText{font-family:Inter;font-weight:600;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#000}.revision-header .revision-select{width:280px;flex-shrink:0}.revision-header .revision-select .custom-select,.revision-header .revision-select .form-group,.revision-header .revision-select .position-relative,.revision-header .revision-select .dropselect{width:100%}.kebab-menu .kebab-btn{padding:4px;line-height:1;text-decoration:none;color:#344054}.kebab-menu .kebab-btn:after{display:none}.published-text{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;color:#667085;padding:0 3% 20px}.current-plano-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:12px;background:#e8f5ff;border:1px solid #b3dcf5;font-weight:500;font-size:12px;color:#0086c9}.active-revision-info{font-family:Inter;font-weight:500;font-size:14px;line-height:20px;color:#344054;padding:8px 16px}\n"], dependencies: [{ kind: "component", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "subTextField", "searchField", "label", "data", "action", "search", "prefix", "actionLabel"], outputs: ["actionClick"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PlanoComparisonComponent, selector: "lib-plano-comparison", inputs: ["floorData", "totalFixtures"] }, { kind: "directive", type: i1$1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1$1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1$1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i1$1.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["tabindex", "disabled"] }, { kind: "directive", type: i1$1.NgbDropdownButtonItem, selector: "button[ngbDropdownItem]" }, { kind: "component", type: FixtureOverviewComponent, selector: "fixture-overview", inputs: ["fixtureDetails", "totalFixtures", "revisionId"], outputs: ["onClose", "changeFixture"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
46805
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PlanoOverviewComponent, selector: "plano-overview", inputs: { floorData: "floorData" }, outputs: { currentRevisionInfo: "currentRevisionInfo" }, host: { listeners: { "window:resize": "onResize()" } }, providers: [TitleCasePipe, DatePipe], viewQueries: [{ propertyName: "canvasEl", first: true, predicate: ["baseCanvas"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["canvasContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section id=\"plano-overview\">\r\n <div>\r\n <div class=\"row\" *ngIf=\"isPageLoading && !enableCompare\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div id=\"body\" class=\"row\" [class.d-none]=\"enableCompare\">\r\n <div class=\"col overflow-hidden position-relative overview-canvas\">\r\n <div id=\"canvas-card\" class=\"w-100 position-relative\" #canvasContainer>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check form-switch\" style=\"top: 24px; right: 94px\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram\r\n </label>\r\n </div>\r\n <div>\r\n <!-- Rotate Button -->\r\n <button style=\"top: 24px; right: 94px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"rotateCanvas(canvas,90)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 26 26\"\r\n fill=\"none\">\r\n <path\r\n d=\"M6.36265 7.17887L7.17625 6.36287L5.90425 5.09207L5.08945 5.90567L6.36265 7.17887ZM15.671 6.36407L19.6379 10.3309L20.9099 9.05769L16.9442 5.09087L15.671 6.36407ZM19.6379 18.8257L18.8243 19.6393L20.0963 20.9101L20.9099 20.0977L19.6379 18.8257ZM10.3295 19.6393L6.36265 15.6725L5.09065 16.9457L9.05626 20.9113L10.3295 19.6393ZM18.8243 19.6393C17.6543 20.8081 16.8407 21.6193 16.1459 22.1497C15.4715 22.6645 15.0155 22.8289 14.5763 22.8289V24.6289C15.5675 24.6289 16.4027 24.2173 17.2367 23.5813C18.0503 22.9609 18.9635 22.0453 20.0963 20.9125L18.8243 19.6393ZM9.05626 20.9113C10.1891 22.0453 11.1023 22.9597 11.9159 23.5813C12.7499 24.2173 13.5851 24.6289 14.5763 24.6289V22.8289C14.1371 22.8289 13.6823 22.6645 13.0067 22.1497C12.3119 21.6193 11.4983 20.8081 10.3295 19.6393L9.05626 20.9113ZM19.6379 10.3309C20.8067 11.4997 21.6179 12.3133 22.1483 13.0081C22.6631 13.6837 22.8275 14.1385 22.8275 14.5777H24.6275C24.6275 13.5865 24.2159 12.7513 23.5799 11.9173C22.9595 11.1037 22.0427 10.1905 20.9099 9.05769L19.6379 10.3309ZM20.9099 20.0977C22.0439 18.9637 22.9583 18.0517 23.5799 17.2381C24.2159 16.4041 24.6275 15.5689 24.6275 14.5777H22.8275C22.8275 15.0169 22.6631 15.4729 22.1483 16.1473C21.6179 16.8421 20.8067 17.6557 19.6379 18.8257L20.9099 20.0977ZM7.17625 6.36287C8.34625 5.19407 9.15985 4.38167 9.85465 3.85127C10.529 3.33647 10.985 3.17327 11.4242 3.17327V1.37207C10.433 1.37207 9.59785 1.78367 8.76385 2.41967C7.94905 3.04127 7.03705 3.95567 5.90425 5.08847L7.17625 6.36287ZM16.9442 5.09087C15.8114 3.95687 14.8982 3.04127 14.0846 2.41967C13.2506 1.78367 12.4154 1.37207 11.4242 1.37207V3.17327C11.8634 3.17327 12.3182 3.33647 12.9938 3.85127C13.6886 4.38167 14.5022 5.19287 15.671 6.36167L16.9442 5.09087ZM5.08945 5.90327C3.95665 7.03607 3.04225 7.94807 2.42065 8.76287C1.78465 9.59687 1.37305 10.4321 1.37305 11.4233H3.17305C3.17305 10.9841 3.33745 10.5281 3.85225 9.85367C4.38265 9.15887 5.19385 8.34527 6.36265 7.17527L5.08945 5.90327ZM6.36265 15.6713C5.19385 14.5013 4.38265 13.6877 3.85225 12.9929C3.33745 12.3185 3.17305 11.8625 3.17305 11.4233H1.37305C1.37305 12.4145 1.78465 13.2497 2.42065 14.0837C3.04225 14.8973 3.95665 15.8105 5.08945 16.9433L6.36265 15.6713Z\"\r\n fill=\"#1D2939\" />\r\n <path\r\n d=\"M23.2 6.9832L25 8.2C25 4.582 22.4056 1.5796 19 1M2.8 19.0168L1 17.8C1 21.418 3.5944 24.4204 7 25\"\r\n stroke=\"#1D2939\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <!-- Download Button -->\r\n <button style=\"top: 24px; right: 26px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"downloadCanvas()\">\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 26 26\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000000\"\r\n stroke-width=\"0.24000000000000005\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n stroke=\"#CCCCCC\" stroke-width=\"0.384\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path\r\n d=\"M12.5535 16.5061C12.4114 16.6615 12.2106 16.75 12 16.75C11.7894 16.75 11.5886 16.6615 11.4465 16.5061L7.44648 12.1311C7.16698 11.8254 7.18822 11.351 7.49392 11.0715C7.79963 10.792 8.27402 10.8132 8.55352 11.1189L11.25 14.0682V3C11.25 2.58579 11.5858 2.25 12 2.25C12.4142 2.25 12.75 2.58579 12.75 3V14.0682L15.4465 11.1189C15.726 10.8132 16.2004 10.792 16.5061 11.0715C16.8118 11.351 16.833 11.8254 16.5535 12.1311L12.5535 16.5061Z\"\r\n fill=\"#1D2939\"></path>\r\n <path\r\n d=\"M3.75 15C3.75 14.5858 3.41422 14.25 3 14.25C2.58579 14.25 2.25 14.5858 2.25 15V15.0549C2.24998 16.4225 2.24996 17.5248 2.36652 18.3918C2.48754 19.2919 2.74643 20.0497 3.34835 20.6516C3.95027 21.2536 4.70814 21.5125 5.60825 21.6335C6.47522 21.75 7.57754 21.75 8.94513 21.75H15.0549C16.4225 21.75 17.5248 21.75 18.3918 21.6335C19.2919 21.5125 20.0497 21.2536 20.6517 20.6516C21.2536 20.0497 21.5125 19.2919 21.6335 18.3918C21.75 17.5248 21.75 16.4225 21.75 15.0549V15C21.75 14.5858 21.4142 14.25 21 14.25C20.5858 14.25 20.25 14.5858 20.25 15C20.25 16.4354 20.2484 17.4365 20.1469 18.1919C20.0482 18.9257 19.8678 19.3142 19.591 19.591C19.3142 19.8678 18.9257 20.0482 18.1919 20.1469C17.4365 20.2484 16.4354 20.25 15 20.25H9C7.56459 20.25 6.56347 20.2484 5.80812 20.1469C5.07435 20.0482 4.68577 19.8678 4.40901 19.591C4.13225 19.3142 3.9518 18.9257 3.85315 18.1919C3.75159 17.4365 3.75 16.4354 3.75 15Z\"\r\n fill=\"#1D2939\"></path>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <canvas id=\"base-canvas\" #baseCanvas></canvas>\r\n </div>\r\n <div class=\"active-revision-info\" *ngIf=\"floorData?.revisionName\">\r\n {{ floorData.revisionName }}\r\n <span class=\"text-muted ms-2\" *ngIf=\"floorData?.createdAt\">Published: {{ floorData.createdAt | date:\"d MMM yyyy, hh:mm a\" }}</span>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'d-none':!selectedFixture?.fixtureData}\"\r\n class=\"col bg-white rounded p-3 fixture-overview card\">\r\n <fixture-overview [fixtureDetails]=\"selectedFixture?.fixtureData\" (onClose)=\"onClickClose()\"\r\n [totalFixtures]=\"fixturesList\" (changeFixture)=\"onChangeFixture($event)\"\r\n [revisionId]=\"floorData?.revisionId\"></fixture-overview>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"enableCompare\" class=\"card\">\r\n\r\n <div class=\"row\">\r\n <div class=\"form-check form-switch\" style=\"margin-top:21px;\">\r\n <input class=\"form-check-input\" style=\"margin-left:-1%\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram </label>\r\n </div>\r\n <div *ngIf=\"isPageLoading\" class=\"row\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"row h-100\" [hidden]=\"isPageLoading\">\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\" *ngIf=\"previousFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"previousSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'previous')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[previousSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <span class=\"staging-badge ms-2\" *ngIf=\"revisionPlanoList[previousSelect]?.isStaging && !revisionPlanoList[previousSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#667085\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Staging\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(previousSelect)\" [disabled]=\"revisionPlanoList[previousSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(previousSelect)\">Edit revision name</button>\r\n <div class=\"dropdown-item form-check staging-check\"\r\n [class.disabled]=\"revisionPlanoList[previousSelect]?.isActive\"\r\n (click)=\"!revisionPlanoList[previousSelect]?.isActive && toggleStagingFlag(previousSelect)\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"stagingCheckPrev\"\r\n [checked]=\"revisionPlanoList[previousSelect]?.isStaging\"\r\n [disabled]=\"revisionPlanoList[previousSelect]?.isActive\"\r\n (click)=\"$event.preventDefault()\">\r\n <label class=\"form-check-label\" for=\"stagingCheckPrev\">Mark for staging</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"previousFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"previousRenderKey && previousFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"previousFloorData\">\r\n Published: {{ (previousFloorData?.createdAt || previousFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!previousFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\"\r\n *ngIf=\"latestFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"currentSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'latest')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[currentSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <span class=\"staging-badge ms-2\" *ngIf=\"revisionPlanoList[currentSelect]?.isStaging && !revisionPlanoList[currentSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#667085\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Staging\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(currentSelect)\" [disabled]=\"revisionPlanoList[currentSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(currentSelect)\">Edit revision name</button>\r\n <div class=\"dropdown-item form-check staging-check\"\r\n [class.disabled]=\"revisionPlanoList[currentSelect]?.isActive\"\r\n (click)=\"!revisionPlanoList[currentSelect]?.isActive && toggleStagingFlag(currentSelect)\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"stagingCheckCurr\"\r\n [checked]=\"revisionPlanoList[currentSelect]?.isStaging\"\r\n [disabled]=\"revisionPlanoList[currentSelect]?.isActive\"\r\n (click)=\"$event.preventDefault()\">\r\n <label class=\"form-check-label\" for=\"stagingCheckCurr\">Mark for staging</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"latestFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"latestRenderKey && latestFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"latestFloorData\">\r\n Published: {{ (latestFloorData?.createdAt || latestFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!latestFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #headerSkeleton>\r\n <div class=\"row m-0 g-0 loader d-flex justify-content-center align-items-center overflow-hidden\">\r\n <div class=\"shimmer w-100 p-4 rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke mt-0 animate title\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #skeletonLoader>\r\n <div class=\"row loader d-flex justify-content-center align-items-center overflow-hidden m-0\">\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</section>", styles: ["#plano-overview{max-height:calc(100vh - 160px)}#plano-overview #body{height:calc(100vh - 160px)}#plano-overview #body #canvas-card{border-radius:8px;background:#fff;padding:20px 16px;height:100%;overflow:hidden;width:100%}#plano-overview #body .collapsed-col{transition:all .3s ease;width:0px!important}#plano-overview #body .fixture-overview{max-width:530px;max-height:calc(100vh - 160px);overflow-y:auto}#plano-overview #body .overview-canvas{height:calc(100vh - 160px)}#plano-overview .compareLabel{font-family:Inter;font-weight:500;font-size:16px;line-height:24px;letter-spacing:0%;color:#344054}#plano-overview .updateText{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#667085;margin-top:10px;margin-left:3%}#plano-overview .loader .shimmer{height:100%;width:100%}#plano-overview .rotate{animation:spin 1s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1280px){#plano-overview .fixture-overview{max-width:336px!important}}.noDataContent{height:70%;display:flex;justify-content:center;align-items:center}.mainText{color:#1d2939;font-family:Inter;font-weight:600;font-size:18px;line-height:28px;letter-spacing:0%}.subText{color:#475467;font-family:Inter;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0%}.currentText{font-family:Inter;font-weight:600;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#000}.revision-header .revision-select{width:280px;flex-shrink:0}.revision-header .revision-select .custom-select,.revision-header .revision-select .form-group,.revision-header .revision-select .position-relative,.revision-header .revision-select .dropselect{width:100%}.kebab-menu .kebab-btn{padding:4px;line-height:1;text-decoration:none;color:#344054}.kebab-menu .kebab-btn:after{display:none}.published-text{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;color:#667085;padding:0 3% 20px}.current-plano-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:12px;background:#e8f5ff;border:1px solid #b3dcf5;font-weight:500;font-size:12px;color:#0086c9}.staging-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;background:#f2f4f7;border:1px solid #d0d5dd;font-weight:500;font-size:12px;color:#475467}.kebab-menu .dropdown-item.staging-check{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.kebab-menu .dropdown-item.staging-check .form-check-input{margin:0;flex-shrink:0;cursor:pointer}.kebab-menu .dropdown-item.staging-check .form-check-label{margin:0;cursor:pointer;font-size:14px;line-height:1.4;color:#1d2939}.kebab-menu .dropdown-item.staging-check:hover:not(.disabled){background-color:#f9fafb}.kebab-menu .dropdown-item.staging-check.disabled{opacity:.5;pointer-events:none}.active-revision-info{font-family:Inter;font-weight:500;font-size:14px;line-height:20px;color:#344054;padding:8px 16px}\n"], dependencies: [{ kind: "component", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "subTextField", "searchField", "label", "data", "action", "search", "prefix", "actionLabel"], outputs: ["actionClick"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PlanoComparisonComponent, selector: "lib-plano-comparison", inputs: ["floorData", "totalFixtures"] }, { kind: "directive", type: i1$1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1$1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1$1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i1$1.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["tabindex", "disabled"] }, { kind: "directive", type: i1$1.NgbDropdownButtonItem, selector: "button[ngbDropdownItem]" }, { kind: "component", type: FixtureOverviewComponent, selector: "fixture-overview", inputs: ["fixtureDetails", "totalFixtures", "revisionId"], outputs: ["onClose", "changeFixture"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
46757
46806
  }
46758
46807
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlanoOverviewComponent, decorators: [{
46759
46808
  type: Component,
46760
- args: [{ selector: "plano-overview", providers: [TitleCasePipe, DatePipe], template: "<section id=\"plano-overview\">\r\n <div>\r\n <div class=\"row\" *ngIf=\"isPageLoading && !enableCompare\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div id=\"body\" class=\"row\" [class.d-none]=\"enableCompare\">\r\n <div class=\"col overflow-hidden position-relative overview-canvas\">\r\n <div id=\"canvas-card\" class=\"w-100 position-relative\" #canvasContainer>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check form-switch\" style=\"top: 24px; right: 94px\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram\r\n </label>\r\n </div>\r\n <div>\r\n <!-- Rotate Button -->\r\n <button style=\"top: 24px; right: 94px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"rotateCanvas(canvas,90)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 26 26\"\r\n fill=\"none\">\r\n <path\r\n d=\"M6.36265 7.17887L7.17625 6.36287L5.90425 5.09207L5.08945 5.90567L6.36265 7.17887ZM15.671 6.36407L19.6379 10.3309L20.9099 9.05769L16.9442 5.09087L15.671 6.36407ZM19.6379 18.8257L18.8243 19.6393L20.0963 20.9101L20.9099 20.0977L19.6379 18.8257ZM10.3295 19.6393L6.36265 15.6725L5.09065 16.9457L9.05626 20.9113L10.3295 19.6393ZM18.8243 19.6393C17.6543 20.8081 16.8407 21.6193 16.1459 22.1497C15.4715 22.6645 15.0155 22.8289 14.5763 22.8289V24.6289C15.5675 24.6289 16.4027 24.2173 17.2367 23.5813C18.0503 22.9609 18.9635 22.0453 20.0963 20.9125L18.8243 19.6393ZM9.05626 20.9113C10.1891 22.0453 11.1023 22.9597 11.9159 23.5813C12.7499 24.2173 13.5851 24.6289 14.5763 24.6289V22.8289C14.1371 22.8289 13.6823 22.6645 13.0067 22.1497C12.3119 21.6193 11.4983 20.8081 10.3295 19.6393L9.05626 20.9113ZM19.6379 10.3309C20.8067 11.4997 21.6179 12.3133 22.1483 13.0081C22.6631 13.6837 22.8275 14.1385 22.8275 14.5777H24.6275C24.6275 13.5865 24.2159 12.7513 23.5799 11.9173C22.9595 11.1037 22.0427 10.1905 20.9099 9.05769L19.6379 10.3309ZM20.9099 20.0977C22.0439 18.9637 22.9583 18.0517 23.5799 17.2381C24.2159 16.4041 24.6275 15.5689 24.6275 14.5777H22.8275C22.8275 15.0169 22.6631 15.4729 22.1483 16.1473C21.6179 16.8421 20.8067 17.6557 19.6379 18.8257L20.9099 20.0977ZM7.17625 6.36287C8.34625 5.19407 9.15985 4.38167 9.85465 3.85127C10.529 3.33647 10.985 3.17327 11.4242 3.17327V1.37207C10.433 1.37207 9.59785 1.78367 8.76385 2.41967C7.94905 3.04127 7.03705 3.95567 5.90425 5.08847L7.17625 6.36287ZM16.9442 5.09087C15.8114 3.95687 14.8982 3.04127 14.0846 2.41967C13.2506 1.78367 12.4154 1.37207 11.4242 1.37207V3.17327C11.8634 3.17327 12.3182 3.33647 12.9938 3.85127C13.6886 4.38167 14.5022 5.19287 15.671 6.36167L16.9442 5.09087ZM5.08945 5.90327C3.95665 7.03607 3.04225 7.94807 2.42065 8.76287C1.78465 9.59687 1.37305 10.4321 1.37305 11.4233H3.17305C3.17305 10.9841 3.33745 10.5281 3.85225 9.85367C4.38265 9.15887 5.19385 8.34527 6.36265 7.17527L5.08945 5.90327ZM6.36265 15.6713C5.19385 14.5013 4.38265 13.6877 3.85225 12.9929C3.33745 12.3185 3.17305 11.8625 3.17305 11.4233H1.37305C1.37305 12.4145 1.78465 13.2497 2.42065 14.0837C3.04225 14.8973 3.95665 15.8105 5.08945 16.9433L6.36265 15.6713Z\"\r\n fill=\"#1D2939\" />\r\n <path\r\n d=\"M23.2 6.9832L25 8.2C25 4.582 22.4056 1.5796 19 1M2.8 19.0168L1 17.8C1 21.418 3.5944 24.4204 7 25\"\r\n stroke=\"#1D2939\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <!-- Download Button -->\r\n <button style=\"top: 24px; right: 26px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"downloadCanvas()\">\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 26 26\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000000\"\r\n stroke-width=\"0.24000000000000005\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n stroke=\"#CCCCCC\" stroke-width=\"0.384\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path\r\n d=\"M12.5535 16.5061C12.4114 16.6615 12.2106 16.75 12 16.75C11.7894 16.75 11.5886 16.6615 11.4465 16.5061L7.44648 12.1311C7.16698 11.8254 7.18822 11.351 7.49392 11.0715C7.79963 10.792 8.27402 10.8132 8.55352 11.1189L11.25 14.0682V3C11.25 2.58579 11.5858 2.25 12 2.25C12.4142 2.25 12.75 2.58579 12.75 3V14.0682L15.4465 11.1189C15.726 10.8132 16.2004 10.792 16.5061 11.0715C16.8118 11.351 16.833 11.8254 16.5535 12.1311L12.5535 16.5061Z\"\r\n fill=\"#1D2939\"></path>\r\n <path\r\n d=\"M3.75 15C3.75 14.5858 3.41422 14.25 3 14.25C2.58579 14.25 2.25 14.5858 2.25 15V15.0549C2.24998 16.4225 2.24996 17.5248 2.36652 18.3918C2.48754 19.2919 2.74643 20.0497 3.34835 20.6516C3.95027 21.2536 4.70814 21.5125 5.60825 21.6335C6.47522 21.75 7.57754 21.75 8.94513 21.75H15.0549C16.4225 21.75 17.5248 21.75 18.3918 21.6335C19.2919 21.5125 20.0497 21.2536 20.6517 20.6516C21.2536 20.0497 21.5125 19.2919 21.6335 18.3918C21.75 17.5248 21.75 16.4225 21.75 15.0549V15C21.75 14.5858 21.4142 14.25 21 14.25C20.5858 14.25 20.25 14.5858 20.25 15C20.25 16.4354 20.2484 17.4365 20.1469 18.1919C20.0482 18.9257 19.8678 19.3142 19.591 19.591C19.3142 19.8678 18.9257 20.0482 18.1919 20.1469C17.4365 20.2484 16.4354 20.25 15 20.25H9C7.56459 20.25 6.56347 20.2484 5.80812 20.1469C5.07435 20.0482 4.68577 19.8678 4.40901 19.591C4.13225 19.3142 3.9518 18.9257 3.85315 18.1919C3.75159 17.4365 3.75 16.4354 3.75 15Z\"\r\n fill=\"#1D2939\"></path>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <canvas id=\"base-canvas\" #baseCanvas></canvas>\r\n </div>\r\n <div class=\"active-revision-info\" *ngIf=\"floorData?.revisionName\">\r\n {{ floorData.revisionName }}\r\n <span class=\"text-muted ms-2\" *ngIf=\"floorData?.createdAt\">Published: {{ floorData.createdAt | date:\"d MMM yyyy, hh:mm a\" }}</span>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'d-none':!selectedFixture?.fixtureData}\"\r\n class=\"col bg-white rounded p-3 fixture-overview card\">\r\n <fixture-overview [fixtureDetails]=\"selectedFixture?.fixtureData\" (onClose)=\"onClickClose()\"\r\n [totalFixtures]=\"fixturesList\" (changeFixture)=\"onChangeFixture($event)\"\r\n [revisionId]=\"floorData?.revisionId\"></fixture-overview>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"enableCompare\" class=\"card\">\r\n\r\n <div class=\"row\">\r\n <div class=\"form-check form-switch\" style=\"margin-top:21px;\">\r\n <input class=\"form-check-input\" style=\"margin-left:-1%\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram </label>\r\n </div>\r\n <div *ngIf=\"isPageLoading\" class=\"row\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"row h-100\" [hidden]=\"isPageLoading\">\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\" *ngIf=\"previousFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"previousSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'previous')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[previousSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(previousSelect)\" [disabled]=\"revisionPlanoList[previousSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(previousSelect)\">Edit revision name</button>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"previousFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"previousRenderKey && previousFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"previousFloorData\">\r\n Published: {{ (previousFloorData?.createdAt || previousFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!previousFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\"\r\n *ngIf=\"latestFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"currentSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'latest')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[currentSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(currentSelect)\" [disabled]=\"revisionPlanoList[currentSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(currentSelect)\">Edit revision name</button>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"latestFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"latestRenderKey && latestFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"latestFloorData\">\r\n Published: {{ (latestFloorData?.createdAt || latestFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!latestFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #headerSkeleton>\r\n <div class=\"row m-0 g-0 loader d-flex justify-content-center align-items-center overflow-hidden\">\r\n <div class=\"shimmer w-100 p-4 rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke mt-0 animate title\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #skeletonLoader>\r\n <div class=\"row loader d-flex justify-content-center align-items-center overflow-hidden m-0\">\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</section>", styles: ["#plano-overview{max-height:calc(100vh - 160px)}#plano-overview #body{height:calc(100vh - 160px)}#plano-overview #body #canvas-card{border-radius:8px;background:#fff;padding:20px 16px;height:100%;overflow:hidden;width:100%}#plano-overview #body .collapsed-col{transition:all .3s ease;width:0px!important}#plano-overview #body .fixture-overview{max-width:530px;max-height:calc(100vh - 160px);overflow-y:auto}#plano-overview #body .overview-canvas{height:calc(100vh - 160px)}#plano-overview .compareLabel{font-family:Inter;font-weight:500;font-size:16px;line-height:24px;letter-spacing:0%;color:#344054}#plano-overview .updateText{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#667085;margin-top:10px;margin-left:3%}#plano-overview .loader .shimmer{height:100%;width:100%}#plano-overview .rotate{animation:spin 1s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1280px){#plano-overview .fixture-overview{max-width:336px!important}}.noDataContent{height:70%;display:flex;justify-content:center;align-items:center}.mainText{color:#1d2939;font-family:Inter;font-weight:600;font-size:18px;line-height:28px;letter-spacing:0%}.subText{color:#475467;font-family:Inter;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0%}.currentText{font-family:Inter;font-weight:600;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#000}.revision-header .revision-select{width:280px;flex-shrink:0}.revision-header .revision-select .custom-select,.revision-header .revision-select .form-group,.revision-header .revision-select .position-relative,.revision-header .revision-select .dropselect{width:100%}.kebab-menu .kebab-btn{padding:4px;line-height:1;text-decoration:none;color:#344054}.kebab-menu .kebab-btn:after{display:none}.published-text{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;color:#667085;padding:0 3% 20px}.current-plano-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:12px;background:#e8f5ff;border:1px solid #b3dcf5;font-weight:500;font-size:12px;color:#0086c9}.active-revision-info{font-family:Inter;font-weight:500;font-size:14px;line-height:20px;color:#344054;padding:8px 16px}\n"] }]
46809
+ args: [{ selector: "plano-overview", providers: [TitleCasePipe, DatePipe], template: "<section id=\"plano-overview\">\r\n <div>\r\n <div class=\"row\" *ngIf=\"isPageLoading && !enableCompare\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div id=\"body\" class=\"row\" [class.d-none]=\"enableCompare\">\r\n <div class=\"col overflow-hidden position-relative overview-canvas\">\r\n <div id=\"canvas-card\" class=\"w-100 position-relative\" #canvasContainer>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check form-switch\" style=\"top: 24px; right: 94px\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram\r\n </label>\r\n </div>\r\n <div>\r\n <!-- Rotate Button -->\r\n <button style=\"top: 24px; right: 94px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"rotateCanvas(canvas,90)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 26 26\"\r\n fill=\"none\">\r\n <path\r\n d=\"M6.36265 7.17887L7.17625 6.36287L5.90425 5.09207L5.08945 5.90567L6.36265 7.17887ZM15.671 6.36407L19.6379 10.3309L20.9099 9.05769L16.9442 5.09087L15.671 6.36407ZM19.6379 18.8257L18.8243 19.6393L20.0963 20.9101L20.9099 20.0977L19.6379 18.8257ZM10.3295 19.6393L6.36265 15.6725L5.09065 16.9457L9.05626 20.9113L10.3295 19.6393ZM18.8243 19.6393C17.6543 20.8081 16.8407 21.6193 16.1459 22.1497C15.4715 22.6645 15.0155 22.8289 14.5763 22.8289V24.6289C15.5675 24.6289 16.4027 24.2173 17.2367 23.5813C18.0503 22.9609 18.9635 22.0453 20.0963 20.9125L18.8243 19.6393ZM9.05626 20.9113C10.1891 22.0453 11.1023 22.9597 11.9159 23.5813C12.7499 24.2173 13.5851 24.6289 14.5763 24.6289V22.8289C14.1371 22.8289 13.6823 22.6645 13.0067 22.1497C12.3119 21.6193 11.4983 20.8081 10.3295 19.6393L9.05626 20.9113ZM19.6379 10.3309C20.8067 11.4997 21.6179 12.3133 22.1483 13.0081C22.6631 13.6837 22.8275 14.1385 22.8275 14.5777H24.6275C24.6275 13.5865 24.2159 12.7513 23.5799 11.9173C22.9595 11.1037 22.0427 10.1905 20.9099 9.05769L19.6379 10.3309ZM20.9099 20.0977C22.0439 18.9637 22.9583 18.0517 23.5799 17.2381C24.2159 16.4041 24.6275 15.5689 24.6275 14.5777H22.8275C22.8275 15.0169 22.6631 15.4729 22.1483 16.1473C21.6179 16.8421 20.8067 17.6557 19.6379 18.8257L20.9099 20.0977ZM7.17625 6.36287C8.34625 5.19407 9.15985 4.38167 9.85465 3.85127C10.529 3.33647 10.985 3.17327 11.4242 3.17327V1.37207C10.433 1.37207 9.59785 1.78367 8.76385 2.41967C7.94905 3.04127 7.03705 3.95567 5.90425 5.08847L7.17625 6.36287ZM16.9442 5.09087C15.8114 3.95687 14.8982 3.04127 14.0846 2.41967C13.2506 1.78367 12.4154 1.37207 11.4242 1.37207V3.17327C11.8634 3.17327 12.3182 3.33647 12.9938 3.85127C13.6886 4.38167 14.5022 5.19287 15.671 6.36167L16.9442 5.09087ZM5.08945 5.90327C3.95665 7.03607 3.04225 7.94807 2.42065 8.76287C1.78465 9.59687 1.37305 10.4321 1.37305 11.4233H3.17305C3.17305 10.9841 3.33745 10.5281 3.85225 9.85367C4.38265 9.15887 5.19385 8.34527 6.36265 7.17527L5.08945 5.90327ZM6.36265 15.6713C5.19385 14.5013 4.38265 13.6877 3.85225 12.9929C3.33745 12.3185 3.17305 11.8625 3.17305 11.4233H1.37305C1.37305 12.4145 1.78465 13.2497 2.42065 14.0837C3.04225 14.8973 3.95665 15.8105 5.08945 16.9433L6.36265 15.6713Z\"\r\n fill=\"#1D2939\" />\r\n <path\r\n d=\"M23.2 6.9832L25 8.2C25 4.582 22.4056 1.5796 19 1M2.8 19.0168L1 17.8C1 21.418 3.5944 24.4204 7 25\"\r\n stroke=\"#1D2939\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n\r\n <!-- Download Button -->\r\n <button style=\"top: 24px; right: 26px\" type=\"button\"\r\n class=\"btn btn-outline d-flex align-items-center gap-3 position-absolute bg-white shadow-sm\"\r\n (click)=\"downloadCanvas()\">\r\n <svg width=\"22\" height=\"22\" viewBox=\"0 0 26 26\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000000\"\r\n stroke-width=\"0.24000000000000005\">\r\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\r\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n stroke=\"#CCCCCC\" stroke-width=\"0.384\"></g>\r\n <g id=\"SVGRepo_iconCarrier\">\r\n <path\r\n d=\"M12.5535 16.5061C12.4114 16.6615 12.2106 16.75 12 16.75C11.7894 16.75 11.5886 16.6615 11.4465 16.5061L7.44648 12.1311C7.16698 11.8254 7.18822 11.351 7.49392 11.0715C7.79963 10.792 8.27402 10.8132 8.55352 11.1189L11.25 14.0682V3C11.25 2.58579 11.5858 2.25 12 2.25C12.4142 2.25 12.75 2.58579 12.75 3V14.0682L15.4465 11.1189C15.726 10.8132 16.2004 10.792 16.5061 11.0715C16.8118 11.351 16.833 11.8254 16.5535 12.1311L12.5535 16.5061Z\"\r\n fill=\"#1D2939\"></path>\r\n <path\r\n d=\"M3.75 15C3.75 14.5858 3.41422 14.25 3 14.25C2.58579 14.25 2.25 14.5858 2.25 15V15.0549C2.24998 16.4225 2.24996 17.5248 2.36652 18.3918C2.48754 19.2919 2.74643 20.0497 3.34835 20.6516C3.95027 21.2536 4.70814 21.5125 5.60825 21.6335C6.47522 21.75 7.57754 21.75 8.94513 21.75H15.0549C16.4225 21.75 17.5248 21.75 18.3918 21.6335C19.2919 21.5125 20.0497 21.2536 20.6517 20.6516C21.2536 20.0497 21.5125 19.2919 21.6335 18.3918C21.75 17.5248 21.75 16.4225 21.75 15.0549V15C21.75 14.5858 21.4142 14.25 21 14.25C20.5858 14.25 20.25 14.5858 20.25 15C20.25 16.4354 20.2484 17.4365 20.1469 18.1919C20.0482 18.9257 19.8678 19.3142 19.591 19.591C19.3142 19.8678 18.9257 20.0482 18.1919 20.1469C17.4365 20.2484 16.4354 20.25 15 20.25H9C7.56459 20.25 6.56347 20.2484 5.80812 20.1469C5.07435 20.0482 4.68577 19.8678 4.40901 19.591C4.13225 19.3142 3.9518 18.9257 3.85315 18.1919C3.75159 17.4365 3.75 16.4354 3.75 15Z\"\r\n fill=\"#1D2939\"></path>\r\n </g>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <canvas id=\"base-canvas\" #baseCanvas></canvas>\r\n </div>\r\n <div class=\"active-revision-info\" *ngIf=\"floorData?.revisionName\">\r\n {{ floorData.revisionName }}\r\n <span class=\"text-muted ms-2\" *ngIf=\"floorData?.createdAt\">Published: {{ floorData.createdAt | date:\"d MMM yyyy, hh:mm a\" }}</span>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'d-none':!selectedFixture?.fixtureData}\"\r\n class=\"col bg-white rounded p-3 fixture-overview card\">\r\n <fixture-overview [fixtureDetails]=\"selectedFixture?.fixtureData\" (onClose)=\"onClickClose()\"\r\n [totalFixtures]=\"fixturesList\" (changeFixture)=\"onChangeFixture($event)\"\r\n [revisionId]=\"floorData?.revisionId\"></fixture-overview>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"enableCompare\" class=\"card\">\r\n\r\n <div class=\"row\">\r\n <div class=\"form-check form-switch\" style=\"margin-top:21px;\">\r\n <input class=\"form-check-input\" style=\"margin-left:-1%\" type=\"checkbox\" id=\"planoCompare\"\r\n [(ngModel)]=\"enableCompare\" (click)=\"getRevisionDetails($event)\">\r\n <label class=\"form-check-label ms-2 compareLabel\" for=\"planoCompare\">Compare Planogram </label>\r\n </div>\r\n <div *ngIf=\"isPageLoading\" class=\"row\">\r\n <div class=\"col-12 m-0\">\r\n <ng-container *ngTemplateOutlet=\"headerSkeleton\"></ng-container>\r\n </div>\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"skeletonLoader\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"row h-100\" [hidden]=\"isPageLoading\">\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\" *ngIf=\"previousFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"previousSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'previous')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[previousSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <span class=\"staging-badge ms-2\" *ngIf=\"revisionPlanoList[previousSelect]?.isStaging && !revisionPlanoList[previousSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#667085\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Staging\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(previousSelect)\" [disabled]=\"revisionPlanoList[previousSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(previousSelect)\">Edit revision name</button>\r\n <div class=\"dropdown-item form-check staging-check\"\r\n [class.disabled]=\"revisionPlanoList[previousSelect]?.isActive\"\r\n (click)=\"!revisionPlanoList[previousSelect]?.isActive && toggleStagingFlag(previousSelect)\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"stagingCheckPrev\"\r\n [checked]=\"revisionPlanoList[previousSelect]?.isStaging\"\r\n [disabled]=\"revisionPlanoList[previousSelect]?.isActive\"\r\n (click)=\"$event.preventDefault()\">\r\n <label class=\"form-check-label\" for=\"stagingCheckPrev\">Mark for staging</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"previousFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"previousRenderKey && previousFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"previousFloorData\">\r\n Published: {{ (previousFloorData?.createdAt || previousFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!previousFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"d-flex align-items-center revision-header\"\r\n *ngIf=\"latestFloorData\"\r\n style=\"margin-top: 3%;margin-left: 3%;margin-right: 3%\">\r\n <lib-reactive-select\r\n class=\"revision-select\"\r\n [idField]=\"'_index'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"revisionSelectItems\"\r\n [(ngModel)]=\"currentSelect\"\r\n (ngModelChange)=\"onRevisionChange($event, 'latest')\">\r\n </lib-reactive-select>\r\n <span class=\"current-plano-badge ms-2\" *ngIf=\"revisionPlanoList[currentSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#0086c9\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Current plano\r\n </span>\r\n <span class=\"staging-badge ms-2\" *ngIf=\"revisionPlanoList[currentSelect]?.isStaging && !revisionPlanoList[currentSelect]?.isActive\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#667085\"/>\r\n <path d=\"M3.5 6L5.2 7.7L8.5 4.3\" stroke=\"white\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n Staging\r\n </span>\r\n <div class=\"kebab-menu ms-auto\" ngbDropdown placement=\"bottom-end\">\r\n <button class=\"btn btn-link kebab-btn\" ngbDropdownToggle>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <circle cx=\"10\" cy=\"4\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"10\" r=\"2\" fill=\"#344054\"/>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill=\"#344054\"/>\r\n </svg>\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"openSetCurrentModal(currentSelect)\" [disabled]=\"revisionPlanoList[currentSelect]?.isActive\">Set as Current Plano</button>\r\n <button ngbDropdownItem (click)=\"openEditNameModal(currentSelect)\">Edit revision name</button>\r\n <div class=\"dropdown-item form-check staging-check\"\r\n [class.disabled]=\"revisionPlanoList[currentSelect]?.isActive\"\r\n (click)=\"!revisionPlanoList[currentSelect]?.isActive && toggleStagingFlag(currentSelect)\">\r\n <input type=\"checkbox\" class=\"form-check-input\" id=\"stagingCheckCurr\"\r\n [checked]=\"revisionPlanoList[currentSelect]?.isStaging\"\r\n [disabled]=\"revisionPlanoList[currentSelect]?.isActive\"\r\n (click)=\"$event.preventDefault()\">\r\n <label class=\"form-check-label\" for=\"stagingCheckCurr\">Mark for staging</label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-plano-comparison [floorData]=\"latestFloorData\" [totalFixtures]=\"fixturesList\"\r\n *ngIf=\"latestRenderKey && latestFloorData\"></lib-plano-comparison>\r\n <div class=\"published-text\" *ngIf=\"latestFloorData\">\r\n Published: {{ (latestFloorData?.createdAt || latestFloorData?.lastUpdate) | date:\"d MMM yyyy, hh:mm a\" }}\r\n </div>\r\n <div *ngIf=\"!latestFloorData\" class=\"noDataContent\">\r\n <div>\r\n <div class=\"text-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"315\" height=\"155\" viewBox=\"0 0 315 155\"\r\n fill=\"none\">\r\n <path\r\n d=\"M103.809 47.0198C89.5458 47.02 77.983 58.5826 77.9829 72.8459C77.9829 78.7619 73.9798 85.5061 68.0638 85.5061H45.2583C30.9948 85.5061 19.4312 97.0688 19.4312 111.332C19.4312 125.596 30.9948 137.158 45.2583 137.158H183.357C200.247 137.158 216.32 123.992 233.21 123.992H299.245C303.999 123.992 307.853 120.138 307.853 115.383C307.853 110.629 303.999 106.775 299.245 106.775H211.624C209.98 106.775 208.588 105.553 208.12 103.976C207.381 101.487 209.082 98.6721 211.678 98.6721H241.909C256.172 98.6719 267.735 87.1093 267.735 72.8459C267.735 58.5827 256.172 47.02 241.909 47.0198H103.809Z\"\r\n fill=\"#EAECF0\" />\r\n <rect width=\"240.694\" height=\"16.9956\" rx=\"8.4978\"\r\n transform=\"matrix(-1 0 0 1 246.602 48.8572)\" fill=\"#EAECF0\" />\r\n <circle cx=\"5.42147\" cy=\"5.42147\" r=\"5.42147\"\r\n transform=\"matrix(-1 0 0 1 56.2979 113.282)\" fill=\"#6BCAFF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 244.965 68.8262)\" fill=\"#00A3FF\" />\r\n <circle cx=\"3.25288\" cy=\"3.25288\" r=\"3.25288\"\r\n transform=\"matrix(-1 0 0 1 215.689 13.5271)\" fill=\"#00A3FF\" />\r\n <circle cx=\"2.16859\" cy=\"2.16859\" r=\"2.16859\"\r\n transform=\"matrix(-1 0 0 1 104.006 138.221)\" fill=\"#00A3FF\" />\r\n <rect x=\"68.501\" y=\"44.1523\" width=\"166.999\" height=\"97.9371\" rx=\"15.1015\"\r\n fill=\"#6BCAFF\" stroke=\"#00A3FF\" stroke-width=\"3\" />\r\n <mask id=\"path-8-inside-1_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\" />\r\n </mask>\r\n <path\r\n d=\"M93.1172 19C94.0625 19 94.9892 19.0828 95.8887 19.2422V116.784C94.9892 116.625 94.0625 116.542 93.1172 116.542H82.7744C74.0642 116.542 67.0031 123.603 67.0029 132.313V34.7715C67.0029 26.0612 74.0641 19 82.7744 19H93.1172Z\"\r\n fill=\"#6BCAFF\" />\r\n <path\r\n d=\"M93.1172 19L93.1173 16H93.1172V19ZM95.8887 19.2422H98.8887V16.7271L96.4122 16.2882L95.8887 19.2422ZM95.8887 116.784L95.3651 119.738L98.8887 120.363V116.784H95.8887ZM93.1172 116.542L93.1173 113.542H93.1172V116.542ZM67.0029 132.313H64.0029L70.0029 132.314L67.0029 132.313ZM93.1172 19L93.1171 22C93.8872 22 94.6387 22.0674 95.3651 22.1961L95.8887 19.2422L96.4122 16.2882C95.3396 16.0981 94.2377 16 93.1173 16L93.1172 19ZM95.8887 19.2422H92.8887V116.784H95.8887H98.8887V19.2422H95.8887ZM95.8887 116.784L96.4122 113.83C95.3396 113.64 94.2377 113.542 93.1173 113.542L93.1172 116.542L93.1171 119.542C93.8872 119.542 94.6387 119.609 95.3651 119.738L95.8887 116.784ZM93.1172 116.542V113.542H82.7744V116.542V119.542H93.1172V116.542ZM82.7744 116.542V113.542C72.4073 113.542 64.0032 121.947 64.0029 132.313L67.0029 132.313L70.0029 132.314C70.0031 125.26 75.7212 119.542 82.7744 119.542V116.542ZM67.0029 132.313H70.0029V34.7715H67.0029H64.0029V132.313H67.0029ZM67.0029 34.7715H70.0029C70.0029 27.718 75.721 22 82.7744 22V19V16C72.4072 16 64.0029 24.4043 64.0029 34.7715H67.0029ZM82.7744 19V22H93.1172V19V16H82.7744V19Z\"\r\n fill=\"#00A3FF\" mask=\"url(#path-8-inside-1_419_28888)\" />\r\n <line x1=\"76.9619\" y1=\"42.6523\" x2=\"76.9619\" y2=\"84.4881\" stroke=\"#99DAFF\"\r\n stroke-width=\"3.98436\" stroke-linecap=\"round\" />\r\n <circle cx=\"218.205\" cy=\"70.1763\" r=\"3.29663\" fill=\"white\" />\r\n <circle cx=\"111.787\" cy=\"55.1663\" r=\"2.52637\" fill=\"#99DAFF\" />\r\n <circle cx=\"99.3845\" cy=\"124.986\" r=\"3.44505\" fill=\"white\" />\r\n <path\r\n d=\"M135.529 33.4717C151.285 24.3749 171.432 29.7732 180.529 45.5293C188.56 59.4398 185.291 76.7707 173.573 86.9004L193.457 121.339C194.931 123.894 194.055 127.161 191.5 128.636C188.945 130.111 185.679 129.236 184.204 126.681L164.465 92.4932C149.446 98.6552 131.813 92.92 123.471 78.4717C114.374 62.7156 119.773 42.5685 135.529 33.4717ZM172.698 50.0518C166.098 38.6209 151.481 34.7041 140.05 41.3037C128.62 47.9035 124.703 62.5204 131.302 73.9512C137.902 85.3817 152.519 89.2977 163.95 82.6982C175.38 76.0987 179.297 61.4826 172.698 50.0518Z\"\r\n fill=\"white\" />\r\n <circle cx=\"153\" cy=\"57.0007\" r=\"23.8994\" transform=\"rotate(-30 153 57.0007)\"\r\n fill=\"#99DAFF\" />\r\n <mask id=\"path-16-inside-2_419_28888\" fill=\"white\">\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\" />\r\n </mask>\r\n <path\r\n d=\"M153.384 40.9952C153.435 39.6997 152.422 38.5923 151.131 38.709C148.857 38.9146 146.635 39.5486 144.585 40.5849C141.834 41.9755 139.483 44.0445 137.755 46.5965C136.026 49.1485 134.976 52.0991 134.705 55.1696C134.503 57.4578 134.739 59.7563 135.391 61.9442C135.761 63.1867 137.165 63.7164 138.35 63.1886C139.534 62.6607 140.044 61.2741 139.73 60.016C139.37 58.573 139.251 57.0748 139.382 55.5825C139.583 53.3073 140.361 51.1209 141.642 49.2299C142.923 47.3389 144.665 45.8058 146.703 44.7754C148.04 44.0995 149.476 43.6546 150.95 43.4538C152.234 43.2787 153.333 42.2908 153.384 40.9952Z\"\r\n stroke=\"white\" stroke-width=\"6\" mask=\"url(#path-16-inside-2_419_28888)\" />\r\n <path\r\n d=\"M136.529 28.4717C152.285 19.3749 172.432 24.7732 181.529 40.5293C189.56 54.4398 186.291 71.7707 174.573 81.9004L194.457 116.339C195.931 118.894 195.055 122.161 192.5 123.636C189.945 125.111 186.679 124.236 185.204 121.681L165.465 87.4932C150.446 93.6552 132.813 87.92 124.471 73.4717C115.374 57.7156 120.773 37.5685 136.529 28.4717ZM173.698 45.0518C167.098 33.6209 152.481 29.7041 141.05 36.3037C129.62 42.9035 125.703 57.5204 132.302 68.9512C138.902 80.3817 153.519 84.2977 164.95 77.6982C176.38 71.0987 180.297 56.4826 173.698 45.0518Z\"\r\n fill=\"#00A3FF\" />\r\n </svg>\r\n </div>\r\n <div class=\"mainText text-center\">\r\n No Previous Revisions\r\n </div>\r\n <div class=\"subText\">\r\n There is no previous revisions available for this planogram\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #headerSkeleton>\r\n <div class=\"row m-0 g-0 loader d-flex justify-content-center align-items-center overflow-hidden\">\r\n <div class=\"shimmer w-100 p-4 rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke mt-0 animate title\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #skeletonLoader>\r\n <div class=\"row loader d-flex justify-content-center align-items-center overflow-hidden m-0\">\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer rounded\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</section>", styles: ["#plano-overview{max-height:calc(100vh - 160px)}#plano-overview #body{height:calc(100vh - 160px)}#plano-overview #body #canvas-card{border-radius:8px;background:#fff;padding:20px 16px;height:100%;overflow:hidden;width:100%}#plano-overview #body .collapsed-col{transition:all .3s ease;width:0px!important}#plano-overview #body .fixture-overview{max-width:530px;max-height:calc(100vh - 160px);overflow-y:auto}#plano-overview #body .overview-canvas{height:calc(100vh - 160px)}#plano-overview .compareLabel{font-family:Inter;font-weight:500;font-size:16px;line-height:24px;letter-spacing:0%;color:#344054}#plano-overview .updateText{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#667085;margin-top:10px;margin-left:3%}#plano-overview .loader .shimmer{height:100%;width:100%}#plano-overview .rotate{animation:spin 1s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1280px){#plano-overview .fixture-overview{max-width:336px!important}}.noDataContent{height:70%;display:flex;justify-content:center;align-items:center}.mainText{color:#1d2939;font-family:Inter;font-weight:600;font-size:18px;line-height:28px;letter-spacing:0%}.subText{color:#475467;font-family:Inter;font-weight:500;font-size:14px;line-height:20px;letter-spacing:0%}.currentText{font-family:Inter;font-weight:600;font-size:14px;line-height:20px;letter-spacing:0%;vertical-align:middle;color:#000}.revision-header .revision-select{width:280px;flex-shrink:0}.revision-header .revision-select .custom-select,.revision-header .revision-select .form-group,.revision-header .revision-select .position-relative,.revision-header .revision-select .dropselect{width:100%}.kebab-menu .kebab-btn{padding:4px;line-height:1;text-decoration:none;color:#344054}.kebab-menu .kebab-btn:after{display:none}.published-text{font-family:Inter;font-weight:400;font-size:14px;line-height:20px;color:#667085;padding:0 3% 20px}.current-plano-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:12px;background:#e8f5ff;border:1px solid #b3dcf5;font-weight:500;font-size:12px;color:#0086c9}.staging-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;background:#f2f4f7;border:1px solid #d0d5dd;font-weight:500;font-size:12px;color:#475467}.kebab-menu .dropdown-item.staging-check{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.kebab-menu .dropdown-item.staging-check .form-check-input{margin:0;flex-shrink:0;cursor:pointer}.kebab-menu .dropdown-item.staging-check .form-check-label{margin:0;cursor:pointer;font-size:14px;line-height:1.4;color:#1d2939}.kebab-menu .dropdown-item.staging-check:hover:not(.disabled){background-color:#f9fafb}.kebab-menu .dropdown-item.staging-check.disabled{opacity:.5;pointer-events:none}.active-revision-info{font-family:Inter;font-weight:500;font-size:14px;line-height:20px;color:#344054;padding:8px 16px}\n"] }]
46761
46810
  }], ctorParameters: () => [{ type: i2$1.GlobalStateService }, { type: i5.TitleCasePipe }, { type: i5.DatePipe }, { type: StoreBuilderService }, { type: i0.ChangeDetectorRef }, { type: i1$1.NgbModal }, { type: i4.ToastService }], propDecorators: { floorData: [{
46762
46811
  type: Input
46763
46812
  }], currentRevisionInfo: [{
@@ -68066,11 +68115,11 @@ class MoveBucketComponent {
68066
68115
  this.destroy$.complete();
68067
68116
  }
68068
68117
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MoveBucketComponent, deps: [{ token: StoreBuilderService }, { token: i2$1.GlobalStateService }, { token: i1$1.NgbModal }], target: i0.ɵɵFactoryTarget.Component });
68069
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MoveBucketComponent, selector: "lib-move-bucket", ngImport: i0, template: "<section class=\"move-bucket p-3\">\n <div class=\"card p-4\" style=\"max-width: 640px;\">\n <h5 class=\"mb-1\">Move Store Bucket</h5>\n <p class=\"text-muted small mb-3\">\n Move a floor between Onboarding (Draft / Allocation Pending) and ManagePlano (Completed) without losing store data.\n </p>\n\n <!-- Store -->\n <div class=\"mb-3\">\n <lib-reactive-select\n label=\"Store\"\n [idField]=\"'id'\"\n [nameField]=\"'label'\"\n [data]=\"storeOptions\"\n [search]=\"true\"\n [ngModel]=\"selectedStoreId\"\n (ngModelChange)=\"onStoreSelected($event)\">\n </lib-reactive-select>\n </div>\n\n <!-- Floor -->\n <div class=\"mb-3\" *ngIf=\"selectedStoreId\">\n <ng-container *ngIf=\"isLoadingFloors; else floorPicker\">\n <div class=\"text-muted small\">Loading floors...</div>\n </ng-container>\n <ng-template #floorPicker>\n <ng-container *ngIf=\"floors.length > 0; else noFloors\">\n <lib-reactive-select\n label=\"Floor\"\n [idField]=\"'_id'\"\n [nameField]=\"'displayName'\"\n [data]=\"floors\"\n [search]=\"true\"\n [ngModel]=\"selectedFloorId\"\n (ngModelChange)=\"onFloorSelected($event)\">\n </lib-reactive-select>\n </ng-container>\n <ng-template #noFloors>\n <div class=\"text-muted small\">No floors found for this store.</div>\n </ng-template>\n </ng-template>\n </div>\n\n <!-- Current bucket info + target status -->\n <ng-container *ngIf=\"selectedFloorId && currentStatus\">\n <div class=\"mb-3 p-3 rounded current-info\">\n <div class=\"d-flex justify-content-between small\">\n <span class=\"text-muted\">Current bucket</span>\n <span class=\"fw-semibold\">{{ getBucketLabel(currentStatus) }}</span>\n </div>\n <div class=\"d-flex justify-content-between small mt-1\">\n <span class=\"text-muted\">Current status</span>\n <span class=\"fw-semibold\">{{ getStatusLabel(currentStatus) }}</span>\n </div>\n </div>\n\n <div class=\"mb-3\">\n <lib-reactive-select\n label=\"Move to status\"\n [idField]=\"'value'\"\n [nameField]=\"'label'\"\n [subTextField]=\"'bucket'\"\n [data]=\"statusOptions\"\n [ngModel]=\"targetStatus\"\n (ngModelChange)=\"onTargetStatusSelected($event)\">\n </lib-reactive-select>\n <div class=\"form-text text-warning\" *ngIf=\"statusChanged\">\n isPlanoApproved will be set to\n <strong>{{ targetStatus === 'draft' ? 'false' : 'true' }}</strong>,\n planoProgress will be set to\n <strong>{{ targetStatus === 'completed' ? 25 : 0 }}</strong>.\n </div>\n </div>\n\n <!-- Task cleanup checkboxes -->\n <div class=\"mb-3\">\n <label class=\"form-label\">Clear tasks &amp; compliance rows (optional)</label>\n <div class=\"d-flex flex-column gap-2\">\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrLayout\"\n [(ngModel)]=\"clearLayoutTasks\">\n <label class=\"form-check-label\" for=\"clrLayout\">\n Layout tasks\n <span class=\"text-muted small\">(planoType: layout, layoutFixture)</span>\n </label>\n </div>\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrFixture\"\n [(ngModel)]=\"clearFixtureTasks\">\n <label class=\"form-check-label\" for=\"clrFixture\">\n Fixture tasks\n <span class=\"text-muted small\">(planoType: fixture, vm)</span>\n </label>\n </div>\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrZone\"\n [(ngModel)]=\"clearZoneTasks\">\n <label class=\"form-check-label\" for=\"clrZone\">\n Zone tasks\n <span class=\"text-muted small\">(planoType: zoneVerification)</span>\n </label>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Submit -->\n <button class=\"btn btn-primary\" (click)=\"onSubmit()\" [disabled]=\"!canSubmit\">\n {{ isSubmitting ? 'Updating...' : 'Update' }}\n </button>\n\n <div class=\"mt-3 alert\" *ngIf=\"message\"\n [class.alert-success]=\"messageType === 'success'\"\n [class.alert-danger]=\"messageType === 'error'\"\n style=\"white-space: pre-line;\">\n {{ message }}\n </div>\n </div>\n</section>\n", styles: [".move-bucket .current-info{background-color:#f9fafb;border:1px solid #e4e7ec}\n"], dependencies: [{ kind: "component", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "subTextField", "searchField", "label", "data", "action", "search", "prefix", "actionLabel"], outputs: ["actionClick"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
68118
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: MoveBucketComponent, selector: "lib-move-bucket", ngImport: i0, template: "<section class=\"move-bucket p-3\">\r\n <div class=\"card p-4\" style=\"max-width: 640px;\">\r\n <h5 class=\"mb-1\">Move Store Bucket</h5>\r\n <p class=\"text-muted small mb-3\">\r\n Move a floor between Onboarding (Draft / Allocation Pending) and ManagePlano (Completed) without losing store data.\r\n </p>\r\n\r\n <!-- Store -->\r\n <div class=\"mb-3\">\r\n <lib-reactive-select\r\n label=\"Store\"\r\n [idField]=\"'id'\"\r\n [nameField]=\"'label'\"\r\n [data]=\"storeOptions\"\r\n [search]=\"true\"\r\n [ngModel]=\"selectedStoreId\"\r\n (ngModelChange)=\"onStoreSelected($event)\">\r\n </lib-reactive-select>\r\n </div>\r\n\r\n <!-- Floor -->\r\n <div class=\"mb-3\" *ngIf=\"selectedStoreId\">\r\n <ng-container *ngIf=\"isLoadingFloors; else floorPicker\">\r\n <div class=\"text-muted small\">Loading floors...</div>\r\n </ng-container>\r\n <ng-template #floorPicker>\r\n <ng-container *ngIf=\"floors.length > 0; else noFloors\">\r\n <lib-reactive-select\r\n label=\"Floor\"\r\n [idField]=\"'_id'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"floors\"\r\n [search]=\"true\"\r\n [ngModel]=\"selectedFloorId\"\r\n (ngModelChange)=\"onFloorSelected($event)\">\r\n </lib-reactive-select>\r\n </ng-container>\r\n <ng-template #noFloors>\r\n <div class=\"text-muted small\">No floors found for this store.</div>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Current bucket info + target status -->\r\n <ng-container *ngIf=\"selectedFloorId && currentStatus\">\r\n <div class=\"mb-3 p-3 rounded current-info\">\r\n <div class=\"d-flex justify-content-between small\">\r\n <span class=\"text-muted\">Current bucket</span>\r\n <span class=\"fw-semibold\">{{ getBucketLabel(currentStatus) }}</span>\r\n </div>\r\n <div class=\"d-flex justify-content-between small mt-1\">\r\n <span class=\"text-muted\">Current status</span>\r\n <span class=\"fw-semibold\">{{ getStatusLabel(currentStatus) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <lib-reactive-select\r\n label=\"Move to status\"\r\n [idField]=\"'value'\"\r\n [nameField]=\"'label'\"\r\n [subTextField]=\"'bucket'\"\r\n [data]=\"statusOptions\"\r\n [ngModel]=\"targetStatus\"\r\n (ngModelChange)=\"onTargetStatusSelected($event)\">\r\n </lib-reactive-select>\r\n <div class=\"form-text text-warning\" *ngIf=\"statusChanged\">\r\n isPlanoApproved will be set to\r\n <strong>{{ targetStatus === 'draft' ? 'false' : 'true' }}</strong>,\r\n planoProgress will be set to\r\n <strong>{{ targetStatus === 'completed' ? 25 : 0 }}</strong>.\r\n </div>\r\n </div>\r\n\r\n <!-- Task cleanup checkboxes -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Clear tasks &amp; compliance rows (optional)</label>\r\n <div class=\"d-flex flex-column gap-2\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrLayout\"\r\n [(ngModel)]=\"clearLayoutTasks\">\r\n <label class=\"form-check-label\" for=\"clrLayout\">\r\n Layout tasks\r\n <span class=\"text-muted small\">(planoType: layout, layoutFixture)</span>\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrFixture\"\r\n [(ngModel)]=\"clearFixtureTasks\">\r\n <label class=\"form-check-label\" for=\"clrFixture\">\r\n Fixture tasks\r\n <span class=\"text-muted small\">(planoType: fixture, vm)</span>\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrZone\"\r\n [(ngModel)]=\"clearZoneTasks\">\r\n <label class=\"form-check-label\" for=\"clrZone\">\r\n Zone tasks\r\n <span class=\"text-muted small\">(planoType: zoneVerification)</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Submit -->\r\n <button class=\"btn btn-primary\" (click)=\"onSubmit()\" [disabled]=\"!canSubmit\">\r\n {{ isSubmitting ? 'Updating...' : 'Update' }}\r\n </button>\r\n\r\n <div class=\"mt-3 alert\" *ngIf=\"message\"\r\n [class.alert-success]=\"messageType === 'success'\"\r\n [class.alert-danger]=\"messageType === 'error'\"\r\n style=\"white-space: pre-line;\">\r\n {{ message }}\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".move-bucket .current-info{background-color:#f9fafb;border:1px solid #e4e7ec}\n"], dependencies: [{ kind: "component", type: ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "subTextField", "searchField", "label", "data", "action", "search", "prefix", "actionLabel"], outputs: ["actionClick"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
68070
68119
  }
68071
68120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MoveBucketComponent, decorators: [{
68072
68121
  type: Component,
68073
- args: [{ selector: "lib-move-bucket", template: "<section class=\"move-bucket p-3\">\n <div class=\"card p-4\" style=\"max-width: 640px;\">\n <h5 class=\"mb-1\">Move Store Bucket</h5>\n <p class=\"text-muted small mb-3\">\n Move a floor between Onboarding (Draft / Allocation Pending) and ManagePlano (Completed) without losing store data.\n </p>\n\n <!-- Store -->\n <div class=\"mb-3\">\n <lib-reactive-select\n label=\"Store\"\n [idField]=\"'id'\"\n [nameField]=\"'label'\"\n [data]=\"storeOptions\"\n [search]=\"true\"\n [ngModel]=\"selectedStoreId\"\n (ngModelChange)=\"onStoreSelected($event)\">\n </lib-reactive-select>\n </div>\n\n <!-- Floor -->\n <div class=\"mb-3\" *ngIf=\"selectedStoreId\">\n <ng-container *ngIf=\"isLoadingFloors; else floorPicker\">\n <div class=\"text-muted small\">Loading floors...</div>\n </ng-container>\n <ng-template #floorPicker>\n <ng-container *ngIf=\"floors.length > 0; else noFloors\">\n <lib-reactive-select\n label=\"Floor\"\n [idField]=\"'_id'\"\n [nameField]=\"'displayName'\"\n [data]=\"floors\"\n [search]=\"true\"\n [ngModel]=\"selectedFloorId\"\n (ngModelChange)=\"onFloorSelected($event)\">\n </lib-reactive-select>\n </ng-container>\n <ng-template #noFloors>\n <div class=\"text-muted small\">No floors found for this store.</div>\n </ng-template>\n </ng-template>\n </div>\n\n <!-- Current bucket info + target status -->\n <ng-container *ngIf=\"selectedFloorId && currentStatus\">\n <div class=\"mb-3 p-3 rounded current-info\">\n <div class=\"d-flex justify-content-between small\">\n <span class=\"text-muted\">Current bucket</span>\n <span class=\"fw-semibold\">{{ getBucketLabel(currentStatus) }}</span>\n </div>\n <div class=\"d-flex justify-content-between small mt-1\">\n <span class=\"text-muted\">Current status</span>\n <span class=\"fw-semibold\">{{ getStatusLabel(currentStatus) }}</span>\n </div>\n </div>\n\n <div class=\"mb-3\">\n <lib-reactive-select\n label=\"Move to status\"\n [idField]=\"'value'\"\n [nameField]=\"'label'\"\n [subTextField]=\"'bucket'\"\n [data]=\"statusOptions\"\n [ngModel]=\"targetStatus\"\n (ngModelChange)=\"onTargetStatusSelected($event)\">\n </lib-reactive-select>\n <div class=\"form-text text-warning\" *ngIf=\"statusChanged\">\n isPlanoApproved will be set to\n <strong>{{ targetStatus === 'draft' ? 'false' : 'true' }}</strong>,\n planoProgress will be set to\n <strong>{{ targetStatus === 'completed' ? 25 : 0 }}</strong>.\n </div>\n </div>\n\n <!-- Task cleanup checkboxes -->\n <div class=\"mb-3\">\n <label class=\"form-label\">Clear tasks &amp; compliance rows (optional)</label>\n <div class=\"d-flex flex-column gap-2\">\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrLayout\"\n [(ngModel)]=\"clearLayoutTasks\">\n <label class=\"form-check-label\" for=\"clrLayout\">\n Layout tasks\n <span class=\"text-muted small\">(planoType: layout, layoutFixture)</span>\n </label>\n </div>\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrFixture\"\n [(ngModel)]=\"clearFixtureTasks\">\n <label class=\"form-check-label\" for=\"clrFixture\">\n Fixture tasks\n <span class=\"text-muted small\">(planoType: fixture, vm)</span>\n </label>\n </div>\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrZone\"\n [(ngModel)]=\"clearZoneTasks\">\n <label class=\"form-check-label\" for=\"clrZone\">\n Zone tasks\n <span class=\"text-muted small\">(planoType: zoneVerification)</span>\n </label>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Submit -->\n <button class=\"btn btn-primary\" (click)=\"onSubmit()\" [disabled]=\"!canSubmit\">\n {{ isSubmitting ? 'Updating...' : 'Update' }}\n </button>\n\n <div class=\"mt-3 alert\" *ngIf=\"message\"\n [class.alert-success]=\"messageType === 'success'\"\n [class.alert-danger]=\"messageType === 'error'\"\n style=\"white-space: pre-line;\">\n {{ message }}\n </div>\n </div>\n</section>\n", styles: [".move-bucket .current-info{background-color:#f9fafb;border:1px solid #e4e7ec}\n"] }]
68122
+ args: [{ selector: "lib-move-bucket", template: "<section class=\"move-bucket p-3\">\r\n <div class=\"card p-4\" style=\"max-width: 640px;\">\r\n <h5 class=\"mb-1\">Move Store Bucket</h5>\r\n <p class=\"text-muted small mb-3\">\r\n Move a floor between Onboarding (Draft / Allocation Pending) and ManagePlano (Completed) without losing store data.\r\n </p>\r\n\r\n <!-- Store -->\r\n <div class=\"mb-3\">\r\n <lib-reactive-select\r\n label=\"Store\"\r\n [idField]=\"'id'\"\r\n [nameField]=\"'label'\"\r\n [data]=\"storeOptions\"\r\n [search]=\"true\"\r\n [ngModel]=\"selectedStoreId\"\r\n (ngModelChange)=\"onStoreSelected($event)\">\r\n </lib-reactive-select>\r\n </div>\r\n\r\n <!-- Floor -->\r\n <div class=\"mb-3\" *ngIf=\"selectedStoreId\">\r\n <ng-container *ngIf=\"isLoadingFloors; else floorPicker\">\r\n <div class=\"text-muted small\">Loading floors...</div>\r\n </ng-container>\r\n <ng-template #floorPicker>\r\n <ng-container *ngIf=\"floors.length > 0; else noFloors\">\r\n <lib-reactive-select\r\n label=\"Floor\"\r\n [idField]=\"'_id'\"\r\n [nameField]=\"'displayName'\"\r\n [data]=\"floors\"\r\n [search]=\"true\"\r\n [ngModel]=\"selectedFloorId\"\r\n (ngModelChange)=\"onFloorSelected($event)\">\r\n </lib-reactive-select>\r\n </ng-container>\r\n <ng-template #noFloors>\r\n <div class=\"text-muted small\">No floors found for this store.</div>\r\n </ng-template>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Current bucket info + target status -->\r\n <ng-container *ngIf=\"selectedFloorId && currentStatus\">\r\n <div class=\"mb-3 p-3 rounded current-info\">\r\n <div class=\"d-flex justify-content-between small\">\r\n <span class=\"text-muted\">Current bucket</span>\r\n <span class=\"fw-semibold\">{{ getBucketLabel(currentStatus) }}</span>\r\n </div>\r\n <div class=\"d-flex justify-content-between small mt-1\">\r\n <span class=\"text-muted\">Current status</span>\r\n <span class=\"fw-semibold\">{{ getStatusLabel(currentStatus) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <lib-reactive-select\r\n label=\"Move to status\"\r\n [idField]=\"'value'\"\r\n [nameField]=\"'label'\"\r\n [subTextField]=\"'bucket'\"\r\n [data]=\"statusOptions\"\r\n [ngModel]=\"targetStatus\"\r\n (ngModelChange)=\"onTargetStatusSelected($event)\">\r\n </lib-reactive-select>\r\n <div class=\"form-text text-warning\" *ngIf=\"statusChanged\">\r\n isPlanoApproved will be set to\r\n <strong>{{ targetStatus === 'draft' ? 'false' : 'true' }}</strong>,\r\n planoProgress will be set to\r\n <strong>{{ targetStatus === 'completed' ? 25 : 0 }}</strong>.\r\n </div>\r\n </div>\r\n\r\n <!-- Task cleanup checkboxes -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">Clear tasks &amp; compliance rows (optional)</label>\r\n <div class=\"d-flex flex-column gap-2\">\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrLayout\"\r\n [(ngModel)]=\"clearLayoutTasks\">\r\n <label class=\"form-check-label\" for=\"clrLayout\">\r\n Layout tasks\r\n <span class=\"text-muted small\">(planoType: layout, layoutFixture)</span>\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrFixture\"\r\n [(ngModel)]=\"clearFixtureTasks\">\r\n <label class=\"form-check-label\" for=\"clrFixture\">\r\n Fixture tasks\r\n <span class=\"text-muted small\">(planoType: fixture, vm)</span>\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input class=\"form-check-input\" type=\"checkbox\" id=\"clrZone\"\r\n [(ngModel)]=\"clearZoneTasks\">\r\n <label class=\"form-check-label\" for=\"clrZone\">\r\n Zone tasks\r\n <span class=\"text-muted small\">(planoType: zoneVerification)</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Submit -->\r\n <button class=\"btn btn-primary\" (click)=\"onSubmit()\" [disabled]=\"!canSubmit\">\r\n {{ isSubmitting ? 'Updating...' : 'Update' }}\r\n </button>\r\n\r\n <div class=\"mt-3 alert\" *ngIf=\"message\"\r\n [class.alert-success]=\"messageType === 'success'\"\r\n [class.alert-danger]=\"messageType === 'error'\"\r\n style=\"white-space: pre-line;\">\r\n {{ message }}\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".move-bucket .current-info{background-color:#f9fafb;border:1px solid #e4e7ec}\n"] }]
68074
68123
  }], ctorParameters: () => [{ type: StoreBuilderService }, { type: i2$1.GlobalStateService }, { type: i1$1.NgbModal }] });
68075
68124
 
68076
68125
  class CadFilesComponent {
@@ -68147,11 +68196,11 @@ class CadFilesComponent {
68147
68196
  this.destroy$.complete();
68148
68197
  }
68149
68198
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CadFilesComponent, deps: [{ token: StoreBuilderService }], target: i0.ɵɵFactoryTarget.Component });
68150
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CadFilesComponent, selector: "lib-cad-files", ngImport: i0, template: "<section class=\"cad-files p-3\">\n <div class=\"card p-4\">\n <h5 class=\"mb-1\">CAD &amp; Kissflow Files</h5>\n <p class=\"text-muted small mb-3\">\n Enter a store name to list the uploaded CAD and Kissflow files (sorted).\n </p>\n\n <div class=\"d-flex gap-2 align-items-end mb-3 flex-wrap\">\n <div class=\"flex-grow-1\" style=\"min-width: 260px; max-width: 420px;\">\n <label class=\"form-label\">Store Name</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"Enter store name\"\n [(ngModel)]=\"storeName\"\n (keyup.enter)=\"onFetch()\"\n [disabled]=\"isLoading\" />\n </div>\n\n <button\n class=\"btn btn-primary\"\n (click)=\"onFetch()\"\n [disabled]=\"isLoading || !storeName.trim()\">\n {{ isLoading ? 'Fetching...' : 'Fetch Files' }}\n </button>\n </div>\n\n @if (message) {\n <div\n class=\"alert\"\n [class.alert-success]=\"messageType === 'success'\"\n [class.alert-danger]=\"messageType === 'error'\">\n {{ message }}\n </div>\n }\n\n @if (isLoading) {\n <div class=\"text-muted\">Loading files...</div>\n } @else if (hasSearched && files.length === 0) {\n <div class=\"text-muted\">No files found for this store.</div>\n } @else if (files.length > 0) {\n <div class=\"table-responsive\">\n <table class=\"table table-sm align-middle\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Key</th>\n <th>Uploaded At</th>\n <th>Size</th>\n <th class=\"text-end\">Action</th>\n </tr>\n </thead>\n <tbody>\n @for (file of files; track file.key) {\n <tr>\n <td>{{ file.name }}</td>\n <td class=\"text-muted small text-break\">{{ file.key }}</td>\n <td>{{ file.uploadedAt | date: 'medium' }}</td>\n <td>{{ formatSize(file.size) }}</td>\n <td class=\"text-end\">\n <button\n class=\"btn btn-sm btn-outline-primary\"\n (click)=\"onDownload(file)\"\n [disabled]=\"downloadingKey === file.key\">\n {{ downloadingKey === file.key ? 'Downloading...' : 'Download' }}\n </button>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </div>\n</section>\n", styles: [".cad-files .card{border:1px solid #e0e0e0}.cad-files .table th{font-size:.85rem;color:#475467;font-weight:600}.cad-files .table td{vertical-align:middle}.cad-files .table .text-break{word-break:break-all}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
68199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CadFilesComponent, selector: "lib-cad-files", ngImport: i0, template: "<section class=\"cad-files p-3\">\r\n <div class=\"card p-4\">\r\n <h5 class=\"mb-1\">CAD &amp; Kissflow Files</h5>\r\n <p class=\"text-muted small mb-3\">\r\n Enter a store name to list the uploaded CAD and Kissflow files (sorted).\r\n </p>\r\n\r\n <div class=\"d-flex gap-2 align-items-end mb-3 flex-wrap\">\r\n <div class=\"flex-grow-1\" style=\"min-width: 260px; max-width: 420px;\">\r\n <label class=\"form-label\">Store Name</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"Enter store name\"\r\n [(ngModel)]=\"storeName\"\r\n (keyup.enter)=\"onFetch()\"\r\n [disabled]=\"isLoading\" />\r\n </div>\r\n\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"onFetch()\"\r\n [disabled]=\"isLoading || !storeName.trim()\">\r\n {{ isLoading ? 'Fetching...' : 'Fetch Files' }}\r\n </button>\r\n </div>\r\n\r\n @if (message) {\r\n <div\r\n class=\"alert\"\r\n [class.alert-success]=\"messageType === 'success'\"\r\n [class.alert-danger]=\"messageType === 'error'\">\r\n {{ message }}\r\n </div>\r\n }\r\n\r\n @if (isLoading) {\r\n <div class=\"text-muted\">Loading files...</div>\r\n } @else if (hasSearched && files.length === 0) {\r\n <div class=\"text-muted\">No files found for this store.</div>\r\n } @else if (files.length > 0) {\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-sm align-middle\">\r\n <thead>\r\n <tr>\r\n <th>Name</th>\r\n <th>Key</th>\r\n <th>Uploaded At</th>\r\n <th>Size</th>\r\n <th class=\"text-end\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (file of files; track file.key) {\r\n <tr>\r\n <td>{{ file.name }}</td>\r\n <td class=\"text-muted small text-break\">{{ file.key }}</td>\r\n <td>{{ file.uploadedAt | date: 'medium' }}</td>\r\n <td>{{ formatSize(file.size) }}</td>\r\n <td class=\"text-end\">\r\n <button\r\n class=\"btn btn-sm btn-outline-primary\"\r\n (click)=\"onDownload(file)\"\r\n [disabled]=\"downloadingKey === file.key\">\r\n {{ downloadingKey === file.key ? 'Downloading...' : 'Download' }}\r\n </button>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n", styles: [".cad-files .card{border:1px solid #e0e0e0}.cad-files .table th{font-size:.85rem;color:#475467;font-weight:600}.cad-files .table td{vertical-align:middle}.cad-files .table .text-break{word-break:break-all}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
68151
68200
  }
68152
68201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CadFilesComponent, decorators: [{
68153
68202
  type: Component,
68154
- args: [{ selector: 'lib-cad-files', template: "<section class=\"cad-files p-3\">\n <div class=\"card p-4\">\n <h5 class=\"mb-1\">CAD &amp; Kissflow Files</h5>\n <p class=\"text-muted small mb-3\">\n Enter a store name to list the uploaded CAD and Kissflow files (sorted).\n </p>\n\n <div class=\"d-flex gap-2 align-items-end mb-3 flex-wrap\">\n <div class=\"flex-grow-1\" style=\"min-width: 260px; max-width: 420px;\">\n <label class=\"form-label\">Store Name</label>\n <input\n type=\"text\"\n class=\"form-control\"\n placeholder=\"Enter store name\"\n [(ngModel)]=\"storeName\"\n (keyup.enter)=\"onFetch()\"\n [disabled]=\"isLoading\" />\n </div>\n\n <button\n class=\"btn btn-primary\"\n (click)=\"onFetch()\"\n [disabled]=\"isLoading || !storeName.trim()\">\n {{ isLoading ? 'Fetching...' : 'Fetch Files' }}\n </button>\n </div>\n\n @if (message) {\n <div\n class=\"alert\"\n [class.alert-success]=\"messageType === 'success'\"\n [class.alert-danger]=\"messageType === 'error'\">\n {{ message }}\n </div>\n }\n\n @if (isLoading) {\n <div class=\"text-muted\">Loading files...</div>\n } @else if (hasSearched && files.length === 0) {\n <div class=\"text-muted\">No files found for this store.</div>\n } @else if (files.length > 0) {\n <div class=\"table-responsive\">\n <table class=\"table table-sm align-middle\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Key</th>\n <th>Uploaded At</th>\n <th>Size</th>\n <th class=\"text-end\">Action</th>\n </tr>\n </thead>\n <tbody>\n @for (file of files; track file.key) {\n <tr>\n <td>{{ file.name }}</td>\n <td class=\"text-muted small text-break\">{{ file.key }}</td>\n <td>{{ file.uploadedAt | date: 'medium' }}</td>\n <td>{{ formatSize(file.size) }}</td>\n <td class=\"text-end\">\n <button\n class=\"btn btn-sm btn-outline-primary\"\n (click)=\"onDownload(file)\"\n [disabled]=\"downloadingKey === file.key\">\n {{ downloadingKey === file.key ? 'Downloading...' : 'Download' }}\n </button>\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </div>\n</section>\n", styles: [".cad-files .card{border:1px solid #e0e0e0}.cad-files .table th{font-size:.85rem;color:#475467;font-weight:600}.cad-files .table td{vertical-align:middle}.cad-files .table .text-break{word-break:break-all}\n"] }]
68203
+ args: [{ selector: 'lib-cad-files', template: "<section class=\"cad-files p-3\">\r\n <div class=\"card p-4\">\r\n <h5 class=\"mb-1\">CAD &amp; Kissflow Files</h5>\r\n <p class=\"text-muted small mb-3\">\r\n Enter a store name to list the uploaded CAD and Kissflow files (sorted).\r\n </p>\r\n\r\n <div class=\"d-flex gap-2 align-items-end mb-3 flex-wrap\">\r\n <div class=\"flex-grow-1\" style=\"min-width: 260px; max-width: 420px;\">\r\n <label class=\"form-label\">Store Name</label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n placeholder=\"Enter store name\"\r\n [(ngModel)]=\"storeName\"\r\n (keyup.enter)=\"onFetch()\"\r\n [disabled]=\"isLoading\" />\r\n </div>\r\n\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"onFetch()\"\r\n [disabled]=\"isLoading || !storeName.trim()\">\r\n {{ isLoading ? 'Fetching...' : 'Fetch Files' }}\r\n </button>\r\n </div>\r\n\r\n @if (message) {\r\n <div\r\n class=\"alert\"\r\n [class.alert-success]=\"messageType === 'success'\"\r\n [class.alert-danger]=\"messageType === 'error'\">\r\n {{ message }}\r\n </div>\r\n }\r\n\r\n @if (isLoading) {\r\n <div class=\"text-muted\">Loading files...</div>\r\n } @else if (hasSearched && files.length === 0) {\r\n <div class=\"text-muted\">No files found for this store.</div>\r\n } @else if (files.length > 0) {\r\n <div class=\"table-responsive\">\r\n <table class=\"table table-sm align-middle\">\r\n <thead>\r\n <tr>\r\n <th>Name</th>\r\n <th>Key</th>\r\n <th>Uploaded At</th>\r\n <th>Size</th>\r\n <th class=\"text-end\">Action</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (file of files; track file.key) {\r\n <tr>\r\n <td>{{ file.name }}</td>\r\n <td class=\"text-muted small text-break\">{{ file.key }}</td>\r\n <td>{{ file.uploadedAt | date: 'medium' }}</td>\r\n <td>{{ formatSize(file.size) }}</td>\r\n <td class=\"text-end\">\r\n <button\r\n class=\"btn btn-sm btn-outline-primary\"\r\n (click)=\"onDownload(file)\"\r\n [disabled]=\"downloadingKey === file.key\">\r\n {{ downloadingKey === file.key ? 'Downloading...' : 'Download' }}\r\n </button>\r\n </td>\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n", styles: [".cad-files .card{border:1px solid #e0e0e0}.cad-files .table th{font-size:.85rem;color:#475467;font-weight:600}.cad-files .table td{vertical-align:middle}.cad-files .table .text-break{word-break:break-all}\n"] }]
68155
68204
  }], ctorParameters: () => [{ type: StoreBuilderService }] });
68156
68205
 
68157
68206
  const routes$1 = [