@ieeesa-npm/groups 0.15.26 → 0.15.27
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/interested-rosters/interested-rosters.component.mjs +2 -2
- package/esm2022/lib/components/tree-view/tree-view.component.mjs +12 -6
- package/esm2022/lib/groups.component.mjs +26 -4
- package/esm2022/lib/models/feature-flag.model.mjs +6 -0
- package/esm2022/lib/models/permission-type.model.mjs +2 -2
- package/esm2022/lib/models/tenant-feature.model.mjs +2 -0
- package/esm2022/lib/services/group-permissions-map-service.mjs +10 -1
- package/esm2022/lib/services/groups.service.mjs +66 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ieeesa-npm-groups.mjs +117 -10
- package/fesm2022/ieeesa-npm-groups.mjs.map +1 -1
- package/lib/components/tree-view/tree-view.component.d.ts +8 -1
- package/lib/groups.component.d.ts +15 -1
- package/lib/models/feature-flag.model.d.ts +3 -0
- package/lib/models/permission-type.model.d.ts +1 -1
- package/lib/models/tenant-feature.model.d.ts +16 -0
- package/lib/services/groups.service.d.ts +45 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -842,10 +842,16 @@ var PermissionType;
|
|
|
842
842
|
PermissionType["MANAGE_ALL_GROUPS"] = "MANAGE_ALL_GROUPS";
|
|
843
843
|
PermissionType["VIEW_ALL_ROSTERS"] = "VIEW_ALL_ROSTERS";
|
|
844
844
|
PermissionType["MANAGE_ALL_ROSTERS"] = "MANAGE_ALL_ROSTERS";
|
|
845
|
-
PermissionType["
|
|
845
|
+
PermissionType["VIEW_AND_MANAGE_GROUP_INTEREST"] = "VIEW_AND_MANAGE_GROUP_INTEREST";
|
|
846
846
|
PermissionType["RESTRICT_GROUPS_AND_ROSTERS"] = "RESTRICT_GROUPS_AND_ROSTERS";
|
|
847
847
|
})(PermissionType || (PermissionType = {}));
|
|
848
848
|
|
|
849
|
+
/* eslint-disable no-unused-vars */
|
|
850
|
+
var FeatureFlag;
|
|
851
|
+
(function (FeatureFlag) {
|
|
852
|
+
FeatureFlag["INTEREST_FORM"] = "FEATURE_INTEREST_FORM";
|
|
853
|
+
})(FeatureFlag || (FeatureFlag = {}));
|
|
854
|
+
|
|
849
855
|
/* eslint-disable no-unused-vars */
|
|
850
856
|
var RoleType;
|
|
851
857
|
(function (RoleType) {
|
|
@@ -902,6 +908,15 @@ class GroupPermissionsMapService {
|
|
|
902
908
|
permissionName: 'Manage Group Member',
|
|
903
909
|
permissionId: 'PERM_1969fecb-6383-446e-9276-b6a7b7265cb4',
|
|
904
910
|
},
|
|
911
|
+
{
|
|
912
|
+
// SP3M-380: Per-group permission gating the "Manage Interest Form" action.
|
|
913
|
+
// permissionId is the FE join key and MUST match the backend DB seed;
|
|
914
|
+
// permissionName is the BE guard-match string and MUST equal the DB
|
|
915
|
+
// permission_name (groups-api changelog + PermissionConstants).
|
|
916
|
+
permissionType: PermissionType.VIEW_AND_MANAGE_GROUP_INTEREST,
|
|
917
|
+
permissionName: 'View and Manage Group Interest Form',
|
|
918
|
+
permissionId: 'PERM_VIEW_AND_MANAGE_GROUP_INTEREST',
|
|
919
|
+
},
|
|
905
920
|
];
|
|
906
921
|
this.globalGroupPermissions = [
|
|
907
922
|
{
|
|
@@ -1008,6 +1023,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1008
1023
|
* always reflect the tenant configuration regardless of @Input/resolver timing.
|
|
1009
1024
|
*/
|
|
1010
1025
|
const REQUIRED_PROFILE_FIELDS_STORAGE_KEY = 'REQUIRED_PROFILE_FIELDS';
|
|
1026
|
+
/**
|
|
1027
|
+
* Local storage key under which the hosting application caches the tenant's
|
|
1028
|
+
* feature flags at login (shape: a bare `TenantFeature[]`). The interest-form
|
|
1029
|
+
* gate reads this cache as the source of truth so it reflects the tenant
|
|
1030
|
+
* configuration regardless of @Input/resolver timing.
|
|
1031
|
+
*/
|
|
1032
|
+
const TENANT_FEATURES_STORAGE_KEY = 'TENANT_FEATURES';
|
|
1011
1033
|
/**
|
|
1012
1034
|
* Groups service is an abstract layer and responsible for managing groups REST API calls.
|
|
1013
1035
|
* @class GroupsService
|
|
@@ -1039,6 +1061,12 @@ class GroupsService {
|
|
|
1039
1061
|
* list and the sample file. Empty when the tenant has none configured.
|
|
1040
1062
|
*/
|
|
1041
1063
|
this.requiredProfileFields = [];
|
|
1064
|
+
/**
|
|
1065
|
+
* Tenant feature flags supplied by the host app. Used by
|
|
1066
|
+
* {@link isInterestFormFeatureEnabled} to gate interest-form UI. Empty when
|
|
1067
|
+
* the host has not provided any features (fail-closed).
|
|
1068
|
+
*/
|
|
1069
|
+
this.tenantFeatures = [];
|
|
1042
1070
|
this.openModalNotifier = new BehaviorSubject(GroupFunctionType.VIEW_ROSTER);
|
|
1043
1071
|
this.canShowMessage = false;
|
|
1044
1072
|
this.isParentGroupChanged = false;
|
|
@@ -1075,6 +1103,44 @@ class GroupsService {
|
|
|
1075
1103
|
setRequiredProfileFields(requiredProfileFields) {
|
|
1076
1104
|
this.requiredProfileFields = requiredProfileFields ?? [];
|
|
1077
1105
|
}
|
|
1106
|
+
/**
|
|
1107
|
+
* Stores the tenant feature flags provided by the host app. Consumed by
|
|
1108
|
+
* {@link isInterestFormFeatureEnabled} to gate interest-form UI.
|
|
1109
|
+
* @param {TenantFeature[]} tenantFeatures - Tenant feature flags.
|
|
1110
|
+
* @memberof GroupsService
|
|
1111
|
+
*/
|
|
1112
|
+
setTenantFeatures(tenantFeatures) {
|
|
1113
|
+
this.tenantFeatures = tenantFeatures ?? [];
|
|
1114
|
+
}
|
|
1115
|
+
/**
|
|
1116
|
+
* Returns the tenant feature flags (never null).
|
|
1117
|
+
*
|
|
1118
|
+
* Reads the local storage cache the hosting application writes at login (key
|
|
1119
|
+
* `TENANT_FEATURES`, a bare `TenantFeature[]`) as the source of truth, so the
|
|
1120
|
+
* interest-form gate reflects the tenant configuration regardless of the
|
|
1121
|
+
* @Input/resolver timing.
|
|
1122
|
+
*
|
|
1123
|
+
* The cache is only trusted when it is well-formed for the active
|
|
1124
|
+
* application: it must be an array and its entries must belong to the current
|
|
1125
|
+
* user's `appId`. The `TENANT_FEATURES` key is origin-wide, so a cache written
|
|
1126
|
+
* by another application on the same origin could otherwise flip the
|
|
1127
|
+
* interest-form gate with a different tenant's flags. When the cache is
|
|
1128
|
+
* missing, malformed, or scoped to another app, it falls back to the in-memory
|
|
1129
|
+
* value set via {@link setTenantFeatures} (the host @Input), then to an empty
|
|
1130
|
+
* list.
|
|
1131
|
+
* @return {TenantFeature[]}
|
|
1132
|
+
* @memberof GroupsService
|
|
1133
|
+
*/
|
|
1134
|
+
getTenantFeatures() {
|
|
1135
|
+
const cached = this.storageService?.getValue(TENANT_FEATURES_STORAGE_KEY);
|
|
1136
|
+
const activeAppId = this.getUserInfo()?.appId;
|
|
1137
|
+
const isCacheUsable = Array.isArray(cached) &&
|
|
1138
|
+
(!activeAppId ||
|
|
1139
|
+
cached.every((feature) => !feature?.appId || feature.appId === activeAppId));
|
|
1140
|
+
if (isCacheUsable)
|
|
1141
|
+
return cached;
|
|
1142
|
+
return this.tenantFeatures ?? [];
|
|
1143
|
+
}
|
|
1078
1144
|
/**
|
|
1079
1145
|
* Returns the tenant-level required profile fields (never null).
|
|
1080
1146
|
*
|
|
@@ -1653,6 +1719,19 @@ class GroupsService {
|
|
|
1653
1719
|
}
|
|
1654
1720
|
return this.userPermissionsService.validateAccessPermission(permissionType, this.getUserGroupPermissions());
|
|
1655
1721
|
}
|
|
1722
|
+
/**
|
|
1723
|
+
* SP3M-380: Returns true when the interest-form feature
|
|
1724
|
+
* (`FEATURE_INTEREST_FORM`) is enabled for the current tenant. A single
|
|
1725
|
+
* boolean capability check the UI gates on. Reads the tenant features from
|
|
1726
|
+
* {@link getTenantFeatures} (local storage cache first, then the host
|
|
1727
|
+
* @Input). Fail-closed: an empty/undefined feature list, or a feature marked
|
|
1728
|
+
* deleted, yields false.
|
|
1729
|
+
* @return {boolean}
|
|
1730
|
+
* @memberof GroupsService
|
|
1731
|
+
*/
|
|
1732
|
+
isInterestFormFeatureEnabled() {
|
|
1733
|
+
return this.getTenantFeatures().some((feature) => feature?.featureId === FeatureFlag.INTEREST_FORM && !feature?.isDeleted);
|
|
1734
|
+
}
|
|
1656
1735
|
/**
|
|
1657
1736
|
* Store the loaded group types.
|
|
1658
1737
|
* @param {GroupTypeConfiguration[]} groupTypes
|
|
@@ -3380,7 +3459,14 @@ class TreeViewComponent {
|
|
|
3380
3459
|
}
|
|
3381
3460
|
}
|
|
3382
3461
|
/**
|
|
3383
|
-
* Returns the
|
|
3462
|
+
* Returns the group action menu items the current user may see for the given
|
|
3463
|
+
* group, filtered by per-group permissions and group type. The "Manage
|
|
3464
|
+
* Interest Form" action (SP3M-380) is gated: it renders only when the
|
|
3465
|
+
* interest-form feature is enabled for the tenant
|
|
3466
|
+
* (GroupsService.isInterestFormFeatureEnabled()) AND the user holds the
|
|
3467
|
+
* VIEW_AND_MANAGE_GROUP_INTEREST permission for that group. When the feature
|
|
3468
|
+
* is disabled the action is hidden regardless of permission; when enabled it
|
|
3469
|
+
* is shown only to permitted users and kept leftmost by the trailing sort.
|
|
3384
3470
|
* @param {GroupNode} group
|
|
3385
3471
|
* @return {Menu[]}
|
|
3386
3472
|
* @memberof TreeViewComponent
|
|
@@ -3417,10 +3503,9 @@ class TreeViewComponent {
|
|
|
3417
3503
|
(this.groupsService.validateAccess(this.permissionType.CREATE_SUBGROUP, groupPermissions) ||
|
|
3418
3504
|
this.groupsService.validateAccess(this.permissionType.MANAGE_ALL_GROUPS)) &&
|
|
3419
3505
|
!isAdminGroupType) ||
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
e?.id === GroupAction.MANAGE_INTEREST_FORM) {
|
|
3506
|
+
(e?.id === GroupAction.MANAGE_INTEREST_FORM &&
|
|
3507
|
+
this.groupsService.isInterestFormFeatureEnabled() &&
|
|
3508
|
+
this.groupsService.validateAccess(this.permissionType.VIEW_AND_MANAGE_GROUP_INTEREST, groupPermissions))) {
|
|
3424
3509
|
filteredMenu.push(e);
|
|
3425
3510
|
}
|
|
3426
3511
|
});
|
|
@@ -5929,7 +6014,7 @@ class InterestedRostersComponent {
|
|
|
5929
6014
|
this.totalRecords = 0;
|
|
5930
6015
|
this.paginatorConfig = { ...this.paginatorConfig, totalRecords: 0 };
|
|
5931
6016
|
this.isLoading = false;
|
|
5932
|
-
this.groupsService.handleErrors(error);
|
|
6017
|
+
this.groupsService.handleErrors(error, false);
|
|
5933
6018
|
this.cdr.detectChanges();
|
|
5934
6019
|
},
|
|
5935
6020
|
});
|
|
@@ -9477,6 +9562,23 @@ class GroupsComponent {
|
|
|
9477
9562
|
get requiredProfileFields() {
|
|
9478
9563
|
return this._requiredProfileFields;
|
|
9479
9564
|
}
|
|
9565
|
+
/**
|
|
9566
|
+
* Tenant feature flags supplied by the host app from its cached tenant
|
|
9567
|
+
* configuration. Passed to GroupsService so interest-form UI (e.g. the
|
|
9568
|
+
* "Manage Interest Form" tree action) is gated on whether the feature is
|
|
9569
|
+
* enabled for the tenant. Optional — defaults to none (fail-closed).
|
|
9570
|
+
*
|
|
9571
|
+
* Implemented as a setter so EVERY input update (including a late,
|
|
9572
|
+
* async-resolved value that arrives after ngOnInit) is propagated to the
|
|
9573
|
+
* singleton GroupsService — not just the initial binding.
|
|
9574
|
+
*/
|
|
9575
|
+
set tenantFeatures(value) {
|
|
9576
|
+
this._tenantFeatures = value ?? [];
|
|
9577
|
+
this.groupsService?.setTenantFeatures(this._tenantFeatures);
|
|
9578
|
+
}
|
|
9579
|
+
get tenantFeatures() {
|
|
9580
|
+
return this._tenantFeatures;
|
|
9581
|
+
}
|
|
9480
9582
|
constructor(
|
|
9481
9583
|
// eslint-disable-next-line no-unused-vars
|
|
9482
9584
|
dialog,
|
|
@@ -9540,6 +9642,7 @@ class GroupsComponent {
|
|
|
9540
9642
|
groupsDescription: this.viewGroupTexts?.groupsDescription,
|
|
9541
9643
|
};
|
|
9542
9644
|
this._requiredProfileFields = [];
|
|
9645
|
+
this._tenantFeatures = [];
|
|
9543
9646
|
this.permissionType = PermissionType;
|
|
9544
9647
|
this.alignmentType = AlignType;
|
|
9545
9648
|
this.canReopenViewRosterModal = false;
|
|
@@ -9572,8 +9675,10 @@ class GroupsComponent {
|
|
|
9572
9675
|
this.userPermissionsService.filterUserGroupPermissions(this.userPermissions, this.groupPermissionsService?.getGlobalGroupPermissions());
|
|
9573
9676
|
this.groupsService.setUserGroupPermissions(this.userGroupPermissions);
|
|
9574
9677
|
this.groupsService?.setAppConfig(this.apiBaseURL, this.userPermissions);
|
|
9575
|
-
|
|
9576
|
-
//
|
|
9678
|
+
this.groupsService?.setTenantFeatures(this._tenantFeatures);
|
|
9679
|
+
// requiredProfileFields and tenantFeatures are also propagated to the
|
|
9680
|
+
// service by their @Input setters (covering both the initial binding and
|
|
9681
|
+
// any later async-resolved update).
|
|
9577
9682
|
this.getGroupTypes();
|
|
9578
9683
|
this.groupsService?.openModalNotifier
|
|
9579
9684
|
?.pipe(takeUntil(this.destroy$))
|
|
@@ -10231,7 +10336,7 @@ class GroupsComponent {
|
|
|
10231
10336
|
this.destroy$.unsubscribe();
|
|
10232
10337
|
}
|
|
10233
10338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupsComponent, deps: [{ token: i1.MatDialog }, { token: GroupsService }, { token: i3$1.AlertsService }, { token: i2.BreakpointObserverService }, { token: i3$1.GlobalErrorHandlerService }, { token: UserPermissionsService }, { token: GroupPermissionsMapService }, { token: i3$1.StorageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10234
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GroupsComponent, isStandalone: true, selector: "ieeesa-groups", inputs: { groupsPageInfo: "groupsPageInfo", applicationId: "applicationId", apiBaseURL: "apiBaseURL", userPermissions: "userPermissions", userInfo: "userInfo", requiredProfileFields: "requiredProfileFields" }, providers: [AlertsService], ngImport: i0, template: "<div class=\"ieeesa-groups px-4\">\r\n <div\r\n class=\"ieeesa-groups__info d-flex justify-content-between pb-3 align-items-center\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__info--white-bg'\r\n : 'ieeesa-groups__info--blue-bg'\r\n \"\r\n >\r\n <p\r\n class=\"mb-0\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-title-lg-24 p-0'\r\n : 'ieeesa-headline-lg-32 ieeesa-groups__info__heading'\r\n \"\r\n >\r\n {{ groupsPageInfo?.groupsTitle }}\r\n </p>\r\n <div\r\n class=\"d-flex d-sm-flex d-md-none d-lg-none d-xl-none ieeesa-groups__mobile-icons gap-2\"\r\n >\r\n <ieeesa-icon-button\r\n [iconButton]=\"createGroupIcon\"\r\n *ngIf=\"\r\n !isGroupsAndRostersRestricted() &&\r\n (validateAccess(permissionType.CREATE_ROOT_GROUP) ||\r\n validateAccess(this.permissionType.MANAGE_ALL_GROUPS))\r\n \"\r\n (iconButtonClick)=\"openCreateGroupForm()\"\r\n >\r\n </ieeesa-icon-button>\r\n <ieeesa-icon-button\r\n [iconButton]=\"filterGroupIcon\"\r\n (iconButtonClick)=\"showGroupFilter()\"\r\n >\r\n </ieeesa-icon-button>\r\n <ieeesa-icon-button\r\n [iconButton]=\"searchGroupIcon\"\r\n (iconButtonClick)=\"onGroupSearch()\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-groups__actions\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__actions--white-bg'\r\n : 'ieeesa-groups__actions--blue-bg'\r\n \"\r\n >\r\n <div class=\"ieeesa-groups__actions--search row\">\r\n <div\r\n class=\"order-2 order-sm-1 col-12 col-md-7 col-lg-7 col-xl-7 d-flex flex-column justify-content-between\"\r\n >\r\n <p class=\"ieeesa-body-md-16\">\r\n {{ groupsPageInfo?.groupsDescription }}\r\n </p>\r\n <button\r\n [ngClass]=\"\r\n isMobileView ? 'p-0' : 'ieeesa-groups__actions__add-group-btn'\r\n \"\r\n mat-button\r\n *ngIf=\"\r\n !isGroupsAndRostersRestricted() &&\r\n (validateAccess(permissionType.CREATE_ROOT_GROUP) ||\r\n validateAccess(this.permissionType.MANAGE_ALL_GROUPS))\r\n \"\r\n class=\"ieeesa-groups__create-subgroup mat-tertiary-button d-none d-sm-none d-md-block d-lg-block d-xl-block\"\r\n (click)=\"openCreateGroupForm()\"\r\n [attr.aria-label]=\"constants?.viewGroups?.ariaLabel?.addGroup\"\r\n >\r\n {{ constants?.viewGroups?.addGroup }}\r\n </button>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"\r\n ((isGroupSearchActive || isGroupFilterActive) && isMobileView) ||\r\n !isMobileView\r\n \"\r\n class=\"order-1 order-sm-2 col-12 col-md-5 col-lg-5 col-xl-5 d-flex flex-column\"\r\n [ngClass]=\"isMobileView ? 'ieeesa-search-mobile-view' : ''\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isGroupSearchActive || !isMobileView\"\r\n (searchValue)=\"onGroupSearchClick($event)\"\r\n [searchTerm]=\"trimmedSearchTerm\"\r\n [searchType]=\"searchType\"\r\n [placeholderLabel]=\"searchPlaceHolderText\"\r\n [minCharacterToSearch]=\"minCharacterToSearch\"\r\n [supportMessage]=\"supportMessage\"\r\n ></ieeesa-search>\r\n\r\n <ieeesa-select\r\n *ngIf=\"isGroupFilterActive || !isMobileView\"\r\n class=\"align-self-end pt-lg-4 pt-md-4 pt-xl-4\"\r\n [isSortNeeded]=\"false\"\r\n [dropdownOptions]=\"selectGroupOptions\"\r\n [isLabelAlignedLeft]=\"true\"\r\n [selectLabel]=\"constants?.viewGroups?.filterByLabel\"\r\n (optionSelected)=\"onGroupTypeFiltered($event)\"\r\n [placeholderText]=\"filterPlaceHolderText\"\r\n [selectedOptions]=\"selectedGroupType\"\r\n ></ieeesa-select>\r\n </div>\r\n </div>\r\n <ieeesa-tree\r\n *ngIf=\"parentGroupsInfo && parentGroupsInfo.length > 0\"\r\n [parentGroupsInfo]=\"parentGroupsInfo\"\r\n [childGroupsInfo]=\"childGroupsInfo\"\r\n [deletedGroupIdInfo]=\"deletedGroupId\"\r\n [isGroupSearchOrFilterActive]=\"isGroupSearchOrFilterActive\"\r\n [userGroupPermissions]=\"userGroupPermissions\"\r\n (toggleGroupClick)=\"getGroups($event)\"\r\n (createGroupClick)=\"openCreateGroupForm($event)\"\r\n (deleteGroupClick)=\"openDeleteConfirmationModal($event)\"\r\n (viewRosterClick)=\"viewRoster($event)\"\r\n (editGroupClick)=\"openEditGroupForm($event)\"\r\n (manageInterestFormClick)=\"openRosterInterests($event)\"\r\n ></ieeesa-tree>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-groups{background-color:#f2f2f2}.ieeesa-groups__mobile-icons .ieeesa-icon-button__svg{height:1.5em!important;width:1.5em!important}.ieeesa-groups__mobile-icons .ieeesa-icon-button__3{display:flex;padding-top:0}.ieeesa-groups__info--white-bg{background-color:#fff;padding:16px 24px 0}.ieeesa-groups__info__heading{padding:12px 0}.ieeesa-groups__actions{background-color:#fff;box-shadow:0 2px #00b5e2 inset;padding:16px 24px 48px}.ieeesa-groups__actions--white-bg{background-color:#fff;box-shadow:none}.ieeesa-groups__actions__add-group-btn{max-width:8.125em}.ieeesa-groups__actions--search .ieeesa-search-mobile-view{margin-bottom:1em}.ieeesa-groups .ieeesa-select-field__label{width:max-content;padding-right:9px}.ieeesa-groups .ieeesa-select-field__label-left{display:flex;align-items:center}.ieeesa-groups .ieeesa-select-field .mat-mdc-form-field{width:auto}.ieeesa-groups .ieeesa-select-field .ieeesa-form-support-text,.ieeesa-groups .ieeesa-select-field .mat-mdc-form-field-subscript-wrapper{display:none}@media (min-width: 767px){.ieeesa-groups__actions--search{margin-bottom:1em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: SearchComponent, selector: "ieeesa-search", inputs: ["formControlName", "placeholderLabel", "searchTerm", "supportMessage", "searchType", "minCharacterToSearch"], outputs: ["searchValue"] }, { kind: "component", type: SelectComponent, selector: "ieeesa-select", inputs: ["isSortNeeded", "dropdownOptions", "selectedOptions", "formControlName", "isMultiLevel", "isLabelAlignedLeft", "selectLabel", "isMultiSelect", "isDisabled", "isSearch", "placeholderText"], outputs: ["optionSelected", "optionSearched", "dropdownOpenedChange"] }, { kind: "component", type: TreeViewComponent, selector: "ieeesa-tree", inputs: ["parentGroupsInfo", "childGroupsInfo", "isGroupSearchOrFilterActive", "deletedGroupIdInfo", "userGroupPermissions"], outputs: ["toggleGroupClick", "createGroupClick", "editGroupClick", "deleteGroupClick", "viewRosterClick", "manageInterestFormClick"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
10339
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GroupsComponent, isStandalone: true, selector: "ieeesa-groups", inputs: { groupsPageInfo: "groupsPageInfo", applicationId: "applicationId", apiBaseURL: "apiBaseURL", userPermissions: "userPermissions", userInfo: "userInfo", requiredProfileFields: "requiredProfileFields", tenantFeatures: "tenantFeatures" }, providers: [AlertsService], ngImport: i0, template: "<div class=\"ieeesa-groups px-4\">\r\n <div\r\n class=\"ieeesa-groups__info d-flex justify-content-between pb-3 align-items-center\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__info--white-bg'\r\n : 'ieeesa-groups__info--blue-bg'\r\n \"\r\n >\r\n <p\r\n class=\"mb-0\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-title-lg-24 p-0'\r\n : 'ieeesa-headline-lg-32 ieeesa-groups__info__heading'\r\n \"\r\n >\r\n {{ groupsPageInfo?.groupsTitle }}\r\n </p>\r\n <div\r\n class=\"d-flex d-sm-flex d-md-none d-lg-none d-xl-none ieeesa-groups__mobile-icons gap-2\"\r\n >\r\n <ieeesa-icon-button\r\n [iconButton]=\"createGroupIcon\"\r\n *ngIf=\"\r\n !isGroupsAndRostersRestricted() &&\r\n (validateAccess(permissionType.CREATE_ROOT_GROUP) ||\r\n validateAccess(this.permissionType.MANAGE_ALL_GROUPS))\r\n \"\r\n (iconButtonClick)=\"openCreateGroupForm()\"\r\n >\r\n </ieeesa-icon-button>\r\n <ieeesa-icon-button\r\n [iconButton]=\"filterGroupIcon\"\r\n (iconButtonClick)=\"showGroupFilter()\"\r\n >\r\n </ieeesa-icon-button>\r\n <ieeesa-icon-button\r\n [iconButton]=\"searchGroupIcon\"\r\n (iconButtonClick)=\"onGroupSearch()\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-groups__actions\"\r\n [ngClass]=\"\r\n isMobileView\r\n ? 'ieeesa-groups__actions--white-bg'\r\n : 'ieeesa-groups__actions--blue-bg'\r\n \"\r\n >\r\n <div class=\"ieeesa-groups__actions--search row\">\r\n <div\r\n class=\"order-2 order-sm-1 col-12 col-md-7 col-lg-7 col-xl-7 d-flex flex-column justify-content-between\"\r\n >\r\n <p class=\"ieeesa-body-md-16\">\r\n {{ groupsPageInfo?.groupsDescription }}\r\n </p>\r\n <button\r\n [ngClass]=\"\r\n isMobileView ? 'p-0' : 'ieeesa-groups__actions__add-group-btn'\r\n \"\r\n mat-button\r\n *ngIf=\"\r\n !isGroupsAndRostersRestricted() &&\r\n (validateAccess(permissionType.CREATE_ROOT_GROUP) ||\r\n validateAccess(this.permissionType.MANAGE_ALL_GROUPS))\r\n \"\r\n class=\"ieeesa-groups__create-subgroup mat-tertiary-button d-none d-sm-none d-md-block d-lg-block d-xl-block\"\r\n (click)=\"openCreateGroupForm()\"\r\n [attr.aria-label]=\"constants?.viewGroups?.ariaLabel?.addGroup\"\r\n >\r\n {{ constants?.viewGroups?.addGroup }}\r\n </button>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"\r\n ((isGroupSearchActive || isGroupFilterActive) && isMobileView) ||\r\n !isMobileView\r\n \"\r\n class=\"order-1 order-sm-2 col-12 col-md-5 col-lg-5 col-xl-5 d-flex flex-column\"\r\n [ngClass]=\"isMobileView ? 'ieeesa-search-mobile-view' : ''\"\r\n >\r\n <ieeesa-search\r\n *ngIf=\"isGroupSearchActive || !isMobileView\"\r\n (searchValue)=\"onGroupSearchClick($event)\"\r\n [searchTerm]=\"trimmedSearchTerm\"\r\n [searchType]=\"searchType\"\r\n [placeholderLabel]=\"searchPlaceHolderText\"\r\n [minCharacterToSearch]=\"minCharacterToSearch\"\r\n [supportMessage]=\"supportMessage\"\r\n ></ieeesa-search>\r\n\r\n <ieeesa-select\r\n *ngIf=\"isGroupFilterActive || !isMobileView\"\r\n class=\"align-self-end pt-lg-4 pt-md-4 pt-xl-4\"\r\n [isSortNeeded]=\"false\"\r\n [dropdownOptions]=\"selectGroupOptions\"\r\n [isLabelAlignedLeft]=\"true\"\r\n [selectLabel]=\"constants?.viewGroups?.filterByLabel\"\r\n (optionSelected)=\"onGroupTypeFiltered($event)\"\r\n [placeholderText]=\"filterPlaceHolderText\"\r\n [selectedOptions]=\"selectedGroupType\"\r\n ></ieeesa-select>\r\n </div>\r\n </div>\r\n <ieeesa-tree\r\n *ngIf=\"parentGroupsInfo && parentGroupsInfo.length > 0\"\r\n [parentGroupsInfo]=\"parentGroupsInfo\"\r\n [childGroupsInfo]=\"childGroupsInfo\"\r\n [deletedGroupIdInfo]=\"deletedGroupId\"\r\n [isGroupSearchOrFilterActive]=\"isGroupSearchOrFilterActive\"\r\n [userGroupPermissions]=\"userGroupPermissions\"\r\n (toggleGroupClick)=\"getGroups($event)\"\r\n (createGroupClick)=\"openCreateGroupForm($event)\"\r\n (deleteGroupClick)=\"openDeleteConfirmationModal($event)\"\r\n (viewRosterClick)=\"viewRoster($event)\"\r\n (editGroupClick)=\"openEditGroupForm($event)\"\r\n (manageInterestFormClick)=\"openRosterInterests($event)\"\r\n ></ieeesa-tree>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-groups{background-color:#f2f2f2}.ieeesa-groups__mobile-icons .ieeesa-icon-button__svg{height:1.5em!important;width:1.5em!important}.ieeesa-groups__mobile-icons .ieeesa-icon-button__3{display:flex;padding-top:0}.ieeesa-groups__info--white-bg{background-color:#fff;padding:16px 24px 0}.ieeesa-groups__info__heading{padding:12px 0}.ieeesa-groups__actions{background-color:#fff;box-shadow:0 2px #00b5e2 inset;padding:16px 24px 48px}.ieeesa-groups__actions--white-bg{background-color:#fff;box-shadow:none}.ieeesa-groups__actions__add-group-btn{max-width:8.125em}.ieeesa-groups__actions--search .ieeesa-search-mobile-view{margin-bottom:1em}.ieeesa-groups .ieeesa-select-field__label{width:max-content;padding-right:9px}.ieeesa-groups .ieeesa-select-field__label-left{display:flex;align-items:center}.ieeesa-groups .ieeesa-select-field .mat-mdc-form-field{width:auto}.ieeesa-groups .ieeesa-select-field .ieeesa-form-support-text,.ieeesa-groups .ieeesa-select-field .mat-mdc-form-field-subscript-wrapper{display:none}@media (min-width: 767px){.ieeesa-groups__actions--search{margin-bottom:1em}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: SearchComponent, selector: "ieeesa-search", inputs: ["formControlName", "placeholderLabel", "searchTerm", "supportMessage", "searchType", "minCharacterToSearch"], outputs: ["searchValue"] }, { kind: "component", type: SelectComponent, selector: "ieeesa-select", inputs: ["isSortNeeded", "dropdownOptions", "selectedOptions", "formControlName", "isMultiLevel", "isLabelAlignedLeft", "selectLabel", "isMultiSelect", "isDisabled", "isSearch", "placeholderText"], outputs: ["optionSelected", "optionSearched", "dropdownOpenedChange"] }, { kind: "component", type: TreeViewComponent, selector: "ieeesa-tree", inputs: ["parentGroupsInfo", "childGroupsInfo", "isGroupSearchOrFilterActive", "deletedGroupIdInfo", "userGroupPermissions"], outputs: ["toggleGroupClick", "createGroupClick", "editGroupClick", "deleteGroupClick", "viewRosterClick", "manageInterestFormClick"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
10235
10340
|
}
|
|
10236
10341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GroupsComponent, decorators: [{
|
|
10237
10342
|
type: Component,
|
|
@@ -10257,6 +10362,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10257
10362
|
type: Input
|
|
10258
10363
|
}], requiredProfileFields: [{
|
|
10259
10364
|
type: Input
|
|
10365
|
+
}], tenantFeatures: [{
|
|
10366
|
+
type: Input
|
|
10260
10367
|
}] } });
|
|
10261
10368
|
|
|
10262
10369
|
/* eslint-disable no-unused-vars */
|