tango-app-ui-manage-users 3.7.0-alpha.16 → 3.7.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/tango-manage-users/brand-user/brand-user.component.mjs +3 -3
- package/esm2022/lib/components/tango-manage-users/user-table/user-table.component.mjs +3 -3
- package/fesm2022/tango-app-ui-manage-users.mjs +4 -4
- package/fesm2022/tango-app-ui-manage-users.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2838,11 +2838,11 @@ class UserTableComponent {
|
|
|
2838
2838
|
this.loadTable();
|
|
2839
2839
|
}
|
|
2840
2840
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserTableComponent, deps: [{ token: i1$1.NgbModal }, { token: i2.PageInfoService }, { token: i0.ChangeDetectorRef }, { token: ExcelService }, { token: i2.GlobalStateService }, { token: i4.ToastService }, { token: UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2841
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: UserTableComponent, selector: "lib-user-table", ngImport: i0, template: "<div *ngIf=\"receivedData ===''\" class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <div class=\"d-flex overflow-auto h-50px\">\r\n <ul\r\n class=\"nav nav-stretch w-100 nav-line-tabs nav-line-tabs-2x border-bottom-2 fs-5 fw-bolder flex-nowrap\">\r\n <li class=\"nav-item activated cursor-pointer bg-light-primary px-5 text-center me-5\"><a\r\n class=\"nav-link me-0 text-active-primary\">Users</a>\r\n </li>\r\n <li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' && userRole === 'superadmin'\"\r\n class=\"nav-item cursor-pointer me-5\"><a routerLink=\"/manage/users/tango/audit\"\r\n class=\"nav-link text-active-primary\">Audit Users\r\n Summary</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <span class=\"text-sub mb-2 mt-5\">{{pagination?.totalCount}} total users</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n @if (!loading && !noData) {\r\n <!-- @if ((gs.userAccess |async)?.Global_User_isEdit) { -->\r\n <button type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default px-4 py-3 rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M8.125 13.125H16.3562L14.7438 14.7438L15.625 15.625L18.75 12.5L15.625 9.375L14.7438 10.2562L16.3562 11.875H8.125V13.125Z\"\r\n fill=\"black\" />\r\n <path\r\n d=\"M13.75 8.75V6.25C13.7505 6.16774 13.7347 6.0862 13.7036 6.01005C13.6725 5.93391 13.6267 5.86465 13.5688 5.80625L9.19375 1.43125C9.13535 1.37332 9.06609 1.32749 8.98994 1.29639C8.91379 1.26529 8.83225 1.24952 8.75 1.25H2.5C2.16848 1.25 1.85054 1.38169 1.61612 1.61611C1.3817 1.85053 1.25 2.16847 1.25 2.5V17.5C1.25 17.8315 1.3817 18.1495 1.61612 18.3839C1.85054 18.6183 2.16848 18.75 2.5 18.75H12.5C12.8315 18.75 13.1495 18.6183 13.3839 18.3839C13.6183 18.1495 13.75 17.8315 13.75 17.5V16.25H12.5V17.5H2.5V2.5H7.5V6.25C7.5 6.58152 7.6317 6.89946 7.86612 7.13388C8.10054 7.3683 8.41848 7.5 8.75 7.5H12.5V8.75H13.75ZM8.75 6.25V2.75625L12.2438 6.25H8.75Z\"\r\n fill=\"black\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n <!-- } -->\r\n }\r\n @if ((gs.userAccess | async)?.Global_User_isAdd) {\r\n <button type=\"button\" (click)=\"users('add')\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('role')\">Roles\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('assigned')\">Clients Assigned\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'assigned' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'assigned' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td>{{user?.userName}}</td>\r\n <td>{{user?.email}}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td>{{user?.assigned || 0}}</td>\r\n <td>{{user?.mobileNumber}}</td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"form-check form-switch mx-6\">\r\n <input class=\"form-check-input mt-3 cursor-pointer\" type=\"checkbox\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\"\r\n role=\"switch\" checked=\"\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Date</div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- <div *ngIf=\"receivedData ===''\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <div class=\"card p-5\">\r\n <div class=\"border-0\">\r\n <h3 class=\"title fw-bold\">Roles & Permission</h3>\r\n <h6 class=\"sub-title fw-normal\">{{rolesCount || 0}} total roles</h6>\r\n </div>\r\n <div class=\"card-body px-0\">\r\n <div class=\"flex-column align-items-start\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 border-val mx-3 mb-7 py-7\" *ngFor=\"let obj of roles\">\r\n <a *ngIf=\"obj.roleName ==='superadmin'\" class=\"role-title my-2 cursor-pointer\" >Super Admin</a>\r\n <a *ngIf=\"obj.roleName !=='superadmin'\" class=\"role-title my-2 cursor-pointer\" >{{obj.roleName |\r\n titlecase}}</a>\r\n <div *ngIf=\"obj.roleName ==='superadmin'\" class=\"sub-title fw-semibold my-5\">Oversees all the operations and controls the entire functionality of the dashboard</div>\r\n <div *ngIf=\"obj.roleName ==='admin'\" class=\"sub-title fw-semibold my-5\">Manages specific operations, permissions, and can change setting for assigned locations</div>\r\n <div *ngIf=\"obj.roleName ==='user'\" class=\"sub-title fw-semibold my-5\">Access to specific location and will be able to view dashboard</div>\r\n <div><span class=\"me-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"24\"\r\n viewBox=\"0 0 25 24\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1973_14308)\">\r\n <path\r\n d=\"M17.5 21V19C17.5 17.9391 17.0786 16.9217 16.3284 16.1716C15.5783 15.4214 14.5609 15 13.5 15H5.5C4.43913 15 3.42172 15.4214 2.67157 16.1716C1.92143 16.9217 1.5 17.9391 1.5 19V21M23.5 21V19C23.4993 18.1137 23.2044 17.2528 22.6614 16.5523C22.1184 15.8519 21.3581 15.3516 20.5 15.13M16.5 3.13C17.3604 3.3503 18.123 3.8507 18.6676 4.55231C19.2122 5.25392 19.5078 6.11683 19.5078 7.005C19.5078 7.89317 19.2122 8.75608 18.6676 9.45769C18.123 10.1593 17.3604 10.6597 16.5 10.88M13.5 7C13.5 9.20914 11.7091 11 9.5 11C7.29086 11 5.5 9.20914 5.5 7C5.5 4.79086 7.29086 3 9.5 3C11.7091 3 13.5 4.79086 13.5 7Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1973_14308\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"uses-list fw-semibold\">{{obj?.count || 0}} Members</span>\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<!--begin::Row-->\r\n<!-- <div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\"> -->\r\n<!--begin::Col-->\r\n<!-- <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\"> -->\r\n<!-- <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table> -->\r\n<!-- </div> -->\r\n<!--end::Col-->\r\n<!-- </div> -->\r\n<!--end::Row-->", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:16px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.nav-line-tabs .activated{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}.nav-line-tabs .activated a{color:var(--Primary-700, #009BF3)!important}.nav-line-tabs .activated :hover,.nav-item,.nav-item .nav-link:hover{border:0px!important}.nav-line-tabs :hover{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.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: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }] });
|
|
2841
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: UserTableComponent, selector: "lib-user-table", ngImport: i0, template: "<div *ngIf=\"receivedData ===''\" class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <div class=\"d-flex overflow-auto h-50px\">\r\n <ul\r\n class=\"nav nav-stretch w-100 nav-line-tabs nav-line-tabs-2x border-bottom-2 fs-5 fw-bolder flex-nowrap\">\r\n <li class=\"nav-item activated cursor-pointer bg-light-primary px-5 text-center me-5\"><a\r\n class=\"nav-link me-0 text-active-primary\">Users</a>\r\n </li>\r\n <li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' && userRole === 'superadmin'\"\r\n class=\"nav-item cursor-pointer me-5\"><a routerLink=\"/manage/users/tango/audit\"\r\n class=\"nav-link text-active-primary\">Audit Users\r\n Summary</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <span class=\"text-sub mb-2 mt-5\">{{pagination?.totalCount}} total users</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n @if (!loading && !noData) {\r\n <!-- @if ((gs.userAccess |async)?.Global_User_isEdit) { -->\r\n <button type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default px-4 py-3 rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M8.125 13.125H16.3562L14.7438 14.7438L15.625 15.625L18.75 12.5L15.625 9.375L14.7438 10.2562L16.3562 11.875H8.125V13.125Z\"\r\n fill=\"black\" />\r\n <path\r\n d=\"M13.75 8.75V6.25C13.7505 6.16774 13.7347 6.0862 13.7036 6.01005C13.6725 5.93391 13.6267 5.86465 13.5688 5.80625L9.19375 1.43125C9.13535 1.37332 9.06609 1.32749 8.98994 1.29639C8.91379 1.26529 8.83225 1.24952 8.75 1.25H2.5C2.16848 1.25 1.85054 1.38169 1.61612 1.61611C1.3817 1.85053 1.25 2.16847 1.25 2.5V17.5C1.25 17.8315 1.3817 18.1495 1.61612 18.3839C1.85054 18.6183 2.16848 18.75 2.5 18.75H12.5C12.8315 18.75 13.1495 18.6183 13.3839 18.3839C13.6183 18.1495 13.75 17.8315 13.75 17.5V16.25H12.5V17.5H2.5V2.5H7.5V6.25C7.5 6.58152 7.6317 6.89946 7.86612 7.13388C8.10054 7.3683 8.41848 7.5 8.75 7.5H12.5V8.75H13.75ZM8.75 6.25V2.75625L12.2438 6.25H8.75Z\"\r\n fill=\"black\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n <!-- } -->\r\n }\r\n @if ((gs.userAccess | async)?.Global_User_isAdd) {\r\n <button type=\"button\" (click)=\"users('add')\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th >Roles\r\n <!-- class=\"cursor-pointer\" (click)=\"onSort('role')\" -->\r\n <!-- <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('assigned')\">Clients Assigned\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'assigned' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'assigned' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td>{{user?.userName}}</td>\r\n <td>{{user?.email}}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td>{{user?.assigned || 0}}</td>\r\n <td>{{user?.mobileNumber}}</td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"form-check form-switch mx-6\">\r\n <input class=\"form-check-input mt-3 cursor-pointer\" type=\"checkbox\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\"\r\n role=\"switch\" checked=\"\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Date</div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- <div *ngIf=\"receivedData ===''\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <div class=\"card p-5\">\r\n <div class=\"border-0\">\r\n <h3 class=\"title fw-bold\">Roles & Permission</h3>\r\n <h6 class=\"sub-title fw-normal\">{{rolesCount || 0}} total roles</h6>\r\n </div>\r\n <div class=\"card-body px-0\">\r\n <div class=\"flex-column align-items-start\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 border-val mx-3 mb-7 py-7\" *ngFor=\"let obj of roles\">\r\n <a *ngIf=\"obj.roleName ==='superadmin'\" class=\"role-title my-2 cursor-pointer\" >Super Admin</a>\r\n <a *ngIf=\"obj.roleName !=='superadmin'\" class=\"role-title my-2 cursor-pointer\" >{{obj.roleName |\r\n titlecase}}</a>\r\n <div *ngIf=\"obj.roleName ==='superadmin'\" class=\"sub-title fw-semibold my-5\">Oversees all the operations and controls the entire functionality of the dashboard</div>\r\n <div *ngIf=\"obj.roleName ==='admin'\" class=\"sub-title fw-semibold my-5\">Manages specific operations, permissions, and can change setting for assigned locations</div>\r\n <div *ngIf=\"obj.roleName ==='user'\" class=\"sub-title fw-semibold my-5\">Access to specific location and will be able to view dashboard</div>\r\n <div><span class=\"me-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"24\"\r\n viewBox=\"0 0 25 24\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1973_14308)\">\r\n <path\r\n d=\"M17.5 21V19C17.5 17.9391 17.0786 16.9217 16.3284 16.1716C15.5783 15.4214 14.5609 15 13.5 15H5.5C4.43913 15 3.42172 15.4214 2.67157 16.1716C1.92143 16.9217 1.5 17.9391 1.5 19V21M23.5 21V19C23.4993 18.1137 23.2044 17.2528 22.6614 16.5523C22.1184 15.8519 21.3581 15.3516 20.5 15.13M16.5 3.13C17.3604 3.3503 18.123 3.8507 18.6676 4.55231C19.2122 5.25392 19.5078 6.11683 19.5078 7.005C19.5078 7.89317 19.2122 8.75608 18.6676 9.45769C18.123 10.1593 17.3604 10.6597 16.5 10.88M13.5 7C13.5 9.20914 11.7091 11 9.5 11C7.29086 11 5.5 9.20914 5.5 7C5.5 4.79086 7.29086 3 9.5 3C11.7091 3 13.5 4.79086 13.5 7Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1973_14308\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"uses-list fw-semibold\">{{obj?.count || 0}} Members</span>\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<!--begin::Row-->\r\n<!-- <div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\"> -->\r\n<!--begin::Col-->\r\n<!-- <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\"> -->\r\n<!-- <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table> -->\r\n<!-- </div> -->\r\n<!--end::Col-->\r\n<!-- </div> -->\r\n<!--end::Row-->", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:16px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.nav-line-tabs .activated{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}.nav-line-tabs .activated a{color:var(--Primary-700, #009BF3)!important}.nav-line-tabs .activated :hover,.nav-item,.nav-item .nav-link:hover{border:0px!important}.nav-line-tabs :hover{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.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: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }] });
|
|
2842
2842
|
}
|
|
2843
2843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserTableComponent, decorators: [{
|
|
2844
2844
|
type: Component,
|
|
2845
|
-
args: [{ selector: "lib-user-table", template: "<div *ngIf=\"receivedData ===''\" class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <div class=\"d-flex overflow-auto h-50px\">\r\n <ul\r\n class=\"nav nav-stretch w-100 nav-line-tabs nav-line-tabs-2x border-bottom-2 fs-5 fw-bolder flex-nowrap\">\r\n <li class=\"nav-item activated cursor-pointer bg-light-primary px-5 text-center me-5\"><a\r\n class=\"nav-link me-0 text-active-primary\">Users</a>\r\n </li>\r\n <li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' && userRole === 'superadmin'\"\r\n class=\"nav-item cursor-pointer me-5\"><a routerLink=\"/manage/users/tango/audit\"\r\n class=\"nav-link text-active-primary\">Audit Users\r\n Summary</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <span class=\"text-sub mb-2 mt-5\">{{pagination?.totalCount}} total users</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n @if (!loading && !noData) {\r\n <!-- @if ((gs.userAccess |async)?.Global_User_isEdit) { -->\r\n <button type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default px-4 py-3 rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M8.125 13.125H16.3562L14.7438 14.7438L15.625 15.625L18.75 12.5L15.625 9.375L14.7438 10.2562L16.3562 11.875H8.125V13.125Z\"\r\n fill=\"black\" />\r\n <path\r\n d=\"M13.75 8.75V6.25C13.7505 6.16774 13.7347 6.0862 13.7036 6.01005C13.6725 5.93391 13.6267 5.86465 13.5688 5.80625L9.19375 1.43125C9.13535 1.37332 9.06609 1.32749 8.98994 1.29639C8.91379 1.26529 8.83225 1.24952 8.75 1.25H2.5C2.16848 1.25 1.85054 1.38169 1.61612 1.61611C1.3817 1.85053 1.25 2.16847 1.25 2.5V17.5C1.25 17.8315 1.3817 18.1495 1.61612 18.3839C1.85054 18.6183 2.16848 18.75 2.5 18.75H12.5C12.8315 18.75 13.1495 18.6183 13.3839 18.3839C13.6183 18.1495 13.75 17.8315 13.75 17.5V16.25H12.5V17.5H2.5V2.5H7.5V6.25C7.5 6.58152 7.6317 6.89946 7.86612 7.13388C8.10054 7.3683 8.41848 7.5 8.75 7.5H12.5V8.75H13.75ZM8.75 6.25V2.75625L12.2438 6.25H8.75Z\"\r\n fill=\"black\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n <!-- } -->\r\n }\r\n @if ((gs.userAccess | async)?.Global_User_isAdd) {\r\n <button type=\"button\" (click)=\"users('add')\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('role')\">Roles\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('assigned')\">Clients Assigned\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'assigned' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'assigned' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td>{{user?.userName}}</td>\r\n <td>{{user?.email}}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td>{{user?.assigned || 0}}</td>\r\n <td>{{user?.mobileNumber}}</td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"form-check form-switch mx-6\">\r\n <input class=\"form-check-input mt-3 cursor-pointer\" type=\"checkbox\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\"\r\n role=\"switch\" checked=\"\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Date</div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- <div *ngIf=\"receivedData ===''\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <div class=\"card p-5\">\r\n <div class=\"border-0\">\r\n <h3 class=\"title fw-bold\">Roles & Permission</h3>\r\n <h6 class=\"sub-title fw-normal\">{{rolesCount || 0}} total roles</h6>\r\n </div>\r\n <div class=\"card-body px-0\">\r\n <div class=\"flex-column align-items-start\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 border-val mx-3 mb-7 py-7\" *ngFor=\"let obj of roles\">\r\n <a *ngIf=\"obj.roleName ==='superadmin'\" class=\"role-title my-2 cursor-pointer\" >Super Admin</a>\r\n <a *ngIf=\"obj.roleName !=='superadmin'\" class=\"role-title my-2 cursor-pointer\" >{{obj.roleName |\r\n titlecase}}</a>\r\n <div *ngIf=\"obj.roleName ==='superadmin'\" class=\"sub-title fw-semibold my-5\">Oversees all the operations and controls the entire functionality of the dashboard</div>\r\n <div *ngIf=\"obj.roleName ==='admin'\" class=\"sub-title fw-semibold my-5\">Manages specific operations, permissions, and can change setting for assigned locations</div>\r\n <div *ngIf=\"obj.roleName ==='user'\" class=\"sub-title fw-semibold my-5\">Access to specific location and will be able to view dashboard</div>\r\n <div><span class=\"me-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"24\"\r\n viewBox=\"0 0 25 24\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1973_14308)\">\r\n <path\r\n d=\"M17.5 21V19C17.5 17.9391 17.0786 16.9217 16.3284 16.1716C15.5783 15.4214 14.5609 15 13.5 15H5.5C4.43913 15 3.42172 15.4214 2.67157 16.1716C1.92143 16.9217 1.5 17.9391 1.5 19V21M23.5 21V19C23.4993 18.1137 23.2044 17.2528 22.6614 16.5523C22.1184 15.8519 21.3581 15.3516 20.5 15.13M16.5 3.13C17.3604 3.3503 18.123 3.8507 18.6676 4.55231C19.2122 5.25392 19.5078 6.11683 19.5078 7.005C19.5078 7.89317 19.2122 8.75608 18.6676 9.45769C18.123 10.1593 17.3604 10.6597 16.5 10.88M13.5 7C13.5 9.20914 11.7091 11 9.5 11C7.29086 11 5.5 9.20914 5.5 7C5.5 4.79086 7.29086 3 9.5 3C11.7091 3 13.5 4.79086 13.5 7Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1973_14308\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"uses-list fw-semibold\">{{obj?.count || 0}} Members</span>\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<!--begin::Row-->\r\n<!-- <div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\"> -->\r\n<!--begin::Col-->\r\n<!-- <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\"> -->\r\n<!-- <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table> -->\r\n<!-- </div> -->\r\n<!--end::Col-->\r\n<!-- </div> -->\r\n<!--end::Row-->", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:16px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.nav-line-tabs .activated{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}.nav-line-tabs .activated a{color:var(--Primary-700, #009BF3)!important}.nav-line-tabs .activated :hover,.nav-item,.nav-item .nav-link:hover{border:0px!important}.nav-line-tabs :hover{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}\n"] }]
|
|
2845
|
+
args: [{ selector: "lib-user-table", template: "<div *ngIf=\"receivedData ===''\" class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <div class=\"d-flex overflow-auto h-50px\">\r\n <ul\r\n class=\"nav nav-stretch w-100 nav-line-tabs nav-line-tabs-2x border-bottom-2 fs-5 fw-bolder flex-nowrap\">\r\n <li class=\"nav-item activated cursor-pointer bg-light-primary px-5 text-center me-5\"><a\r\n class=\"nav-link me-0 text-active-primary\">Users</a>\r\n </li>\r\n <li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' && userRole === 'superadmin'\"\r\n class=\"nav-item cursor-pointer me-5\"><a routerLink=\"/manage/users/tango/audit\"\r\n class=\"nav-link text-active-primary\">Audit Users\r\n Summary</a>\r\n </li>\r\n </ul>\r\n </div>\r\n <span class=\"text-sub mb-2 mt-5\">{{pagination?.totalCount}} total users</span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n @if (!loading && !noData) {\r\n <!-- @if ((gs.userAccess |async)?.Global_User_isEdit) { -->\r\n <button type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default px-4 py-3 rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M8.125 13.125H16.3562L14.7438 14.7438L15.625 15.625L18.75 12.5L15.625 9.375L14.7438 10.2562L16.3562 11.875H8.125V13.125Z\"\r\n fill=\"black\" />\r\n <path\r\n d=\"M13.75 8.75V6.25C13.7505 6.16774 13.7347 6.0862 13.7036 6.01005C13.6725 5.93391 13.6267 5.86465 13.5688 5.80625L9.19375 1.43125C9.13535 1.37332 9.06609 1.32749 8.98994 1.29639C8.91379 1.26529 8.83225 1.24952 8.75 1.25H2.5C2.16848 1.25 1.85054 1.38169 1.61612 1.61611C1.3817 1.85053 1.25 2.16847 1.25 2.5V17.5C1.25 17.8315 1.3817 18.1495 1.61612 18.3839C1.85054 18.6183 2.16848 18.75 2.5 18.75H12.5C12.8315 18.75 13.1495 18.6183 13.3839 18.3839C13.6183 18.1495 13.75 17.8315 13.75 17.5V16.25H12.5V17.5H2.5V2.5H7.5V6.25C7.5 6.58152 7.6317 6.89946 7.86612 7.13388C8.10054 7.3683 8.41848 7.5 8.75 7.5H12.5V8.75H13.75ZM8.75 6.25V2.75625L12.2438 6.25H8.75Z\"\r\n fill=\"black\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n <!-- } -->\r\n }\r\n @if ((gs.userAccess | async)?.Global_User_isAdd) {\r\n <button type=\"button\" (click)=\"users('add')\" class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th >Roles\r\n <!-- class=\"cursor-pointer\" (click)=\"onSort('role')\" -->\r\n <!-- <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('assigned')\">Clients Assigned\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'assigned' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'assigned' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td>{{user?.userName}}</td>\r\n <td>{{user?.email}}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td>{{user?.assigned || 0}}</td>\r\n <td>{{user?.mobileNumber}}</td>\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"form-check form-switch mx-6\">\r\n <input class=\"form-check-input mt-3 cursor-pointer\" type=\"checkbox\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\"\r\n role=\"switch\" checked=\"\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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>\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Date</div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n<!-- <div *ngIf=\"receivedData ===''\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <div class=\"card p-5\">\r\n <div class=\"border-0\">\r\n <h3 class=\"title fw-bold\">Roles & Permission</h3>\r\n <h6 class=\"sub-title fw-normal\">{{rolesCount || 0}} total roles</h6>\r\n </div>\r\n <div class=\"card-body px-0\">\r\n <div class=\"flex-column align-items-start\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 border-val mx-3 mb-7 py-7\" *ngFor=\"let obj of roles\">\r\n <a *ngIf=\"obj.roleName ==='superadmin'\" class=\"role-title my-2 cursor-pointer\" >Super Admin</a>\r\n <a *ngIf=\"obj.roleName !=='superadmin'\" class=\"role-title my-2 cursor-pointer\" >{{obj.roleName |\r\n titlecase}}</a>\r\n <div *ngIf=\"obj.roleName ==='superadmin'\" class=\"sub-title fw-semibold my-5\">Oversees all the operations and controls the entire functionality of the dashboard</div>\r\n <div *ngIf=\"obj.roleName ==='admin'\" class=\"sub-title fw-semibold my-5\">Manages specific operations, permissions, and can change setting for assigned locations</div>\r\n <div *ngIf=\"obj.roleName ==='user'\" class=\"sub-title fw-semibold my-5\">Access to specific location and will be able to view dashboard</div>\r\n <div><span class=\"me-5\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"24\"\r\n viewBox=\"0 0 25 24\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1973_14308)\">\r\n <path\r\n d=\"M17.5 21V19C17.5 17.9391 17.0786 16.9217 16.3284 16.1716C15.5783 15.4214 14.5609 15 13.5 15H5.5C4.43913 15 3.42172 15.4214 2.67157 16.1716C1.92143 16.9217 1.5 17.9391 1.5 19V21M23.5 21V19C23.4993 18.1137 23.2044 17.2528 22.6614 16.5523C22.1184 15.8519 21.3581 15.3516 20.5 15.13M16.5 3.13C17.3604 3.3503 18.123 3.8507 18.6676 4.55231C19.2122 5.25392 19.5078 6.11683 19.5078 7.005C19.5078 7.89317 19.2122 8.75608 18.6676 9.45769C18.123 10.1593 17.3604 10.6597 16.5 10.88M13.5 7C13.5 9.20914 11.7091 11 9.5 11C7.29086 11 5.5 9.20914 5.5 7C5.5 4.79086 7.29086 3 9.5 3C11.7091 3 13.5 4.79086 13.5 7Z\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1973_14308\">\r\n <rect width=\"24\" height=\"24\" fill=\"white\" transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span class=\"uses-list fw-semibold\">{{obj?.count || 0}} Members</span>\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<!--begin::Row-->\r\n<!-- <div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\"> -->\r\n<!--begin::Col-->\r\n<!-- <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\"> -->\r\n<!-- <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table> -->\r\n<!-- </div> -->\r\n<!--end::Col-->\r\n<!-- </div> -->\r\n<!--end::Row-->", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:16px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.nav-line-tabs .activated{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}.nav-line-tabs .activated a{color:var(--Primary-700, #009BF3)!important}.nav-line-tabs .activated :hover,.nav-item,.nav-item .nav-link:hover{border:0px!important}.nav-line-tabs :hover{border-bottom:3px solid var(--bs-primary)!important;transition:color .2s ease!important}\n"] }]
|
|
2846
2846
|
}], ctorParameters: () => [{ type: i1$1.NgbModal }, { type: i2.PageInfoService }, { type: i0.ChangeDetectorRef }, { type: ExcelService }, { type: i2.GlobalStateService }, { type: i4.ToastService }, { type: UserService }] });
|
|
2847
2847
|
|
|
2848
2848
|
class ChipSelectComponent {
|
|
@@ -4406,11 +4406,11 @@ class BrandUserComponent {
|
|
|
4406
4406
|
});
|
|
4407
4407
|
}
|
|
4408
4408
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BrandUserComponent, deps: [{ token: i1$1.NgbModal }, { token: i2.PageInfoService }, { token: i0.ChangeDetectorRef }, { token: ExcelService }, { token: i2.GlobalStateService }, { token: i4.ToastService }, { token: UserService }, { token: i3.Router }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
4409
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BrandUserComponent, selector: "lib-brand-user", outputs: { dataToParent: "dataToParent" }, viewQueries: [{ propertyName: "bulkUpload", first: true, predicate: ["bulkUpload"], descendants: true }, { propertyName: "inputFile1", first: true, predicate: ["inputFile1"], descendants: true }, { propertyName: "afterValidation", first: true, predicate: ["afterValidation"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"receivedData !=='Role Value'\">\r\n <div class=\"\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner \">\r\n <div *ngIf=\"!createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\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=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n \r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" type=\"button\" (click)=\"bulkAssignasxlsx()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><span class=\"ms-2\">Bulk Assign</span> </button>\r\n\r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" type=\"button\" (click)=\"users('add')\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <button type=\"button\" (click)=\"createTeams()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" class=\"cursor-pointer\"><span\r\n class=\"inputcheck\"><input type=\"checkbox\" (click)=\"onSelectAll()\"\r\n [(ngModel)]=\"selectAllChecked\" class=\"cursor-pointer\"></span>\r\n\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('role')\">Roles\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Assigned To </th>\r\n <th style=\"line-height: 21px !important;\">As a Lead To </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\"><span class=\"inputcheck\"><input\r\n type=\"checkbox\" class=\"cursor-pointer mt-2\" [(ngModel)]=\"user.checked\"\r\n (click)=\"onSelectedTeams(user,i)\"></span></td>\r\n <td>{{user?.userName}}</td>\r\n <td>{{ getMaskedValue(user?.email, userInfo?.role) }}</td>\r\n <td>{{ getMaskedMobile(user?.mobileNumber, userInfo?.role) }}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td><span class=\"badge badge-light-primary me-1\">{{user?.assignedStores||0}} Stores</span> <span class=\"badge badge-light-info\">{{user?.teamCount||0}} Teams</span></td>\r\n <td><span class=\"badge badge-light-purple me-1\">{{user?.clusterCount||0}} Clusters</span> <span class=\"badge badge-light-info\">{{user?.teamlead||0}} Teams</span></td>\r\n\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"mx-3 cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n @if ((gs.userAccess | async)?.Global_User_isEdit) {\r\n <span class=\"mx-3 cursor-pointer\" *ngIf=\"userInfo.role!=='user'\">\r\n <button type=\"button\" (click)=\"assignStore(user)\"\r\n [disabled]=\"!user?.isActive || user?.role ==='superadmin'\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <span class=\"mx-2\">Assign</span>\r\n </button>\r\n </span>\r\n }\r\n <span class=\"form-check form-switch\" *ngIf=\"userInfo.role!=='user'\">\r\n <input class=\"form-check-input mt-3\" type=\"checkbox\" role=\"switch\" id=\"support\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--begin::Row-->\r\n<div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\">\r\n <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table>\r\n </div>\r\n <!--end::Col-->\r\n</div>\r\n<!--end::Row-->\r\n\r\n<ng-template #bulkUpload let-modal>\r\n <div class=\"card-body flex-column p-9\">\r\n <div class=\"header-title\">Bulk Assign</div>\r\n <div class=\"d-flex justify-content-start align-items-center\">\r\n <div class=\"fw-bold text-gray-500 mt-6\">\r\n <ol class=\"custom-ordered-list text-gray-400 fw-bold px-5 fs-6\">\r\n <li class=\"user-text\">Use the template below to assign multiple users to multiple stores at once.</li>\r\n <li class=\"user-text my-3\"><span class=\"user-text\">Download the template here - </span>\r\n <a class=\"ms-1\" href=\"../../../assets/files/BulkAssignTemplate.xlsx\" download>\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=\"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.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"template ms-2\">Download Template</span>\r\n </a>\r\n </li>\r\n <li class=\"user-text my-3\">Add your data to the Template File</li>\r\n <li class=\"user-text my-3\">Upload it below for processing</li> \r\n </ol>\r\n </div>\r\n </div>\r\n <div class=\" w-100 right-bar d-flex justify-content-center align-items-center flex-column\" >\r\n <input name=\"accountType\" type=\"radio\" id=\"kt_create_account_form_account_type_personal1\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\" value=\"personal1\"\r\n class=\"btn-check\"\r\n (change)=\"onUpload1($event)\"\r\n ng-reflect-value=\"personal\" type=\"file\" #inputFile1 />\r\n <label for=\"kt_create_account_form_account_type_personal1\" class=\" w-1-0 p-4\"><span\r\n class=\"fw-bold text-center w-100 fs-4\">\r\n <div class=\"d-flex justify-content-center align-items-center w-100\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\"\r\n stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4047_40566)\">\r\n <path\r\n d=\"M26.3333 26.3334L23 23M23 23L19.6666 26.3334M23 23V30.5M29.9916 28.325C30.8044 27.8819 31.4465 27.1808 31.8165 26.3322C32.1866 25.4837 32.2635 24.5361 32.0351 23.6389C31.8068 22.7418 31.2862 21.9463 30.5555 21.3779C29.8248 20.8095 28.9257 20.5006 28 20.5H26.95C26.6977 19.5244 26.2276 18.6186 25.5749 17.8509C24.9222 17.0831 24.104 16.4732 23.1817 16.0672C22.2594 15.6612 21.2571 15.4695 20.2501 15.5066C19.243 15.5437 18.2575 15.8086 17.3676 16.2814C16.4777 16.7542 15.7066 17.4226 15.1122 18.2363C14.5177 19.0501 14.1155 19.988 13.9358 20.9795C13.756 21.9711 13.8034 22.9905 14.0743 23.9611C14.3452 24.9317 14.8327 25.8282 15.5 26.5834\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4047_40566\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"nodata-title mb-3\"><span class=\"click-upload cursor-pointer\">Click to\r\n upload</span>\r\n </div>\r\n <div class=\"nodata-sub\">the data added template file for processing.</div>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #afterValidation let-model>\r\n <div class=\"card border-0\">\r\n <div class=\"card-header border-0 mt-0\">\r\n <div class=\"card-title mt-3\"><span class=\"config-heading fw-semibold w-auto\">Bulk Assign</span></div>\r\n </div>\r\n <div class=\"card-body pt-0 popup-scroll\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{getEmailCounts(excelData)}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Total Records</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{excelData?.length}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Rows processed</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error w-100 error-heading' \r\n : 'fw-semibold w-100 config-heading'\">\r\n {{ excelError?.error?.length || 0 }}\r\n </div>\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error mt-1 excel-error' \r\n : 'fw-semibold subtitle mt-1'\">\r\n Error\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!excelError\" class=\"table-header mt-5\" style=\"font-weight: 400;\">\r\n <div >You're about to assign {{getEmailCounts(excelData)}} {{getEmailCounts(excelData) > 1 ? 'Users' : 'User'}}. Are you sure want to proceed?</div>\r\n \r\n </div>\r\n <div *ngIf=\"excelError\" class=\"flex-column mt-5\">\r\n <div class=\"config-heading fw-bold\">Invalid Details !</div>\r\n <div class=\"subtitle mt-5\">Please provide correct information.</div>\r\n <div class=\"p-5 w-100 rounded-3 border-error mt-5 flex-column\">\r\n <div *ngFor=\"let error of excelError?.error; let i = index; let last = last\" [ngClass]=\"!last ? 'mb-2' : ''\" class=\"text-error\">{{i + 1}}) {{error}}</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0 d-flex justify-content-end flex-wrap gap-2 pt-0\">\r\n <button class=\"btn btn-md btn-default btn-outline\" (click)=\"closeactivepopup()\">Cancel</button>\r\n <button *ngIf=\"!excelError\" class=\"btn btn-md py-3 btn-default btn-primary\" (click)=\"proceedSubmit()\">Proceed</button>\r\n <button *ngIf=\"excelError\" class=\"btn py-3 btn-md btn-default ms-3 btn-danger\" (click)=\"file1.click();\">Reupload</button>\r\n <input style=\"display: none;\" #file1 type=\"file\" id=\"kt_account_team_size_select_2\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n (change)=\"onUpload1($event)\" />\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:10px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.p-4{padding:.85rem!important}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck 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:0!important;padding-top:12px;padding-right:6px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}.user-text{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.right-bar{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)}.click-upload{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.header-title{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.subtitle{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.config-heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.table-header{color:var(--Gray-800, #1D2939);font-size:16px;font-weight:400;line-height:24px}.text-error{color:var(--Error-700, #B42318)!important;font-size:14px;font-weight:500;line-height:20px}.excel-error{color:var(--Error-600, #D92D20);font-size:14px;font-weight:500;line-height:20px}.error-heading{color:var(--Error-600, #D92D20);font-size:20px;font-weight:500;line-height:30px}.border-error{border:1px solid var(--Error-300, #FDA29B)!important;background:var(--Error-25, #FFFBFA)!important}.popup-card{border-radius:6px;border:1px solid var(--Gray-300, #D0D5DD);background:#fff;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f}.popup-scroll{min-height:auto;max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.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: "component", type: RolesPermissionTableComponent, selector: "lib-roles-permission-table", outputs: ["dataEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }] });
|
|
4409
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BrandUserComponent, selector: "lib-brand-user", outputs: { dataToParent: "dataToParent" }, viewQueries: [{ propertyName: "bulkUpload", first: true, predicate: ["bulkUpload"], descendants: true }, { propertyName: "inputFile1", first: true, predicate: ["inputFile1"], descendants: true }, { propertyName: "afterValidation", first: true, predicate: ["afterValidation"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"receivedData !=='Role Value'\">\r\n <div class=\"\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner \">\r\n <div *ngIf=\"!createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\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=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n \r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" type=\"button\" (click)=\"bulkAssignasxlsx()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><span class=\"ms-2\">Bulk Assign</span> </button>\r\n\r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" type=\"button\" (click)=\"users('add')\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <button type=\"button\" (click)=\"createTeams()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" class=\"cursor-pointer\"><span\r\n class=\"inputcheck\"><input type=\"checkbox\" (click)=\"onSelectAll()\"\r\n [(ngModel)]=\"selectAllChecked\" class=\"cursor-pointer\"></span>\r\n\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th >Roles\r\n <!-- class=\"cursor-pointer\" (click)=\"onSort('role')\" -->\r\n <!-- <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Assigned To </th>\r\n <th style=\"line-height: 21px !important;\">As a Lead To </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\"><span class=\"inputcheck\"><input\r\n type=\"checkbox\" class=\"cursor-pointer mt-2\" [(ngModel)]=\"user.checked\"\r\n (click)=\"onSelectedTeams(user,i)\"></span></td>\r\n <td>{{user?.userName}}</td>\r\n <td>{{ getMaskedValue(user?.email, userInfo?.role) }}</td>\r\n <td>{{ getMaskedMobile(user?.mobileNumber, userInfo?.role) }}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td><span class=\"badge badge-light-primary me-1\">{{user?.assignedStores||0}} Stores</span> <span class=\"badge badge-light-info\">{{user?.teamCount||0}} Teams</span></td>\r\n <td><span class=\"badge badge-light-purple me-1\">{{user?.clusterCount||0}} Clusters</span> <span class=\"badge badge-light-info\">{{user?.teamlead||0}} Teams</span></td>\r\n\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"mx-3 cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n @if ((gs.userAccess | async)?.Global_User_isEdit) {\r\n <span class=\"mx-3 cursor-pointer\" *ngIf=\"userInfo.role!=='user'\">\r\n <button type=\"button\" (click)=\"assignStore(user)\"\r\n [disabled]=\"!user?.isActive || user?.role ==='superadmin'\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <span class=\"mx-2\">Assign</span>\r\n </button>\r\n </span>\r\n }\r\n <span class=\"form-check form-switch\" *ngIf=\"userInfo.role!=='user'\">\r\n <input class=\"form-check-input mt-3\" type=\"checkbox\" role=\"switch\" id=\"support\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--begin::Row-->\r\n<div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\">\r\n <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table>\r\n </div>\r\n <!--end::Col-->\r\n</div>\r\n<!--end::Row-->\r\n\r\n<ng-template #bulkUpload let-modal>\r\n <div class=\"card-body flex-column p-9\">\r\n <div class=\"header-title\">Bulk Assign</div>\r\n <div class=\"d-flex justify-content-start align-items-center\">\r\n <div class=\"fw-bold text-gray-500 mt-6\">\r\n <ol class=\"custom-ordered-list text-gray-400 fw-bold px-5 fs-6\">\r\n <li class=\"user-text\">Use the template below to assign multiple users to multiple stores at once.</li>\r\n <li class=\"user-text my-3\"><span class=\"user-text\">Download the template here - </span>\r\n <a class=\"ms-1\" href=\"../../../assets/files/BulkAssignTemplate.xlsx\" download>\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=\"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.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"template ms-2\">Download Template</span>\r\n </a>\r\n </li>\r\n <li class=\"user-text my-3\">Add your data to the Template File</li>\r\n <li class=\"user-text my-3\">Upload it below for processing</li> \r\n </ol>\r\n </div>\r\n </div>\r\n <div class=\" w-100 right-bar d-flex justify-content-center align-items-center flex-column\" >\r\n <input name=\"accountType\" type=\"radio\" id=\"kt_create_account_form_account_type_personal1\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\" value=\"personal1\"\r\n class=\"btn-check\"\r\n (change)=\"onUpload1($event)\"\r\n ng-reflect-value=\"personal\" type=\"file\" #inputFile1 />\r\n <label for=\"kt_create_account_form_account_type_personal1\" class=\" w-1-0 p-4\"><span\r\n class=\"fw-bold text-center w-100 fs-4\">\r\n <div class=\"d-flex justify-content-center align-items-center w-100\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\"\r\n stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4047_40566)\">\r\n <path\r\n d=\"M26.3333 26.3334L23 23M23 23L19.6666 26.3334M23 23V30.5M29.9916 28.325C30.8044 27.8819 31.4465 27.1808 31.8165 26.3322C32.1866 25.4837 32.2635 24.5361 32.0351 23.6389C31.8068 22.7418 31.2862 21.9463 30.5555 21.3779C29.8248 20.8095 28.9257 20.5006 28 20.5H26.95C26.6977 19.5244 26.2276 18.6186 25.5749 17.8509C24.9222 17.0831 24.104 16.4732 23.1817 16.0672C22.2594 15.6612 21.2571 15.4695 20.2501 15.5066C19.243 15.5437 18.2575 15.8086 17.3676 16.2814C16.4777 16.7542 15.7066 17.4226 15.1122 18.2363C14.5177 19.0501 14.1155 19.988 13.9358 20.9795C13.756 21.9711 13.8034 22.9905 14.0743 23.9611C14.3452 24.9317 14.8327 25.8282 15.5 26.5834\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4047_40566\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"nodata-title mb-3\"><span class=\"click-upload cursor-pointer\">Click to\r\n upload</span>\r\n </div>\r\n <div class=\"nodata-sub\">the data added template file for processing.</div>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #afterValidation let-model>\r\n <div class=\"card border-0\">\r\n <div class=\"card-header border-0 mt-0\">\r\n <div class=\"card-title mt-3\"><span class=\"config-heading fw-semibold w-auto\">Bulk Assign</span></div>\r\n </div>\r\n <div class=\"card-body pt-0 popup-scroll\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{getEmailCounts(excelData)}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Total Records</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{excelData?.length}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Rows processed</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error w-100 error-heading' \r\n : 'fw-semibold w-100 config-heading'\">\r\n {{ excelError?.error?.length || 0 }}\r\n </div>\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error mt-1 excel-error' \r\n : 'fw-semibold subtitle mt-1'\">\r\n Error\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!excelError\" class=\"table-header mt-5\" style=\"font-weight: 400;\">\r\n <div >You're about to assign {{getEmailCounts(excelData)}} {{getEmailCounts(excelData) > 1 ? 'Users' : 'User'}}. Are you sure want to proceed?</div>\r\n \r\n </div>\r\n <div *ngIf=\"excelError\" class=\"flex-column mt-5\">\r\n <div class=\"config-heading fw-bold\">Invalid Details !</div>\r\n <div class=\"subtitle mt-5\">Please provide correct information.</div>\r\n <div class=\"p-5 w-100 rounded-3 border-error mt-5 flex-column\">\r\n <div *ngFor=\"let error of excelError?.error; let i = index; let last = last\" [ngClass]=\"!last ? 'mb-2' : ''\" class=\"text-error\">{{i + 1}}) {{error}}</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0 d-flex justify-content-end flex-wrap gap-2 pt-0\">\r\n <button class=\"btn btn-md btn-default btn-outline\" (click)=\"closeactivepopup()\">Cancel</button>\r\n <button *ngIf=\"!excelError\" class=\"btn btn-md py-3 btn-default btn-primary\" (click)=\"proceedSubmit()\">Proceed</button>\r\n <button *ngIf=\"excelError\" class=\"btn py-3 btn-md btn-default ms-3 btn-danger\" (click)=\"file1.click();\">Reupload</button>\r\n <input style=\"display: none;\" #file1 type=\"file\" id=\"kt_account_team_size_select_2\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n (change)=\"onUpload1($event)\" />\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:10px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.p-4{padding:.85rem!important}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck 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:0!important;padding-top:12px;padding-right:6px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}.user-text{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.right-bar{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)}.click-upload{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.header-title{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.subtitle{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.config-heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.table-header{color:var(--Gray-800, #1D2939);font-size:16px;font-weight:400;line-height:24px}.text-error{color:var(--Error-700, #B42318)!important;font-size:14px;font-weight:500;line-height:20px}.excel-error{color:var(--Error-600, #D92D20);font-size:14px;font-weight:500;line-height:20px}.error-heading{color:var(--Error-600, #D92D20);font-size:20px;font-weight:500;line-height:30px}.border-error{border:1px solid var(--Error-300, #FDA29B)!important;background:var(--Error-25, #FFFBFA)!important}.popup-card{border-radius:6px;border:1px solid var(--Gray-300, #D0D5DD);background:#fff;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f}.popup-scroll{min-height:auto;max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.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: "component", type: RolesPermissionTableComponent, selector: "lib-roles-permission-table", outputs: ["dataEvent"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TitleCasePipe, name: "titlecase" }] });
|
|
4410
4410
|
}
|
|
4411
4411
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BrandUserComponent, decorators: [{
|
|
4412
4412
|
type: Component,
|
|
4413
|
-
args: [{ selector: 'lib-brand-user', template: "<div *ngIf=\"receivedData !=='Role Value'\">\r\n <div class=\"\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner \">\r\n <div *ngIf=\"!createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\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=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n \r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" type=\"button\" (click)=\"bulkAssignasxlsx()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><span class=\"ms-2\">Bulk Assign</span> </button>\r\n\r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" type=\"button\" (click)=\"users('add')\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <button type=\"button\" (click)=\"createTeams()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" class=\"cursor-pointer\"><span\r\n class=\"inputcheck\"><input type=\"checkbox\" (click)=\"onSelectAll()\"\r\n [(ngModel)]=\"selectAllChecked\" class=\"cursor-pointer\"></span>\r\n\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('role')\">Roles\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Assigned To </th>\r\n <th style=\"line-height: 21px !important;\">As a Lead To </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\"><span class=\"inputcheck\"><input\r\n type=\"checkbox\" class=\"cursor-pointer mt-2\" [(ngModel)]=\"user.checked\"\r\n (click)=\"onSelectedTeams(user,i)\"></span></td>\r\n <td>{{user?.userName}}</td>\r\n <td>{{ getMaskedValue(user?.email, userInfo?.role) }}</td>\r\n <td>{{ getMaskedMobile(user?.mobileNumber, userInfo?.role) }}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td><span class=\"badge badge-light-primary me-1\">{{user?.assignedStores||0}} Stores</span> <span class=\"badge badge-light-info\">{{user?.teamCount||0}} Teams</span></td>\r\n <td><span class=\"badge badge-light-purple me-1\">{{user?.clusterCount||0}} Clusters</span> <span class=\"badge badge-light-info\">{{user?.teamlead||0}} Teams</span></td>\r\n\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"mx-3 cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n @if ((gs.userAccess | async)?.Global_User_isEdit) {\r\n <span class=\"mx-3 cursor-pointer\" *ngIf=\"userInfo.role!=='user'\">\r\n <button type=\"button\" (click)=\"assignStore(user)\"\r\n [disabled]=\"!user?.isActive || user?.role ==='superadmin'\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <span class=\"mx-2\">Assign</span>\r\n </button>\r\n </span>\r\n }\r\n <span class=\"form-check form-switch\" *ngIf=\"userInfo.role!=='user'\">\r\n <input class=\"form-check-input mt-3\" type=\"checkbox\" role=\"switch\" id=\"support\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--begin::Row-->\r\n<div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\">\r\n <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table>\r\n </div>\r\n <!--end::Col-->\r\n</div>\r\n<!--end::Row-->\r\n\r\n<ng-template #bulkUpload let-modal>\r\n <div class=\"card-body flex-column p-9\">\r\n <div class=\"header-title\">Bulk Assign</div>\r\n <div class=\"d-flex justify-content-start align-items-center\">\r\n <div class=\"fw-bold text-gray-500 mt-6\">\r\n <ol class=\"custom-ordered-list text-gray-400 fw-bold px-5 fs-6\">\r\n <li class=\"user-text\">Use the template below to assign multiple users to multiple stores at once.</li>\r\n <li class=\"user-text my-3\"><span class=\"user-text\">Download the template here - </span>\r\n <a class=\"ms-1\" href=\"../../../assets/files/BulkAssignTemplate.xlsx\" download>\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=\"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.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"template ms-2\">Download Template</span>\r\n </a>\r\n </li>\r\n <li class=\"user-text my-3\">Add your data to the Template File</li>\r\n <li class=\"user-text my-3\">Upload it below for processing</li> \r\n </ol>\r\n </div>\r\n </div>\r\n <div class=\" w-100 right-bar d-flex justify-content-center align-items-center flex-column\" >\r\n <input name=\"accountType\" type=\"radio\" id=\"kt_create_account_form_account_type_personal1\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\" value=\"personal1\"\r\n class=\"btn-check\"\r\n (change)=\"onUpload1($event)\"\r\n ng-reflect-value=\"personal\" type=\"file\" #inputFile1 />\r\n <label for=\"kt_create_account_form_account_type_personal1\" class=\" w-1-0 p-4\"><span\r\n class=\"fw-bold text-center w-100 fs-4\">\r\n <div class=\"d-flex justify-content-center align-items-center w-100\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\"\r\n stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4047_40566)\">\r\n <path\r\n d=\"M26.3333 26.3334L23 23M23 23L19.6666 26.3334M23 23V30.5M29.9916 28.325C30.8044 27.8819 31.4465 27.1808 31.8165 26.3322C32.1866 25.4837 32.2635 24.5361 32.0351 23.6389C31.8068 22.7418 31.2862 21.9463 30.5555 21.3779C29.8248 20.8095 28.9257 20.5006 28 20.5H26.95C26.6977 19.5244 26.2276 18.6186 25.5749 17.8509C24.9222 17.0831 24.104 16.4732 23.1817 16.0672C22.2594 15.6612 21.2571 15.4695 20.2501 15.5066C19.243 15.5437 18.2575 15.8086 17.3676 16.2814C16.4777 16.7542 15.7066 17.4226 15.1122 18.2363C14.5177 19.0501 14.1155 19.988 13.9358 20.9795C13.756 21.9711 13.8034 22.9905 14.0743 23.9611C14.3452 24.9317 14.8327 25.8282 15.5 26.5834\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4047_40566\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"nodata-title mb-3\"><span class=\"click-upload cursor-pointer\">Click to\r\n upload</span>\r\n </div>\r\n <div class=\"nodata-sub\">the data added template file for processing.</div>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #afterValidation let-model>\r\n <div class=\"card border-0\">\r\n <div class=\"card-header border-0 mt-0\">\r\n <div class=\"card-title mt-3\"><span class=\"config-heading fw-semibold w-auto\">Bulk Assign</span></div>\r\n </div>\r\n <div class=\"card-body pt-0 popup-scroll\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{getEmailCounts(excelData)}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Total Records</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{excelData?.length}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Rows processed</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error w-100 error-heading' \r\n : 'fw-semibold w-100 config-heading'\">\r\n {{ excelError?.error?.length || 0 }}\r\n </div>\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error mt-1 excel-error' \r\n : 'fw-semibold subtitle mt-1'\">\r\n Error\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!excelError\" class=\"table-header mt-5\" style=\"font-weight: 400;\">\r\n <div >You're about to assign {{getEmailCounts(excelData)}} {{getEmailCounts(excelData) > 1 ? 'Users' : 'User'}}. Are you sure want to proceed?</div>\r\n \r\n </div>\r\n <div *ngIf=\"excelError\" class=\"flex-column mt-5\">\r\n <div class=\"config-heading fw-bold\">Invalid Details !</div>\r\n <div class=\"subtitle mt-5\">Please provide correct information.</div>\r\n <div class=\"p-5 w-100 rounded-3 border-error mt-5 flex-column\">\r\n <div *ngFor=\"let error of excelError?.error; let i = index; let last = last\" [ngClass]=\"!last ? 'mb-2' : ''\" class=\"text-error\">{{i + 1}}) {{error}}</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0 d-flex justify-content-end flex-wrap gap-2 pt-0\">\r\n <button class=\"btn btn-md btn-default btn-outline\" (click)=\"closeactivepopup()\">Cancel</button>\r\n <button *ngIf=\"!excelError\" class=\"btn btn-md py-3 btn-default btn-primary\" (click)=\"proceedSubmit()\">Proceed</button>\r\n <button *ngIf=\"excelError\" class=\"btn py-3 btn-md btn-default ms-3 btn-danger\" (click)=\"file1.click();\">Reupload</button>\r\n <input style=\"display: none;\" #file1 type=\"file\" id=\"kt_account_team_size_select_2\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n (change)=\"onUpload1($event)\" />\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:10px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.p-4{padding:.85rem!important}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck 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:0!important;padding-top:12px;padding-right:6px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}.user-text{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.right-bar{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)}.click-upload{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.header-title{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.subtitle{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.config-heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.table-header{color:var(--Gray-800, #1D2939);font-size:16px;font-weight:400;line-height:24px}.text-error{color:var(--Error-700, #B42318)!important;font-size:14px;font-weight:500;line-height:20px}.excel-error{color:var(--Error-600, #D92D20);font-size:14px;font-weight:500;line-height:20px}.error-heading{color:var(--Error-600, #D92D20);font-size:20px;font-weight:500;line-height:30px}.border-error{border:1px solid var(--Error-300, #FDA29B)!important;background:var(--Error-25, #FFFBFA)!important}.popup-card{border-radius:6px;border:1px solid var(--Gray-300, #D0D5DD);background:#fff;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f}.popup-scroll{min-height:auto;max-height:400px;overflow-y:auto}\n"] }]
|
|
4413
|
+
args: [{ selector: 'lib-brand-user', template: "<div *ngIf=\"receivedData !=='Role Value'\">\r\n <div class=\"\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n </h3>\r\n <div class=\"card-toolbar rightcorner \">\r\n <div *ngIf=\"!createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\"></rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <input type=\"text\" (change)=\"searchData()\" [(ngModel)]=\"searchValue\" class=\"form-control ps-14 me-2\"\r\n name=\"search\" autocomplete=\"off\" placeholder=\"Search\" autocomplete=\"off\" />\r\n <lib-filters [dataObject]=\"dataObject\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <button *ngIf=\"!loading && !noData\" type=\"button\" (click)=\"exportXLSX()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\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=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2\">Export</span> </button>\r\n \r\n \r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isEdit\" type=\"button\" (click)=\"bulkAssignasxlsx()\"\r\n class=\"btn btn-default mx-2 btn-outline p-4 btn-outline-default rounded-3 text-nowrap border-val\"><span class=\"ms-2\">Bulk Assign</span> </button>\r\n\r\n <button *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" type=\"button\" (click)=\"users('add')\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Add User</span> </button>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"createTeam\" class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <button type=\"button\" (click)=\"createTeams()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M10.0001 4.16663V15.8333M4.16675 9.99996H15.8334\" stroke=\"white\"\r\n stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"ms-2 text-white\">Create Team</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!loading && !noData\" class=\"card-body p-0\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap \">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\" class=\"cursor-pointer\"><span\r\n class=\"inputcheck\"><input type=\"checkbox\" (click)=\"onSelectAll()\"\r\n [(ngModel)]=\"selectAllChecked\" class=\"cursor-pointer\"></span>\r\n\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('userName')\">Name\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'userName' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'userName' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('email')\">Email\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'email' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'email' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th class=\"cursor-pointer\" (click)=\"onSort('mobileNumber')\">Contact Number\r\n <svg [ngClass]=\"userList_req?.sortColumName === 'mobileNumber' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'mobileNumber' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </th>\r\n <th >Roles\r\n <!-- class=\"cursor-pointer\" (click)=\"onSort('role')\" -->\r\n <!-- <svg [ngClass]=\"userList_req?.sortColumName === 'role' && userList_req?.sortBy === 1 ? 'rotate' : ''\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004\"\r\n [attr.stroke]=\"userList_req?.sortColumName === 'role' ? '#00A3FF' : '#667085'\"\r\n stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> -->\r\n </th>\r\n <th style=\"line-height: 21px !important;\">Assigned To </th>\r\n <th style=\"line-height: 21px !important;\">As a Lead To </th>\r\n <th style=\"line-height: 21px !important;\">Actions</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-semibold\">\r\n <ng-container *ngFor=\"let user of userList;let i=index;\">\r\n <tr>\r\n <td *ngIf=\"(gs.userAccess |async)?.Global_User_isAdd\"><span class=\"inputcheck\"><input\r\n type=\"checkbox\" class=\"cursor-pointer mt-2\" [(ngModel)]=\"user.checked\"\r\n (click)=\"onSelectedTeams(user,i)\"></span></td>\r\n <td>{{user?.userName}}</td>\r\n <td>{{ getMaskedValue(user?.email, userInfo?.role) }}</td>\r\n <td>{{ getMaskedMobile(user?.mobileNumber, userInfo?.role) }}</td>\r\n <td *ngIf=\"user?.role ==='superadmin'\">Super Admin</td>\r\n <td *ngIf=\"user?.role !=='superadmin'\">{{user?.role | titlecase}}</td>\r\n <td><span class=\"badge badge-light-primary me-1\">{{user?.assignedStores||0}} Stores</span> <span class=\"badge badge-light-info\">{{user?.teamCount||0}} Teams</span></td>\r\n <td><span class=\"badge badge-light-purple me-1\">{{user?.clusterCount||0}} Clusters</span> <span class=\"badge badge-light-info\">{{user?.teamlead||0}} Teams</span></td>\r\n\r\n <td>\r\n <div class=\"d-flex\">\r\n <span class=\"mx-3 cursor-pointer\" (click)=\"Viewusers('view',user)\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\"\r\n viewBox=\"0 0 21 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1995_16400)\">\r\n <path\r\n d=\"M1.33325 10C1.33325 10 4.66658 3.33337 10.4999 3.33337C16.3333 3.33337 19.6666 10 19.6666 10C19.6666 10 16.3333 16.6667 10.4999 16.6667C4.66658 16.6667 1.33325 10 1.33325 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M10.4999 12.5C11.8806 12.5 12.9999 11.3808 12.9999 10C12.9999 8.61933 11.8806 7.50004 10.4999 7.50004C9.11921 7.50004 7.99992 8.61933 7.99992 10C7.99992 11.3808 9.11921 12.5 10.4999 12.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1995_16400\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(0.5)\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n @if ((gs.userAccess | async)?.Global_User_isEdit) {\r\n <span class=\"mx-3 cursor-pointer\" *ngIf=\"userInfo.role!=='user'\">\r\n <button type=\"button\" (click)=\"assignStore(user)\"\r\n [disabled]=\"!user?.isActive || user?.role ==='superadmin'\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\">\r\n <span class=\"mx-2\">Assign</span>\r\n </button>\r\n </span>\r\n }\r\n <span class=\"form-check form-switch\" *ngIf=\"userInfo.role!=='user'\">\r\n <input class=\"form-check-input mt-3\" type=\"checkbox\" role=\"switch\" id=\"support\"\r\n [disabled]=\"!((gs.userAccess | async)?.Global_User_isEdit)\"\r\n (change)=\"userStatusChange(user,i)\" [(ngModel)]=\"userList[i].isActive\">\r\n @if (userList[i].isActive) {\r\n Active\r\n } @else {\r\n Deactive\r\n }\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!loading && !noData\" class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12 my-3\">\r\n <lib-pagination *ngIf=\"userList.length!==0\" [itemsPerPage]=\"pagination.limit\" [currentPage]=\"pagination.offset\"\r\n [totalItems]=\"pagination.totalCount\" [paginationSizes]=\"paginationSizes\" [pageSize]=\"paginationSize()\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div>\r\n <div *ngIf=\"loading\" 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 mb-10\">\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\r\n <div *ngIf=\"noData\" class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\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/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--begin::Row-->\r\n<div *ngIf=\"receivedData ==='Role Value'\" class=\"row gx-5 gx-xl-10\">\r\n <!--begin::Col-->\r\n <div class=\"col-xxl-12 col-md-12 col-xl-12 col-lg-12\">\r\n <lib-roles-permission-table (dataEvent)=\"receiveData($event)\"></lib-roles-permission-table>\r\n </div>\r\n <!--end::Col-->\r\n</div>\r\n<!--end::Row-->\r\n\r\n<ng-template #bulkUpload let-modal>\r\n <div class=\"card-body flex-column p-9\">\r\n <div class=\"header-title\">Bulk Assign</div>\r\n <div class=\"d-flex justify-content-start align-items-center\">\r\n <div class=\"fw-bold text-gray-500 mt-6\">\r\n <ol class=\"custom-ordered-list text-gray-400 fw-bold px-5 fs-6\">\r\n <li class=\"user-text\">Use the template below to assign multiple users to multiple stores at once.</li>\r\n <li class=\"user-text my-3\"><span class=\"user-text\">Download the template here - </span>\r\n <a class=\"ms-1\" href=\"../../../assets/files/BulkAssignTemplate.xlsx\" download>\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=\"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.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"template ms-2\">Download Template</span>\r\n </a>\r\n </li>\r\n <li class=\"user-text my-3\">Add your data to the Template File</li>\r\n <li class=\"user-text my-3\">Upload it below for processing</li> \r\n </ol>\r\n </div>\r\n </div>\r\n <div class=\" w-100 right-bar d-flex justify-content-center align-items-center flex-column\" >\r\n <input name=\"accountType\" type=\"radio\" id=\"kt_create_account_form_account_type_personal1\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\" value=\"personal1\"\r\n class=\"btn-check\"\r\n (change)=\"onUpload1($event)\"\r\n ng-reflect-value=\"personal\" type=\"file\" #inputFile1 />\r\n <label for=\"kt_create_account_form_account_type_personal1\" class=\" w-1-0 p-4\"><span\r\n class=\"fw-bold text-center w-100 fs-4\">\r\n <div class=\"d-flex justify-content-center align-items-center w-100\">\r\n <svg width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\"\r\n stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4047_40566)\">\r\n <path\r\n d=\"M26.3333 26.3334L23 23M23 23L19.6666 26.3334M23 23V30.5M29.9916 28.325C30.8044 27.8819 31.4465 27.1808 31.8165 26.3322C32.1866 25.4837 32.2635 24.5361 32.0351 23.6389C31.8068 22.7418 31.2862 21.9463 30.5555 21.3779C29.8248 20.8095 28.9257 20.5006 28 20.5H26.95C26.6977 19.5244 26.2276 18.6186 25.5749 17.8509C24.9222 17.0831 24.104 16.4732 23.1817 16.0672C22.2594 15.6612 21.2571 15.4695 20.2501 15.5066C19.243 15.5437 18.2575 15.8086 17.3676 16.2814C16.4777 16.7542 15.7066 17.4226 15.1122 18.2363C14.5177 19.0501 14.1155 19.988 13.9358 20.9795C13.756 21.9711 13.8034 22.9905 14.0743 23.9611C14.3452 24.9317 14.8327 25.8282 15.5 26.5834\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4047_40566\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\"\r\n transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n <div class=\"nodata-title mb-3\"><span class=\"click-upload cursor-pointer\">Click to\r\n upload</span>\r\n </div>\r\n <div class=\"nodata-sub\">the data added template file for processing.</div>\r\n </span>\r\n </label>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #afterValidation let-model>\r\n <div class=\"card border-0\">\r\n <div class=\"card-header border-0 mt-0\">\r\n <div class=\"card-title mt-3\"><span class=\"config-heading fw-semibold w-auto\">Bulk Assign</span></div>\r\n </div>\r\n <div class=\"card-body pt-0 popup-scroll\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{getEmailCounts(excelData)}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Total Records</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div class=\"fw-semibold config-heading w-100\">{{excelData?.length}}</div>\r\n <div class=\"fw-semibold subtitle mt-1\">Rows processed</div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"popup-card rounded-3 p-3 flex-column h-70px\">\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error w-100 error-heading' \r\n : 'fw-semibold w-100 config-heading'\">\r\n {{ excelError?.error?.length || 0 }}\r\n </div>\r\n <div [ngClass]=\"excelError \r\n ? 'fw-semibold text-error mt-1 excel-error' \r\n : 'fw-semibold subtitle mt-1'\">\r\n Error\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!excelError\" class=\"table-header mt-5\" style=\"font-weight: 400;\">\r\n <div >You're about to assign {{getEmailCounts(excelData)}} {{getEmailCounts(excelData) > 1 ? 'Users' : 'User'}}. Are you sure want to proceed?</div>\r\n \r\n </div>\r\n <div *ngIf=\"excelError\" class=\"flex-column mt-5\">\r\n <div class=\"config-heading fw-bold\">Invalid Details !</div>\r\n <div class=\"subtitle mt-5\">Please provide correct information.</div>\r\n <div class=\"p-5 w-100 rounded-3 border-error mt-5 flex-column\">\r\n <div *ngFor=\"let error of excelError?.error; let i = index; let last = last\" [ngClass]=\"!last ? 'mb-2' : ''\" class=\"text-error\">{{i + 1}}) {{error}}</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"card-footer border-0 d-flex justify-content-end flex-wrap gap-2 pt-0\">\r\n <button class=\"btn btn-md btn-default btn-outline\" (click)=\"closeactivepopup()\">Cancel</button>\r\n <button *ngIf=\"!excelError\" class=\"btn btn-md py-3 btn-default btn-primary\" (click)=\"proceedSubmit()\">Proceed</button>\r\n <button *ngIf=\"excelError\" class=\"btn py-3 btn-md btn-default ms-3 btn-danger\" (click)=\"file1.click();\">Reupload</button>\r\n <input style=\"display: none;\" #file1 type=\"file\" id=\"kt_account_team_size_select_2\" accept = \".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n (change)=\"onUpload1($event)\" />\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".border-val{color:var(--Gray-700, #344054)!important;font-family:Inter;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}.table-title-primary{color:var(--Primary-700, #009BF3)!important;font-weight:500!important}.table-sub{line-height:30px!important;color:var(--Gray-500, #667085)!important}td{padding:16px 24px!important;line-height:36px!important}.img-src{width:25%;height:20%}.border-val{padding:10px;border-radius:12px;border:1px solid var(--Gray-200, #EAECF0);background:#fff;box-shadow:0 0 20px #4c577d05}.role-title{color:var(--Primary-600, #344054);font-size:16px;font-weight:600;line-height:24px}.col-md-4{width:31%!important}.user-list{color:var(--Gray-700, #344054);font-size:16px;line-height:24px}.rotate{rotate:180deg;transition:1s}.p-4{padding:.85rem!important}.inputcheck input[type=checkbox]{width:18px!important;height:18px!important;margin:0;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.inputcheck input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.inputcheck 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:0!important;padding-top:12px;padding-right:6px}table th{border-bottom:1px solid var(--Gray-200, #EAECF0)!important;background:var(--Gray-50, #F9FAFB)!important;color:var(--Gray-500, #667085)!important;font-size:12px!important;font-weight:500!important;line-height:0px!important}.rightcorner{position:absolute;top:10px;right:16px;font-size:18px}.user-text{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.right-bar{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD)}.click-upload{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-decoration-line:underline;text-transform:capitalize}.header-title{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.subtitle{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.config-heading{color:var(--Gray-900, #101828);font-size:18px;font-weight:600;line-height:28px}.table-header{color:var(--Gray-800, #1D2939);font-size:16px;font-weight:400;line-height:24px}.text-error{color:var(--Error-700, #B42318)!important;font-size:14px;font-weight:500;line-height:20px}.excel-error{color:var(--Error-600, #D92D20);font-size:14px;font-weight:500;line-height:20px}.error-heading{color:var(--Error-600, #D92D20);font-size:20px;font-weight:500;line-height:30px}.border-error{border:1px solid var(--Error-300, #FDA29B)!important;background:var(--Error-25, #FFFBFA)!important}.popup-card{border-radius:6px;border:1px solid var(--Gray-300, #D0D5DD);background:#fff;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f}.popup-scroll{min-height:auto;max-height:400px;overflow-y:auto}\n"] }]
|
|
4414
4414
|
}], ctorParameters: () => [{ type: i1$1.NgbModal }, { type: i2.PageInfoService }, { type: i0.ChangeDetectorRef }, { type: ExcelService }, { type: i2.GlobalStateService }, { type: i4.ToastService }, { type: UserService }, { type: i3.Router }, { type: i3.ActivatedRoute }], propDecorators: { dataToParent: [{
|
|
4415
4415
|
type: Output
|
|
4416
4416
|
}], bulkUpload: [{
|