@memberjunction/ng-entity-permissions 0.9.29 → 1.0.1

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,10 +13,9 @@ import { kendoSVGIcon } from '@memberjunction/ng-shared';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/common";
15
15
  import * as i2 from "@angular/forms";
16
- import * as i3 from "@memberjunction/ng-container-directives";
17
- import * as i4 from "@progress/kendo-angular-buttons";
18
- import * as i5 from "@progress/kendo-angular-icons";
19
- import * as i6 from "@progress/kendo-angular-indicators";
16
+ import * as i3 from "@progress/kendo-angular-buttons";
17
+ import * as i4 from "@progress/kendo-angular-icons";
18
+ import * as i5 from "@progress/kendo-angular-indicators";
20
19
  function EntityPermissionsGridComponent_div_1_Template(rf, ctx) { if (rf & 1) {
21
20
  i0.ɵɵelementStart(0, "div");
22
21
  i0.ɵɵelement(1, "kendo-loader");
@@ -52,7 +51,7 @@ function EntityPermissionsGridComponent_table_6_tr_14_span_3_Template(rf, ctx) {
52
51
  } }
53
52
  function EntityPermissionsGridComponent_table_6_tr_14_kendo_svgicon_4_Template(rf, ctx) { if (rf & 1) {
54
53
  const _r13 = i0.ɵɵgetCurrentView();
55
- i0.ɵɵelementStart(0, "kendo-svgicon", 11);
54
+ i0.ɵɵelementStart(0, "kendo-svgicon", 10);
56
55
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_kendo_svgicon_4_Template_kendo_svgicon_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const permission_r5 = i0.ɵɵnextContext().$implicit; const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.revertRow($event, permission_r5)); });
57
56
  i0.ɵɵelementEnd();
58
57
  } if (rf & 2) {
@@ -61,31 +60,31 @@ function EntityPermissionsGridComponent_table_6_tr_14_kendo_svgicon_4_Template(r
61
60
  } }
62
61
  function EntityPermissionsGridComponent_table_6_tr_14_Template(rf, ctx) { if (rf & 1) {
63
62
  const _r15 = i0.ɵɵgetCurrentView();
64
- i0.ɵɵelementStart(0, "tr", 7)(1, "td", 8);
63
+ i0.ɵɵelementStart(0, "tr", 6)(1, "td", 7);
65
64
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_td_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.flipRow(permission_r5)); });
66
- i0.ɵɵtemplate(2, EntityPermissionsGridComponent_table_6_tr_14_span_2_Template, 2, 1, "span", 1)(3, EntityPermissionsGridComponent_table_6_tr_14_span_3_Template, 2, 1, "span", 1)(4, EntityPermissionsGridComponent_table_6_tr_14_kendo_svgicon_4_Template, 1, 1, "kendo-svgicon", 9);
65
+ i0.ɵɵtemplate(2, EntityPermissionsGridComponent_table_6_tr_14_span_2_Template, 2, 1, "span", 0)(3, EntityPermissionsGridComponent_table_6_tr_14_span_3_Template, 2, 1, "span", 0)(4, EntityPermissionsGridComponent_table_6_tr_14_kendo_svgicon_4_Template, 1, 1, "kendo-svgicon", 8);
67
66
  i0.ɵɵelementEnd();
68
- i0.ɵɵelementStart(5, "td", 5);
67
+ i0.ɵɵelementStart(5, "td", 4);
69
68
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_td_click_5_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r16 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r16.flipPermission($event, permission_r5, "Read", true)); });
70
- i0.ɵɵelementStart(6, "input", 10);
69
+ i0.ɵɵelementStart(6, "input", 9);
71
70
  i0.ɵɵtwoWayListener("ngModelChange", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_ngModelChange_6_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(permission_r5.CanRead, $event) || (permission_r5.CanRead = $event); return i0.ɵɵresetView($event); });
72
71
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_click_6_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r18 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r18.flipPermission($event, permission_r5, "Read", false)); });
73
72
  i0.ɵɵelementEnd()();
74
- i0.ɵɵelementStart(7, "td", 5);
73
+ i0.ɵɵelementStart(7, "td", 4);
75
74
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_td_click_7_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.flipPermission($event, permission_r5, "Create", true)); });
76
- i0.ɵɵelementStart(8, "input", 10);
75
+ i0.ɵɵelementStart(8, "input", 9);
77
76
  i0.ɵɵtwoWayListener("ngModelChange", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_ngModelChange_8_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(permission_r5.CanCreate, $event) || (permission_r5.CanCreate = $event); return i0.ɵɵresetView($event); });
78
77
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_click_8_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.flipPermission($event, permission_r5, "Create", false)); });
79
78
  i0.ɵɵelementEnd()();
80
- i0.ɵɵelementStart(9, "td", 5);
79
+ i0.ɵɵelementStart(9, "td", 4);
81
80
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_td_click_9_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.flipPermission($event, permission_r5, "Update", true)); });
82
- i0.ɵɵelementStart(10, "input", 10);
81
+ i0.ɵɵelementStart(10, "input", 9);
83
82
  i0.ɵɵtwoWayListener("ngModelChange", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_ngModelChange_10_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(permission_r5.CanUpdate, $event) || (permission_r5.CanUpdate = $event); return i0.ɵɵresetView($event); });
84
83
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_click_10_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.flipPermission($event, permission_r5, "Update", false)); });
85
84
  i0.ɵɵelementEnd()();
86
- i0.ɵɵelementStart(11, "td", 5);
85
+ i0.ɵɵelementStart(11, "td", 4);
87
86
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_td_click_11_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.flipPermission($event, permission_r5, "Delete", true)); });
88
- i0.ɵɵelementStart(12, "input", 10);
87
+ i0.ɵɵelementStart(12, "input", 9);
89
88
  i0.ɵɵtwoWayListener("ngModelChange", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_ngModelChange_12_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; i0.ɵɵtwoWayBindingSet(permission_r5.CanDelete, $event) || (permission_r5.CanDelete = $event); return i0.ɵɵresetView($event); });
90
89
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_tr_14_Template_input_click_12_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const permission_r5 = restoredCtx.$implicit; const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.flipPermission($event, permission_r5, "Delete", false)); });
91
90
  i0.ɵɵelementEnd()()();
@@ -110,26 +109,26 @@ function EntityPermissionsGridComponent_table_6_tr_14_Template(rf, ctx) { if (rf
110
109
  } }
111
110
  function EntityPermissionsGridComponent_table_6_Template(rf, ctx) { if (rf & 1) {
112
111
  const _r29 = i0.ɵɵgetCurrentView();
113
- i0.ɵɵelementStart(0, "table", 4)(1, "thead")(2, "tr");
114
- i0.ɵɵtemplate(3, EntityPermissionsGridComponent_table_6_th_3_Template, 2, 0, "th", 1)(4, EntityPermissionsGridComponent_table_6_th_4_Template, 2, 0, "th", 1);
115
- i0.ɵɵelementStart(5, "th", 5);
112
+ i0.ɵɵelementStart(0, "table", 3)(1, "thead")(2, "tr");
113
+ i0.ɵɵtemplate(3, EntityPermissionsGridComponent_table_6_th_3_Template, 2, 0, "th", 0)(4, EntityPermissionsGridComponent_table_6_th_4_Template, 2, 0, "th", 0);
114
+ i0.ɵɵelementStart(5, "th", 4);
116
115
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_Template_th_click_5_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.flipAllPermissions("Read")); });
117
116
  i0.ɵɵtext(6, "Read");
118
117
  i0.ɵɵelementEnd();
119
- i0.ɵɵelementStart(7, "th", 5);
118
+ i0.ɵɵelementStart(7, "th", 4);
120
119
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_Template_th_click_7_listener() { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r30.flipAllPermissions("Create")); });
121
120
  i0.ɵɵtext(8, "Create");
122
121
  i0.ɵɵelementEnd();
123
- i0.ɵɵelementStart(9, "th", 5);
122
+ i0.ɵɵelementStart(9, "th", 4);
124
123
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_Template_th_click_9_listener() { i0.ɵɵrestoreView(_r29); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.flipAllPermissions("Update")); });
125
124
  i0.ɵɵtext(10, "Update");
126
125
  i0.ɵɵelementEnd();
127
- i0.ɵɵelementStart(11, "th", 5);
126
+ i0.ɵɵelementStart(11, "th", 4);
128
127
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_table_6_Template_th_click_11_listener() { i0.ɵɵrestoreView(_r29); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.flipAllPermissions("Delete")); });
129
128
  i0.ɵɵtext(12, "Delete");
130
129
  i0.ɵɵelementEnd()()();
131
130
  i0.ɵɵelementStart(13, "tbody");
132
- i0.ɵɵtemplate(14, EntityPermissionsGridComponent_table_6_tr_14_Template, 13, 8, "tr", 6);
131
+ i0.ɵɵtemplate(14, EntityPermissionsGridComponent_table_6_tr_14_Template, 13, 8, "tr", 5);
133
132
  i0.ɵɵelementEnd()();
134
133
  } if (rf & 2) {
135
134
  const ctx_r1 = i0.ɵɵnextContext();
@@ -401,18 +400,18 @@ export class EntityPermissionsGridComponent {
401
400
  }
402
401
  }
403
402
  EntityPermissionsGridComponent.ɵfac = function EntityPermissionsGridComponent_Factory(t) { return new (t || EntityPermissionsGridComponent)(); };
404
- EntityPermissionsGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityPermissionsGridComponent, selectors: [["mj-entity-permissions-grid"]], inputs: { Mode: "Mode", EntityName: "EntityName", RoleName: "RoleName", BottomMargin: "BottomMargin" }, outputs: { PermissionChanged: "PermissionChanged" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [["mjFillContainer", ""], [4, "ngIf"], ["kendoButton", "", 3, "disabled", "click"], ["class", "grid", 4, "ngIf"], [1, "grid"], [3, "click"], [3, "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass"], [1, "permission-left-col", 3, "click"], [3, "icon", "click", 4, "ngIf"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel", "ngModelChange", "click"], [3, "icon", "click"]], template: function EntityPermissionsGridComponent_Template(rf, ctx) { if (rf & 1) {
405
- i0.ɵɵelementStart(0, "div", 0);
406
- i0.ɵɵtemplate(1, EntityPermissionsGridComponent_div_1_Template, 2, 0, "div", 1);
407
- i0.ɵɵelementStart(2, "button", 2);
403
+ EntityPermissionsGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityPermissionsGridComponent, selectors: [["mj-entity-permissions-grid"]], inputs: { Mode: "Mode", EntityName: "EntityName", RoleName: "RoleName", BottomMargin: "BottomMargin" }, outputs: { PermissionChanged: "PermissionChanged" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 4, consts: [[4, "ngIf"], ["kendoButton", "", 3, "disabled", "click"], ["class", "grid", 4, "ngIf"], [1, "grid"], [3, "click"], [3, "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass"], [1, "permission-left-col", 3, "click"], [3, "icon", "click", 4, "ngIf"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel", "ngModelChange", "click"], [3, "icon", "click"]], template: function EntityPermissionsGridComponent_Template(rf, ctx) { if (rf & 1) {
404
+ i0.ɵɵelementStart(0, "div");
405
+ i0.ɵɵtemplate(1, EntityPermissionsGridComponent_div_1_Template, 2, 0, "div", 0);
406
+ i0.ɵɵelementStart(2, "button", 1);
408
407
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_Template_button_click_2_listener() { return ctx.savePermissions(); });
409
408
  i0.ɵɵtext(3, "Save");
410
409
  i0.ɵɵelementEnd();
411
- i0.ɵɵelementStart(4, "button", 2);
410
+ i0.ɵɵelementStart(4, "button", 1);
412
411
  i0.ɵɵlistener("click", function EntityPermissionsGridComponent_Template_button_click_4_listener() { return ctx.cancelEdit(); });
413
412
  i0.ɵɵtext(5, "Cancel");
414
413
  i0.ɵɵelementEnd();
415
- i0.ɵɵtemplate(6, EntityPermissionsGridComponent_table_6_Template, 15, 3, "table", 3);
414
+ i0.ɵɵtemplate(6, EntityPermissionsGridComponent_table_6_Template, 15, 3, "table", 2);
416
415
  i0.ɵɵelementEnd();
417
416
  } if (rf & 2) {
418
417
  i0.ɵɵadvance();
@@ -423,10 +422,10 @@ EntityPermissionsGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
423
422
  i0.ɵɵproperty("disabled", ctx.NumDirtyPermissions === 0);
424
423
  i0.ɵɵadvance(2);
425
424
  i0.ɵɵproperty("ngIf", !ctx.isLoading);
426
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.FillContainer, i4.ButtonComponent, i5.SVGIconComponent, i6.LoaderComponent], 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 cursor: pointer;\r\n}\r\n\r\n.permission-left-col[_ngcontent-%COMP%] {\r\n cursor: pointer;\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 min-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\ntable[_ngcontent-%COMP%] tr.dirty-row[_ngcontent-%COMP%] {\r\n font-style: italic;\r\n background-color: #ffcccc;\r\n}"] });
425
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.ButtonComponent, i4.SVGIconComponent, i5.LoaderComponent], 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 cursor: pointer;\r\n}\r\n\r\n.permission-left-col[_ngcontent-%COMP%] {\r\n cursor: pointer;\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 min-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\ntable[_ngcontent-%COMP%] tr.dirty-row[_ngcontent-%COMP%] {\r\n font-style: italic;\r\n background-color: #ffcccc;\r\n}"] });
427
426
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityPermissionsGridComponent, [{
428
427
  type: Component,
429
- args: [{ selector: 'mj-entity-permissions-grid', template: "<div mjFillContainer>\r\n <div *ngIf=\"isLoading\"><kendo-loader></kendo-loader></div>\r\n <button [disabled]=\"NumDirtyPermissions === 0\" kendoButton (click)=\"savePermissions()\">Save</button>\r\n <button [disabled]=\"NumDirtyPermissions === 0\" kendoButton (click)=\"cancelEdit()\">Cancel</button>\r\n <table *ngIf=\"!isLoading\" class=\"grid\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"this.Mode==='Entity'\">Role</th>\r\n <th *ngIf=\"this.Mode==='Role'\">Entity</th>\r\n <th (click)=\"flipAllPermissions('Read')\">Read</th>\r\n <th (click)=\"flipAllPermissions('Create')\">Create</th>\r\n <th (click)=\"flipAllPermissions('Update')\">Update</th>\r\n <th (click)=\"flipAllPermissions('Delete')\">Delete</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let permission of permissions\" [ngClass]=\"IsPermissionReallyDirty(permission) ? 'dirty-row' : ''\">\r\n <td class=\"permission-left-col\" (click)=\"flipRow(permission)\">\r\n <span *ngIf=\"this.Mode==='Entity'\">\r\n {{ permission.RoleName }}\r\n </span>\r\n <span *ngIf=\"this.Mode==='Role'\">\r\n {{ permission.Entity }}\r\n </span>\r\n <kendo-svgicon *ngIf=\"IsPermissionReallyDirty(permission)\" \r\n [icon]=\"kendoSVGIcon('arrowRotateCcwSmallIcon')\" \r\n (click)=\"revertRow($event, permission)\"></kendo-svgicon></td>\r\n <td (click)=\"flipPermission($event, permission, 'Read', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanRead\" (click)=\"flipPermission($event, permission, 'Read', false)\">\r\n </td>\r\n <td (click)=\"flipPermission($event, permission, 'Create', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanCreate\" (click)=\"flipPermission($event, permission, 'Create', false)\">\r\n </td>\r\n <td (click)=\"flipPermission($event, permission, 'Update', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanUpdate\" (click)=\"flipPermission($event, permission, 'Update', false)\">\r\n </td>\r\n <td (click)=\"flipPermission($event, permission, 'Delete', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanDelete\" (click)=\"flipPermission($event, permission, 'Delete', 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 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 cursor: pointer;\r\n}\r\n\r\n.permission-left-col {\r\n cursor: pointer;\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 min-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\ntable tr.dirty-row {\r\n font-style: italic;\r\n background-color: #ffcccc;\r\n}\r\n\r\n"] }]
428
+ args: [{ selector: 'mj-entity-permissions-grid', template: "<div>\r\n <div *ngIf=\"isLoading\"><kendo-loader></kendo-loader></div>\r\n <button [disabled]=\"NumDirtyPermissions === 0\" kendoButton (click)=\"savePermissions()\">Save</button>\r\n <button [disabled]=\"NumDirtyPermissions === 0\" kendoButton (click)=\"cancelEdit()\">Cancel</button>\r\n <table *ngIf=\"!isLoading\" class=\"grid\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"this.Mode==='Entity'\">Role</th>\r\n <th *ngIf=\"this.Mode==='Role'\">Entity</th>\r\n <th (click)=\"flipAllPermissions('Read')\">Read</th>\r\n <th (click)=\"flipAllPermissions('Create')\">Create</th>\r\n <th (click)=\"flipAllPermissions('Update')\">Update</th>\r\n <th (click)=\"flipAllPermissions('Delete')\">Delete</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let permission of permissions\" [ngClass]=\"IsPermissionReallyDirty(permission) ? 'dirty-row' : ''\">\r\n <td class=\"permission-left-col\" (click)=\"flipRow(permission)\">\r\n <span *ngIf=\"this.Mode==='Entity'\">\r\n {{ permission.RoleName }}\r\n </span>\r\n <span *ngIf=\"this.Mode==='Role'\">\r\n {{ permission.Entity }}\r\n </span>\r\n <kendo-svgicon *ngIf=\"IsPermissionReallyDirty(permission)\" \r\n [icon]=\"kendoSVGIcon('arrowRotateCcwSmallIcon')\" \r\n (click)=\"revertRow($event, permission)\"></kendo-svgicon></td>\r\n <td (click)=\"flipPermission($event, permission, 'Read', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanRead\" (click)=\"flipPermission($event, permission, 'Read', false)\">\r\n </td>\r\n <td (click)=\"flipPermission($event, permission, 'Create', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanCreate\" (click)=\"flipPermission($event, permission, 'Create', false)\">\r\n </td>\r\n <td (click)=\"flipPermission($event, permission, 'Update', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanUpdate\" (click)=\"flipPermission($event, permission, 'Update', false)\">\r\n </td>\r\n <td (click)=\"flipPermission($event, permission, 'Delete', true)\">\r\n <input type=\"checkbox\" kendoCheckBox [(ngModel)]=\"permission.CanDelete\" (click)=\"flipPermission($event, permission, 'Delete', 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 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 cursor: pointer;\r\n}\r\n\r\n.permission-left-col {\r\n cursor: pointer;\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 min-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\ntable tr.dirty-row {\r\n font-style: italic;\r\n background-color: #ffcccc;\r\n}\r\n\r\n"] }]
430
429
  }], () => [], { Mode: [{
431
430
  type: Input
432
431
  }], EntityName: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-entity-permissions",
3
- "version": "0.9.29",
3
+ "version": "1.0.1",
4
4
  "description": "MemberJunction: Angular components for displaying/editing permissions for an entity, and related components.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -25,11 +25,11 @@
25
25
  "@angular/router": "~17.2.2"
26
26
  },
27
27
  "dependencies": {
28
- "@memberjunction/core-entities": "^0.9.185",
29
- "@memberjunction/global": "^0.9.168",
30
- "@memberjunction/core": "^0.9.188",
31
- "@memberjunction/ng-container-directives": "^0.9.151",
32
- "@memberjunction/ng-shared": "^0.9.53",
28
+ "@memberjunction/core-entities": "^1.0.1",
29
+ "@memberjunction/global": "^1.0.1",
30
+ "@memberjunction/core": "^1.0.1",
31
+ "@memberjunction/ng-container-directives": "^1.0.1",
32
+ "@memberjunction/ng-shared": "^1.0.1",
33
33
  "@progress/kendo-angular-dropdowns": "~15.1.0",
34
34
  "@progress/kendo-angular-grid": "~15.1.0",
35
35
  "@progress/kendo-angular-buttons": "~15.1.0",