@memberjunction/ng-form-toolbar 2.131.0 → 2.133.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/dist/lib/form-toolbar.d.ts +27 -0
- package/dist/lib/form-toolbar.d.ts.map +1 -1
- package/dist/lib/form-toolbar.js +213 -45
- package/dist/lib/form-toolbar.js.map +1 -1
- package/dist/module.d.ts +2 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -3
- package/dist/module.js.map +1 -1
- package/package.json +10 -9
|
@@ -3,6 +3,7 @@ import { BaseFormComponent } from '@memberjunction/ng-base-forms';
|
|
|
3
3
|
import { CompositeKey } from '@memberjunction/core';
|
|
4
4
|
import { Router } from '@angular/router';
|
|
5
5
|
import { ListEntity } from '@memberjunction/core-entities';
|
|
6
|
+
import { ListManagementDialogConfig, ListManagementResult } from '@memberjunction/ng-list-management';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class FormToolbarComponent implements OnInit {
|
|
8
9
|
private router;
|
|
@@ -22,6 +23,12 @@ export declare class FormToolbarComponent implements OnInit {
|
|
|
22
23
|
showListDialogLoader: boolean;
|
|
23
24
|
availableLists: ListEntity[];
|
|
24
25
|
selectedLists: ListEntity[];
|
|
26
|
+
showEnhancedListDialog: boolean;
|
|
27
|
+
listManagementConfig: ListManagementDialogConfig | null;
|
|
28
|
+
useEnhancedListDialog: boolean;
|
|
29
|
+
recordListCount: number;
|
|
30
|
+
recordListsLoading: boolean;
|
|
31
|
+
recordLists: ListEntity[];
|
|
25
32
|
/**
|
|
26
33
|
* Internal property that changes over time based on the state of the record being managed. Don't access this directly, use the CurrentlyDisabled property instead.
|
|
27
34
|
*/
|
|
@@ -37,6 +44,10 @@ export declare class FormToolbarComponent implements OnInit {
|
|
|
37
44
|
get LinkedEntityPrimaryKey(): CompositeKey;
|
|
38
45
|
constructor(router: Router);
|
|
39
46
|
ngOnInit(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Load the count of lists this record belongs to
|
|
49
|
+
*/
|
|
50
|
+
loadRecordListCount(): Promise<void>;
|
|
40
51
|
saveExistingRecord(event: MouseEvent): Promise<void>;
|
|
41
52
|
/**
|
|
42
53
|
* This method is called internally when the user clicks on the Skip button, and also can be invoked manually in code to show the Skip dialog.
|
|
@@ -44,6 +55,22 @@ export declare class FormToolbarComponent implements OnInit {
|
|
|
44
55
|
ShowSkipChat(): void;
|
|
45
56
|
toggleDeleteDialog(show: boolean): void;
|
|
46
57
|
toggleListDialog(show: boolean): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Opens the enhanced list management dialog
|
|
60
|
+
*/
|
|
61
|
+
openEnhancedListDialog(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Get a display name for a record
|
|
64
|
+
*/
|
|
65
|
+
private getRecordDisplayName;
|
|
66
|
+
/**
|
|
67
|
+
* Handle completion of the enhanced list management dialog
|
|
68
|
+
*/
|
|
69
|
+
onEnhancedListDialogComplete(result: ListManagementResult): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Handle cancellation of the enhanced list management dialog
|
|
72
|
+
*/
|
|
73
|
+
onEnhancedListDialogCancel(): void;
|
|
47
74
|
addRecordToList(list: ListEntity): Promise<void>;
|
|
48
75
|
deleteRecord(): Promise<void>;
|
|
49
76
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormToolbarComponent, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-toolbar.d.ts","sourceRoot":"","sources":["../../src/lib/form-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAgB,UAAU,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"form-toolbar.d.ts","sourceRoot":"","sources":["../../src/lib/form-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAgB,UAAU,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,YAAY,EAA6D,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAA8C,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;;AAGtG,qBAKa,oBAAqB,YAAW,MAAM;IAuD5B,OAAO,CAAC,MAAM;IAtDxB,kBAAkB,EAAE,OAAO,CAAQ;IACnC,IAAI,EAAG,iBAAiB,CAAC;IACwB,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAE1F,IAAW,qBAAqB,IAAI,OAAO,CAE1C;IAGD;;OAEG;IACI,QAAQ,EAAE,OAAO,CAAS;IAEjC;;OAEG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAEM,iBAAiB,EAAE,OAAO,CAAS;IACnC,oBAAoB,EAAE,OAAO,CAAS;IACtC,cAAc,EAAE,UAAU,EAAE,CAAM;IAClC,aAAa,EAAE,UAAU,EAAE,CAAM;IAGjC,sBAAsB,EAAE,OAAO,CAAS;IACxC,oBAAoB,EAAE,0BAA0B,GAAG,IAAI,CAAQ;IAC/D,qBAAqB,EAAE,OAAO,CAAQ;IAGtC,eAAe,EAAE,MAAM,CAAK;IAC5B,kBAAkB,EAAE,OAAO,CAAS;IACpC,WAAW,EAAE,UAAU,EAAE,CAAM;IAEtC;;OAEG;IACI,kBAAkB,EAAE,OAAO,CAAS;IAE3C;;OAEG;IACI,oBAAoB,EAAE,OAAO,CAAS;IAC7C;;OAEG;IACI,sBAAsB,EAAE,OAAO,CAAS;IAE/C,IAAW,sBAAsB,IAAI,YAAY,CAEhD;gBAE0B,MAAM,EAAE,MAAM;IAG5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtC;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDpC,kBAAkB,CAAC,KAAK,EAAE,UAAU;IAkEjD;;OAEG;IACI,YAAY,IAAI,IAAI;IAKpB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIjC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D;;OAEG;IACI,sBAAsB,IAAI,IAAI;IAyBrC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACU,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtF;;OAEG;IACI,0BAA0B,IAAI,IAAI;IAK5B,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBhD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;yCA5TjC,oBAAoB;2CAApB,oBAAoB;CA4VhC"}
|
package/dist/lib/form-toolbar.js
CHANGED
|
@@ -1,52 +1,54 @@
|
|
|
1
1
|
import { Component, Input, ContentChild, ElementRef } from '@angular/core';
|
|
2
2
|
import { EventCodes, SharedService } from '@memberjunction/ng-shared';
|
|
3
|
-
import { LogError, Metadata } from '@memberjunction/core';
|
|
3
|
+
import { LogError, Metadata, RunView } from '@memberjunction/core';
|
|
4
4
|
import { MJEventType, MJGlobal } from '@memberjunction/global';
|
|
5
|
+
import { ListDetailEntityExtended } from '@memberjunction/core-entities';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/router";
|
|
7
8
|
import * as i2 from "@angular/common";
|
|
8
9
|
import * as i3 from "@memberjunction/ng-record-changes";
|
|
9
10
|
import * as i4 from "@progress/kendo-angular-buttons";
|
|
10
11
|
import * as i5 from "@progress/kendo-angular-dialog";
|
|
12
|
+
import * as i6 from "@memberjunction/ng-list-management";
|
|
11
13
|
const _c0 = ["additionalControls"];
|
|
12
14
|
const _c1 = [[["", "toolbar-additional-controls", ""]]];
|
|
13
15
|
const _c2 = ["[toolbar-additional-controls]"];
|
|
14
16
|
function FormToolbarComponent_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
15
17
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
16
|
-
i0.ɵɵelementStart(0, "button",
|
|
18
|
+
i0.ɵɵelementStart(0, "button", 9);
|
|
17
19
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_1_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.form.StartEditMode()); });
|
|
18
|
-
i0.ɵɵelement(1, "span",
|
|
20
|
+
i0.ɵɵelement(1, "span", 10);
|
|
19
21
|
i0.ɵɵelementEnd();
|
|
20
22
|
} }
|
|
21
23
|
function FormToolbarComponent_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
22
24
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
23
|
-
i0.ɵɵelementStart(0, "button",
|
|
25
|
+
i0.ɵɵelementStart(0, "button", 11);
|
|
24
26
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_1_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(true)); });
|
|
25
|
-
i0.ɵɵelement(1, "span",
|
|
27
|
+
i0.ɵɵelement(1, "span", 12);
|
|
26
28
|
i0.ɵɵelementEnd();
|
|
27
29
|
} }
|
|
28
30
|
function FormToolbarComponent_Conditional_1_Conditional_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
29
31
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
30
|
-
i0.ɵɵelementStart(0, "button",
|
|
32
|
+
i0.ɵɵelementStart(0, "button", 15);
|
|
31
33
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_1_Conditional_2_Conditional_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.form.RemoveFavorite()); });
|
|
32
|
-
i0.ɵɵelement(1, "span",
|
|
34
|
+
i0.ɵɵelement(1, "span", 16);
|
|
33
35
|
i0.ɵɵelementEnd();
|
|
34
36
|
} }
|
|
35
37
|
function FormToolbarComponent_Conditional_1_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
36
38
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
37
|
-
i0.ɵɵelementStart(0, "button",
|
|
39
|
+
i0.ɵɵelementStart(0, "button", 17);
|
|
38
40
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_1_Conditional_2_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.form.MakeFavorite()); });
|
|
39
|
-
i0.ɵɵelement(1, "span",
|
|
41
|
+
i0.ɵɵelement(1, "span", 18);
|
|
40
42
|
i0.ɵɵelementEnd();
|
|
41
43
|
} }
|
|
42
44
|
function FormToolbarComponent_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
-
i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_2_Conditional_0_Template, 2, 0, "button",
|
|
45
|
+
i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_2_Conditional_0_Template, 2, 0, "button", 13)(1, FormToolbarComponent_Conditional_1_Conditional_2_Conditional_1_Template, 2, 0, "button", 14);
|
|
44
46
|
} if (rf & 2) {
|
|
45
47
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
46
48
|
i0.ɵɵconditional(ctx_r1.form.IsFavorite ? 0 : 1);
|
|
47
49
|
} }
|
|
48
50
|
function FormToolbarComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
-
i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_0_Template, 2, 0, "button",
|
|
51
|
+
i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_0_Template, 2, 0, "button", 7)(1, FormToolbarComponent_Conditional_1_Conditional_1_Template, 2, 0, "button", 8)(2, FormToolbarComponent_Conditional_1_Conditional_2_Template, 2, 1);
|
|
50
52
|
} if (rf & 2) {
|
|
51
53
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
52
54
|
i0.ɵɵconditional(ctx_r1.form.UserCanEdit ? 0 : -1);
|
|
@@ -57,31 +59,31 @@ function FormToolbarComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
57
59
|
} }
|
|
58
60
|
function FormToolbarComponent_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
59
61
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
60
|
-
i0.ɵɵelementStart(0, "button",
|
|
62
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
61
63
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_2_Conditional_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.form.CancelEdit()); });
|
|
62
|
-
i0.ɵɵelement(1, "span",
|
|
63
|
-
i0.ɵɵelementStart(2, "span",
|
|
64
|
+
i0.ɵɵelement(1, "span", 25);
|
|
65
|
+
i0.ɵɵelementStart(2, "span", 21);
|
|
64
66
|
i0.ɵɵtext(3, "Cancel");
|
|
65
67
|
i0.ɵɵelementEnd()();
|
|
66
68
|
} }
|
|
67
69
|
function FormToolbarComponent_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
68
70
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
69
|
-
i0.ɵɵelementStart(0, "button",
|
|
71
|
+
i0.ɵɵelementStart(0, "button", 26);
|
|
70
72
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_2_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.form.ShowChanges()); });
|
|
71
|
-
i0.ɵɵelement(1, "span",
|
|
72
|
-
i0.ɵɵelementStart(2, "span",
|
|
73
|
+
i0.ɵɵelement(1, "span", 27);
|
|
74
|
+
i0.ɵɵelementStart(2, "span", 21);
|
|
73
75
|
i0.ɵɵtext(3, "Changes");
|
|
74
76
|
i0.ɵɵelementEnd()();
|
|
75
77
|
} }
|
|
76
78
|
function FormToolbarComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
77
79
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
78
|
-
i0.ɵɵelementStart(0, "button",
|
|
80
|
+
i0.ɵɵelementStart(0, "button", 19);
|
|
79
81
|
i0.ɵɵlistener("mouseup", function FormToolbarComponent_Conditional_2_Template_button_mouseup_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveExistingRecord($event)); });
|
|
80
|
-
i0.ɵɵelement(1, "span",
|
|
81
|
-
i0.ɵɵelementStart(2, "span",
|
|
82
|
+
i0.ɵɵelement(1, "span", 20);
|
|
83
|
+
i0.ɵɵelementStart(2, "span", 21);
|
|
82
84
|
i0.ɵɵtext(3, "Save");
|
|
83
85
|
i0.ɵɵelementEnd()();
|
|
84
|
-
i0.ɵɵtemplate(4, FormToolbarComponent_Conditional_2_Conditional_4_Template, 4, 0, "button",
|
|
86
|
+
i0.ɵɵtemplate(4, FormToolbarComponent_Conditional_2_Conditional_4_Template, 4, 0, "button", 22)(5, FormToolbarComponent_Conditional_2_Conditional_5_Template, 4, 0, "button", 23);
|
|
85
87
|
} if (rf & 2) {
|
|
86
88
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
87
89
|
i0.ɵɵadvance(4);
|
|
@@ -91,39 +93,54 @@ function FormToolbarComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
91
93
|
} }
|
|
92
94
|
function FormToolbarComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
93
95
|
const _r9 = i0.ɵɵgetCurrentView();
|
|
94
|
-
i0.ɵɵelementStart(0, "button",
|
|
96
|
+
i0.ɵɵelementStart(0, "button", 28);
|
|
95
97
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.form.handleHistoryDialog()); });
|
|
96
|
-
i0.ɵɵelement(1, "span",
|
|
98
|
+
i0.ɵɵelement(1, "span", 29);
|
|
97
99
|
i0.ɵɵelementEnd();
|
|
98
100
|
} }
|
|
99
101
|
function FormToolbarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
100
102
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
101
|
-
i0.ɵɵelementStart(0, "mj-record-changes",
|
|
103
|
+
i0.ɵɵelementStart(0, "mj-record-changes", 30);
|
|
102
104
|
i0.ɵɵlistener("dialogClosed", function FormToolbarComponent_Conditional_4_Template_mj_record_changes_dialogClosed_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.form.handleHistoryDialog()); });
|
|
103
105
|
i0.ɵɵelementEnd();
|
|
104
106
|
} if (rf & 2) {
|
|
105
107
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
106
108
|
i0.ɵɵproperty("record", ctx_r1.form.record);
|
|
107
109
|
} }
|
|
110
|
+
function FormToolbarComponent_Conditional_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
111
|
+
i0.ɵɵelementStart(0, "span", 33);
|
|
112
|
+
i0.ɵɵtext(1);
|
|
113
|
+
i0.ɵɵelementEnd();
|
|
114
|
+
} if (rf & 2) {
|
|
115
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
116
|
+
i0.ɵɵadvance();
|
|
117
|
+
i0.ɵɵtextInterpolate(ctx_r1.recordListCount);
|
|
118
|
+
} }
|
|
108
119
|
function FormToolbarComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
109
120
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
110
|
-
i0.ɵɵelementStart(0, "button",
|
|
121
|
+
i0.ɵɵelementStart(0, "button", 31);
|
|
111
122
|
i0.ɵɵlistener("click", function FormToolbarComponent_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(true)); });
|
|
112
|
-
i0.ɵɵelement(1, "span",
|
|
123
|
+
i0.ɵɵelement(1, "span", 32);
|
|
124
|
+
i0.ɵɵtemplate(2, FormToolbarComponent_Conditional_5_Conditional_2_Template, 2, 1, "span", 33);
|
|
113
125
|
i0.ɵɵelementEnd();
|
|
126
|
+
} if (rf & 2) {
|
|
127
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
128
|
+
i0.ɵɵproperty("title", ctx_r1.recordListCount > 0 ? "Member of " + ctx_r1.recordListCount + " list(s) - Click to manage" : "Add this record to a list");
|
|
129
|
+
i0.ɵɵadvance(2);
|
|
130
|
+
i0.ɵɵconditional(ctx_r1.recordListCount > 0 ? 2 : -1);
|
|
114
131
|
} }
|
|
115
132
|
function FormToolbarComponent_kendo_dialog_7_Template(rf, ctx) { if (rf & 1) {
|
|
116
133
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
117
|
-
i0.ɵɵelementStart(0, "kendo-dialog",
|
|
134
|
+
i0.ɵɵelementStart(0, "kendo-dialog", 34);
|
|
118
135
|
i0.ɵɵlistener("close", function FormToolbarComponent_kendo_dialog_7_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(false)); });
|
|
119
|
-
i0.ɵɵelementStart(1, "p",
|
|
136
|
+
i0.ɵɵelementStart(1, "p", 35);
|
|
120
137
|
i0.ɵɵtext(2, " Are you sure you want to delete this record? ");
|
|
121
138
|
i0.ɵɵelementEnd();
|
|
122
|
-
i0.ɵɵelementStart(3, "kendo-dialog-actions",
|
|
139
|
+
i0.ɵɵelementStart(3, "kendo-dialog-actions", 36)(4, "button", 37);
|
|
123
140
|
i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_7_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.deleteRecord()); });
|
|
124
141
|
i0.ɵɵtext(5, " Yes, Delete ");
|
|
125
142
|
i0.ɵɵelementEnd();
|
|
126
|
-
i0.ɵɵelementStart(6, "button",
|
|
143
|
+
i0.ɵɵelementStart(6, "button", 38);
|
|
127
144
|
i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_7_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(false)); });
|
|
128
145
|
i0.ɵɵtext(7, " No, Cancel ");
|
|
129
146
|
i0.ɵɵelementEnd()()();
|
|
@@ -132,13 +149,13 @@ function FormToolbarComponent_kendo_dialog_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
132
149
|
} }
|
|
133
150
|
function FormToolbarComponent_kendo_dialog_8_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
134
151
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
135
|
-
i0.ɵɵelementStart(0, "div",
|
|
152
|
+
i0.ɵɵelementStart(0, "div", 40)(1, "div", 41)(2, "div", 42);
|
|
136
153
|
i0.ɵɵtext(3);
|
|
137
154
|
i0.ɵɵelementEnd();
|
|
138
|
-
i0.ɵɵelementStart(4, "button",
|
|
155
|
+
i0.ɵɵelementStart(4, "button", 43);
|
|
139
156
|
i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_8_For_3_Template_button_click_4_listener() { const list_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.addRecordToList(list_r15)); });
|
|
140
|
-
i0.ɵɵelementStart(5, "div",
|
|
141
|
-
i0.ɵɵelement(6, "span",
|
|
157
|
+
i0.ɵɵelementStart(5, "div", 44);
|
|
158
|
+
i0.ɵɵelement(6, "span", 45);
|
|
142
159
|
i0.ɵɵtext(7, " Add ");
|
|
143
160
|
i0.ɵɵelementEnd()()();
|
|
144
161
|
i0.ɵɵelement(8, "hr");
|
|
@@ -150,11 +167,11 @@ function FormToolbarComponent_kendo_dialog_8_For_3_Template(rf, ctx) { if (rf &
|
|
|
150
167
|
} }
|
|
151
168
|
function FormToolbarComponent_kendo_dialog_8_Template(rf, ctx) { if (rf & 1) {
|
|
152
169
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
153
|
-
i0.ɵɵelementStart(0, "kendo-dialog",
|
|
170
|
+
i0.ɵɵelementStart(0, "kendo-dialog", 39);
|
|
154
171
|
i0.ɵɵlistener("close", function FormToolbarComponent_kendo_dialog_8_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(false)); });
|
|
155
172
|
i0.ɵɵelement(1, "hr");
|
|
156
|
-
i0.ɵɵrepeaterCreate(2, FormToolbarComponent_kendo_dialog_8_For_3_Template, 9, 1, "div",
|
|
157
|
-
i0.ɵɵelementStart(4, "kendo-dialog-actions",
|
|
173
|
+
i0.ɵɵrepeaterCreate(2, FormToolbarComponent_kendo_dialog_8_For_3_Template, 9, 1, "div", 40, i0.ɵɵrepeaterTrackByIdentity);
|
|
174
|
+
i0.ɵɵelementStart(4, "kendo-dialog-actions", 36)(5, "button", 38);
|
|
158
175
|
i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_8_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(false)); });
|
|
159
176
|
i0.ɵɵtext(6, " Close ");
|
|
160
177
|
i0.ɵɵelementEnd()()();
|
|
@@ -164,6 +181,15 @@ function FormToolbarComponent_kendo_dialog_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
164
181
|
i0.ɵɵadvance(2);
|
|
165
182
|
i0.ɵɵrepeater(ctx_r1.availableLists);
|
|
166
183
|
} }
|
|
184
|
+
function FormToolbarComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
185
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
186
|
+
i0.ɵɵelementStart(0, "mj-list-management-dialog", 46);
|
|
187
|
+
i0.ɵɵlistener("complete", function FormToolbarComponent_Conditional_9_Template_mj_list_management_dialog_complete_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onEnhancedListDialogComplete($event)); })("cancel", function FormToolbarComponent_Conditional_9_Template_mj_list_management_dialog_cancel_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onEnhancedListDialogCancel()); });
|
|
188
|
+
i0.ɵɵelementEnd();
|
|
189
|
+
} if (rf & 2) {
|
|
190
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
191
|
+
i0.ɵɵproperty("config", ctx_r1.listManagementConfig)("visible", ctx_r1.showEnhancedListDialog);
|
|
192
|
+
} }
|
|
167
193
|
export class FormToolbarComponent {
|
|
168
194
|
router;
|
|
169
195
|
ShowSkipChatButton = true;
|
|
@@ -186,6 +212,14 @@ export class FormToolbarComponent {
|
|
|
186
212
|
showListDialogLoader = false;
|
|
187
213
|
availableLists = [];
|
|
188
214
|
selectedLists = [];
|
|
215
|
+
// Enhanced list management dialog
|
|
216
|
+
showEnhancedListDialog = false;
|
|
217
|
+
listManagementConfig = null;
|
|
218
|
+
useEnhancedListDialog = true; // Toggle to use enhanced dialog
|
|
219
|
+
// List membership indicator
|
|
220
|
+
recordListCount = 0;
|
|
221
|
+
recordListsLoading = false;
|
|
222
|
+
recordLists = [];
|
|
189
223
|
/**
|
|
190
224
|
* Internal property that changes over time based on the state of the record being managed. Don't access this directly, use the CurrentlyDisabled property instead.
|
|
191
225
|
*/
|
|
@@ -205,6 +239,62 @@ export class FormToolbarComponent {
|
|
|
205
239
|
this.router = router;
|
|
206
240
|
}
|
|
207
241
|
async ngOnInit() {
|
|
242
|
+
// Load list membership info for the current record
|
|
243
|
+
await this.loadRecordListCount();
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Load the count of lists this record belongs to
|
|
247
|
+
*/
|
|
248
|
+
async loadRecordListCount() {
|
|
249
|
+
const record = this.form?.record;
|
|
250
|
+
if (!record || !record.IsSaved) {
|
|
251
|
+
this.recordListCount = 0;
|
|
252
|
+
this.recordLists = [];
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
this.recordListsLoading = true;
|
|
256
|
+
try {
|
|
257
|
+
const rv = new RunView();
|
|
258
|
+
// Use the proper RecordID format based on PK count:
|
|
259
|
+
// Single PK: raw value, Composite PK: concatenated format
|
|
260
|
+
const recordId = ListDetailEntityExtended.BuildRecordID(record.EntityInfo, record);
|
|
261
|
+
const entityId = record.EntityInfo.ID;
|
|
262
|
+
// Get list details for this record
|
|
263
|
+
const detailsResult = await rv.RunView({
|
|
264
|
+
EntityName: 'List Details',
|
|
265
|
+
ExtraFilter: `RecordID = '${recordId}'`,
|
|
266
|
+
ResultType: 'entity_object'
|
|
267
|
+
});
|
|
268
|
+
if (!detailsResult.Success || !detailsResult.Results || detailsResult.Results.length === 0) {
|
|
269
|
+
this.recordListCount = 0;
|
|
270
|
+
this.recordLists = [];
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
const listIds = [...new Set(detailsResult.Results.map((d) => d.ListID))];
|
|
274
|
+
// Get the lists filtered by entity
|
|
275
|
+
const listIdFilter = listIds.map(id => `'${id}'`).join(',');
|
|
276
|
+
const listsResult = await rv.RunView({
|
|
277
|
+
EntityName: 'Lists',
|
|
278
|
+
ExtraFilter: `ID IN (${listIdFilter}) AND EntityID = '${entityId}'`,
|
|
279
|
+
ResultType: 'entity_object'
|
|
280
|
+
});
|
|
281
|
+
if (listsResult.Success && listsResult.Results) {
|
|
282
|
+
this.recordLists = listsResult.Results;
|
|
283
|
+
this.recordListCount = listsResult.Results.length;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
this.recordListCount = 0;
|
|
287
|
+
this.recordLists = [];
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
catch (error) {
|
|
291
|
+
console.error('Error loading record list count:', error);
|
|
292
|
+
this.recordListCount = 0;
|
|
293
|
+
this.recordLists = [];
|
|
294
|
+
}
|
|
295
|
+
finally {
|
|
296
|
+
this.recordListsLoading = false;
|
|
297
|
+
}
|
|
208
298
|
}
|
|
209
299
|
async saveExistingRecord(event) {
|
|
210
300
|
// Ensure the button takes focus
|
|
@@ -271,19 +361,95 @@ export class FormToolbarComponent {
|
|
|
271
361
|
this._deleteDialogVisible = show;
|
|
272
362
|
}
|
|
273
363
|
async toggleListDialog(show) {
|
|
364
|
+
if (this.useEnhancedListDialog && show) {
|
|
365
|
+
// Use the enhanced list management dialog
|
|
366
|
+
this.openEnhancedListDialog();
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
// Fallback to original simple dialog
|
|
274
370
|
this.listDialogVisible = show;
|
|
275
371
|
if (show) {
|
|
276
372
|
this.availableLists = [];
|
|
277
373
|
this.availableLists = await this.form.GetListsCanAddTo();
|
|
278
374
|
}
|
|
279
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Opens the enhanced list management dialog
|
|
378
|
+
*/
|
|
379
|
+
openEnhancedListDialog() {
|
|
380
|
+
const record = this.form.record;
|
|
381
|
+
if (!record)
|
|
382
|
+
return;
|
|
383
|
+
// Use the proper RecordID format based on PK count:
|
|
384
|
+
// Single PK: raw value, Composite PK: concatenated format
|
|
385
|
+
const entityInfo = record.EntityInfo;
|
|
386
|
+
const recordId = ListDetailEntityExtended.BuildRecordID(entityInfo, record);
|
|
387
|
+
const recordName = this.getRecordDisplayName(record);
|
|
388
|
+
this.listManagementConfig = {
|
|
389
|
+
mode: 'manage',
|
|
390
|
+
entityId: entityInfo.ID,
|
|
391
|
+
entityName: entityInfo.Name,
|
|
392
|
+
recordIds: [recordId],
|
|
393
|
+
recordDisplayNames: [recordName],
|
|
394
|
+
allowCreate: true,
|
|
395
|
+
allowRemove: true,
|
|
396
|
+
showMembership: true,
|
|
397
|
+
dialogTitle: `Manage Lists for "${recordName}"`
|
|
398
|
+
};
|
|
399
|
+
this.showEnhancedListDialog = true;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Get a display name for a record
|
|
403
|
+
*/
|
|
404
|
+
getRecordDisplayName(record) {
|
|
405
|
+
const entityInfo = record.EntityInfo;
|
|
406
|
+
if (entityInfo?.NameField) {
|
|
407
|
+
const name = record.Get(entityInfo.NameField.Name);
|
|
408
|
+
if (name)
|
|
409
|
+
return String(name);
|
|
410
|
+
}
|
|
411
|
+
return record.PrimaryKey.ToConcatenatedString();
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Handle completion of the enhanced list management dialog
|
|
415
|
+
*/
|
|
416
|
+
async onEnhancedListDialogComplete(result) {
|
|
417
|
+
this.showEnhancedListDialog = false;
|
|
418
|
+
this.listManagementConfig = null;
|
|
419
|
+
if (result.action === 'apply') {
|
|
420
|
+
const addedCount = result.added.length;
|
|
421
|
+
const removedCount = result.removed.length;
|
|
422
|
+
if (addedCount > 0 || removedCount > 0) {
|
|
423
|
+
let message = '';
|
|
424
|
+
if (addedCount > 0) {
|
|
425
|
+
message += `Added to ${addedCount} list(s)`;
|
|
426
|
+
}
|
|
427
|
+
if (removedCount > 0) {
|
|
428
|
+
if (message)
|
|
429
|
+
message += ', ';
|
|
430
|
+
message += `Removed from ${removedCount} list(s)`;
|
|
431
|
+
}
|
|
432
|
+
SharedService.Instance.CreateSimpleNotification(message, 'success', 2500);
|
|
433
|
+
// Refresh the list count
|
|
434
|
+
await this.loadRecordListCount();
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* Handle cancellation of the enhanced list management dialog
|
|
440
|
+
*/
|
|
441
|
+
onEnhancedListDialogCancel() {
|
|
442
|
+
this.showEnhancedListDialog = false;
|
|
443
|
+
this.listManagementConfig = null;
|
|
444
|
+
}
|
|
280
445
|
async addRecordToList(list) {
|
|
281
446
|
this.toggleListDialog(false);
|
|
282
447
|
const md = new Metadata();
|
|
283
448
|
const listDetailEntity = await md.GetEntityObject("List Details", md.CurrentUser);
|
|
284
449
|
listDetailEntity.NewRecord();
|
|
285
450
|
listDetailEntity.ListID = list.ID;
|
|
286
|
-
|
|
451
|
+
// Use SetRecordIDFromEntity which handles single vs composite PK properly
|
|
452
|
+
listDetailEntity.SetRecordIDFromEntity(this.form.record.EntityInfo, this.form.record);
|
|
287
453
|
const saveResult = await listDetailEntity.Save();
|
|
288
454
|
if (!saveResult) {
|
|
289
455
|
LogError(`Error adding record to list ${list.Name}`, undefined, listDetailEntity.LatestResult);
|
|
@@ -329,12 +495,12 @@ export class FormToolbarComponent {
|
|
|
329
495
|
} if (rf & 2) {
|
|
330
496
|
let _t;
|
|
331
497
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.additionalControls = _t.first);
|
|
332
|
-
} }, inputs: { ShowSkipChatButton: "ShowSkipChatButton", form: "form" }, ngContentSelectors: _c2, decls:
|
|
498
|
+
} }, inputs: { ShowSkipChatButton: "ShowSkipChatButton", form: "form" }, ngContentSelectors: _c2, decls: 10, vars: 9, consts: [[1, "toolbar-container"], ["kendoButton", "", "title", "Show History"], [3, "record"], ["kendoButton", "", 1, "list-button", 3, "title"], ["class", "dialog-wrapper", "title", "Confirm", 3, "minWidth", "width", "close", 4, "ngIf"], ["class", "dialog-wrapper", "title", "Select List to Add Record To", 3, "minWidth", "width", "height", "close", 4, "ngIf"], [3, "config", "visible"], ["kendoButton", "", "title", "Edit this Record"], ["kendoButton", "", "title", "Delete this Record"], ["kendoButton", "", "title", "Edit this Record", 3, "click"], [1, "fa-solid", "fa-pen-to-square"], ["kendoButton", "", "title", "Delete this Record", 3, "click"], [1, "fa-regular", "fa-trash-can"], ["kendoButton", "", "title", "Remove Favorite"], ["kendoButton", "", "title", "Make Favorite"], ["kendoButton", "", "title", "Remove Favorite", 3, "click"], [1, "fa-solid", "fa-star"], ["kendoButton", "", "title", "Make Favorite", 3, "click"], [1, "fa-regular", "fa-star"], ["kendoButton", "", "title", "Save Record", 3, "mouseup"], [1, "fa-solid", "fa-floppy-disk"], [1, "button-text"], ["kendoButton", "", "title", "Cancel Edit"], ["kendoButton", "", "title", "Fields you have changed"], ["kendoButton", "", "title", "Cancel Edit", 3, "click"], [1, "fa-solid", "fa-rotate-left"], ["kendoButton", "", "title", "Fields you have changed", 3, "click"], [1, "fa-solid", "fa-clipboard-list"], ["kendoButton", "", "title", "Show History", 3, "click"], [1, "fa-solid", "fa-clock-rotate-left"], [3, "dialogClosed", "record"], ["kendoButton", "", 1, "list-button", 3, "click", "title"], [1, "fa-solid", "fa-rectangle-list"], [1, "list-count-badge"], ["title", "Confirm", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], [1, "k-m-7.5", "k-text-center"], [1, "popup-actions-btn"], ["kendoButton", "", "themeColor", "info", 1, "cancel-btn", 3, "click"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 1, "yes-btn", 3, "click"], ["title", "Select List to Add Record To", 1, "dialog-wrapper", 3, "close", "minWidth", "width", "height"], [1, "overflow-y-scroll"], [1, "list-item"], [1, "list-text"], ["kendoButton", "", 1, "btn-no-border", 3, "click"], [1, "btn-margin-right"], [1, "fa-solid", "fa-plus"], [3, "complete", "cancel", "config", "visible"]], template: function FormToolbarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
333
499
|
i0.ɵɵprojectionDef(_c1);
|
|
334
500
|
i0.ɵɵelementStart(0, "div", 0);
|
|
335
|
-
i0.ɵɵtemplate(1, FormToolbarComponent_Conditional_1_Template, 3, 3)(2, FormToolbarComponent_Conditional_2_Template, 6, 2)(3, FormToolbarComponent_Conditional_3_Template, 2, 0, "button", 1)(4, FormToolbarComponent_Conditional_4_Template, 1, 1, "mj-record-changes", 2)(5, FormToolbarComponent_Conditional_5_Template,
|
|
501
|
+
i0.ɵɵtemplate(1, FormToolbarComponent_Conditional_1_Template, 3, 3)(2, FormToolbarComponent_Conditional_2_Template, 6, 2)(3, FormToolbarComponent_Conditional_3_Template, 2, 0, "button", 1)(4, FormToolbarComponent_Conditional_4_Template, 1, 1, "mj-record-changes", 2)(5, FormToolbarComponent_Conditional_5_Template, 3, 2, "button", 3);
|
|
336
502
|
i0.ɵɵprojection(6);
|
|
337
|
-
i0.ɵɵtemplate(7, FormToolbarComponent_kendo_dialog_7_Template, 8, 2, "kendo-dialog", 4)(8, FormToolbarComponent_kendo_dialog_8_Template, 7, 3, "kendo-dialog", 5);
|
|
503
|
+
i0.ɵɵtemplate(7, FormToolbarComponent_kendo_dialog_7_Template, 8, 2, "kendo-dialog", 4)(8, FormToolbarComponent_kendo_dialog_8_Template, 7, 3, "kendo-dialog", 5)(9, FormToolbarComponent_Conditional_9_Template, 1, 2, "mj-list-management-dialog", 6);
|
|
338
504
|
i0.ɵɵelementEnd();
|
|
339
505
|
} if (rf & 2) {
|
|
340
506
|
i0.ɵɵclassProp("disabled", ctx.CurrentlyDisabled);
|
|
@@ -349,12 +515,14 @@ export class FormToolbarComponent {
|
|
|
349
515
|
i0.ɵɵadvance(2);
|
|
350
516
|
i0.ɵɵproperty("ngIf", ctx._deleteDialogVisible);
|
|
351
517
|
i0.ɵɵadvance();
|
|
352
|
-
i0.ɵɵproperty("ngIf", ctx.listDialogVisible);
|
|
353
|
-
|
|
518
|
+
i0.ɵɵproperty("ngIf", ctx.listDialogVisible && !ctx.useEnhancedListDialog);
|
|
519
|
+
i0.ɵɵadvance();
|
|
520
|
+
i0.ɵɵconditional(ctx.showEnhancedListDialog && ctx.listManagementConfig ? 9 : -1);
|
|
521
|
+
} }, dependencies: [i2.NgIf, i3.RecordChangesComponent, i4.ButtonComponent, i5.DialogComponent, i5.DialogActionsComponent, i6.ListManagementDialogComponent], 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: 7px;\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\n\n.toolbar-separator[_ngcontent-%COMP%] {\n width: 1px;\n height: 24px;\n background: #d1d5db;\n margin: 0 8px;\n}\n\n\n\n .toolbar-container [toolbar-additional-controls] {\n display: flex;\n gap: 7px;\n align-items: center;\n margin-left: auto;\n}\n\n\n\n .toolbar-container [toolbar-additional-controls] 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 display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n .toolbar-container [toolbar-additional-controls] 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 [toolbar-additional-controls] button:active {\n transform: translateY(0);\n}\n\n\n\n .toolbar-container [toolbar-additional-controls] input.section-search {\n padding: 8px 12px;\n font-size: 14px;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n min-width: 180px;\n transition: all 0.2s;\n}\n\n .toolbar-container [toolbar-additional-controls] input.section-search:focus {\n outline: none;\n border-color: #9ca3af;\n box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.2);\n}\n\n\n\n .toolbar-container [toolbar-additional-controls] .section-count {\n font-size: 12px;\n color: #4b5563;\n font-weight: 600;\n padding: 6px 14px;\n background: #e5e7eb;\n border: 1px solid #d1d5db;\n border-radius: 12px;\n white-space: nowrap;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n\n\n .toolbar-container [toolbar-additional-controls] .clear-search-btn {\n position: absolute;\n right: 4px;\n top: 50%;\n transform: translateY(-50%);\n padding: 4px 8px !important;\n min-width: auto !important;\n background: transparent !important;\n border: none !important;\n color: #9ca3af !important;\n font-size: 14px;\n}\n\n .toolbar-container [toolbar-additional-controls] .clear-search-btn:hover {\n color: #6b7280 !important;\n background: transparent !important;\n transform: translateY(-50%);\n box-shadow: none !important;\n}\n\n\n\n mark.search-highlight {\n background: #fef08a;\n color: #854d0e;\n font-weight: 600;\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}\n\n\n\n.toolbar-container[_ngcontent-%COMP%] button.list-button[_ngcontent-%COMP%] {\n position: relative;\n}\n\n.list-count-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: -6px;\n right: -6px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n font-size: 11px;\n font-weight: 600;\n color: white;\n background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);\n border: 2px solid #f9fafb;\n}"] });
|
|
354
522
|
}
|
|
355
523
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormToolbarComponent, [{
|
|
356
524
|
type: Component,
|
|
357
|
-
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 </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-clock-rotate-left\"></span>\n </button>\n }\n <!-- \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n REPLACE THIS WITH GENERIC CHAT LATER in 3.0 LIFECYCLE - TO-Do TODO \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\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 <!-- \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n REPLACE THIS WITH GENERIC CHAT LATER in 3.0 LIFECYCLE - TO-Do TODO \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n -->\n\n\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-rectangle-list\"></span>\n </button>\n }\n\n <!-- Slot for additional controls (section controls) - no separator needed with right-align -->\n <ng-content select=\"[toolbar-additional-controls]\"></ng-content>\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: 7px;\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 separator for additional controls */\n.toolbar-separator {\n width: 1px;\n height: 24px;\n background: #d1d5db;\n margin: 0 8px;\n}\n\n/* Additional controls container */\n::ng-deep .toolbar-container [toolbar-additional-controls] {\n display: flex;\n gap: 7px;\n align-items: center;\n margin-left: auto;\n}\n\n/* Additional controls buttons should match main toolbar buttons */\n::ng-deep .toolbar-container [toolbar-additional-controls] 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 display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n::ng-deep .toolbar-container [toolbar-additional-controls] 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::ng-deep .toolbar-container [toolbar-additional-controls] button:active {\n transform: translateY(0);\n}\n\n/* Search input styling - reduced border radius */\n::ng-deep .toolbar-container [toolbar-additional-controls] input.section-search {\n padding: 8px 12px;\n font-size: 14px;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n min-width: 180px;\n transition: all 0.2s;\n}\n\n::ng-deep .toolbar-container [toolbar-additional-controls] input.section-search:focus {\n outline: none;\n border-color: #9ca3af;\n box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.2);\n}\n\n/* Section count styling - pill design */\n::ng-deep .toolbar-container [toolbar-additional-controls] .section-count {\n font-size: 12px;\n color: #4b5563;\n font-weight: 600;\n padding: 6px 14px;\n background: #e5e7eb;\n border: 1px solid #d1d5db;\n border-radius: 12px;\n white-space: nowrap;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n/* Clear search button styling */\n::ng-deep .toolbar-container [toolbar-additional-controls] .clear-search-btn {\n position: absolute;\n right: 4px;\n top: 50%;\n transform: translateY(-50%);\n padding: 4px 8px !important;\n min-width: auto !important;\n background: transparent !important;\n border: none !important;\n color: #9ca3af !important;\n font-size: 14px;\n}\n\n::ng-deep .toolbar-container [toolbar-additional-controls] .clear-search-btn:hover {\n color: #6b7280 !important;\n background: transparent !important;\n transform: translateY(-50%);\n box-shadow: none !important;\n}\n\n/* Yellow highlight for search matches */\n::ng-deep mark.search-highlight {\n background: #fef08a;\n color: #854d0e;\n font-weight: 600;\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}"] }]
|
|
525
|
+
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 </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-clock-rotate-left\"></span>\n </button>\n }\n <!-- \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n REPLACE THIS WITH GENERIC CHAT LATER in 3.0 LIFECYCLE - TO-Do TODO \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\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 <!-- \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n REPLACE THIS WITH GENERIC CHAT LATER in 3.0 LIFECYCLE - TO-Do TODO \n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n ************************************************************\n -->\n\n\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)\"\n [title]=\"recordListCount > 0 ? 'Member of ' + recordListCount + ' list(s) - Click to manage' : 'Add this record to a list'\"\n class=\"list-button\">\n <span class=\"fa-solid fa-rectangle-list\"></span>\n @if (recordListCount > 0) {\n <span class=\"list-count-badge\">{{ recordListCount }}</span>\n }\n </button>\n }\n\n <!-- Slot for additional controls (section controls) - no separator needed with right-align -->\n <ng-content select=\"[toolbar-additional-controls]\"></ng-content>\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 <!-- Legacy List Dialog (fallback when useEnhancedListDialog is false) -->\n <kendo-dialog\n class=\"dialog-wrapper\"\n title=\"Select List to Add Record To\"\n *ngIf=\"listDialogVisible && !useEnhancedListDialog\"\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\n <!-- Enhanced List Management Dialog -->\n @if (showEnhancedListDialog && listManagementConfig) {\n <mj-list-management-dialog\n [config]=\"listManagementConfig\"\n [visible]=\"showEnhancedListDialog\"\n (complete)=\"onEnhancedListDialogComplete($event)\"\n (cancel)=\"onEnhancedListDialogCancel()\">\n </mj-list-management-dialog>\n }\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: 7px;\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 separator for additional controls */\n.toolbar-separator {\n width: 1px;\n height: 24px;\n background: #d1d5db;\n margin: 0 8px;\n}\n\n/* Additional controls container */\n::ng-deep .toolbar-container [toolbar-additional-controls] {\n display: flex;\n gap: 7px;\n align-items: center;\n margin-left: auto;\n}\n\n/* Additional controls buttons should match main toolbar buttons */\n::ng-deep .toolbar-container [toolbar-additional-controls] 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 display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n::ng-deep .toolbar-container [toolbar-additional-controls] 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::ng-deep .toolbar-container [toolbar-additional-controls] button:active {\n transform: translateY(0);\n}\n\n/* Search input styling - reduced border radius */\n::ng-deep .toolbar-container [toolbar-additional-controls] input.section-search {\n padding: 8px 12px;\n font-size: 14px;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n min-width: 180px;\n transition: all 0.2s;\n}\n\n::ng-deep .toolbar-container [toolbar-additional-controls] input.section-search:focus {\n outline: none;\n border-color: #9ca3af;\n box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.2);\n}\n\n/* Section count styling - pill design */\n::ng-deep .toolbar-container [toolbar-additional-controls] .section-count {\n font-size: 12px;\n color: #4b5563;\n font-weight: 600;\n padding: 6px 14px;\n background: #e5e7eb;\n border: 1px solid #d1d5db;\n border-radius: 12px;\n white-space: nowrap;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n/* Clear search button styling */\n::ng-deep .toolbar-container [toolbar-additional-controls] .clear-search-btn {\n position: absolute;\n right: 4px;\n top: 50%;\n transform: translateY(-50%);\n padding: 4px 8px !important;\n min-width: auto !important;\n background: transparent !important;\n border: none !important;\n color: #9ca3af !important;\n font-size: 14px;\n}\n\n::ng-deep .toolbar-container [toolbar-additional-controls] .clear-search-btn:hover {\n color: #6b7280 !important;\n background: transparent !important;\n transform: translateY(-50%);\n box-shadow: none !important;\n}\n\n/* Yellow highlight for search matches */\n::ng-deep mark.search-highlight {\n background: #fef08a;\n color: #854d0e;\n font-weight: 600;\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}\n\n/* List button with count badge */\n.toolbar-container button.list-button {\n position: relative;\n}\n\n.list-count-badge {\n position: absolute;\n top: -6px;\n right: -6px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n font-size: 11px;\n font-weight: 600;\n color: white;\n background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);\n border: 2px solid #f9fafb;\n}"] }]
|
|
358
526
|
}], () => [{ type: i1.Router }], { ShowSkipChatButton: [{
|
|
359
527
|
type: Input
|
|
360
528
|
}], form: [{
|
|
@@ -363,5 +531,5 @@ export class FormToolbarComponent {
|
|
|
363
531
|
type: ContentChild,
|
|
364
532
|
args: ['additionalControls', { read: ElementRef }]
|
|
365
533
|
}] }); })();
|
|
366
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormToolbarComponent, { className: "FormToolbarComponent", filePath: "src/lib/form-toolbar.ts", lineNumber:
|
|
534
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormToolbarComponent, { className: "FormToolbarComponent", filePath: "src/lib/form-toolbar.ts", lineNumber: 16 }); })();
|
|
367
535
|
//# sourceMappingURL=form-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-toolbar.js","sourceRoot":"","sources":["../../src/lib/form-toolbar.ts","../../src/lib/form-toolbar.html"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-toolbar.js","sourceRoot":"","sources":["../../src/lib/form-toolbar.ts","../../src/lib/form-toolbar.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAU,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAgB,QAAQ,EAAE,QAAQ,EAAgC,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/G,OAAO,EAAW,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAoB,wBAAwB,EAAc,MAAM,+BAA+B,CAAC;;;;;;;;;;;;;ICF3F,iCAA4E;IAAxD,uMAAS,2BAAoB,KAAC;IAC9C,2BAA+C;IACnD,iBAAS;;;;IAGT,kCAAkF;IAA9D,uMAAS,0BAAmB,IAAI,CAAC,KAAC;IAClD,2BAA6C;IACjD,iBAAS;;;;IAIL,kCAA4E;IAAxD,qNAAS,4BAAqB,KAAC;IAC/C,2BAAsC;IAC1C,iBAAS;;;;IAGT,kCAAwE;IAApD,qNAAS,0BAAmB,KAAC;IAC7C,2BAAwC;IAC5C,iBAAS;;;IAHb,AALA,6GAAuB,gGAKhB;;;IALP,gDASC;;;IAVL,AALA,AALA,8FAAwB,iFAKA,oEAKK;;;IAV7B,kDAIC;IACD,cAIC;IAJD,oDAIC;IACD,cAWC;IAXD,uDAWC;;;;IASG,kCAAoE;IAAhD,uMAAS,wBAAiB,KAAC;IAC3C,2BAA6C;IAC7C,gCAA0B;IAAA,sBAAM;IACpC,AADoC,iBAAO,EAClC;;;;IAGT,kCAAiF;IAA7D,uMAAS,yBAAkB,KAAC;IAC5C,2BAAgD;IAChD,gCAA0B;IAAA,uBAAO;IACrC,AADqC,iBAAO,EACnC;;;;IAfb,kCAA+E;IAA3D,kMAAW,iCAA0B,KAAC;IACtD,2BAA6C;IAC7C,gCAA0B;IAAA,oBAAI;IAClC,AADkC,iBAAO,EAChC;IAQT,AAPA,+FAA2B,kFAOF;;;IAPzB,eAMC;IAND,qDAMC;IACD,cAKC;IALD,mDAKC;;;;IAGD,kCAA8E;IAA1D,wLAAS,iCAA0B,KAAC;IACpD,2BAAmD;IACvD,iBAAS;;;;IAmDT,6CAAsF;IAA5C,kNAAgB,iCAA0B,KAAC;IAAC,iBAAoB;;;IAAvF,2CAAsB;;;IAQjC,gCAA+B;IAAA,YAAqB;IAAA,iBAAO;;;IAA5B,cAAqB;IAArB,4CAAqB;;;;IAL5D,kCAE4B;IAFR,yLAAS,wBAAiB,IAAI,CAAC,KAAC;IAGhD,2BAAgD;IAChD,6FAA2B;IAG/B,iBAAS;;;IAND,uJAA2H;IAG/H,eAEC;IAFD,qDAEC;;;;IAOT,wCAMoC;IAApC,gMAAS,0BAAmB,KAAK,CAAC,KAAC;IACjC,6BAAiC;IAC/B,8DACF;IAAA,iBAAI;IAEF,AADF,gDAAgD,iBACoC;IAAvD,0LAAS,qBAAc,KAAC;IACjD,6BACF;IAAA,iBAAS;IACT,kCAA6G;IAArF,0LAAS,0BAAmB,KAAK,CAAC,KAAC;IACzD,4BACF;IAEJ,AADE,AADE,iBAAS,EACY,EACV;;IAhBf,AADA,8BAAgB,cACH;;;;IAgCD,AADJ,AADJ,+BAA+B,cACJ,cACI;IACnB,YACJ;IAAA,iBAAM;IACN,kCAA0E;IAAhC,4NAAS,gCAAqB,KAAC;IACrE,+BAA8B;IAC1B,2BAAsC;IACtC,qBACJ;IAER,AADI,AADI,iBAAM,EACD,EACP;IACN,qBAAI;IACR,iBAAM;;;IAVM,eACJ;IADI,8CACJ;;;;IAfZ,wCAQC;IAJD,gMAAS,wBAAiB,KAAK,CAAC,KAAC;IAKjC,qBAAI;IACJ,yHAeC;IAEG,AADJ,gDAAgD,iBACgE;IAAnF,0LAAS,wBAAiB,KAAK,CAAC,KAAC;IACtD,uBACJ;IAER,AADI,AADI,iBAAS,EACU,EACZ;;;IAxBX,AADA,AADA,8BAAgB,cACH,eACC;IAGd,eAeC;IAfD,oCAeC;;;;IAUG,qDAI4C;IAAxC,AADA,wNAAY,2CAAoC,KAAC,iMACvC,mCAA4B,KAAC;IAC3C,iBAA4B;;;IAHxB,AADA,oDAA+B,0CACG;;AD9J9C,MAAM,OAAO,oBAAoB;IAuDF;IAtDlB,kBAAkB,GAAY,IAAI,CAAC;IACnC,IAAI,CAAqB;IACwB,kBAAkB,CAAc;IAE1F,IAAW,qBAAqB;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACrC,CAAC;IAGD;;OAEG;IACI,QAAQ,GAAY,KAAK,CAAC;IAEjC;;OAEG;IACH,IAAW,iBAAiB;QACxB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC;IACpD,CAAC;IAEM,iBAAiB,GAAY,KAAK,CAAC;IACnC,oBAAoB,GAAY,KAAK,CAAC;IACtC,cAAc,GAAiB,EAAE,CAAC;IAClC,aAAa,GAAiB,EAAE,CAAC;IAExC,kCAAkC;IAC3B,sBAAsB,GAAY,KAAK,CAAC;IACxC,oBAAoB,GAAsC,IAAI,CAAC;IAC/D,qBAAqB,GAAY,IAAI,CAAC,CAAC,gCAAgC;IAE9E,4BAA4B;IACrB,eAAe,GAAW,CAAC,CAAC;IAC5B,kBAAkB,GAAY,KAAK,CAAC;IACpC,WAAW,GAAiB,EAAE,CAAC;IAEtC;;OAEG;IACI,kBAAkB,GAAY,KAAK,CAAC;IAE3C;;OAEG;IACI,oBAAoB,GAAY,KAAK,CAAC;IAC7C;;OAEG;IACI,sBAAsB,GAAY,KAAK,CAAC;IAE/C,IAAW,sBAAsB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,YAA2B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACzC,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,mDAAmD;QACnD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,oDAAoD;YACpD,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAEtC,mCAAmC;YACnC,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmB;gBACrD,UAAU,EAAE,cAAc;gBAC1B,WAAW,EAAE,eAAe,QAAQ,GAAG;gBACvC,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzF,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,OAAO;YACX,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE3F,mCAAmC;YACnC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAa;gBAC7C,UAAU,EAAE,OAAO;gBACnB,WAAW,EAAE,UAAU,YAAY,qBAAqB,QAAQ,GAAG;gBACnE,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YAC1B,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QACpC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,KAAiB;QAC7C,gCAAgC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,sIAAsI;QACtI,uIAAuI;QACvI,+EAA+E;QAC/E,sJAAsJ;QAEtJ,iEAAiE;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAgB,CAAC;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAgB,CAAC;QAE3D,8DAA8D;QAC9D,WAAW,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,2CAA2C;QACrF,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,6BAA6B;QAEjE,6CAA6C;QAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,aAAa,CAAC,SAAS,GAAG,6BAA6B,CAAC;QACxD,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAEvC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC1C,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;QAErC,kBAAkB;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,mBAAmB,GAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3B,WAAW,IAAI,EAAE,CAAC;YAClB,aAAa,CAAC,SAAS,GAAG,0DAA0D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,WAAW,KAAK,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,mDAAmD,mBAAmB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpS,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,CAAC;YACD,oEAAoE;YACpE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,KAAc,EAAE,EAAE;gBACnE,IAAI,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;oBACnD,mBAAmB,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvH,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,sBAAsB,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAChG,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,iDAAiD;YACjD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAEhC,WAAW,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,6CAA6C;YACvF,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,mCAAmC;YAEpE,oCAAoC;YACpC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEvC,kBAAkB;YAClB,aAAa,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAGD;;OAEG;IACI,YAAY;QACf,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC3D,aAAa,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAChD,CAAC;IAEM,kBAAkB,CAAC,IAAa;QACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,IAAa;QACvC,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE,CAAC;YACrC,0CAA0C;YAC1C,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAG,IAAI,EAAC,CAAC;YACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7D,CAAC;IACL,CAAC;IAED;;OAEG;IACI,sBAAsB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,oDAAoD;QACpD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,oBAAoB,GAAG;YACxB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,UAAU,CAAC,EAAE;YACvB,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,kBAAkB,EAAE,CAAC,UAAU,CAAC;YAChC,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,qBAAqB,UAAU,GAAG;SAClD,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAkB;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,IAAI;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,4BAA4B,CAAC,MAA4B;QAClE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAE3C,IAAI,UAAU,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACjB,OAAO,IAAI,YAAY,UAAU,UAAU,CAAC;gBAChD,CAAC;gBACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,OAAO;wBAAE,OAAO,IAAI,IAAI,CAAC;oBAC7B,OAAO,IAAI,gBAAgB,YAAY,UAAU,CAAC;gBACtD,CAAC;gBACD,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAE1E,yBAAyB;gBACzB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrC,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACI,0BAA0B;QAC7B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,IAAgB;QACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE7B,MAAM,EAAE,GAAa,IAAI,QAAQ,EAAE,CAAC;QAEpC,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,eAAe,CAA2B,cAAc,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QAC5G,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAC7B,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAClC,0EAA0E;QAC1E,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtF,MAAM,UAAU,GAAY,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAG,CAAC,UAAU,EAAC,CAAC;YACZ,QAAQ,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACnG,CAAC;QAED,IAAG,UAAU,EAAC,CAAC;YACX,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,mCAAmC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1G,CAAC;aACG,CAAC;YACD,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,8BAA8B,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/B,kDAAkD;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;QAChD,MAAM,iBAAiB,GAAG,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;QAE9D,6DAA6D;QAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,IAAI,YAAY,GAAuB,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/E,IAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;gBACxB,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,6DAA6D,YAAY,CAAC,MAAM,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAClK,OAAO;YACX,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAY,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9D,IAAI,YAAY,EAAE,CAAC;YACf,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,4BAA4B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/F,IAAI,KAAK,GAAQ;gBACb,KAAK,EAAE,WAAW,CAAC,cAAc;gBACjC,SAAS,EAAE,UAAU,CAAC,eAAe;gBACrC,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,IAAI;aACb,CAAC;YAEF,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;aACI,CAAC;YACF,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;8EA3VQ,oBAAoB;6DAApB,oBAAoB;gDAGe,UAAU;;;;;;YCjB1D,8BAAoE;YAoGhE,AAHA,AArDA,AAnBA,AAxBA,mEAAsB,sDAwBf,mEAmBsD,8EAqD7B,mEAGZ;YAYpB,kBAAgE;YAyDhE,AAlCA,AArBA,uFAMoC,0EAuBnC,sFA0BqD;YAQ1D,iBAAM;;YAjLyB,iDAAoC;YAC/D,cA0CC;YA1CD,4CA0CC;YACD,eAIC;YAJD,8HAIC;YAiDD,cAEC;YAFD,uDAEC;YACD,cASC;YATD,6CASC;YAUA,eAA0B;YAA1B,+CAA0B;YAmB1B,cAAiD;YAAjD,0EAAiD;YA+BlD,cAOC;YAPD,iFAOC;;;iFDlKQ,oBAAoB;cALhC,SAAS;2BACI,iBAAiB;uCAKlB,kBAAkB;kBAA1B,KAAK;YACG,IAAI;kBAAZ,KAAK;YACoD,kBAAkB;kBAA3E,YAAY;mBAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;kFAH/C,oBAAoB"}
|
package/dist/module.d.ts
CHANGED
|
@@ -11,9 +11,10 @@ import * as i9 from "@progress/kendo-angular-dialog";
|
|
|
11
11
|
import * as i10 from "@progress/kendo-angular-indicators";
|
|
12
12
|
import * as i11 from "@memberjunction/ng-shared";
|
|
13
13
|
import * as i12 from "@memberjunction/ng-markdown";
|
|
14
|
+
import * as i13 from "@memberjunction/ng-list-management";
|
|
14
15
|
export declare class FormToolbarModule {
|
|
15
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormToolbarModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FormToolbarModule, [typeof i1.FormToolbarComponent, typeof i2.RecordFormContainerComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.RecordChangesModule, typeof i6.BaseFormsModule, typeof i7.ButtonsModule, typeof i8.InputsModule, typeof i9.DialogsModule, typeof i10.IndicatorsModule, typeof i11.MemberJunctionSharedModule, typeof i12.MarkdownModule], [typeof i1.FormToolbarComponent, typeof i2.RecordFormContainerComponent]>;
|
|
17
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FormToolbarModule, [typeof i1.FormToolbarComponent, typeof i2.RecordFormContainerComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.RecordChangesModule, typeof i6.BaseFormsModule, typeof i7.ButtonsModule, typeof i8.InputsModule, typeof i9.DialogsModule, typeof i10.IndicatorsModule, typeof i11.MemberJunctionSharedModule, typeof i12.MarkdownModule, typeof i13.ListManagementModule], [typeof i1.FormToolbarComponent, typeof i2.RecordFormContainerComponent]>;
|
|
17
18
|
static ɵinj: i0.ɵɵInjectorDeclaration<FormToolbarModule>;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=module.d.ts.map
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAyBA,qBAuBa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAAI"}
|
package/dist/module.js
CHANGED
|
@@ -12,6 +12,7 @@ import { DialogsModule } from '@progress/kendo-angular-dialog';
|
|
|
12
12
|
// MJ
|
|
13
13
|
import { RecordChangesModule } from '@memberjunction/ng-record-changes';
|
|
14
14
|
import { MemberJunctionSharedModule } from '@memberjunction/ng-shared';
|
|
15
|
+
import { ListManagementModule } from '@memberjunction/ng-list-management';
|
|
15
16
|
// Local to package
|
|
16
17
|
import { FormToolbarComponent } from './lib/form-toolbar';
|
|
17
18
|
import { RecordFormContainerComponent } from './lib/record-form-container.component';
|
|
@@ -29,7 +30,8 @@ export class FormToolbarModule {
|
|
|
29
30
|
DialogsModule,
|
|
30
31
|
IndicatorsModule,
|
|
31
32
|
MemberJunctionSharedModule,
|
|
32
|
-
MarkdownModule
|
|
33
|
+
MarkdownModule,
|
|
34
|
+
ListManagementModule] });
|
|
33
35
|
}
|
|
34
36
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormToolbarModule, [{
|
|
35
37
|
type: NgModule,
|
|
@@ -48,7 +50,8 @@ export class FormToolbarModule {
|
|
|
48
50
|
DialogsModule,
|
|
49
51
|
IndicatorsModule,
|
|
50
52
|
MemberJunctionSharedModule,
|
|
51
|
-
MarkdownModule
|
|
53
|
+
MarkdownModule,
|
|
54
|
+
ListManagementModule
|
|
52
55
|
],
|
|
53
56
|
exports: [
|
|
54
57
|
FormToolbarComponent,
|
|
@@ -66,6 +69,7 @@ export class FormToolbarModule {
|
|
|
66
69
|
DialogsModule,
|
|
67
70
|
IndicatorsModule,
|
|
68
71
|
MemberJunctionSharedModule,
|
|
69
|
-
MarkdownModule
|
|
72
|
+
MarkdownModule,
|
|
73
|
+
ListManagementModule], exports: [FormToolbarComponent,
|
|
70
74
|
RecordFormContainerComponent] }); })();
|
|
71
75
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,KAAK;AACL,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,KAAK;AACL,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;;AA0BhE,MAAM,OAAO,iBAAiB;2EAAjB,iBAAiB;4DAAjB,iBAAiB;gEAjB1B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,eAAe;YACf,aAAa;YACb,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,0BAA0B;YAC1B,cAAc;YACd,oBAAoB;;iFAOX,iBAAiB;cAvB7B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,oBAAoB;oBACpB,4BAA4B;iBAC7B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,mBAAmB;oBACnB,eAAe;oBACf,aAAa;oBACb,YAAY;oBACZ,aAAa;oBACb,gBAAgB;oBAChB,0BAA0B;oBAC1B,cAAc;oBACd,oBAAoB;iBACrB;gBACD,OAAO,EAAE;oBACP,oBAAoB;oBACpB,4BAA4B;iBAC7B;aACF;;wFACY,iBAAiB,mBArB1B,oBAAoB;QACpB,4BAA4B,aAG5B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,eAAe;QACf,aAAa;QACb,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,0BAA0B;QAC1B,cAAc;QACd,oBAAoB,aAGpB,oBAAoB;QACpB,4BAA4B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-form-toolbar",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.133.0",
|
|
4
4
|
"description": "MemberJunction: Angular Form Toolbar",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -25,18 +25,19 @@
|
|
|
25
25
|
"@angular/router": "18.0.2"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@memberjunction/core": "2.
|
|
29
|
-
"@memberjunction/core-entities": "2.
|
|
30
|
-
"@memberjunction/global": "2.
|
|
31
|
-
"@memberjunction/ng-base-forms": "2.
|
|
32
|
-
"@memberjunction/ng-container-directives": "2.
|
|
33
|
-
"@memberjunction/ng-record-changes": "2.
|
|
34
|
-
"@memberjunction/ng-
|
|
28
|
+
"@memberjunction/core": "2.133.0",
|
|
29
|
+
"@memberjunction/core-entities": "2.133.0",
|
|
30
|
+
"@memberjunction/global": "2.133.0",
|
|
31
|
+
"@memberjunction/ng-base-forms": "2.133.0",
|
|
32
|
+
"@memberjunction/ng-container-directives": "2.133.0",
|
|
33
|
+
"@memberjunction/ng-record-changes": "2.133.0",
|
|
34
|
+
"@memberjunction/ng-list-management": "2.133.0",
|
|
35
|
+
"@memberjunction/ng-shared": "2.133.0",
|
|
35
36
|
"@progress/kendo-angular-buttons": "16.2.0",
|
|
36
37
|
"@progress/kendo-angular-dialog": "16.2.0",
|
|
37
38
|
"@progress/kendo-angular-indicators": "16.2.0",
|
|
38
39
|
"@progress/kendo-angular-inputs": "16.2.0",
|
|
39
|
-
"@memberjunction/ng-markdown": "2.
|
|
40
|
+
"@memberjunction/ng-markdown": "2.133.0",
|
|
40
41
|
"tslib": "^2.3.0"
|
|
41
42
|
},
|
|
42
43
|
"sideEffects": false,
|