@memberjunction/ng-form-toolbar 2.116.0 → 2.118.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.
@@ -1,4 +1,4 @@
1
- import { OnInit } from '@angular/core';
1
+ import { OnInit, ElementRef } from '@angular/core';
2
2
  import { BaseFormComponent } from '@memberjunction/ng-base-forms';
3
3
  import { CompositeKey } from '@memberjunction/core';
4
4
  import { Router } from '@angular/router';
@@ -8,6 +8,8 @@ export declare class FormToolbarComponent implements OnInit {
8
8
  private router;
9
9
  ShowSkipChatButton: boolean;
10
10
  form: BaseFormComponent;
11
+ additionalControls?: ElementRef;
12
+ get hasAdditionalControls(): boolean;
11
13
  /**
12
14
  * This property does not get modified by the toolbar as things change within its state, it is the global setting you can change to disable the toolbar
13
15
  */
@@ -45,6 +47,6 @@ export declare class FormToolbarComponent implements OnInit {
45
47
  addRecordToList(list: ListEntity): Promise<void>;
46
48
  deleteRecord(): Promise<void>;
47
49
  static ɵfac: i0.ɵɵFactoryDeclaration<FormToolbarComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<FormToolbarComponent, "mj-form-toolbar", never, { "ShowSkipChatButton": { "alias": "ShowSkipChatButton"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, {}, never, never, false, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormToolbarComponent, "mj-form-toolbar", never, { "ShowSkipChatButton": { "alias": "ShowSkipChatButton"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, {}, ["additionalControls"], ["[toolbar-additional-controls]"], false, never>;
49
51
  }
50
52
  //# sourceMappingURL=form-toolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-toolbar.d.ts","sourceRoot":"","sources":["../../src/lib/form-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAc,YAAY,EAAiD,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAoB,UAAU,EAAE,MAAM,+BAA+B,CAAC;;AAG7E,qBAKa,oBAAqB,YAAW,MAAM;IAwC5B,OAAO,CAAC,MAAM;IAvCxB,kBAAkB,EAAE,OAAO,CAAQ;IACnC,IAAI,EAAG,iBAAiB,CAAC;IAGlC;;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;IAExC;;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;IAGzB,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;IAS9C,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;yCA5JjC,oBAAoB;2CAApB,oBAAoB;CA4LhC"}
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,EAAc,YAAY,EAAiD,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAoB,UAAU,EAAE,MAAM,+BAA+B,CAAC;;AAG7E,qBAKa,oBAAqB,YAAW,MAAM;IA6C5B,OAAO,CAAC,MAAM;IA5CxB,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;IAExC;;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;IAGzB,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;IAS9C,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBhD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;yCAjKjC,oBAAoB;2CAApB,oBAAoB;CAiMhC"}
@@ -1,4 +1,4 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, Input, ContentChild, ElementRef } from '@angular/core';
2
2
  import { EventCodes, SharedService } from '@memberjunction/ng-shared';
3
3
  import { LogError, Metadata } from '@memberjunction/core';
4
4
  import { MJEventType, MJGlobal } from '@memberjunction/global';
@@ -9,44 +9,45 @@ import * as i3 from "@memberjunction/ng-record-changes";
9
9
  import * as i4 from "@progress/kendo-angular-buttons";
10
10
  import * as i5 from "@progress/kendo-angular-dialog";
11
11
  import * as i6 from "@memberjunction/ng-ask-skip";
12
+ const _c0 = ["additionalControls"];
13
+ const _c1 = [[["", "toolbar-additional-controls", ""]]];
14
+ const _c2 = ["[toolbar-additional-controls]"];
12
15
  function FormToolbarComponent_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13
16
  const _r1 = i0.ɵɵgetCurrentView();
14
17
  i0.ɵɵelementStart(0, "button", 11);
15
18
  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()); });
16
19
  i0.ɵɵelement(1, "span", 12);
17
- i0.ɵɵelementStart(2, "span", 13);
18
- i0.ɵɵtext(3, "Edit");
19
- i0.ɵɵelementEnd()();
20
+ i0.ɵɵelementEnd();
20
21
  } }
21
22
  function FormToolbarComponent_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
22
23
  const _r3 = i0.ɵɵgetCurrentView();
23
- i0.ɵɵelementStart(0, "button", 14);
24
+ i0.ɵɵelementStart(0, "button", 13);
24
25
  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", 15);
26
+ i0.ɵɵelement(1, "span", 14);
26
27
  i0.ɵɵelementEnd();
27
28
  } }
28
29
  function FormToolbarComponent_Conditional_1_Conditional_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
29
30
  const _r4 = i0.ɵɵgetCurrentView();
30
- i0.ɵɵelementStart(0, "button", 18);
31
+ i0.ɵɵelementStart(0, "button", 17);
31
32
  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", 19);
33
+ i0.ɵɵelement(1, "span", 18);
33
34
  i0.ɵɵelementEnd();
34
35
  } }
35
36
  function FormToolbarComponent_Conditional_1_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
36
37
  const _r5 = i0.ɵɵgetCurrentView();
37
- i0.ɵɵelementStart(0, "button", 20);
38
+ i0.ɵɵelementStart(0, "button", 19);
38
39
  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", 21);
40
+ i0.ɵɵelement(1, "span", 20);
40
41
  i0.ɵɵelementEnd();
41
42
  } }
42
43
  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", 16)(1, FormToolbarComponent_Conditional_1_Conditional_2_Conditional_1_Template, 2, 0, "button", 17);
44
+ i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_2_Conditional_0_Template, 2, 0, "button", 15)(1, FormToolbarComponent_Conditional_1_Conditional_2_Conditional_1_Template, 2, 0, "button", 16);
44
45
  } if (rf & 2) {
45
46
  const ctx_r1 = i0.ɵɵnextContext(2);
46
47
  i0.ɵɵconditional(ctx_r1.form.IsFavorite ? 0 : 1);
47
48
  } }
48
49
  function FormToolbarComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_0_Template, 4, 0, "button", 9)(1, FormToolbarComponent_Conditional_1_Conditional_1_Template, 2, 0, "button", 10)(2, FormToolbarComponent_Conditional_1_Conditional_2_Template, 2, 1);
50
+ i0.ɵɵtemplate(0, FormToolbarComponent_Conditional_1_Conditional_0_Template, 2, 0, "button", 9)(1, FormToolbarComponent_Conditional_1_Conditional_1_Template, 2, 0, "button", 10)(2, FormToolbarComponent_Conditional_1_Conditional_2_Template, 2, 1);
50
51
  } if (rf & 2) {
51
52
  const ctx_r1 = i0.ɵɵnextContext();
52
53
  i0.ɵɵconditional(ctx_r1.form.UserCanEdit ? 0 : -1);
@@ -60,7 +61,7 @@ function FormToolbarComponent_Conditional_2_Conditional_4_Template(rf, ctx) { if
60
61
  i0.ɵɵelementStart(0, "button", 26);
61
62
  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
63
  i0.ɵɵelement(1, "span", 27);
63
- i0.ɵɵelementStart(2, "span", 13);
64
+ i0.ɵɵelementStart(2, "span", 23);
64
65
  i0.ɵɵtext(3, "Cancel");
65
66
  i0.ɵɵelementEnd()();
66
67
  } }
@@ -69,16 +70,16 @@ function FormToolbarComponent_Conditional_2_Conditional_5_Template(rf, ctx) { if
69
70
  i0.ɵɵelementStart(0, "button", 28);
70
71
  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
72
  i0.ɵɵelement(1, "span", 29);
72
- i0.ɵɵelementStart(2, "span", 13);
73
+ i0.ɵɵelementStart(2, "span", 23);
73
74
  i0.ɵɵtext(3, "Changes");
74
75
  i0.ɵɵelementEnd()();
75
76
  } }
76
77
  function FormToolbarComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
77
78
  const _r6 = i0.ɵɵgetCurrentView();
78
- i0.ɵɵelementStart(0, "button", 22);
79
+ i0.ɵɵelementStart(0, "button", 21);
79
80
  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", 23);
81
- i0.ɵɵelementStart(2, "span", 13);
81
+ i0.ɵɵelement(1, "span", 22);
82
+ i0.ɵɵelementStart(2, "span", 23);
82
83
  i0.ɵɵtext(3, "Save");
83
84
  i0.ɵɵelementEnd()();
84
85
  i0.ɵɵtemplate(4, FormToolbarComponent_Conditional_2_Conditional_4_Template, 4, 0, "button", 24)(5, FormToolbarComponent_Conditional_2_Conditional_5_Template, 4, 0, "button", 25);
@@ -94,9 +95,7 @@ function FormToolbarComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
94
95
  i0.ɵɵelementStart(0, "button", 30);
95
96
  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
97
  i0.ɵɵelement(1, "span", 31);
97
- i0.ɵɵelementStart(2, "span", 13);
98
- i0.ɵɵtext(3, "History");
99
- i0.ɵɵelementEnd()();
98
+ i0.ɵɵelementEnd();
100
99
  } }
101
100
  function FormToolbarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102
101
  const _r10 = i0.ɵɵgetCurrentView();
@@ -130,33 +129,33 @@ function FormToolbarComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
130
129
  i0.ɵɵelement(1, "span", 37);
131
130
  i0.ɵɵelementEnd();
132
131
  } }
133
- function FormToolbarComponent_kendo_dialog_8_Template(rf, ctx) { if (rf & 1) {
132
+ function FormToolbarComponent_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
134
133
  const _r14 = i0.ɵɵgetCurrentView();
135
134
  i0.ɵɵelementStart(0, "kendo-dialog", 38);
136
- i0.ɵɵlistener("close", function FormToolbarComponent_kendo_dialog_8_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(false)); });
135
+ i0.ɵɵlistener("close", function FormToolbarComponent_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(false)); });
137
136
  i0.ɵɵelementStart(1, "p", 39);
138
137
  i0.ɵɵtext(2, " Are you sure you want to delete this record? ");
139
138
  i0.ɵɵelementEnd();
140
139
  i0.ɵɵelementStart(3, "kendo-dialog-actions", 40)(4, "button", 41);
141
- i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_8_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.deleteRecord()); });
140
+ i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_9_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.deleteRecord()); });
142
141
  i0.ɵɵtext(5, " Yes, Delete ");
143
142
  i0.ɵɵelementEnd();
144
143
  i0.ɵɵelementStart(6, "button", 42);
145
- i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_8_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(false)); });
144
+ i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_9_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleDeleteDialog(false)); });
146
145
  i0.ɵɵtext(7, " No, Cancel ");
147
146
  i0.ɵɵelementEnd()()();
148
147
  } if (rf & 2) {
149
148
  i0.ɵɵproperty("minWidth", 450)("width", 650);
150
149
  } }
151
- function FormToolbarComponent_kendo_dialog_9_For_3_Template(rf, ctx) { if (rf & 1) {
150
+ function FormToolbarComponent_kendo_dialog_10_For_3_Template(rf, ctx) { if (rf & 1) {
152
151
  const _r16 = i0.ɵɵgetCurrentView();
153
152
  i0.ɵɵelementStart(0, "div", 44)(1, "div", 45)(2, "div", 46);
154
153
  i0.ɵɵtext(3);
155
154
  i0.ɵɵelementEnd();
156
155
  i0.ɵɵelementStart(4, "button", 47);
157
- i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_9_For_3_Template_button_click_4_listener() { const list_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.addRecordToList(list_r17)); });
156
+ i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_10_For_3_Template_button_click_4_listener() { const list_r17 = i0.ɵɵrestoreView(_r16).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.addRecordToList(list_r17)); });
158
157
  i0.ɵɵelementStart(5, "div", 48);
159
- i0.ɵɵelement(6, "span", 37);
158
+ i0.ɵɵelement(6, "span", 49);
160
159
  i0.ɵɵtext(7, " Add ");
161
160
  i0.ɵɵelementEnd()()();
162
161
  i0.ɵɵelement(8, "hr");
@@ -166,14 +165,14 @@ function FormToolbarComponent_kendo_dialog_9_For_3_Template(rf, ctx) { if (rf &
166
165
  i0.ɵɵadvance(3);
167
166
  i0.ɵɵtextInterpolate1(" ", list_r17.Name, " ");
168
167
  } }
169
- function FormToolbarComponent_kendo_dialog_9_Template(rf, ctx) { if (rf & 1) {
168
+ function FormToolbarComponent_kendo_dialog_10_Template(rf, ctx) { if (rf & 1) {
170
169
  const _r15 = i0.ɵɵgetCurrentView();
171
170
  i0.ɵɵelementStart(0, "kendo-dialog", 43);
172
- i0.ɵɵlistener("close", function FormToolbarComponent_kendo_dialog_9_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(false)); });
171
+ i0.ɵɵlistener("close", function FormToolbarComponent_kendo_dialog_10_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(false)); });
173
172
  i0.ɵɵelement(1, "hr");
174
- i0.ɵɵrepeaterCreate(2, FormToolbarComponent_kendo_dialog_9_For_3_Template, 9, 1, "div", 44, i0.ɵɵrepeaterTrackByIdentity);
173
+ i0.ɵɵrepeaterCreate(2, FormToolbarComponent_kendo_dialog_10_For_3_Template, 9, 1, "div", 44, i0.ɵɵrepeaterTrackByIdentity);
175
174
  i0.ɵɵelementStart(4, "kendo-dialog-actions", 40)(5, "button", 42);
176
- i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_9_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(false)); });
175
+ i0.ɵɵlistener("click", function FormToolbarComponent_kendo_dialog_10_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleListDialog(false)); });
177
176
  i0.ɵɵtext(6, " Close ");
178
177
  i0.ɵɵelementEnd()()();
179
178
  } if (rf & 2) {
@@ -186,6 +185,10 @@ export class FormToolbarComponent {
186
185
  router;
187
186
  ShowSkipChatButton = true;
188
187
  form;
188
+ additionalControls;
189
+ get hasAdditionalControls() {
190
+ return !!this.additionalControls;
191
+ }
189
192
  /**
190
193
  * This property does not get modified by the toolbar as things change within its state, it is the global setting you can change to disable the toolbar
191
194
  */
@@ -338,9 +341,17 @@ export class FormToolbarComponent {
338
341
  }
339
342
  }
340
343
  static ɵfac = function FormToolbarComponent_Factory(t) { return new (t || FormToolbarComponent)(i0.ɵɵdirectiveInject(i1.Router)); };
341
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormToolbarComponent, selectors: [["mj-form-toolbar"]], inputs: { ShowSkipChatButton: "ShowSkipChatButton", form: "form" }, decls: 10, vars: 10, consts: [["mjChat", ""], [1, "toolbar-container"], ["kendoButton", "", "title", "Show History"], ["kendoButton", "", "title", "Discuss this record with Skip"], [3, "LinkedEntityID", "LinkedEntityPrimaryKey", "WindowOpened"], [3, "record"], ["kendoButton", "", "title", "Add this record to a list"], ["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"], ["kendoButton", "", "title", "Edit this Record"], ["kendoButton", "", "title", "Delete this Record"], ["kendoButton", "", "title", "Edit this Record", 3, "click"], [1, "fa-solid", "fa-pen-to-square"], [1, "button-text"], ["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"], ["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-business-time"], ["kendoButton", "", "title", "Discuss this record with Skip", 3, "click"], [1, "fa-regular", "fa-comment-dots"], [3, "WindowClosed", "LinkedEntityID", "LinkedEntityPrimaryKey", "WindowOpened"], [3, "dialogClosed", "record"], ["kendoButton", "", "title", "Add this record to a list", 3, "click"], [1, "fa-solid", "fa-plus"], ["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"]], template: function FormToolbarComponent_Template(rf, ctx) { if (rf & 1) {
344
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormToolbarComponent, selectors: [["mj-form-toolbar"]], contentQueries: function FormToolbarComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
345
+ i0.ɵɵcontentQuery(dirIndex, _c0, 5, ElementRef);
346
+ } if (rf & 2) {
347
+ let _t;
348
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.additionalControls = _t.first);
349
+ } }, inputs: { ShowSkipChatButton: "ShowSkipChatButton", form: "form" }, ngContentSelectors: _c2, decls: 11, vars: 10, consts: [["mjChat", ""], [1, "toolbar-container"], ["kendoButton", "", "title", "Show History"], ["kendoButton", "", "title", "Discuss this record with Skip"], [3, "LinkedEntityID", "LinkedEntityPrimaryKey", "WindowOpened"], [3, "record"], ["kendoButton", "", "title", "Add this record to a list"], ["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"], ["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"], ["kendoButton", "", "title", "Discuss this record with Skip", 3, "click"], [1, "fa-regular", "fa-comment-dots"], [3, "WindowClosed", "LinkedEntityID", "LinkedEntityPrimaryKey", "WindowOpened"], [3, "dialogClosed", "record"], ["kendoButton", "", "title", "Add this record to a list", 3, "click"], [1, "fa-solid", "fa-rectangle-list"], ["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"]], template: function FormToolbarComponent_Template(rf, ctx) { if (rf & 1) {
350
+ i0.ɵɵprojectionDef(_c1);
342
351
  i0.ɵɵelementStart(0, "div", 1);
343
- i0.ɵɵtemplate(1, FormToolbarComponent_Conditional_1_Template, 3, 3)(2, FormToolbarComponent_Conditional_2_Template, 6, 2)(3, FormToolbarComponent_Conditional_3_Template, 4, 0, "button", 2)(4, FormToolbarComponent_Conditional_4_Template, 2, 0, "button", 3)(5, FormToolbarComponent_Conditional_5_Template, 2, 3, "mj-skip-chat-with-record-window", 4)(6, FormToolbarComponent_Conditional_6_Template, 1, 1, "mj-record-changes", 5)(7, FormToolbarComponent_Conditional_7_Template, 2, 0, "button", 6)(8, FormToolbarComponent_kendo_dialog_8_Template, 8, 2, "kendo-dialog", 7)(9, FormToolbarComponent_kendo_dialog_9_Template, 7, 3, "kendo-dialog", 8);
352
+ i0.ɵɵtemplate(1, FormToolbarComponent_Conditional_1_Template, 3, 3)(2, FormToolbarComponent_Conditional_2_Template, 6, 2)(3, FormToolbarComponent_Conditional_3_Template, 2, 0, "button", 2)(4, FormToolbarComponent_Conditional_4_Template, 2, 0, "button", 3)(5, FormToolbarComponent_Conditional_5_Template, 2, 3, "mj-skip-chat-with-record-window", 4)(6, FormToolbarComponent_Conditional_6_Template, 1, 1, "mj-record-changes", 5)(7, FormToolbarComponent_Conditional_7_Template, 2, 0, "button", 6);
353
+ i0.ɵɵprojection(8);
354
+ i0.ɵɵtemplate(9, FormToolbarComponent_kendo_dialog_9_Template, 8, 2, "kendo-dialog", 7)(10, FormToolbarComponent_kendo_dialog_10_Template, 7, 3, "kendo-dialog", 8);
344
355
  i0.ɵɵelementEnd();
345
356
  } if (rf & 2) {
346
357
  i0.ɵɵclassProp("disabled", ctx.CurrentlyDisabled);
@@ -356,19 +367,22 @@ export class FormToolbarComponent {
356
367
  i0.ɵɵconditional(ctx.form.isHistoryDialogOpen ? 6 : -1);
357
368
  i0.ɵɵadvance();
358
369
  i0.ɵɵconditional(!ctx.form.EditMode ? 7 : -1);
359
- i0.ɵɵadvance();
370
+ i0.ɵɵadvance(2);
360
371
  i0.ɵɵproperty("ngIf", ctx._deleteDialogVisible);
361
372
  i0.ɵɵadvance();
362
373
  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: 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}"] });
374
+ } }, 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: 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}"] });
364
375
  }
365
376
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormToolbarComponent, [{
366
377
  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: 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}"] }]
378
+ 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 @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-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}"] }]
368
379
  }], () => [{ type: i1.Router }], { ShowSkipChatButton: [{
369
380
  type: Input
370
381
  }], form: [{
371
382
  type: Input
383
+ }], additionalControls: [{
384
+ type: ContentChild,
385
+ args: ['additionalControls', { read: ElementRef }]
372
386
  }] }); })();
373
387
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormToolbarComponent, { className: "FormToolbarComponent", filePath: "src/lib/form-toolbar.ts", lineNumber: 15 }); })();
374
388
  //# 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":"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"}
@@ -0,0 +1,18 @@
1
+ import { BaseFormComponent } from '@memberjunction/ng-base-forms';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Container component that wraps generated forms with consistent structure and styling.
5
+ * Encapsulates the entire form structure including toolbar, section controls, and panels container.
6
+ *
7
+ * Supports three content projection slots:
8
+ * - [slot="before-panels"]: Related entity sections displayed before field panels
9
+ * - [slot="field-panels"]: Main form field sections
10
+ * - [slot="after-panels"]: Related entity sections displayed after field panels
11
+ */
12
+ export declare class RecordFormContainerComponent {
13
+ record: any;
14
+ formComponent: BaseFormComponent;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<RecordFormContainerComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<RecordFormContainerComponent, "mj-record-form-container", never, { "record": { "alias": "record"; "required": false; }; "formComponent": { "alias": "formComponent"; "required": false; }; }, {}, never, ["[slot='before-panels']", "[slot='field-panels']", "[slot='after-panels']"], false, never>;
17
+ }
18
+ //# sourceMappingURL=record-form-container.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-form-container.component.d.ts","sourceRoot":"","sources":["../../src/lib/record-form-container.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;;AAElE;;;;;;;;GAQG;AACH,qBAoCa,4BAA4B;IAC5B,MAAM,EAAE,GAAG,CAAC;IACZ,aAAa,EAAG,iBAAiB,CAAC;yCAFlC,4BAA4B;2CAA5B,4BAA4B;CAGxC"}
@@ -0,0 +1,91 @@
1
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ import * as i3 from "@memberjunction/ng-base-forms";
6
+ import * as i4 from "./form-toolbar";
7
+ const _c0 = [[["", "slot", "before-panels"]], [["", "slot", "field-panels"]], [["", "slot", "after-panels"]]];
8
+ const _c1 = ["[slot='before-panels']", "[slot='field-panels']", "[slot='after-panels']"];
9
+ function RecordFormContainerComponent_form_1_Template(rf, ctx) { if (rf & 1) {
10
+ const _r1 = i0.ɵɵgetCurrentView();
11
+ i0.ɵɵelementStart(0, "form", 3, 0)(2, "mj-form-toolbar", 4)(3, "mj-form-section-controls", 5);
12
+ i0.ɵɵlistener("expandAll", function RecordFormContainerComponent_form_1_Template_mj_form_section_controls_expandAll_3_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formComponent.expandAllSections()); })("collapseAll", function RecordFormContainerComponent_form_1_Template_mj_form_section_controls_collapseAll_3_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formComponent.collapseAllSections()); })("filterChange", function RecordFormContainerComponent_form_1_Template_mj_form_section_controls_filterChange_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formComponent.onFilterChange($event)); })("showEmptyFieldsChange", function RecordFormContainerComponent_form_1_Template_mj_form_section_controls_showEmptyFieldsChange_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.formComponent.showEmptyFields = $event); });
13
+ i0.ɵɵelementEnd()();
14
+ i0.ɵɵelementStart(4, "div", 6)(5, "div", 7);
15
+ i0.ɵɵprojection(6);
16
+ i0.ɵɵelementEnd();
17
+ i0.ɵɵprojection(7, 1);
18
+ i0.ɵɵelement(8, "div", 8);
19
+ i0.ɵɵelementStart(9, "div", 7);
20
+ i0.ɵɵprojection(10, 2);
21
+ i0.ɵɵelementEnd()()();
22
+ } if (rf & 2) {
23
+ const ctx_r1 = i0.ɵɵnextContext();
24
+ i0.ɵɵadvance(2);
25
+ i0.ɵɵproperty("form", ctx_r1.formComponent);
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵproperty("visibleCount", ctx_r1.formComponent.getVisibleSectionCount())("totalCount", ctx_r1.formComponent.getTotalSectionCount())("expandedCount", ctx_r1.formComponent.getExpandedCount())("searchFilter", ctx_r1.formComponent.searchFilter)("showEmptyFields", ctx_r1.formComponent.showEmptyFields);
28
+ } }
29
+ /**
30
+ * Container component that wraps generated forms with consistent structure and styling.
31
+ * Encapsulates the entire form structure including toolbar, section controls, and panels container.
32
+ *
33
+ * Supports three content projection slots:
34
+ * - [slot="before-panels"]: Related entity sections displayed before field panels
35
+ * - [slot="field-panels"]: Main form field sections
36
+ * - [slot="after-panels"]: Related entity sections displayed after field panels
37
+ */
38
+ export class RecordFormContainerComponent {
39
+ record;
40
+ formComponent;
41
+ static ɵfac = function RecordFormContainerComponent_Factory(t) { return new (t || RecordFormContainerComponent)(); };
42
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RecordFormContainerComponent, selectors: [["mj-record-form-container"]], inputs: { record: "record", formComponent: "formComponent" }, ngContentSelectors: _c1, decls: 2, vars: 1, consts: [["formElement", "ngForm"], [1, "record-form-container"], ["class", "record-form", 4, "ngIf"], [1, "record-form"], [3, "form"], ["toolbar-additional-controls", "", 3, "expandAll", "collapseAll", "filterChange", "showEmptyFieldsChange", "visibleCount", "totalCount", "expandedCount", "searchFilter", "showEmptyFields"], [1, "form-panels-container"], [1, "related-entity-grid"], [1, "related-entities-divider"]], template: function RecordFormContainerComponent_Template(rf, ctx) { if (rf & 1) {
43
+ i0.ɵɵprojectionDef(_c0);
44
+ i0.ɵɵelementStart(0, "div", 1);
45
+ i0.ɵɵtemplate(1, RecordFormContainerComponent_form_1_Template, 11, 6, "form", 2);
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ i0.ɵɵadvance();
49
+ i0.ɵɵproperty("ngIf", ctx.record);
50
+ } }, dependencies: [i1.NgIf, i2.ɵNgNoValidate, i2.NgControlStatusGroup, i2.NgForm, i3.FormSectionControlsComponent, i4.FormToolbarComponent], styles: [".k-pane {\n background-color: #F5F6FA;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.record-form {\n display: flex;\n flex-direction: column;\n background-color: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2;\n} */\n\n/*\n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff;\n} */\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: grid;\n grid-template-columns: 1fr;\n gap: 20px;\n padding: 20px;\n background-color: #F5F6FA;\n}\n\n/* Responsive horizontal stacking for ALL panels (field sections and related entities) */\n@media (min-width: 1200px) {\n .form-panels-container {\n grid-template-columns: repeat(auto-fit, minmax(550px, 1fr));\n }\n}\n\n/* Even more aggressive stacking on ultra-wide screens */\n@media (min-width: 1800px) {\n .form-panels-container {\n grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));\n }\n}\n\n/* Related entity grid container - treated as regular panels now */\n.form-panels-container .related-entity-grid {\n display: contents; /* Makes children participate in parent grid */\n}\n\n/* Visual separator before related entities */\n.related-entities-divider {\n grid-column: 1 / -1;\n height: 2px;\n background: linear-gradient(to right, transparent, #d1d5db 20%, #d1d5db 80%, transparent);\n margin: 12px 0;\n position: relative;\n}\n\n.related-entities-divider::before {\n content: '';\n}\n\n.form-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\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.form-section-controls button:hover {\n background: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: #667eea;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Row count badge for related entity sections */\n.collapsible-title .row-count-badge {\n background: #10b981;\n color: white;\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: #9ca3af;\n}\n\n/* Search highlighting */\n.collapsible-title h3 .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n"], encapsulation: 2 });
51
+ }
52
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RecordFormContainerComponent, [{
53
+ type: Component,
54
+ args: [{ selector: 'mj-record-form-container', encapsulation: ViewEncapsulation.None, template: `
55
+ <div class="record-form-container">
56
+ <form *ngIf="record" class="record-form" #formElement="ngForm">
57
+ <mj-form-toolbar [form]="formComponent">
58
+ <mj-form-section-controls
59
+ toolbar-additional-controls
60
+ [visibleCount]="formComponent.getVisibleSectionCount()"
61
+ [totalCount]="formComponent.getTotalSectionCount()"
62
+ [expandedCount]="formComponent.getExpandedCount()"
63
+ [searchFilter]="formComponent.searchFilter"
64
+ [showEmptyFields]="formComponent.showEmptyFields"
65
+ (expandAll)="formComponent.expandAllSections()"
66
+ (collapseAll)="formComponent.collapseAllSections()"
67
+ (filterChange)="formComponent.onFilterChange($event)"
68
+ (showEmptyFieldsChange)="formComponent.showEmptyFields = $event">
69
+ </mj-form-section-controls>
70
+ </mj-form-toolbar>
71
+
72
+ <div class="form-panels-container">
73
+ <div class="related-entity-grid">
74
+ <ng-content select="[slot='before-panels']"></ng-content>
75
+ </div>
76
+ <ng-content select="[slot='field-panels']"></ng-content>
77
+ <div class="related-entities-divider"></div>
78
+ <div class="related-entity-grid">
79
+ <ng-content select="[slot='after-panels']"></ng-content>
80
+ </div>
81
+ </div>
82
+ </form>
83
+ </div>
84
+ `, styles: [".k-pane {\n background-color: #F5F6FA;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.record-form {\n display: flex;\n flex-direction: column;\n background-color: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2;\n} */\n\n/*\n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff;\n} */\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: grid;\n grid-template-columns: 1fr;\n gap: 20px;\n padding: 20px;\n background-color: #F5F6FA;\n}\n\n/* Responsive horizontal stacking for ALL panels (field sections and related entities) */\n@media (min-width: 1200px) {\n .form-panels-container {\n grid-template-columns: repeat(auto-fit, minmax(550px, 1fr));\n }\n}\n\n/* Even more aggressive stacking on ultra-wide screens */\n@media (min-width: 1800px) {\n .form-panels-container {\n grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));\n }\n}\n\n/* Related entity grid container - treated as regular panels now */\n.form-panels-container .related-entity-grid {\n display: contents; /* Makes children participate in parent grid */\n}\n\n/* Visual separator before related entities */\n.related-entities-divider {\n grid-column: 1 / -1;\n height: 2px;\n background: linear-gradient(to right, transparent, #d1d5db 20%, #d1d5db 80%, transparent);\n margin: 12px 0;\n position: relative;\n}\n\n.related-entities-divider::before {\n content: '';\n}\n\n.form-card {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\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.form-section-controls button:hover {\n background: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: #667eea;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Row count badge for related entity sections */\n.collapsible-title .row-count-badge {\n background: #10b981;\n color: white;\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: #9ca3af;\n}\n\n/* Search highlighting */\n.collapsible-title h3 .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n"] }]
85
+ }], null, { record: [{
86
+ type: Input
87
+ }], formComponent: [{
88
+ type: Input
89
+ }] }); })();
90
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecordFormContainerComponent, { className: "RecordFormContainerComponent", filePath: "src/lib/record-form-container.component.ts", lineNumber: 49 }); })();
91
+ //# sourceMappingURL=record-form-container.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-form-container.component.js","sourceRoot":"","sources":["../../src/lib/record-form-container.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;IAmBhD,AADJ,AADJ,kCAA+D,yBACnB,kCAWiC;IAAjE,AADA,AADA,AADA,mNAAa,wCAAiC,KAAC,0MAChC,0CAAmC,KAAC,kNACnC,2CAAoC,KAAC,sRACW;IAExE,AADI,iBAA2B,EACb;IAGd,AADJ,8BAAmC,aACE;IAC7B,kBAAyD;IAC7D,iBAAM;IACN,qBAAwD;IACxD,yBAA4C;IAC5C,8BAAiC;IAC7B,sBAAwD;IAGpE,AADI,AADI,iBAAM,EACJ,EACH;;;IAzBc,eAAsB;IAAtB,2CAAsB;IAG/B,cAAuD;IAIvD,AADA,AADA,AADA,AADA,4EAAuD,2DACJ,0DACD,mDACP,yDACM;;AAtBzE;;;;;;;;GAQG;AAqCH,MAAM,OAAO,4BAA4B;IAC5B,MAAM,CAAM;IACZ,aAAa,CAAqB;sFAFlC,4BAA4B;6DAA5B,4BAA4B;;YAhCjC,8BAAmC;YAC/B,gFAA+D;YA2BnE,iBAAM;;YA3BK,cAAY;YAAZ,iCAAY;;;iFA+BlB,4BAA4B;cApCxC,SAAS;2BACI,0BAA0B,iBACrB,iBAAiB,CAAC,IAAI,YAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8BT;gBAIQ,MAAM;kBAAd,KAAK;YACG,aAAa;kBAArB,KAAK;;kFAFG,4BAA4B"}
package/dist/module.d.ts CHANGED
@@ -1,19 +1,20 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./lib/form-toolbar";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/forms";
5
- import * as i4 from "@memberjunction/ng-record-changes";
6
- import * as i5 from "@memberjunction/ng-base-forms";
7
- import * as i6 from "@progress/kendo-angular-buttons";
8
- import * as i7 from "@progress/kendo-angular-inputs";
9
- import * as i8 from "@progress/kendo-angular-dialog";
10
- import * as i9 from "@memberjunction/ng-ask-skip";
11
- import * as i10 from "@progress/kendo-angular-indicators";
12
- import * as i11 from "@memberjunction/ng-shared";
13
- import * as i12 from "ngx-markdown";
3
+ import * as i2 from "./lib/record-form-container.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/forms";
6
+ import * as i5 from "@memberjunction/ng-record-changes";
7
+ import * as i6 from "@memberjunction/ng-base-forms";
8
+ import * as i7 from "@progress/kendo-angular-buttons";
9
+ import * as i8 from "@progress/kendo-angular-inputs";
10
+ import * as i9 from "@progress/kendo-angular-dialog";
11
+ import * as i10 from "@memberjunction/ng-ask-skip";
12
+ import * as i11 from "@progress/kendo-angular-indicators";
13
+ import * as i12 from "@memberjunction/ng-shared";
14
+ import * as i13 from "ngx-markdown";
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.CommonModule, typeof i3.FormsModule, typeof i4.RecordChangesModule, typeof i5.BaseFormsModule, typeof i6.ButtonsModule, typeof i7.InputsModule, typeof i8.DialogsModule, typeof i9.AskSkipModule, typeof i10.IndicatorsModule, typeof i11.MemberJunctionSharedModule, typeof i12.MarkdownModule], [typeof i1.FormToolbarComponent]>;
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.AskSkipModule, typeof i11.IndicatorsModule, typeof i12.MemberJunctionSharedModule, typeof i13.MarkdownModule], [typeof i1.FormToolbarComponent, typeof i2.RecordFormContainerComponent]>;
17
18
  static ɵinj: i0.ɵɵInjectorDeclaration<FormToolbarModule>;
18
19
  }
19
20
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAwBA,qBAqBa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAAI"}
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
@@ -15,6 +15,7 @@ import { AskSkipModule } from '@memberjunction/ng-ask-skip';
15
15
  import { MemberJunctionSharedModule } from '@memberjunction/ng-shared';
16
16
  // Local to package
17
17
  import { FormToolbarComponent } from './lib/form-toolbar';
18
+ import { RecordFormContainerComponent } from './lib/record-form-container.component';
18
19
  import { BaseFormsModule } from '@memberjunction/ng-base-forms';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "ngx-markdown";
@@ -38,6 +39,7 @@ export class FormToolbarModule {
38
39
  args: [{
39
40
  declarations: [
40
41
  FormToolbarComponent,
42
+ RecordFormContainerComponent
41
43
  ],
42
44
  imports: [
43
45
  CommonModule,
@@ -54,10 +56,12 @@ export class FormToolbarModule {
54
56
  ],
55
57
  exports: [
56
58
  FormToolbarComponent,
59
+ RecordFormContainerComponent
57
60
  ]
58
61
  }]
59
62
  }], null, null); })();
60
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormToolbarModule, { declarations: [FormToolbarComponent], imports: [CommonModule,
63
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(FormToolbarModule, { declarations: [FormToolbarComponent,
64
+ RecordFormContainerComponent], imports: [CommonModule,
61
65
  FormsModule,
62
66
  RecordChangesModule,
63
67
  BaseFormsModule,
@@ -66,5 +70,6 @@ export class FormToolbarModule {
66
70
  DialogsModule,
67
71
  AskSkipModule,
68
72
  IndicatorsModule,
69
- MemberJunctionSharedModule, i1.MarkdownModule], exports: [FormToolbarComponent] }); })();
73
+ MemberJunctionSharedModule, i1.MarkdownModule], exports: [FormToolbarComponent,
74
+ RecordFormContainerComponent] }); })();
70
75
  //# sourceMappingURL=module.js.map
@@ -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,cAAc,CAAC;AAE9C,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,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;;;AAwBhE,MAAM,OAAO,iBAAiB;2EAAjB,iBAAiB;4DAAjB,iBAAiB;gEAhB1B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,eAAe;YACf,aAAa;YACb,YAAY;YACZ,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,0BAA0B;YAC1B,cAAc,CAAC,OAAO,EAAE;;iFAMf,iBAAiB;cArB7B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,oBAAoB;iBACrB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,mBAAmB;oBACnB,eAAe;oBACf,aAAa;oBACb,YAAY;oBACZ,aAAa;oBACb,aAAa;oBACb,gBAAgB;oBAChB,0BAA0B;oBAC1B,cAAc,CAAC,OAAO,EAAE;iBACzB;gBACD,OAAO,EAAE;oBACP,oBAAoB;iBACrB;aACF;;wFACY,iBAAiB,mBAnB1B,oBAAoB,aAGpB,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,eAAe;QACf,aAAa;QACb,YAAY;QACZ,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,0BAA0B,gCAI1B,oBAAoB"}
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,cAAc,CAAC;AAE9C,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,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,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,aAAa;YACb,gBAAgB;YAChB,0BAA0B;YAC1B,cAAc,CAAC,OAAO,EAAE;;iFAOf,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,aAAa;oBACb,gBAAgB;oBAChB,0BAA0B;oBAC1B,cAAc,CAAC,OAAO,EAAE;iBACzB;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,aAAa;QACb,gBAAgB;QAChB,0BAA0B,gCAI1B,oBAAoB;QACpB,4BAA4B"}
@@ -1,3 +1,4 @@
1
1
  export * from './module';
2
2
  export * from './lib/form-toolbar';
3
+ export * from './lib/record-form-container.component';
3
4
  //# sourceMappingURL=public-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC"}
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export * from './module';
5
5
  export * from './lib/form-toolbar';
6
+ export * from './lib/record-form-container.component';
6
7
  //# sourceMappingURL=public-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-form-toolbar",
3
- "version": "2.116.0",
3
+ "version": "2.118.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.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",
28
+ "@memberjunction/global": "2.118.0",
29
+ "@memberjunction/core": "2.118.0",
30
+ "@memberjunction/ng-shared": "2.118.0",
31
+ "@memberjunction/ng-base-forms": "2.118.0",
32
+ "@memberjunction/ng-ask-skip": "2.118.0",
33
+ "@memberjunction/ng-record-changes": "2.118.0",
34
+ "@memberjunction/ng-container-directives": "2.118.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",