@memberjunction/ng-explorer-settings 2.32.2 → 2.34.0

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/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # @memberjunction/ng-explorer-settings
2
+
3
+ Angular components for managing MemberJunction application settings, including users, roles, and permissions.
4
+
5
+ ## Features
6
+
7
+ - Complete settings management for MemberJunction Explorer
8
+ - User management with activation/deactivation functionality
9
+ - Role management and assignment
10
+ - Application entity configuration
11
+ - Entity permissions management
12
+ - Consistent navigation between settings sections
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ npm install @memberjunction/ng-explorer-settings
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ Import the module in your application:
23
+
24
+ ```typescript
25
+ import { ExplorerSettingsModule } from '@memberjunction/ng-explorer-settings';
26
+
27
+ @NgModule({
28
+ imports: [
29
+ // ...
30
+ ExplorerSettingsModule
31
+ ]
32
+ })
33
+ export class YourModule { }
34
+ ```
35
+
36
+ ## Components
37
+
38
+ ### SettingsComponent
39
+
40
+ The main component that provides navigation between different settings sections:
41
+
42
+ ```html
43
+ <mj-settings></mj-settings>
44
+ ```
45
+
46
+ The component handles routing to different settings sections:
47
+ - `/settings/users` - User management
48
+ - `/settings/user/:id` - Individual user details
49
+ - `/settings/roles` - Role management
50
+ - `/settings/role/:id` - Individual role details
51
+ - `/settings/applications` - Application management
52
+ - `/settings/application/:name` - Individual application details
53
+ - `/settings/entitypermissions` - Entity permission management
54
+
55
+ ### SingleUserComponent
56
+
57
+ Component for managing an individual user:
58
+
59
+ ```html
60
+ <mj-single-user [UserID]="userId"></mj-single-user>
61
+ ```
62
+
63
+ ### SingleRoleComponent
64
+
65
+ Component for managing an individual role:
66
+
67
+ ```html
68
+ <mj-single-role [RoleID]="roleId"></mj-single-role>
69
+ ```
70
+
71
+ ### SingleApplicationComponent
72
+
73
+ Component for managing an individual application:
74
+
75
+ ```html
76
+ <mj-single-application [ApplicationID]="applicationId"></mj-single-application>
77
+ ```
78
+
79
+ ### UserRolesGridComponent
80
+
81
+ Grid component for managing role assignments for a user:
82
+
83
+ ```html
84
+ <mj-user-roles-grid [UserID]="userId"></mj-user-roles-grid>
85
+ ```
86
+
87
+ ### ApplicationEntitiesGridComponent
88
+
89
+ Grid component for managing entities associated with an application:
90
+
91
+ ```html
92
+ <mj-application-entities-grid [ApplicationID]="applicationId"></mj-application-entities-grid>
93
+ ```
94
+
95
+ ## User Management Features
96
+
97
+ The settings module includes special functionality for user management, such as:
98
+
99
+ - Activating/deactivating users instead of deleting them
100
+ - Role assignment
101
+ - User details editing
102
+
103
+ Example of user activation toggle:
104
+
105
+ ```typescript
106
+ // Toggle user activation status
107
+ async function toggleUserActivation(user: UserEntity) {
108
+ user.IsActive = !user.IsActive;
109
+ await user.Save();
110
+ }
111
+ ```
112
+
113
+ ## Integration
114
+
115
+ This module integrates with other MemberJunction Explorer components:
116
+ - Uses simple-record-list for displaying entity records
117
+ - Uses entity-form-dialog for editing records
118
+ - Uses entity-permissions for permission management
119
+ - Uses tabstrip for sectioned display
120
+ - Uses notifications for user feedback
@@ -33,6 +33,20 @@ export declare class SettingsComponent extends BaseNavigationComponent implement
33
33
  selectApplication(a: BaseEntity): void;
34
34
  selectRole(r: BaseEntity): void;
35
35
  selectUser(u: BaseEntity): void;
36
+ /**
37
+ * Function that returns the appropriate Font Awesome icon for the user toggle button
38
+ * based on the user's IsActive status
39
+ */
40
+ getUserToggleIcon(record: BaseEntity): string;
41
+ /**
42
+ * Function that returns the appropriate tooltip text for the user toggle button
43
+ * based on the user's IsActive status
44
+ */
45
+ getUserToggleTooltip(record: BaseEntity): string;
46
+ /**
47
+ * Handles toggling a user's activation status when the custom action is confirmed
48
+ */
49
+ toggleUserActivation(record: BaseEntity): Promise<void>;
36
50
  selectRoute(route: string, value: any): void;
37
51
  leftNavItemSelected(option: {
38
52
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.component.d.ts","sourceRoot":"","sources":["../../../src/lib/settings/settings.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;;AAGpE,oBAAY,YAAY;IACtB,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;CAC5B;AAED,qBAMa,iBAAkB,SAAQ,uBAAwB,YAAW,MAAM;IAgClE,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,cAAc;IA/BnD,WAAW,EAAE,YAAY,CAAsB;IAC/C,SAAS,EAAE,MAAM,CAAe;IAEhC,cAAc,EAAE,MAAM,CAAM;IAC5B,cAAc,EAAE,MAAM,CAAM;IAC5B,uBAAuB,EAAE,MAAM,CAAM;IACrC,qBAAqB,EAAE,MAAM,CAAM;IAEnC,OAAO;;;QAKZ;IAGK,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,WAAW,GAAE,OAAc;IAU1E,WAAW,CAAC,OAAO,EAAE,MAAM;gBAKP,MAAM,EAAE,MAAM,EAAU,cAAc,EAAE,cAAc;IAK1E,QAAQ;IAYR,+BAA+B;IAyCxB,iBAAiB,CAAC,CAAC,EAAE,UAAU;IAG/B,UAAU,CAAC,CAAC,EAAE,UAAU;IAGxB,UAAU,CAAC,CAAC,EAAE,UAAU;IAGxB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIrC,mBAAmB,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC;yCAvGnD,iBAAiB;2CAAjB,iBAAiB;CA4G7B"}
1
+ {"version":3,"file":"settings.component.d.ts","sourceRoot":"","sources":["../../../src/lib/settings/settings.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AAI5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;;AAGpE,oBAAY,YAAY;IACtB,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;CAC5B;AAED,qBAMa,iBAAkB,SAAQ,uBAAwB,YAAW,MAAM;IAgClE,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,cAAc;IA/BnD,WAAW,EAAE,YAAY,CAAsB;IAC/C,SAAS,EAAE,MAAM,CAAe;IAEhC,cAAc,EAAE,MAAM,CAAM;IAC5B,cAAc,EAAE,MAAM,CAAM;IAC5B,uBAAuB,EAAE,MAAM,CAAM;IACrC,qBAAqB,EAAE,MAAM,CAAM;IAEnC,OAAO;;;QAKZ;IAGK,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,WAAW,GAAE,OAAc;IAU1E,WAAW,CAAC,OAAO,EAAE,MAAM;gBAKP,MAAM,EAAE,MAAM,EAAU,cAAc,EAAE,cAAc;IAK1E,QAAQ;IAYR,+BAA+B;IAyCxB,iBAAiB,CAAC,CAAC,EAAE,UAAU;IAG/B,UAAU,CAAC,CAAC,EAAE,UAAU;IAGxB,UAAU,CAAC,CAAC,EAAE,UAAU;IAI/B;;;OAGG;IACI,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAKpD;;;OAGG;IACI,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAKvD;;OAEG;IACU,oBAAoB,CAAC,MAAM,EAAE,UAAU;IAmC7C,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIrC,mBAAmB,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC;yCAhKnD,iBAAiB;2CAAjB,iBAAiB;CAqK7B"}
@@ -4,10 +4,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
7
16
  import { Component } from '@angular/core';
8
17
  import { NavigationEnd } from '@angular/router';
9
18
  import { Metadata } from '@memberjunction/core';
10
19
  import { RegisterClass } from '@memberjunction/global';
20
+ import { MJNotificationService } from '@memberjunction/ng-notifications';
11
21
  import { BaseNavigationComponent } from '@memberjunction/ng-shared';
12
22
  import { filter } from 'rxjs/operators';
13
23
  import * as i0 from "@angular/core";
@@ -40,10 +50,11 @@ function SettingsComponent_Case_4_Template(rf, ctx) { if (rf & 1) {
40
50
  function SettingsComponent_Case_5_Template(rf, ctx) { if (rf & 1) {
41
51
  const _r4 = i0.ɵɵgetCurrentView();
42
52
  i0.ɵɵelementStart(0, "mj-simple-record-list", 11);
43
- i0.ɵɵlistener("RecordSelected", function SettingsComponent_Case_5_Template_mj_simple_record_list_RecordSelected_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectUser($event)); });
53
+ i0.ɵɵlistener("RecordSelected", function SettingsComponent_Case_5_Template_mj_simple_record_list_RecordSelected_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.selectUser($event)); })("CustomActionConfirmed", function SettingsComponent_Case_5_Template_mj_simple_record_list_CustomActionConfirmed_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleUserActivation($event)); });
44
54
  i0.ɵɵelementEnd();
45
55
  } if (rf & 2) {
46
- i0.ɵɵproperty("Columns", i0.ɵɵpureFunction0(1, _c0));
56
+ const ctx_r2 = i0.ɵɵnextContext();
57
+ i0.ɵɵproperty("Columns", i0.ɵɵpureFunction0(8, _c0))("AllowDelete", false)("AllowCustomAction", true)("CustomActionIconFunction", ctx_r2.getUserToggleIcon)("CustomActionTooltipFunction", ctx_r2.getUserToggleTooltip)("CustomActionDialogTitle", "Toggle User Activation")("CustomActionDialogMessage", "Are you sure you want to toggle activation for this user?")("CustomActionDialogInfo", "Active users can log in to the system. Inactive users cannot log in.");
47
58
  } }
48
59
  function SettingsComponent_Case_6_Template(rf, ctx) { if (rf & 1) {
49
60
  i0.ɵɵelement(0, "mj-single-user", 5);
@@ -175,6 +186,49 @@ let SettingsComponent = class SettingsComponent extends BaseNavigationComponent
175
186
  selectUser(u) {
176
187
  this.selectRoute('/settings/user', u.ID);
177
188
  }
189
+ /**
190
+ * Function that returns the appropriate Font Awesome icon for the user toggle button
191
+ * based on the user's IsActive status
192
+ */
193
+ getUserToggleIcon(record) {
194
+ const user = record;
195
+ return user.IsActive ? 'fa-user-lock' : 'fa-user-check';
196
+ }
197
+ /**
198
+ * Function that returns the appropriate tooltip text for the user toggle button
199
+ * based on the user's IsActive status
200
+ */
201
+ getUserToggleTooltip(record) {
202
+ const user = record;
203
+ return user.IsActive ? 'Deactivate user' : 'Activate user';
204
+ }
205
+ /**
206
+ * Handles toggling a user's activation status when the custom action is confirmed
207
+ */
208
+ toggleUserActivation(record) {
209
+ return __awaiter(this, void 0, void 0, function* () {
210
+ try {
211
+ const user = record;
212
+ // Get current status
213
+ const currentlyActive = user.IsActive;
214
+ const userName = user.Name;
215
+ // Toggle the IsActive flag
216
+ user.IsActive = !currentlyActive;
217
+ if (yield user.Save()) {
218
+ MJNotificationService.Instance.CreateSimpleNotification(`User ${userName} has been ${currentlyActive ? 'deactivated' : 'activated'} successfully.`, 'success', 3000);
219
+ // Refresh the user list
220
+ this.selectItem(SettingsItem.Users);
221
+ }
222
+ else {
223
+ MJNotificationService.Instance.CreateSimpleNotification(`Error ${currentlyActive ? 'deactivating' : 'activating'} user ${userName}`, 'error', 5000);
224
+ }
225
+ }
226
+ catch (error) {
227
+ console.error('Error toggling user activation:', error);
228
+ MJNotificationService.Instance.CreateSimpleNotification('An error occurred while toggling user activation.', 'error', 5000);
229
+ }
230
+ });
231
+ }
178
232
  selectRoute(route, value) {
179
233
  this.router.navigate([route, value]);
180
234
  }
@@ -185,12 +239,12 @@ let SettingsComponent = class SettingsComponent extends BaseNavigationComponent
185
239
  }
186
240
  };
187
241
  SettingsComponent.ɵfac = function SettingsComponent_Factory(t) { return new (t || SettingsComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i1.ActivatedRoute)); };
188
- SettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SettingsComponent, selectors: [["mj-settings"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 6, consts: [["mjFillContainer", "", 1, "container", 3, "bottomMargin", "rightMargin"], ["mjFillContainer", "", 1, "options-container", 3, "fillWidth"], ["class", "option-item", 3, "selected", "click", 4, "ngFor", "ngForOf"], ["mjFillContainer", "", 1, "display-container", 3, "fillWidth"], ["EntityName", "Users", "SortBy", "Name", 3, "Columns"], [3, "UserID"], ["EntityName", "Roles", "SortBy", "Name", 3, "Columns"], ["mjFillContainer", "", 3, "RoleID"], ["EntityName", "Applications", "SortBy", "Name", 3, "Columns"], [3, "ApplicationID"], [1, "option-item", 3, "click"], ["EntityName", "Users", "SortBy", "Name", 3, "RecordSelected", "Columns"], ["EntityName", "Roles", "SortBy", "Name", 3, "RecordSelected", "Columns"], ["EntityName", "Applications", "SortBy", "Name", 3, "RecordSelected", "Columns"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
242
+ SettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SettingsComponent, selectors: [["mj-settings"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 6, consts: [["mjFillContainer", "", 1, "container", 3, "bottomMargin", "rightMargin"], ["mjFillContainer", "", 1, "options-container", 3, "fillWidth"], ["class", "option-item", 3, "selected", "click", 4, "ngFor", "ngForOf"], ["mjFillContainer", "", 1, "display-container", 3, "fillWidth"], ["EntityName", "Users", "SortBy", "Name", 3, "Columns", "AllowDelete", "AllowCustomAction", "CustomActionIconFunction", "CustomActionTooltipFunction", "CustomActionDialogTitle", "CustomActionDialogMessage", "CustomActionDialogInfo"], [3, "UserID"], ["EntityName", "Roles", "SortBy", "Name", 3, "Columns"], ["mjFillContainer", "", 3, "RoleID"], ["EntityName", "Applications", "SortBy", "Name", 3, "Columns"], [3, "ApplicationID"], [1, "option-item", 3, "click"], ["EntityName", "Users", "SortBy", "Name", 3, "RecordSelected", "CustomActionConfirmed", "Columns", "AllowDelete", "AllowCustomAction", "CustomActionIconFunction", "CustomActionTooltipFunction", "CustomActionDialogTitle", "CustomActionDialogMessage", "CustomActionDialogInfo"], ["EntityName", "Roles", "SortBy", "Name", 3, "RecordSelected", "Columns"], ["EntityName", "Applications", "SortBy", "Name", 3, "RecordSelected", "Columns"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
189
243
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
190
244
  i0.ɵɵtemplate(2, SettingsComponent_div_2_Template, 2, 3, "div", 2);
191
245
  i0.ɵɵelementEnd();
192
246
  i0.ɵɵelementStart(3, "div", 3);
193
- i0.ɵɵtemplate(4, SettingsComponent_Case_4_Template, 1, 0, "mj-entity-permissions-selector-with-grid")(5, SettingsComponent_Case_5_Template, 1, 2, "mj-simple-record-list", 4)(6, SettingsComponent_Case_6_Template, 1, 1, "mj-single-user", 5)(7, SettingsComponent_Case_7_Template, 1, 2, "mj-simple-record-list", 6)(8, SettingsComponent_Case_8_Template, 1, 1, "mj-single-role", 7)(9, SettingsComponent_Case_9_Template, 1, 2, "mj-simple-record-list", 8)(10, SettingsComponent_Case_10_Template, 1, 1, "mj-single-application", 9);
247
+ i0.ɵɵtemplate(4, SettingsComponent_Case_4_Template, 1, 0, "mj-entity-permissions-selector-with-grid")(5, SettingsComponent_Case_5_Template, 1, 9, "mj-simple-record-list", 4)(6, SettingsComponent_Case_6_Template, 1, 1, "mj-single-user", 5)(7, SettingsComponent_Case_7_Template, 1, 2, "mj-simple-record-list", 6)(8, SettingsComponent_Case_8_Template, 1, 1, "mj-single-role", 7)(9, SettingsComponent_Case_9_Template, 1, 2, "mj-simple-record-list", 8)(10, SettingsComponent_Case_10_Template, 1, 1, "mj-single-application", 9);
194
248
  i0.ɵɵelementEnd()();
195
249
  } if (rf & 2) {
196
250
  let tmp_5_0;
@@ -210,7 +264,7 @@ SettingsComponent = __decorate([
210
264
  export { SettingsComponent };
211
265
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SettingsComponent, [{
212
266
  type: Component,
213
- args: [{ selector: 'mj-settings', template: "<div class=\"container\" mjFillContainer [bottomMargin]=\"5\" [rightMargin]=\"0\">\n <!-- Options container -->\n <div class=\"options-container\" mjFillContainer [fillWidth]=\"false\">\n <div *ngFor=\"let o of options\"\n class=\"option-item\"\n [class.selected]=\"leftNavItemSelected(o)\"\n (click)=\"selectItem(o.value)\"\n >{{o.label}}</div>\n </div>\n\n <!-- Display container -->\n <div class=\"display-container\" mjFillContainer [fillWidth]=\"false\">\n <!-- <mj-join-grid\n RowsEntityName=\"Entities\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsExtraFilter=\"SchemaName <> '__mj' AND (Name like 'a%' or Name like 'p%')\"\n RowsOrderBy=\"Name\"\n ColumnsEntityName=\"Actions\"\n ColumnsEntityDisplayField=\"Name\"\n ColumnsEntityDataSource= \"FullEntity\"\n ColumnsMode=\"Entity\"\n ColumnsExtraFilter=\"Name like 'v%' or Name like 'd%' or Name like 'test%'\"\n ColumnsOrderBy=\"Name\"\n JoinEntityName=\"Entity Actions\"\n JoinEntityRowForeignKey=\"EntityID\"\n JoinEntityColumnForeignKey=\"ActionID\"\n CheckBoxValueMode=\"RecordExists\"\n \n style=\"height: 750px; width: 800px;\"\n >\n\n </mj-join-grid> -->\n @switch (currentItem) {\n @case ('EntityPermissions') {\n <mj-entity-permissions-selector-with-grid></mj-entity-permissions-selector-with-grid>\n }\n @case ('Users') {\n <mj-simple-record-list\n EntityName=\"Users\"\n SortBy=\"Name\"\n [Columns]=\"['Name', 'Email', 'IsActive', 'Type']\"\n (RecordSelected)=\"selectUser($event)\"\n ></mj-simple-record-list>\n }\n @case ('User') {\n <mj-single-user [UserID]=\"selectedUserID\"></mj-single-user>\n }\n @case ('Roles') {\n <mj-simple-record-list\n EntityName=\"Roles\"\n SortBy=\"Name\"\n [Columns]=\"['Name', 'Description']\"\n (RecordSelected)=\"selectRole($event)\"\n ></mj-simple-record-list>\n }\n @case ('Role') {\n <mj-single-role [RoleID]=\"selectedRoleID\" mjFillContainer></mj-single-role>\n }\n @case ('Applications') {\n <mj-simple-record-list\n EntityName=\"Applications\"\n SortBy=\"Name\"\n [Columns]=\"['Name', 'Description']\"\n (RecordSelected)=\"selectApplication($event)\"\n ></mj-simple-record-list>\n }\n @case ('Application') {\n <mj-single-application [ApplicationID]=\"selectedApplicationID\"></mj-single-application>\n }\n }\n </div>\n</div>", styles: [".container {\n display: block;\n width: 100%;\n overflow: hidden; \n}\n\n.options-container {\n float: left; /* Float to the left */\n width: 150px; /* Fixed width as specified */\n flex: 0 0 150px;\n padding: 10px;\n border-right: solid 1px lightgray;\n box-sizing: border-box; /* Ensures padding is included in the width */\n}\n\n.option-item {\n cursor: pointer;\n margin-bottom: 10px; /* Adds space between the options for better readability */\n padding: 5px 10px; /* Optional: Adds some padding for a better visual appearance */\n border-radius: 4px; /* Optional: Adds rounded corners for a more polished look */\n}\n\n.display-container {\n display: block; /* Ensures it's treated as a block-level element */\n margin-left: 160px; /* Width of the options-container plus its padding */\n padding: 10px;\n box-sizing: border-box; /* Ensures padding doesn't add to the width */\n}\n\n.selected {\n background-color: #007bff; /* A blue background for selected item */\n color: white; /* White text color for better contrast */\n padding: 5px 10px; /* Optional: Adds some padding for a better visual appearance */\n border-radius: 4px; /* Optional: Adds rounded corners for a more polished look */\n}\n"] }]
267
+ args: [{ selector: 'mj-settings', template: "<div class=\"container\" mjFillContainer [bottomMargin]=\"5\" [rightMargin]=\"0\">\n <!-- Options container -->\n <div class=\"options-container\" mjFillContainer [fillWidth]=\"false\">\n <div *ngFor=\"let o of options\"\n class=\"option-item\"\n [class.selected]=\"leftNavItemSelected(o)\"\n (click)=\"selectItem(o.value)\"\n >{{o.label}}</div>\n </div>\n\n <!-- Display container -->\n <div class=\"display-container\" mjFillContainer [fillWidth]=\"false\">\n <!-- <mj-join-grid\n RowsEntityName=\"Entities\"\n RowsEntityDisplayField=\"Name\"\n RowsEntityDataSource=\"FullEntity\"\n RowsExtraFilter=\"SchemaName <> '__mj' AND (Name like 'a%' or Name like 'p%')\"\n RowsOrderBy=\"Name\"\n ColumnsEntityName=\"Actions\"\n ColumnsEntityDisplayField=\"Name\"\n ColumnsEntityDataSource= \"FullEntity\"\n ColumnsMode=\"Entity\"\n ColumnsExtraFilter=\"Name like 'v%' or Name like 'd%' or Name like 'test%'\"\n ColumnsOrderBy=\"Name\"\n JoinEntityName=\"Entity Actions\"\n JoinEntityRowForeignKey=\"EntityID\"\n JoinEntityColumnForeignKey=\"ActionID\"\n CheckBoxValueMode=\"RecordExists\"\n \n style=\"height: 750px; width: 800px;\"\n >\n\n </mj-join-grid> -->\n @switch (currentItem) {\n @case ('EntityPermissions') {\n <mj-entity-permissions-selector-with-grid></mj-entity-permissions-selector-with-grid>\n }\n @case ('Users') {\n <mj-simple-record-list\n EntityName=\"Users\"\n SortBy=\"Name\"\n [Columns]=\"['Name', 'Email', 'IsActive', 'Type']\" \n [AllowDelete]=\"false\"\n [AllowCustomAction]=\"true\"\n [CustomActionIconFunction]=\"getUserToggleIcon\"\n [CustomActionTooltipFunction]=\"getUserToggleTooltip\"\n [CustomActionDialogTitle]=\"'Toggle User Activation'\"\n [CustomActionDialogMessage]=\"'Are you sure you want to toggle activation for this user?'\"\n [CustomActionDialogInfo]=\"'Active users can log in to the system. Inactive users cannot log in.'\"\n (RecordSelected)=\"selectUser($event)\"\n (CustomActionConfirmed)=\"toggleUserActivation($event)\"\n ></mj-simple-record-list>\n }\n @case ('User') {\n <mj-single-user [UserID]=\"selectedUserID\"></mj-single-user>\n }\n @case ('Roles') {\n <mj-simple-record-list\n EntityName=\"Roles\"\n SortBy=\"Name\"\n [Columns]=\"['Name', 'Description']\"\n (RecordSelected)=\"selectRole($event)\"\n ></mj-simple-record-list>\n }\n @case ('Role') {\n <mj-single-role [RoleID]=\"selectedRoleID\" mjFillContainer></mj-single-role>\n }\n @case ('Applications') {\n <mj-simple-record-list\n EntityName=\"Applications\"\n SortBy=\"Name\"\n [Columns]=\"['Name', 'Description']\"\n (RecordSelected)=\"selectApplication($event)\"\n ></mj-simple-record-list>\n }\n @case ('Application') {\n <mj-single-application [ApplicationID]=\"selectedApplicationID\"></mj-single-application>\n }\n }\n </div>\n</div>", styles: [".container {\n display: block;\n width: 100%;\n overflow: hidden; \n}\n\n.options-container {\n float: left; /* Float to the left */\n width: 150px; /* Fixed width as specified */\n flex: 0 0 150px;\n padding: 10px;\n border-right: solid 1px lightgray;\n box-sizing: border-box; /* Ensures padding is included in the width */\n}\n\n.option-item {\n cursor: pointer;\n margin-bottom: 10px; /* Adds space between the options for better readability */\n padding: 5px 10px; /* Optional: Adds some padding for a better visual appearance */\n border-radius: 4px; /* Optional: Adds rounded corners for a more polished look */\n}\n\n.display-container {\n display: block; /* Ensures it's treated as a block-level element */\n margin-left: 160px; /* Width of the options-container plus its padding */\n padding: 10px;\n box-sizing: border-box; /* Ensures padding doesn't add to the width */\n}\n\n.selected {\n background-color: #007bff; /* A blue background for selected item */\n color: white; /* White text color for better contrast */\n padding: 5px 10px; /* Optional: Adds some padding for a better visual appearance */\n border-radius: 4px; /* Optional: Adds rounded corners for a more polished look */\n}\n"] }]
214
268
  }], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], null); })();
215
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SettingsComponent, { className: "SettingsComponent", filePath: "src/lib/settings/settings.component.ts", lineNumber: 25 }); })();
269
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SettingsComponent, { className: "SettingsComponent", filePath: "src/lib/settings/settings.component.ts", lineNumber: 26 }); })();
216
270
  //# sourceMappingURL=settings.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.component.js","sourceRoot":"","sources":["../../../src/lib/settings/settings.component.ts","../../../src/lib/settings/settings.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.component.js","sourceRoot":"","sources":["../../../src/lib/settings/settings.component.ts","../../../src/lib/settings/settings.component.html"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAClD,OAAO,EAAkB,aAAa,EAAU,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAc,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;;;;;;ICJhC,+BAIC;IADG,iMAAS,6BAAmB,KAAC;IAChC,YAAW;IAAA,iBAAM;;;;IAFd,4DAAyC;IAE5C,cAAW;IAAX,gCAAW;;;IA4BJ,2DAAqF;;;;IAGrF,iDAaC;IADG,AADA,qNAAkB,yBAAkB,KAAC,sNACZ,mCAA4B,KAAC;IACzD,iBAAwB;;;IAHrB,AADA,AADA,AADA,AADA,AADA,AADA,AADA,oDAAiD,sBAC5B,2BACK,sDACoB,4DACM,qDACA,0FACqC,kGACQ;;;IAMrG,oCAA2D;;;IAA3C,8CAAyB;;;;IAGzC,iDAKC;IADG,qNAAkB,yBAAkB,KAAC;IACxC,iBAAwB;;IAFrB,oDAAmC;;;IAKvC,oCAA2E;;;IAA3D,8CAAyB;;;;IAGzC,iDAKC;IADG,qNAAkB,gCAAyB,KAAC;IAC/C,iBAAwB;;IAFrB,oDAAmC;;;IAKvC,2CAAuF;;;IAAhE,4DAAuC;;ADnE9E,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,uDAAuC,CAAA;IACvC,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6CAA6B,CAAA;IAC7B,2CAA2B,CAAA;AAC7B,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB;AAQM,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,uBAAuB;IAiBrD,UAAU,CAAC,IAA2B,EAAE,cAAuB,IAAI;QACxE,IAAI,OAAO,IAAI,KAAK,QAAQ;YAC1B,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,IAAiC,CAAC,CAAC;;YAEnE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAE1B,IAAI,WAAW;YACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAoB,MAAc,EAAU,cAA8B;QACxE,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAQ;QAAU,mBAAc,GAAd,cAAc,CAAgB;QA/BnE,gBAAW,GAAiB,YAAY,CAAC,KAAK,CAAC;QAC/C,cAAS,GAAW,WAAW,CAAC;QAEhC,mBAAc,GAAW,EAAE,CAAC;QAC5B,mBAAc,GAAW,EAAE,CAAC;QAC5B,4BAAuB,GAAW,EAAE,CAAC;QACrC,0BAAqB,GAAW,EAAE,CAAC;QAEnC,YAAO,GAAG;YACf,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE;YAC7C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE;YAC7C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,YAAY,EAAE;YAC3D,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,CAAC,iBAAiB,EAAE;SACvE,CAAC;IAoBF,CAAC;IAGD,QAAQ;QACN,iCAAiC;QACjC,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,iCAAiC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACnB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,aAAa,CAAC,CAChD,CAAC,SAAS,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAEF,+BAA+B;;QAC7B,sEAAsE;QACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEnE,8DAA8D;QAC9D,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1C,KAAK,mBAAmB;gBACtB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,GAAG,MAAA,MAAA,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,uBAAuB,CAAC,0CAAE,EAAE,mCAAI,EAAE,CAAC;gBAC1G,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1C,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAEM,iBAAiB,CAAC,CAAa;QACpC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAsB,CAAE,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IACM,UAAU,CAAC,CAAa;QAC7B,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAe,CAAE,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACM,UAAU,CAAC,CAAa;QAC7B,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAe,CAAE,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,MAAkB;QACzC,MAAM,IAAI,GAAG,MAAoB,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,MAAkB;QAC5C,MAAM,IAAI,GAAG,MAAoB,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;IAC7D,CAAC;IAED;;OAEG;IACU,oBAAoB,CAAC,MAAkB;;YAClD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAoB,CAAC;gBAClC,qBAAqB;gBACrB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBAE3B,2BAA2B;gBAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC;gBAEjC,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtB,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,QAAQ,QAAQ,aAAa,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,gBAAgB,EAC1F,SAAS,EACT,IAAI,CACL,CAAC;oBAEF,wBAAwB;oBACxB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,SAAS,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,SAAS,QAAQ,EAAE,EAC3E,OAAO,EACP,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBACxD,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CACrD,mDAAmD,EACnD,OAAO,EACP,IAAI,CACL,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;IACM,WAAW,CAAC,KAAa,EAAE,KAAU;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAEM,mBAAmB,CAAC,MAAmC;QAC5D,4GAA4G;QAC5G,gGAAgG;QAChG,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACtF,CAAC;;kFApKU,iBAAiB;oEAAjB,iBAAiB;QCvB1B,AAFJ,8BAA4E,aAEL;QAC/D,kEAIC;QACL,iBAAM;QAGN,8BAAmE;QAgE3D,AARA,AAHA,AARA,AAHA,AAhBA,AAHA,qGAA6B,wEAGZ,iEAgBD,wEAGC,iEAQD,wEAGQ,0EAQD;QAKnC,AADI,iBAAM,EACJ;;;QAhFoD,AAAnB,gCAAkB,kBAAkB;QAExB,cAAmB;QAAnB,iCAAmB;QAC3C,cAAU;QAAV,qCAAU;QAQc,cAAmB;QAAnB,iCAAmB;QAsB9D,cA6CC;QA7CD,iDAAA,mBAAmB,mBAAnB,OAAO,mBAAP,MAAM,mBAAN,OAAO,mBAAP,MAAM,mBAAN,cAAc,mBAAd,aAAa,WA6CZ;;ADrDI,iBAAiB;IAD7B,aAAa,CAAC,uBAAuB,EAAE,UAAU,CAAC;GACtC,iBAAiB,CAqK7B;;iFArKY,iBAAiB;cAN7B,SAAS;2BACE,aAAa;;kFAKZ,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-explorer-settings",
3
- "version": "2.32.2",
3
+ "version": "2.34.0",
4
4
  "description": "MemberJunction: Reusable Angular components for the settings section of the MJ Explorer App",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -25,17 +25,18 @@
25
25
  "@angular/router": "18.0.2"
26
26
  },
27
27
  "dependencies": {
28
- "@memberjunction/core-entities": "2.32.2",
29
- "@memberjunction/global": "2.32.2",
30
- "@memberjunction/core": "2.32.2",
31
- "@memberjunction/ng-container-directives": "2.32.2",
32
- "@memberjunction/ng-shared": "2.32.2",
33
- "@memberjunction/ng-entity-permissions": "2.32.2",
34
- "@memberjunction/ng-base-forms": "2.32.2",
35
- "@memberjunction/ng-entity-form-dialog": "2.32.2",
36
- "@memberjunction/ng-user-view-grid": "2.32.2",
37
- "@memberjunction/ng-simple-record-list": "2.32.2",
38
- "@memberjunction/ng-tabstrip": "2.32.2",
28
+ "@memberjunction/core-entities": "2.34.0",
29
+ "@memberjunction/global": "2.34.0",
30
+ "@memberjunction/core": "2.34.0",
31
+ "@memberjunction/ng-container-directives": "2.34.0",
32
+ "@memberjunction/ng-shared": "2.34.0",
33
+ "@memberjunction/ng-notifications": "2.34.0",
34
+ "@memberjunction/ng-entity-permissions": "2.34.0",
35
+ "@memberjunction/ng-base-forms": "2.34.0",
36
+ "@memberjunction/ng-entity-form-dialog": "2.34.0",
37
+ "@memberjunction/ng-user-view-grid": "2.34.0",
38
+ "@memberjunction/ng-simple-record-list": "2.34.0",
39
+ "@memberjunction/ng-tabstrip": "2.34.0",
39
40
  "@progress/kendo-angular-dropdowns": "16.2.0",
40
41
  "@progress/kendo-angular-grid": "16.2.0",
41
42
  "@progress/kendo-angular-buttons": "16.2.0",