@memberjunction/ng-form-toolbar 2.114.0 → 2.116.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.
@@ -360,11 +360,11 @@ export class FormToolbarComponent {
360
360
  i0.ɵɵproperty("ngIf", ctx._deleteDialogVisible);
361
361
  i0.ɵɵadvance();
362
362
  i0.ɵɵproperty("ngIf", ctx.listDialogVisible);
363
- } }, dependencies: [i2.NgIf, i3.RecordChangesComponent, i4.ButtonComponent, i5.DialogComponent, i5.DialogActionsComponent, i6.SkipChatWithRecordWindowComponent], styles: [".toolbar-container[_ngcontent-%COMP%] { \n border-bottom: solid 1px lightgray; \n padding-bottom: 10px; \n margin-bottom: 5px; \n}\n\n.toolbar-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { \n margin-right: 7px; \n} \n.toolbar-container[_ngcontent-%COMP%] .button-text[_ngcontent-%COMP%] { \n margin-left: 7px; \n} \n\n.toolbar-container.disabled[_ngcontent-%COMP%] {\n pointer-events: none;\n opacity: 0.8;\n}\n\n.disabled[_ngcontent-%COMP%] {\n pointer-events: none;\n}\n\n .form-toolbar-status-message {\n background: #f0f0f0;\n padding: 15px;\n border-radius: 5px;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n opacity: 1;\n z-index: 1000;\n color:#1d7032;\n font: 16px;\n font-weight: bold;\n min-width: 100px;\n\n text-align: center; \n\n}\n\n\n .form-toolbar-elapsed-time {\n \n\n\n\n position: absolute;\n top: 0;\n right: 0;\n color: darkgray;\n font-size: smaller;\n padding: 2px;\n border-radius: 5px;\n margin: 5px;\n z-index: 1000;\n}\n\n .form-toolbar-server-update-message {\n margin-top: 7px;\n font-size: smaller;\n color: black;\n}\n\n.list-item[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}"] });
363
+ } }, dependencies: [i2.NgIf, i3.RecordChangesComponent, i4.ButtonComponent, i5.DialogComponent, i5.DialogActionsComponent, i6.SkipChatWithRecordWindowComponent], styles: [".toolbar-container[_ngcontent-%COMP%] {\n border-bottom: 2px solid #e5e7eb;\n padding: 12px 16px;\n margin-bottom: 0;\n background: #f9fafb;\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.toolbar-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 14px;\n border: 1px solid #d1d5db;\n background: white;\n color: #374151;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.toolbar-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: #f3f4f6;\n border-color: #9ca3af;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.toolbar-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n}\n\n.toolbar-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] span[class*=\"fa-\"][_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.toolbar-container[_ngcontent-%COMP%] .button-text[_ngcontent-%COMP%] {\n margin-left: 0;\n font-size: 14px;\n} \n\n.toolbar-container.disabled[_ngcontent-%COMP%] {\n pointer-events: none;\n opacity: 0.8;\n}\n\n.disabled[_ngcontent-%COMP%] {\n pointer-events: none;\n}\n\n .form-toolbar-status-message {\n background: #f0f0f0;\n padding: 15px;\n border-radius: 5px;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n opacity: 1;\n z-index: 1000;\n color:#1d7032;\n font: 16px;\n font-weight: bold;\n min-width: 100px;\n\n text-align: center; \n\n}\n\n\n .form-toolbar-elapsed-time {\n \n\n\n\n position: absolute;\n top: 0;\n right: 0;\n color: darkgray;\n font-size: smaller;\n padding: 2px;\n border-radius: 5px;\n margin: 5px;\n z-index: 1000;\n}\n\n .form-toolbar-server-update-message {\n margin-top: 7px;\n font-size: smaller;\n color: black;\n}\n\n.list-item[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}"] });
364
364
  }
365
365
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormToolbarComponent, [{
366
366
  type: Component,
367
- args: [{ selector: 'mj-form-toolbar', template: "\n<div class=\"toolbar-container\" [class.disabled]=\"CurrentlyDisabled\">\n @if (!form.EditMode) {\n @if (form.UserCanEdit) {\n <button kendoButton (click)=\"form.StartEditMode()\" title=\"Edit this Record\">\n <span class=\"fa-solid fa-pen-to-square\"></span>\n <span class=\"button-text\">Edit</span>\n </button> \n }\n @if(form.UserCanDelete){\n <button kendoButton (click)=\"toggleDeleteDialog(true)\" title=\"Delete this Record\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button> \n }\n @if (form.FavoriteInitDone) {\n @if (form.IsFavorite) {\n <button kendoButton (click)=\"form.RemoveFavorite()\" title=\"Remove Favorite\">\n <span class=\"fa-solid fa-star\"></span>\n </button> \n }\n @else {\n <button kendoButton (click)=\"form.MakeFavorite()\" title=\"Make Favorite\">\n <span class=\"fa-regular fa-star\"></span>\n </button> \n }\n }\n }\n @else {\n <button kendoButton (mouseup)=\"saveExistingRecord($event)\" title=\"Save Record\">\n <span class=\"fa-solid fa-floppy-disk\"></span>\n <span class=\"button-text\">Save</span>\n </button> \n @if (form.record.IsSaved) {\n <!-- Only show the cancel button if the record has already been saved - don't show for a new record. -->\n <button kendoButton (click)=\"form.CancelEdit()\" title=\"Cancel Edit\">\n <span class=\"fa-solid fa-rotate-left\"></span>\n <span class=\"button-text\">Cancel</span>\n </button> \n }\n @if (form.record.Dirty) {\n <button kendoButton (click)=\"form.ShowChanges()\" title=\"Fields you have changed\">\n <span class=\"fa-solid fa-clipboard-list\"></span>\n <span class=\"button-text\">Changes</span>\n </button> \n }\n }\n @if (form.EntityInfo?.TrackRecordChanges && !form.EditMode) {\n <button kendoButton (click)=\"form.handleHistoryDialog()\" title=\"Show History\">\n <span class=\"fa-solid fa-business-time\"></span>\n <span class=\"button-text\">History</span>\n </button> \n }\n @if (ShowSkipChatButton && !form.EditMode) {\n <button kendoButton (click)=\"ShowSkipChat()\" title=\"Discuss this record with Skip\">\n <span class=\"fa-regular fa-comment-dots\"></span>\n </button> \n }\n @if (form.EntityInfo) {\n <mj-skip-chat-with-record-window\n [LinkedEntityID]=\"form.EntityInfo.ID\"\n [LinkedEntityPrimaryKey]=\"LinkedEntityPrimaryKey\" \n #mjChat\n [WindowOpened]=\"_skipChatDialogVisible\" \n (WindowClosed)=\"ShowSkipChat()\"\n >\n </mj-skip-chat-with-record-window>\n }\n @if (form.isHistoryDialogOpen) {\n <mj-record-changes [record]=\"form.record\" (dialogClosed)=\"form.handleHistoryDialog()\"></mj-record-changes>\n }\n @if(!form.EditMode){\n <button kendoButton (click)=\"toggleListDialog(true)\" title=\"Add this record to a list\">\n <span class=\"fa-solid fa-plus\"></span>\n </button> \n }\n <kendo-dialog \n [minWidth]=\"450\"\n [width]=\"650\"\n class=\"dialog-wrapper\" \n title=\"Confirm\" \n *ngIf=\"_deleteDialogVisible\" \n (close)=\"toggleDeleteDialog(false)\">\n <p class=\"k-m-7.5 k-text-center\">\n Are you sure you want to delete this record?\n </p>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"cancel-btn\" (click)=\"deleteRecord()\" kendoButton themeColor=\"info\">\n Yes, Delete\n </button>\n <button class=\"yes-btn\" (click)=\"toggleDeleteDialog(false)\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n No, Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <kendo-dialog\n class=\"dialog-wrapper\"\n title=\"Select List to Add Record To\"\n *ngIf=\"listDialogVisible\"\n (close)=\"toggleListDialog(false)\"\n [minWidth]=\"250\"\n [width]=\"650\"\n [height]=\"550\"\n >\n <hr>\n @for(list of availableLists; track list){\n <div class=\"overflow-y-scroll\">\n <div class=\"list-item\">\n <div class=\"list-text\">\n {{list.Name}}\n </div>\n <button kendoButton class=\"btn-no-border\" (click)=\"addRecordToList(list)\">\n <div class=\"btn-margin-right\">\n <span class=\"fa-solid fa-plus\"></span>\n Add\n </div>\n </button>\n </div>\n <hr>\n </div>\n }\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"yes-btn\" (click)=\"toggleListDialog(false)\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n Close\n </button>\n </kendo-dialog-actions>\n</kendo-dialog>\n</div>", styles: [".toolbar-container { \n border-bottom: solid 1px lightgray; \n padding-bottom: 10px; \n margin-bottom: 5px; \n}\n\n.toolbar-container button { \n margin-right: 7px; \n} \n.toolbar-container .button-text { \n margin-left: 7px; \n} \n\n.toolbar-container.disabled {\n pointer-events: none;\n opacity: 0.8;\n}\n\n.disabled {\n pointer-events: none;\n}\n\n::ng-deep .form-toolbar-status-message {\n background: #f0f0f0;\n padding: 15px;\n border-radius: 5px;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n opacity: 1;\n z-index: 1000;\n color:#1d7032;\n font: 16px;\n font-weight: bold;\n min-width: 100px;\n\n text-align: center; /* Center the text horizontally */\n}\n\n\n::ng-deep .form-toolbar-elapsed-time {\n /*\n we want this littler timer to be small dark gray text in the top right corner with a white background\n*/\n position: absolute;\n top: 0;\n right: 0;\n color: darkgray;\n font-size: smaller;\n padding: 2px;\n border-radius: 5px;\n margin: 5px;\n z-index: 1000;\n}\n\n::ng-deep .form-toolbar-server-update-message {\n margin-top: 7px;\n font-size: smaller;\n color: black;\n}\n\n.list-item {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}"] }]
367
+ args: [{ selector: 'mj-form-toolbar', template: "\n<div class=\"toolbar-container\" [class.disabled]=\"CurrentlyDisabled\">\n @if (!form.EditMode) {\n @if (form.UserCanEdit) {\n <button kendoButton (click)=\"form.StartEditMode()\" title=\"Edit this Record\">\n <span class=\"fa-solid fa-pen-to-square\"></span>\n <span class=\"button-text\">Edit</span>\n </button> \n }\n @if(form.UserCanDelete){\n <button kendoButton (click)=\"toggleDeleteDialog(true)\" title=\"Delete this Record\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button> \n }\n @if (form.FavoriteInitDone) {\n @if (form.IsFavorite) {\n <button kendoButton (click)=\"form.RemoveFavorite()\" title=\"Remove Favorite\">\n <span class=\"fa-solid fa-star\"></span>\n </button> \n }\n @else {\n <button kendoButton (click)=\"form.MakeFavorite()\" title=\"Make Favorite\">\n <span class=\"fa-regular fa-star\"></span>\n </button> \n }\n }\n }\n @else {\n <button kendoButton (mouseup)=\"saveExistingRecord($event)\" title=\"Save Record\">\n <span class=\"fa-solid fa-floppy-disk\"></span>\n <span class=\"button-text\">Save</span>\n </button> \n @if (form.record.IsSaved) {\n <!-- Only show the cancel button if the record has already been saved - don't show for a new record. -->\n <button kendoButton (click)=\"form.CancelEdit()\" title=\"Cancel Edit\">\n <span class=\"fa-solid fa-rotate-left\"></span>\n <span class=\"button-text\">Cancel</span>\n </button> \n }\n @if (form.record.Dirty) {\n <button kendoButton (click)=\"form.ShowChanges()\" title=\"Fields you have changed\">\n <span class=\"fa-solid fa-clipboard-list\"></span>\n <span class=\"button-text\">Changes</span>\n </button> \n }\n }\n @if (form.EntityInfo?.TrackRecordChanges && !form.EditMode) {\n <button kendoButton (click)=\"form.handleHistoryDialog()\" title=\"Show History\">\n <span class=\"fa-solid fa-business-time\"></span>\n <span class=\"button-text\">History</span>\n </button> \n }\n @if (ShowSkipChatButton && !form.EditMode) {\n <button kendoButton (click)=\"ShowSkipChat()\" title=\"Discuss this record with Skip\">\n <span class=\"fa-regular fa-comment-dots\"></span>\n </button> \n }\n @if (form.EntityInfo) {\n <mj-skip-chat-with-record-window\n [LinkedEntityID]=\"form.EntityInfo.ID\"\n [LinkedEntityPrimaryKey]=\"LinkedEntityPrimaryKey\" \n #mjChat\n [WindowOpened]=\"_skipChatDialogVisible\" \n (WindowClosed)=\"ShowSkipChat()\"\n >\n </mj-skip-chat-with-record-window>\n }\n @if (form.isHistoryDialogOpen) {\n <mj-record-changes [record]=\"form.record\" (dialogClosed)=\"form.handleHistoryDialog()\"></mj-record-changes>\n }\n @if(!form.EditMode){\n <button kendoButton (click)=\"toggleListDialog(true)\" title=\"Add this record to a list\">\n <span class=\"fa-solid fa-plus\"></span>\n </button> \n }\n <kendo-dialog \n [minWidth]=\"450\"\n [width]=\"650\"\n class=\"dialog-wrapper\" \n title=\"Confirm\" \n *ngIf=\"_deleteDialogVisible\" \n (close)=\"toggleDeleteDialog(false)\">\n <p class=\"k-m-7.5 k-text-center\">\n Are you sure you want to delete this record?\n </p>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"cancel-btn\" (click)=\"deleteRecord()\" kendoButton themeColor=\"info\">\n Yes, Delete\n </button>\n <button class=\"yes-btn\" (click)=\"toggleDeleteDialog(false)\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n No, Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <kendo-dialog\n class=\"dialog-wrapper\"\n title=\"Select List to Add Record To\"\n *ngIf=\"listDialogVisible\"\n (close)=\"toggleListDialog(false)\"\n [minWidth]=\"250\"\n [width]=\"650\"\n [height]=\"550\"\n >\n <hr>\n @for(list of availableLists; track list){\n <div class=\"overflow-y-scroll\">\n <div class=\"list-item\">\n <div class=\"list-text\">\n {{list.Name}}\n </div>\n <button kendoButton class=\"btn-no-border\" (click)=\"addRecordToList(list)\">\n <div class=\"btn-margin-right\">\n <span class=\"fa-solid fa-plus\"></span>\n Add\n </div>\n </button>\n </div>\n <hr>\n </div>\n }\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"yes-btn\" (click)=\"toggleListDialog(false)\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n Close\n </button>\n </kendo-dialog-actions>\n</kendo-dialog>\n</div>", styles: [".toolbar-container {\n border-bottom: 2px solid #e5e7eb;\n padding: 12px 16px;\n margin-bottom: 0;\n background: #f9fafb;\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.toolbar-container button {\n padding: 8px 14px;\n font-size: 14px;\n border: 1px solid #d1d5db;\n background: white;\n color: #374151;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.toolbar-container button:hover {\n background: #f3f4f6;\n border-color: #9ca3af;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.toolbar-container button:active {\n transform: translateY(0);\n}\n\n.toolbar-container button span[class*=\"fa-\"] {\n font-size: 16px;\n}\n\n.toolbar-container .button-text {\n margin-left: 0;\n font-size: 14px;\n} \n\n.toolbar-container.disabled {\n pointer-events: none;\n opacity: 0.8;\n}\n\n.disabled {\n pointer-events: none;\n}\n\n::ng-deep .form-toolbar-status-message {\n background: #f0f0f0;\n padding: 15px;\n border-radius: 5px;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n opacity: 1;\n z-index: 1000;\n color:#1d7032;\n font: 16px;\n font-weight: bold;\n min-width: 100px;\n\n text-align: center; /* Center the text horizontally */\n}\n\n\n::ng-deep .form-toolbar-elapsed-time {\n /*\n we want this littler timer to be small dark gray text in the top right corner with a white background\n*/\n position: absolute;\n top: 0;\n right: 0;\n color: darkgray;\n font-size: smaller;\n padding: 2px;\n border-radius: 5px;\n margin: 5px;\n z-index: 1000;\n}\n\n::ng-deep .form-toolbar-server-update-message {\n margin-top: 7px;\n font-size: smaller;\n color: black;\n}\n\n.list-item {\n display: flex;\n justify-content: space-between;\n padding-bottom: 5px;\n align-items: center;\n}"] }]
368
368
  }], () => [{ type: i1.Router }], { ShowSkipChatButton: [{
369
369
  type: Input
370
370
  }], form: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-form-toolbar",
3
- "version": "2.114.0",
3
+ "version": "2.116.0",
4
4
  "description": "MemberJunction: Angular Form Toolbar",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -25,13 +25,13 @@
25
25
  "@angular/router": "18.0.2"
26
26
  },
27
27
  "dependencies": {
28
- "@memberjunction/global": "2.114.0",
29
- "@memberjunction/core": "2.114.0",
30
- "@memberjunction/ng-shared": "2.114.0",
31
- "@memberjunction/ng-base-forms": "2.114.0",
32
- "@memberjunction/ng-ask-skip": "2.114.0",
33
- "@memberjunction/ng-record-changes": "2.114.0",
34
- "@memberjunction/ng-container-directives": "2.114.0",
28
+ "@memberjunction/global": "2.116.0",
29
+ "@memberjunction/core": "2.116.0",
30
+ "@memberjunction/ng-shared": "2.116.0",
31
+ "@memberjunction/ng-base-forms": "2.116.0",
32
+ "@memberjunction/ng-ask-skip": "2.116.0",
33
+ "@memberjunction/ng-record-changes": "2.116.0",
34
+ "@memberjunction/ng-container-directives": "2.116.0",
35
35
  "@progress/kendo-angular-buttons": "16.2.0",
36
36
  "@progress/kendo-angular-dialog": "16.2.0",
37
37
  "ngx-markdown": "^18.0.0",