@memberjunction/ng-simple-record-list 5.11.0 → 5.12.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.
@@ -431,11 +431,11 @@ export class SimpleRecordListComponent {
431
431
  i0.ɵɵconditional(ctx.deleteRecordDialogVisible && ctx.AllowDelete ? 4 : -1);
432
432
  i0.ɵɵadvance();
433
433
  i0.ɵɵconditional(ctx.customActionDialogVisible && ctx.AllowCustomAction ? 5 : -1);
434
- } }, dependencies: [i2.DialogComponent, i2.DialogActionsComponent, i3.ButtonComponent, i4.EntityFormDialogComponent, i5.LoadingComponent], styles: ["button[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper[_ngcontent-%COMP%] {\n padding-right: 10px;\n}\n\n\n\ntable[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; \n\n width: 100%;\n}\n \ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: #f2f2f2; \n\n color: black; \n\n font-weight: bold; \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n height: 36px; \n\n padding: 0 8px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n display: flex; \n\n justify-content: space-between; \n\n align-items: center; \n\n padding-right: 8px; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:first-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:last-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child .icon[_ngcontent-%COMP%] {\n margin-left: 10px; \n\n cursor: pointer; \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #e7f4ff; \n\n}\n\n.sticky-header[_ngcontent-%COMP%] {\n position: sticky;\n top: 0;\n}\n\n.scrollable[_ngcontent-%COMP%] {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n width: 100%;\n}"] });
434
+ } }, dependencies: [i2.DialogComponent, i2.DialogActionsComponent, i3.ButtonComponent, i4.EntityFormDialogComponent, i5.LoadingComponent], styles: ["button[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper[_ngcontent-%COMP%] {\n padding-right: 10px;\n}\n\n\n\ntable[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; \n\n width: 100%;\n}\n \ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface-sunken); \n\n color: var(--mj-text-primary); \n\n font-weight: bold; \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n height: 36px; \n\n padding: 0 8px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n display: flex; \n\n justify-content: space-between; \n\n align-items: center; \n\n padding-right: 8px; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:first-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:last-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child .icon[_ngcontent-%COMP%] {\n margin-left: 10px; \n\n cursor: pointer; \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: var(--mj-brand-primary-subtle); \n\n}\n\n.sticky-header[_ngcontent-%COMP%] {\n position: sticky;\n top: 0;\n}\n\n.scrollable[_ngcontent-%COMP%] {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n width: 100%;\n}"] });
435
435
  }
436
436
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SimpleRecordListComponent, [{
437
437
  type: Component,
438
- args: [{ standalone: false, selector: 'mj-simple-record-list', template: "<div class=\"wrapper scrollable\">\n @if(isLoading) {\n <div>\n <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\n </div>\n }\n @else {\n <div class=\"vertical-full-width\">\n @if(AllowNew) {\n <button kendoButton (click)=\"createNewRecord()\"><span class=\"fa-solid fa-plus\"></span> New</button>\n }\n <table class=\"grid\">\n <thead class=\"sticky-header\">\n <tr>\n @for (c of Columns; track c) {\n <th>\n {{ c }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (r of records; track r) {\n <tr (click)=\"selectRecord(undefined, r)\">\n @for (c of Columns; track c; let i = $index) {\n <td>\n <span>{{ r.Get(c) }}</span>\n @if(i === 0 && (AllowDelete || AllowEdit)) {\n <span>\n @if (AllowEdit) {\n <span class=\"fa-solid fa-pen-to-square icon\" (click)=\"editRecord($event, r)\" title=\"Edit\"></span>\n }\n @if (AllowCustomAction) {\n <span\n class=\"fa-solid {{getCustomActionIcon(r)}} icon\"\n (click)=\"performCustomAction($event, r)\"\n title=\"{{getCustomActionTooltip(r)}}\"\n ></span>\n }\n @if (AllowDelete) {\n <span class=\"fa-solid fa-trash-can icon\" (click)=\"deleteRecord($event, r)\" title=\"Delete\"></span>\n }\n </span>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n}\n</div>\n\n@if(AllowNew || AllowEdit) {\n <mj-entity-form-dialog #entityForm\n [Record]=\"editOrNewRecord\"\n [SectionName]=\"EditSectionName\"\n Mode=\"section\"\n [Visible]=\"showEditOrNewRecordForm\"\n [AutoRevertOnCancel]=\"true\"\n [HandleSave]=\"true\"\n [Width]=\"550\"\n [Height]=\"450\"\n (DialogClosed)=\"onEditOrNewRecordFormClosed($event)\">\n </mj-entity-form-dialog>\n}\n\n@if(deleteRecordDialogVisible && AllowDelete) {\n <kendo-dialog\n [title]=\"'Delete ' + EntityName + '?'\"\n [width]=\"450\"\n [height]=\"200\"\n (close)=\"closeDeleteDialog('No')\" >\n <div>\n Are you sure you want to delete '{{getRecordName(deleteRecordItem!)}}'?\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeDeleteDialog('Yes')\" themeColor=\"primary\">Yes</button>\n <button kendoButton (click)=\"closeDeleteDialog('No')\">No</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n\n@if(customActionDialogVisible && AllowCustomAction) {\n <kendo-dialog\n [title]=\"CustomActionDialogTitle\"\n [width]=\"450\"\n [height]=\"200\"\n (close)=\"closeCustomActionDialog('No')\" >\n <div>\n {{ CustomActionDialogMessage.replace('{{recordName}}', getRecordName(customActionItem!)) }}\n @if(CustomActionDialogInfo) {\n <p>{{ CustomActionDialogInfo }}</p>\n }\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeCustomActionDialog('Yes')\" themeColor=\"primary\">Yes</button>\n <button kendoButton (click)=\"closeCustomActionDialog('No')\">No</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n", styles: ["button {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper {\n padding-right: 10px;\n}\n\n/* Style for the whole table */\ntable {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; /* Ensures border collapse for a cleaner look */\n width: 100%;\n}\n \ntable th {\n background-color: #f2f2f2; /* Light gray background for headers */\n color: black; /* Black text color for headers */\n font-weight: bold; /* Bold font weight for headers */\n text-align: left;\n}\n\n/* Style for all table cells */\ntable th, table td {\n height: 36px; /* Fixed height for all rows */\n padding: 0 8px; /* Add some padding inside cells */\n}\n\n/* Style for the first column cells */\ntable td:first-child {\n display: flex; /* Make the cell a flex container */\n justify-content: space-between; /* Space out the text and icons */\n align-items: center; /* Center items vertically */\n padding-right: 8px; /* Ensure there is some padding on the right */\n}\n\n/* Style for the text span within the first column */\ntd:first-child span:first-child {\n border: none; /* Ensures no border is applied to the span */\n}\n\n/* Style for the icons container span within the first column */\ntd:first-child span:last-child {\n border: none; /* Ensures no border is applied to the span */\n}\n\n/* Style for the icons within the first column */\ntd:first-child .icon {\n margin-left: 10px; /* Space between icons if needed */\n cursor: pointer; /* Change cursor to pointer on hover */\n}\n\ntable tr {\n cursor: pointer;\n}\n\ntable tr:hover {\n background-color: #e7f4ff; /* Light blue for even rows */\n}\n\n.sticky-header {\n position: sticky;\n top: 0;\n}\n\n.scrollable {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n "] }]
438
+ args: [{ standalone: false, selector: 'mj-simple-record-list', template: "<div class=\"wrapper scrollable\">\n @if(isLoading) {\n <div>\n <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\n </div>\n }\n @else {\n <div class=\"vertical-full-width\">\n @if(AllowNew) {\n <button kendoButton (click)=\"createNewRecord()\"><span class=\"fa-solid fa-plus\"></span> New</button>\n }\n <table class=\"grid\">\n <thead class=\"sticky-header\">\n <tr>\n @for (c of Columns; track c) {\n <th>\n {{ c }}\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (r of records; track r) {\n <tr (click)=\"selectRecord(undefined, r)\">\n @for (c of Columns; track c; let i = $index) {\n <td>\n <span>{{ r.Get(c) }}</span>\n @if(i === 0 && (AllowDelete || AllowEdit)) {\n <span>\n @if (AllowEdit) {\n <span class=\"fa-solid fa-pen-to-square icon\" (click)=\"editRecord($event, r)\" title=\"Edit\"></span>\n }\n @if (AllowCustomAction) {\n <span\n class=\"fa-solid {{getCustomActionIcon(r)}} icon\"\n (click)=\"performCustomAction($event, r)\"\n title=\"{{getCustomActionTooltip(r)}}\"\n ></span>\n }\n @if (AllowDelete) {\n <span class=\"fa-solid fa-trash-can icon\" (click)=\"deleteRecord($event, r)\" title=\"Delete\"></span>\n }\n </span>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n}\n</div>\n\n@if(AllowNew || AllowEdit) {\n <mj-entity-form-dialog #entityForm\n [Record]=\"editOrNewRecord\"\n [SectionName]=\"EditSectionName\"\n Mode=\"section\"\n [Visible]=\"showEditOrNewRecordForm\"\n [AutoRevertOnCancel]=\"true\"\n [HandleSave]=\"true\"\n [Width]=\"550\"\n [Height]=\"450\"\n (DialogClosed)=\"onEditOrNewRecordFormClosed($event)\">\n </mj-entity-form-dialog>\n}\n\n@if(deleteRecordDialogVisible && AllowDelete) {\n <kendo-dialog\n [title]=\"'Delete ' + EntityName + '?'\"\n [width]=\"450\"\n [height]=\"200\"\n (close)=\"closeDeleteDialog('No')\" >\n <div>\n Are you sure you want to delete '{{getRecordName(deleteRecordItem!)}}'?\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeDeleteDialog('Yes')\" themeColor=\"primary\">Yes</button>\n <button kendoButton (click)=\"closeDeleteDialog('No')\">No</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n\n@if(customActionDialogVisible && AllowCustomAction) {\n <kendo-dialog\n [title]=\"CustomActionDialogTitle\"\n [width]=\"450\"\n [height]=\"200\"\n (close)=\"closeCustomActionDialog('No')\" >\n <div>\n {{ CustomActionDialogMessage.replace('{{recordName}}', getRecordName(customActionItem!)) }}\n @if(CustomActionDialogInfo) {\n <p>{{ CustomActionDialogInfo }}</p>\n }\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeCustomActionDialog('Yes')\" themeColor=\"primary\">Yes</button>\n <button kendoButton (click)=\"closeCustomActionDialog('No')\">No</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n", styles: ["button {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper {\n padding-right: 10px;\n}\n\n/* Style for the whole table */\ntable {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; /* Ensures border collapse for a cleaner look */\n width: 100%;\n}\n \ntable th {\n background-color: var(--mj-bg-surface-sunken); /* Light gray background for headers */\n color: var(--mj-text-primary); /* Text color for headers */\n font-weight: bold; /* Bold font weight for headers */\n text-align: left;\n}\n\n/* Style for all table cells */\ntable th, table td {\n height: 36px; /* Fixed height for all rows */\n padding: 0 8px; /* Add some padding inside cells */\n}\n\n/* Style for the first column cells */\ntable td:first-child {\n display: flex; /* Make the cell a flex container */\n justify-content: space-between; /* Space out the text and icons */\n align-items: center; /* Center items vertically */\n padding-right: 8px; /* Ensure there is some padding on the right */\n}\n\n/* Style for the text span within the first column */\ntd:first-child span:first-child {\n border: none; /* Ensures no border is applied to the span */\n}\n\n/* Style for the icons container span within the first column */\ntd:first-child span:last-child {\n border: none; /* Ensures no border is applied to the span */\n}\n\n/* Style for the icons within the first column */\ntd:first-child .icon {\n margin-left: 10px; /* Space between icons if needed */\n cursor: pointer; /* Change cursor to pointer on hover */\n}\n\ntable tr {\n cursor: pointer;\n}\n\ntable tr:hover {\n background-color: var(--mj-brand-primary-subtle); /* Light blue for even rows */\n}\n\n.sticky-header {\n position: sticky;\n top: 0;\n}\n\n.scrollable {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n "] }]
439
439
  }], () => [{ type: i1.Router }], { EntityName: [{
440
440
  type: Input
441
441
  }], Columns: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-simple-record-list",
3
- "version": "5.11.0",
3
+ "version": "5.12.0",
4
4
  "description": "MemberJunction: Very simple and reusable Angular component for displaying, editing, creating and deleting records in any entity",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -25,13 +25,13 @@
25
25
  "@angular/router": "21.1.3"
26
26
  },
27
27
  "dependencies": {
28
- "@memberjunction/core": "5.11.0",
29
- "@memberjunction/core-entities": "5.11.0",
30
- "@memberjunction/global": "5.11.0",
31
- "@memberjunction/ng-container-directives": "5.11.0",
32
- "@memberjunction/ng-entity-form-dialog": "5.11.0",
33
- "@memberjunction/ng-notifications": "5.11.0",
34
- "@memberjunction/ng-shared-generic": "5.11.0",
28
+ "@memberjunction/core": "5.12.0",
29
+ "@memberjunction/core-entities": "5.12.0",
30
+ "@memberjunction/global": "5.12.0",
31
+ "@memberjunction/ng-container-directives": "5.12.0",
32
+ "@memberjunction/ng-entity-form-dialog": "5.12.0",
33
+ "@memberjunction/ng-notifications": "5.12.0",
34
+ "@memberjunction/ng-shared-generic": "5.12.0",
35
35
  "@progress/kendo-angular-buttons": "22.0.1",
36
36
  "@progress/kendo-angular-dialog": "22.0.1",
37
37
  "@progress/kendo-angular-dropdowns": "22.0.1",