@memberjunction/ng-explorer-settings 0.9.5 → 0.9.6

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.
@@ -13,8 +13,9 @@ import * as i11 from "@progress/kendo-angular-buttons";
13
13
  import * as i12 from "@progress/kendo-angular-icons";
14
14
  import * as i13 from "@progress/kendo-angular-dropdowns";
15
15
  import * as i14 from "@memberjunction/ng-entity-permissions";
16
+ import * as i15 from "@progress/kendo-angular-layout";
16
17
  export declare class ExplorerSettingsModule {
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ExplorerSettingsModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<ExplorerSettingsModule, [typeof i1.SingleRoleComponent, typeof i2.SettingsComponent, typeof i3.RolesListComponent], [typeof i4.CommonModule, typeof i5.GridModule, typeof i6.FormsModule, typeof i7.DialogsModule, typeof i8.ExcelExportModule, typeof i9.CompareRecordsModule, typeof i10.ContainerDirectivesModule, typeof i11.ButtonsModule, typeof i12.IconsModule, typeof i13.DropDownsModule, typeof i14.EntityPermissionsModule], [typeof i1.SingleRoleComponent, typeof i2.SettingsComponent, typeof i3.RolesListComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ExplorerSettingsModule, [typeof i1.SingleRoleComponent, typeof i2.SettingsComponent, typeof i3.RolesListComponent], [typeof i4.CommonModule, typeof i5.GridModule, typeof i6.FormsModule, typeof i7.DialogsModule, typeof i8.ExcelExportModule, typeof i9.CompareRecordsModule, typeof i10.ContainerDirectivesModule, typeof i11.ButtonsModule, typeof i12.IconsModule, typeof i13.DropDownsModule, typeof i14.EntityPermissionsModule, typeof i15.TabStripModule], [typeof i1.SingleRoleComponent, typeof i2.SettingsComponent, typeof i3.RolesListComponent]>;
19
20
  static ɵinj: i0.ɵɵInjectorDeclaration<ExplorerSettingsModule>;
20
21
  }
@@ -14,6 +14,7 @@ import { SingleRoleComponent } from './single-role/single-role.component';
14
14
  import { SettingsComponent } from './settings/settings.component';
15
15
  import { RolesListComponent } from './roles-list/roles-list.component';
16
16
  import { EntityPermissionsModule } from '@memberjunction/ng-entity-permissions';
17
+ import { TabStripModule } from '@progress/kendo-angular-layout';
17
18
  import * as i0 from "@angular/core";
18
19
  export class ExplorerSettingsModule {
19
20
  }
@@ -29,7 +30,8 @@ ExplorerSettingsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [C
29
30
  ButtonsModule,
30
31
  IconsModule,
31
32
  DropDownsModule,
32
- EntityPermissionsModule] });
33
+ EntityPermissionsModule,
34
+ TabStripModule] });
33
35
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExplorerSettingsModule, [{
34
36
  type: NgModule,
35
37
  args: [{
@@ -49,7 +51,8 @@ ExplorerSettingsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [C
49
51
  ButtonsModule,
50
52
  IconsModule,
51
53
  DropDownsModule,
52
- EntityPermissionsModule
54
+ EntityPermissionsModule,
55
+ TabStripModule
53
56
  ],
54
57
  exports: [
55
58
  SingleRoleComponent,
@@ -70,6 +73,7 @@ ExplorerSettingsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [C
70
73
  ButtonsModule,
71
74
  IconsModule,
72
75
  DropDownsModule,
73
- EntityPermissionsModule], exports: [SingleRoleComponent,
76
+ EntityPermissionsModule,
77
+ TabStripModule], exports: [SingleRoleComponent,
74
78
  SettingsComponent,
75
79
  RolesListComponent] }); })();
@@ -23,50 +23,78 @@ import * as i1 from "@angular/common";
23
23
  import * as i2 from "@angular/forms";
24
24
  import * as i3 from "@memberjunction/ng-container-directives";
25
25
  import * as i4 from "@progress/kendo-angular-buttons";
26
+ import * as i5 from "@memberjunction/ng-entity-permissions";
27
+ import * as i6 from "@progress/kendo-angular-layout";
26
28
  function SingleRoleComponent_div_1_Template(rf, ctx) { if (rf & 1) {
27
29
  i0.ɵɵelementStart(0, "div");
28
30
  i0.ɵɵtext(1, "Loading...");
29
31
  i0.ɵɵelementEnd();
30
32
  } }
31
- function SingleRoleComponent_button_2_Template(rf, ctx) { if (rf & 1) {
32
- const _r4 = i0.ɵɵgetCurrentView();
33
- i0.ɵɵelementStart(0, "button", 4);
34
- i0.ɵɵlistener("click", function SingleRoleComponent_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.saveUserRoles()); });
35
- i0.ɵɵtext(1, "Save");
36
- i0.ɵɵelementEnd();
37
- } }
38
- function SingleRoleComponent_table_5_tr_8_Template(rf, ctx) { if (rf & 1) {
39
- const _r8 = i0.ɵɵgetCurrentView();
33
+ function SingleRoleComponent_ng_template_4_table_5_tr_8_Template(rf, ctx) { if (rf & 1) {
34
+ const _r7 = i0.ɵɵgetCurrentView();
40
35
  i0.ɵɵelementStart(0, "tr")(1, "td");
41
36
  i0.ɵɵtext(2);
42
37
  i0.ɵɵelementEnd();
43
- i0.ɵɵelementStart(3, "td", 7);
44
- i0.ɵɵlistener("click", function SingleRoleComponent_table_5_tr_8_Template_td_click_3_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r8); const ur_r6 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.flipState($event, ur_r6, true)); });
45
- i0.ɵɵelementStart(4, "input", 8);
46
- i0.ɵɵtwoWayListener("ngModelChange", function SingleRoleComponent_table_5_tr_8_Template_input_ngModelChange_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r8); const ur_r6 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(ur_r6.Selected, $event) || (ur_r6.Selected = $event); return i0.ɵɵresetView($event); });
47
- i0.ɵɵlistener("click", function SingleRoleComponent_table_5_tr_8_Template_input_click_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r8); const ur_r6 = restoredCtx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.flipState($event, ur_r6, false)); });
38
+ i0.ɵɵelementStart(3, "td", 12);
39
+ i0.ɵɵlistener("click", function SingleRoleComponent_ng_template_4_table_5_tr_8_Template_td_click_3_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r7); const ur_r5 = restoredCtx.$implicit; const ctx_r6 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r6.flipState($event, ur_r5, true)); });
40
+ i0.ɵɵelementStart(4, "input", 13);
41
+ i0.ɵɵtwoWayListener("ngModelChange", function SingleRoleComponent_ng_template_4_table_5_tr_8_Template_input_ngModelChange_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r7); const ur_r5 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(ur_r5.Selected, $event) || (ur_r5.Selected = $event); return i0.ɵɵresetView($event); });
42
+ i0.ɵɵlistener("click", function SingleRoleComponent_ng_template_4_table_5_tr_8_Template_input_click_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r7); const ur_r5 = restoredCtx.$implicit; const ctx_r9 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r9.flipState($event, ur_r5, false)); });
48
43
  i0.ɵɵelementEnd()()();
49
44
  } if (rf & 2) {
50
- const ur_r6 = ctx.$implicit;
45
+ const ur_r5 = ctx.$implicit;
51
46
  i0.ɵɵadvance(2);
52
- i0.ɵɵtextInterpolate(ur_r6.User);
47
+ i0.ɵɵtextInterpolate(ur_r5.User);
53
48
  i0.ɵɵadvance(2);
54
- i0.ɵɵtwoWayProperty("ngModel", ur_r6.Selected);
49
+ i0.ɵɵtwoWayProperty("ngModel", ur_r5.Selected);
55
50
  } }
56
- function SingleRoleComponent_table_5_Template(rf, ctx) { if (rf & 1) {
57
- i0.ɵɵelementStart(0, "table", 5)(1, "thead")(2, "tr")(3, "th");
51
+ function SingleRoleComponent_ng_template_4_table_5_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "table", 10)(1, "thead")(2, "tr")(3, "th");
58
53
  i0.ɵɵtext(4, "User");
59
54
  i0.ɵɵelementEnd();
60
55
  i0.ɵɵelementStart(5, "th");
61
56
  i0.ɵɵtext(6, "In Role");
62
57
  i0.ɵɵelementEnd()()();
63
58
  i0.ɵɵelementStart(7, "tbody");
64
- i0.ɵɵtemplate(8, SingleRoleComponent_table_5_tr_8_Template, 5, 2, "tr", 6);
59
+ i0.ɵɵtemplate(8, SingleRoleComponent_ng_template_4_table_5_tr_8_Template, 5, 2, "tr", 11);
65
60
  i0.ɵɵelementEnd()();
66
61
  } if (rf & 2) {
67
- const ctx_r2 = i0.ɵɵnextContext();
62
+ const ctx_r3 = i0.ɵɵnextContext(2);
68
63
  i0.ɵɵadvance(8);
69
- i0.ɵɵproperty("ngForOf", ctx_r2.userRoles);
64
+ i0.ɵɵproperty("ngForOf", ctx_r3.userRoles);
65
+ } }
66
+ function SingleRoleComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
67
+ const _r11 = i0.ɵɵgetCurrentView();
68
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 7);
69
+ i0.ɵɵtext(2);
70
+ i0.ɵɵelementEnd();
71
+ i0.ɵɵelementStart(3, "button", 8);
72
+ i0.ɵɵlistener("click", function SingleRoleComponent_ng_template_4_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.saveUserRoles()); });
73
+ i0.ɵɵtext(4, "Save");
74
+ i0.ɵɵelementEnd();
75
+ i0.ɵɵtemplate(5, SingleRoleComponent_ng_template_4_table_5_Template, 9, 1, "table", 9);
76
+ i0.ɵɵelementEnd();
77
+ } if (rf & 2) {
78
+ const ctx_r1 = i0.ɵɵnextContext();
79
+ i0.ɵɵadvance(2);
80
+ i0.ɵɵtextInterpolate1("Role: ", ctx_r1.RoleName, "");
81
+ i0.ɵɵadvance();
82
+ i0.ɵɵproperty("disabled", ctx_r1.NumDirty === 0);
83
+ i0.ɵɵadvance(2);
84
+ i0.ɵɵproperty("ngIf", !ctx_r1.isLoading);
85
+ } }
86
+ function SingleRoleComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
87
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 7);
88
+ i0.ɵɵtext(2);
89
+ i0.ɵɵelementEnd();
90
+ i0.ɵɵelement(3, "mj-entity-permissions-grid", 14);
91
+ i0.ɵɵelementEnd();
92
+ } if (rf & 2) {
93
+ const ctx_r2 = i0.ɵɵnextContext();
94
+ i0.ɵɵadvance(2);
95
+ i0.ɵɵtextInterpolate1("Role: ", ctx_r2.RoleName, "");
96
+ i0.ɵɵadvance();
97
+ i0.ɵɵproperty("RoleName", ctx_r2.RoleName);
70
98
  } }
71
99
  let UserRoleEntity_Ext = class UserRoleEntity_Ext extends UserRoleEntity {
72
100
  constructor() {
@@ -222,27 +250,26 @@ export class SingleRoleComponent {
222
250
  }
223
251
  }
224
252
  SingleRoleComponent.ɵfac = function SingleRoleComponent_Factory(t) { return new (t || SingleRoleComponent)(); };
225
- SingleRoleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleRoleComponent, selectors: [["mj-single-role"]], inputs: { RoleName: "RoleName", BottomMargin: "BottomMargin" }, features: [i0.ɵɵNgOnChangesFeature], decls: 6, vars: 4, consts: [["mjFillContainer", ""], [4, "ngIf"], ["kendoButton", "", 3, "click", 4, "ngIf"], ["class", "grid", 4, "ngIf"], ["kendoButton", "", 3, "click"], [1, "grid"], [4, "ngFor", "ngForOf"], [3, "click"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel", "ngModelChange", "click"]], template: function SingleRoleComponent_Template(rf, ctx) { if (rf & 1) {
253
+ SingleRoleComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SingleRoleComponent, selectors: [["mj-single-role"]], inputs: { RoleName: "RoleName", BottomMargin: "BottomMargin" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [["mjFillContainer", ""], [4, "ngIf"], [3, "keepTabContent", "animate"], ["title", "Users", 3, "selected"], ["kendoTabContent", ""], ["title", "Entity Permissions"], [1, "content"], [1, "role-name"], ["kendoButton", "", 3, "disabled", "click"], ["class", "grid", 4, "ngIf"], [1, "grid"], [4, "ngFor", "ngForOf"], [3, "click"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel", "ngModelChange", "click"], ["Mode", "Role", 3, "RoleName"]], template: function SingleRoleComponent_Template(rf, ctx) { if (rf & 1) {
226
254
  i0.ɵɵelementStart(0, "div", 0);
227
- i0.ɵɵtemplate(1, SingleRoleComponent_div_1_Template, 2, 0, "div", 1)(2, SingleRoleComponent_button_2_Template, 2, 0, "button", 2);
228
- i0.ɵɵelementStart(3, "span");
229
- i0.ɵɵtext(4);
230
- i0.ɵɵelementEnd();
231
- i0.ɵɵtemplate(5, SingleRoleComponent_table_5_Template, 9, 1, "table", 3);
255
+ i0.ɵɵtemplate(1, SingleRoleComponent_div_1_Template, 2, 0, "div", 1);
256
+ i0.ɵɵelementStart(2, "kendo-tabstrip", 2)(3, "kendo-tabstrip-tab", 3);
257
+ i0.ɵɵtemplate(4, SingleRoleComponent_ng_template_4_Template, 6, 3, "ng-template", 4);
232
258
  i0.ɵɵelementEnd();
259
+ i0.ɵɵelementStart(5, "kendo-tabstrip-tab", 5);
260
+ i0.ɵɵtemplate(6, SingleRoleComponent_ng_template_6_Template, 4, 2, "ng-template", 4);
261
+ i0.ɵɵelementEnd()()();
233
262
  } if (rf & 2) {
234
263
  i0.ɵɵadvance();
235
264
  i0.ɵɵproperty("ngIf", ctx.isLoading);
236
265
  i0.ɵɵadvance();
237
- i0.ɵɵproperty("ngIf", ctx.NumDirty > 0);
238
- i0.ɵɵadvance(2);
239
- i0.ɵɵtextInterpolate(ctx.RoleName);
266
+ i0.ɵɵproperty("keepTabContent", true)("animate", false);
240
267
  i0.ɵɵadvance();
241
- i0.ɵɵproperty("ngIf", !ctx.isLoading);
242
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.FillContainer, i4.ButtonComponent], styles: ["\n\r\ntable[_ngcontent-%COMP%] {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n border-collapse: collapse; \n\r\n}\r\n\r\nbutton[_ngcontent-%COMP%] {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n}\r\n \r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\r\n background-color: #f2f2f2; \n\r\n color: black; \n\r\n font-weight: bold; \n\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\r\n border: 1px solid gray; \n\r\n height: 36px; \n\r\n text-align: center;\r\n padding: 0 8px; \n\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\r\n width: 150px; \n\r\n text-align: left;\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:not(:first-child), table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:not(:first-child) {\r\n width: 100px; \n\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd) {\r\n background-color: white; \n\r\n}\r\n\r\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(even) {\r\n background-color: #e7f4ff; \n\r\n}"] });
268
+ i0.ɵɵproperty("selected", true);
269
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.FillContainer, i4.ButtonComponent, i5.EntityPermissionsGridComponent, i6.TabStripComponent, i6.TabStripTabComponent, i6.TabContentDirective], styles: ["\n\r\ntable[_ngcontent-%COMP%] {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n border-collapse: collapse; \n\r\n}\r\n\r\nbutton[_ngcontent-%COMP%] {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n width: 125px;\r\n}\r\n \r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\r\n background-color: #f2f2f2; \n\r\n color: black; \n\r\n font-weight: bold; \n\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\r\n border: 1px solid gray; \n\r\n height: 36px; \n\r\n text-align: center;\r\n padding: 0 8px; \n\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\r\n width: 150px; \n\r\n text-align: left;\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:not(:first-child), table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:not(:first-child) {\r\n width: 100px; \n\r\n}\r\n\r\n\n\r\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd) {\r\n background-color: white; \n\r\n}\r\n\r\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(even) {\r\n background-color: #e7f4ff; \n\r\n}\r\n\r\n.role-name[_ngcontent-%COMP%] {\r\n font-weight: bold;\r\n font-size: 20px;\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n}"] });
243
270
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SingleRoleComponent, [{
244
271
  type: Component,
245
- args: [{ selector: 'mj-single-role', template: "<div mjFillContainer>\r\n <div *ngIf=\"isLoading\">Loading...</div>\r\n <button *ngIf=\"NumDirty > 0\" kendoButton (click)=\"saveUserRoles()\">Save</button>\r\n <span>{{this.RoleName}}</span>\r\n <table *ngIf=\"!isLoading\" class=\"grid\">\r\n <thead>\r\n <tr>\r\n <th>User</th>\r\n <th>In Role</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let ur of userRoles\">\r\n <td>{{ ur.User }}</td>\r\n <td (click)=\"flipState($event, ur, true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"ur.Selected\" (click)=\"flipState($event, ur, false)\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n ", styles: ["/* Style for the whole table */\r\ntable {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n border-collapse: collapse; /* Ensures border collapse for a cleaner look */\r\n}\r\n\r\nbutton {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n}\r\n \r\ntable th {\r\n background-color: #f2f2f2; /* Light gray background for headers */\r\n color: black; /* Black text color for headers */\r\n font-weight: bold; /* Bold font weight for headers */\r\n}\r\n\r\n/* Style for all table cells */\r\ntable th, table td {\r\n border: 1px solid gray; /* Gray border for cells */\r\n height: 36px; /* Fixed height for all rows */\r\n text-align: center;\r\n padding: 0 8px; /* Add some padding inside cells */\r\n}\r\n\r\n/* Specific styles for the first column */\r\ntable th:first-child, table td:first-child {\r\n width: 150px; /* Set width for the first column */\r\n text-align: left;\r\n}\r\n\r\n/* Specific styles for the \"Can\" columns */\r\ntable th:not(:first-child), table td:not(:first-child) {\r\n width: 100px; /* Set width for \"Can\" columns */\r\n}\r\n\r\n/* Alternating row background colors */\r\ntable tr:nth-child(odd) {\r\n background-color: white; /* Light color for odd rows */\r\n}\r\n\r\ntable tr:nth-child(even) {\r\n background-color: #e7f4ff; /* Light blue for even rows */\r\n}\r\n"] }]
272
+ args: [{ selector: 'mj-single-role', template: "<div mjFillContainer>\r\n <div *ngIf=\"isLoading\">Loading...</div>\r\n <kendo-tabstrip\r\n [keepTabContent]=\"true\"\r\n [animate]=\"false\"\r\n > \r\n <kendo-tabstrip-tab title=\"Users\" [selected]=\"true\">\r\n <ng-template kendoTabContent>\r\n <div class=\"content\">\r\n <div class=\"role-name\">Role: {{this.RoleName}}</div>\r\n <button [disabled]=\"NumDirty === 0\" kendoButton (click)=\"saveUserRoles()\">Save</button>\r\n <table *ngIf=\"!isLoading\" class=\"grid\">\r\n <thead>\r\n <tr>\r\n <th>User</th>\r\n <th>In Role</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let ur of userRoles\">\r\n <td>{{ ur.User }}</td>\r\n <td (click)=\"flipState($event, ur, true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"ur.Selected\" (click)=\"flipState($event, ur, false)\">\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table> \r\n </div>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n <kendo-tabstrip-tab title=\"Entity Permissions\">\r\n <ng-template kendoTabContent>\r\n <div class=\"content\">\r\n <div class=\"role-name\">Role: {{this.RoleName}}</div>\r\n <mj-entity-permissions-grid Mode=\"Role\" [RoleName]=\"this.RoleName\" ></mj-entity-permissions-grid>\r\n </div>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>\r\n ", styles: ["/* Style for the whole table */\r\ntable {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n border-collapse: collapse; /* Ensures border collapse for a cleaner look */\r\n}\r\n\r\nbutton {\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n width: 125px;\r\n}\r\n \r\ntable th {\r\n background-color: #f2f2f2; /* Light gray background for headers */\r\n color: black; /* Black text color for headers */\r\n font-weight: bold; /* Bold font weight for headers */\r\n}\r\n\r\n/* Style for all table cells */\r\ntable th, table td {\r\n border: 1px solid gray; /* Gray border for cells */\r\n height: 36px; /* Fixed height for all rows */\r\n text-align: center;\r\n padding: 0 8px; /* Add some padding inside cells */\r\n}\r\n\r\n/* Specific styles for the first column */\r\ntable th:first-child, table td:first-child {\r\n width: 150px; /* Set width for the first column */\r\n text-align: left;\r\n}\r\n\r\n/* Specific styles for the \"Can\" columns */\r\ntable th:not(:first-child), table td:not(:first-child) {\r\n width: 100px; /* Set width for \"Can\" columns */\r\n}\r\n\r\n/* Alternating row background colors */\r\ntable tr:nth-child(odd) {\r\n background-color: white; /* Light color for odd rows */\r\n}\r\n\r\ntable tr:nth-child(even) {\r\n background-color: #e7f4ff; /* Light blue for even rows */\r\n}\r\n\r\n.role-name {\r\n font-weight: bold;\r\n font-size: 20px;\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n}"] }]
246
273
  }], () => [], { RoleName: [{
247
274
  type: Input
248
275
  }], BottomMargin: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-explorer-settings",
3
- "version": "0.9.5",
3
+ "version": "0.9.6",
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",
@@ -30,11 +30,12 @@
30
30
  "@memberjunction/core": "^0.9.174",
31
31
  "@memberjunction/ng-container-directives": "^0.9.138",
32
32
  "@memberjunction/ng-shared": "^0.9.28",
33
- "@memberjunction/ng-entity-permissions": "^0.9.5",
33
+ "@memberjunction/ng-entity-permissions": "^0.9.6",
34
34
  "@progress/kendo-angular-dropdowns": "~15.1.0",
35
35
  "@progress/kendo-angular-grid": "~15.1.0",
36
36
  "@progress/kendo-angular-buttons": "~15.1.0",
37
37
  "@progress/kendo-angular-dialog": "~15.1.0",
38
+ "@progress/kendo-angular-layout": "~15.1.0",
38
39
  "tslib": "^2.3.0"
39
40
  },
40
41
  "sideEffects": false