@memberjunction/ng-base-forms 1.5.2 → 1.6.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/base-field-component.d.ts +3 -2
- package/dist/lib/base-field-component.d.ts.map +1 -1
- package/dist/lib/base-field-component.js +100 -100
- package/dist/lib/link-field.component.js +13 -12
- package/dist/lib/section-loader-component.js +3 -3
- package/dist/module.d.ts +3 -2
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +5 -1
- package/package.json +21 -20
|
@@ -25,9 +25,9 @@ export declare class MJFormField extends BaseRecordComponent implements AfterVie
|
|
|
25
25
|
*/
|
|
26
26
|
FieldName: string;
|
|
27
27
|
/**
|
|
28
|
-
* The type of control to be rendered for the field. The default is 'textbox'. Other possible values are 'textarea', 'numerictextbox', 'datepicker', 'checkbox', 'dropdownlist', 'combobox'.
|
|
28
|
+
* The type of control to be rendered for the field. The default is 'textbox'. Other possible values are 'textarea', 'numerictextbox', 'datepicker', 'checkbox', 'dropdownlist', 'combobox', 'code'.
|
|
29
29
|
*/
|
|
30
|
-
Type: 'textbox' | 'textarea' | 'numerictextbox' | 'datepicker' | 'checkbox' | 'dropdownlist' | 'combobox';
|
|
30
|
+
Type: 'textbox' | 'textarea' | 'numerictextbox' | 'datepicker' | 'checkbox' | 'dropdownlist' | 'combobox' | 'code';
|
|
31
31
|
/**
|
|
32
32
|
* Optional, the type of link field that should be shown. Email and URL fields will be rendered as hyperlinks, Record fields will be rendered as links to the record. The default is 'None'. Record Fields are only
|
|
33
33
|
* valid when the FieldName field is a foreign key field to another entity.
|
|
@@ -37,6 +37,7 @@ export declare class MJFormField extends BaseRecordComponent implements AfterVie
|
|
|
37
37
|
* If set to false, the label for the field will not be shown. The default is true.
|
|
38
38
|
*/
|
|
39
39
|
ShowLabel: boolean;
|
|
40
|
+
languages: import("@codemirror/language").LanguageDescription[];
|
|
40
41
|
private _displayName;
|
|
41
42
|
/**
|
|
42
43
|
* Display Name to show on the the control. By default, this is derived from the DisplayName in the entity field metadata, and can be overridden if desired by setting this property manually. Leave it empty to use the default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-field-component.d.ts","sourceRoot":"","sources":["../../src/lib/base-field-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAyB,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAE,UAAU,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;;AAGjD;;;;;GAKG;AACH,qBAKa,WAAY,SAAQ,mBAAoB,YAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"base-field-component.d.ts","sourceRoot":"","sources":["../../src/lib/base-field-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAyB,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAE,UAAU,EAAE,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;;AAGjD;;;;;GAKG;AACH,qBAKa,WAAY,SAAQ,mBAAoB,YAAW,aAAa;IA8GzE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,GAAG;IA9Gb;;OAEG;IACM,MAAM,EAAG,UAAU,CAAC;IAC7B;;OAEG;IACM,QAAQ,EAAE,OAAO,CAAS;IACnC;;OAEG;IACM,SAAS,EAAE,MAAM,CAAM;IAChC;;OAEG;IACM,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAa;IACxI;;;OAGG;IACM,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAU;IAEhE;;OAEG;IACM,SAAS,EAAE,OAAO,CAAQ;IAEnC,SAAS,uDAAa;IAEtB,OAAO,CAAC,YAAY,CAAuB;IAC3C;;OAEG;IACH,IACW,WAAW,IAAI,MAAM,CAO/B;IAED,IAAW,WAAW,CAAC,QAAQ,EAAE,MAAM,EAEtC;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,OAAO,CAAC,eAAe,CAAyB;IAChD;;;OAGG;IACH,IAAa,cAAc,IAAI,MAAM,EAAE,CAOtC;IAED,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAEpC;IAED,IACW,KAAK,IAAI,GAAG,CAUtB;IACD,IAAW,KAAK,CAAC,QAAQ,EAAE,GAAG,EAM7B;IACS,WAAW,oBAA2B;IAEhD;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAIpC;IAED,IAAW,SAAS,IAAI,eAAe,CAItC;IAEyC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClF,OAAO,CAAC,QAAQ,CAA+B;gBAGrC,QAAQ,EAAE,SAAS,EACnB,GAAG,EAAE,iBAAiB;IAKhC,eAAe,IAAI,IAAI;yCApHZ,WAAW;2CAAX,WAAW;CA2LvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
|
|
2
2
|
import { EntityFieldTSType } from '@memberjunction/core';
|
|
3
3
|
import { BaseRecordComponent } from './base-record-component';
|
|
4
|
+
import { languages } from '@codemirror/language-data';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/common";
|
|
6
7
|
import * as i2 from "@angular/forms";
|
|
@@ -9,191 +10,189 @@ import * as i4 from "@progress/kendo-angular-dateinputs";
|
|
|
9
10
|
import * as i5 from "@progress/kendo-angular-dropdowns";
|
|
10
11
|
import * as i6 from "@memberjunction/ng-link-directives";
|
|
11
12
|
import * as i7 from "@memberjunction/ng-container-directives";
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "
|
|
13
|
+
import * as i8 from "@memberjunction/ng-code-editor";
|
|
14
|
+
import * as i9 from "ngx-markdown";
|
|
15
|
+
import * as i10 from "./link-field.component";
|
|
14
16
|
const _c0 = ["markdown"];
|
|
15
17
|
function MJFormField_Conditional_0_div_0_label_1_Template(rf, ctx) { if (rf & 1) {
|
|
16
18
|
i0.ɵɵelementStart(0, "label");
|
|
17
19
|
i0.ɵɵtext(1);
|
|
18
20
|
i0.ɵɵelementEnd();
|
|
19
21
|
} if (rf & 2) {
|
|
20
|
-
const
|
|
22
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
21
23
|
i0.ɵɵadvance();
|
|
22
|
-
i0.ɵɵtextInterpolate(
|
|
24
|
+
i0.ɵɵtextInterpolate(ctx_r0.DisplayName);
|
|
23
25
|
} }
|
|
24
26
|
function MJFormField_Conditional_0_div_0_Case_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
i0.ɵɵtext(1);
|
|
27
|
-
i0.ɵɵelementEnd();
|
|
27
|
+
i0.ɵɵelement(0, "mj-code-editor", 7);
|
|
28
28
|
} if (rf & 2) {
|
|
29
|
-
const
|
|
30
|
-
i0.ɵɵ
|
|
31
|
-
i0.ɵɵtextInterpolate(ctx_r8.record.Get(ctx_r8.FieldName));
|
|
29
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
30
|
+
i0.ɵɵproperty("value", ctx_r0.record.Get(ctx_r0.FieldName))("readonly", true)("languages", ctx_r0.languages)("language", "JavaScript");
|
|
32
31
|
} }
|
|
33
32
|
function MJFormField_Conditional_0_div_0_Case_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵelement(0, "markdown",
|
|
33
|
+
i0.ɵɵelement(0, "markdown", 8, 0);
|
|
35
34
|
} if (rf & 2) {
|
|
36
|
-
const
|
|
37
|
-
i0.ɵɵproperty("data",
|
|
35
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
36
|
+
i0.ɵɵproperty("data", ctx_r0.record.Get(ctx_r0.FieldName));
|
|
38
37
|
} }
|
|
39
38
|
function MJFormField_Conditional_0_div_0_Case_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
40
39
|
i0.ɵɵelementStart(0, "span");
|
|
41
40
|
i0.ɵɵtext(1);
|
|
42
41
|
i0.ɵɵelementEnd();
|
|
43
42
|
} if (rf & 2) {
|
|
44
|
-
const
|
|
43
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
45
44
|
i0.ɵɵadvance();
|
|
46
|
-
i0.ɵɵtextInterpolate(
|
|
45
|
+
i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
|
|
47
46
|
} }
|
|
48
47
|
function MJFormField_Conditional_0_div_0_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
-
i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Case_2_Conditional_0_Template,
|
|
48
|
+
i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Case_2_Conditional_0_Template, 1, 4, "mj-code-editor", 7)(1, MJFormField_Conditional_0_div_0_Case_2_Conditional_1_Template, 2, 1, "markdown", 8)(2, MJFormField_Conditional_0_div_0_Case_2_Conditional_2_Template, 2, 1, "span");
|
|
50
49
|
} if (rf & 2) {
|
|
51
|
-
const
|
|
52
|
-
i0.ɵɵconditional(
|
|
50
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
51
|
+
i0.ɵɵconditional(ctx_r0.ExtendedType === "Code" ? 0 : ctx_r0.FieldInfo.Length === -1 ? 1 : 2);
|
|
53
52
|
} }
|
|
54
53
|
function MJFormField_Conditional_0_div_0_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
-
i0.ɵɵelementStart(0, "span",
|
|
54
|
+
i0.ɵɵelementStart(0, "span", 4);
|
|
56
55
|
i0.ɵɵtext(1);
|
|
57
56
|
i0.ɵɵelementEnd();
|
|
58
57
|
} if (rf & 2) {
|
|
59
|
-
const
|
|
60
|
-
i0.ɵɵproperty("field",
|
|
58
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
59
|
+
i0.ɵɵproperty("field", ctx_r0.record.GetFieldByName(ctx_r0.FieldName));
|
|
61
60
|
i0.ɵɵadvance();
|
|
62
|
-
i0.ɵɵtextInterpolate(
|
|
61
|
+
i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
|
|
63
62
|
} }
|
|
64
63
|
function MJFormField_Conditional_0_div_0_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
-
i0.ɵɵelementStart(0, "span",
|
|
64
|
+
i0.ɵɵelementStart(0, "span", 5);
|
|
66
65
|
i0.ɵɵtext(1);
|
|
67
66
|
i0.ɵɵelementEnd();
|
|
68
67
|
} if (rf & 2) {
|
|
69
|
-
const
|
|
70
|
-
i0.ɵɵproperty("field",
|
|
68
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
69
|
+
i0.ɵɵproperty("field", ctx_r0.record.GetFieldByName(ctx_r0.FieldName));
|
|
71
70
|
i0.ɵɵadvance();
|
|
72
|
-
i0.ɵɵtextInterpolate(
|
|
71
|
+
i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
|
|
73
72
|
} }
|
|
74
73
|
function MJFormField_Conditional_0_div_0_Case_5_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
-
i0.ɵɵelementStart(0, "span",
|
|
74
|
+
i0.ɵɵelementStart(0, "span", 6);
|
|
76
75
|
i0.ɵɵtext(1);
|
|
77
76
|
i0.ɵɵelementEnd();
|
|
78
77
|
} if (rf & 2) {
|
|
79
|
-
const
|
|
80
|
-
i0.ɵɵproperty("record",
|
|
78
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
79
|
+
i0.ɵɵproperty("record", ctx_r0.record)("fieldName", ctx_r0.FieldName);
|
|
81
80
|
i0.ɵɵadvance();
|
|
82
|
-
i0.ɵɵtextInterpolate(
|
|
81
|
+
i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
|
|
83
82
|
} }
|
|
84
83
|
function MJFormField_Conditional_0_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
-
i0.ɵɵelementStart(0, "div",
|
|
86
|
-
i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_0_label_1_Template, 2, 1, "label",
|
|
84
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
85
|
+
i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_0_label_1_Template, 2, 1, "label", 3)(2, MJFormField_Conditional_0_div_0_Case_2_Template, 3, 1)(3, MJFormField_Conditional_0_div_0_Case_3_Template, 2, 2, "span", 4)(4, MJFormField_Conditional_0_div_0_Case_4_Template, 2, 2, "span", 5)(5, MJFormField_Conditional_0_div_0_Case_5_Template, 2, 3, "span", 6);
|
|
87
86
|
i0.ɵɵelementEnd();
|
|
88
87
|
} if (rf & 2) {
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
let tmp_3_0;
|
|
89
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
91
90
|
i0.ɵɵadvance();
|
|
92
|
-
i0.ɵɵproperty("ngIf",
|
|
91
|
+
i0.ɵɵproperty("ngIf", ctx_r0.ShowLabel);
|
|
93
92
|
i0.ɵɵadvance();
|
|
94
|
-
i0.ɵɵconditional(
|
|
93
|
+
i0.ɵɵconditional((tmp_3_0 = ctx_r0.LinkType) === "None" ? 2 : tmp_3_0 === "Email" ? 3 : tmp_3_0 === "URL" ? 4 : tmp_3_0 === "Record" ? 5 : -1);
|
|
95
94
|
} }
|
|
96
95
|
function MJFormField_Conditional_0_div_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
97
96
|
i0.ɵɵelementStart(0, "label");
|
|
98
97
|
i0.ɵɵtext(1);
|
|
99
98
|
i0.ɵɵelementEnd();
|
|
100
99
|
} if (rf & 2) {
|
|
101
|
-
const
|
|
100
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
102
101
|
i0.ɵɵadvance();
|
|
103
|
-
i0.ɵɵtextInterpolate(
|
|
102
|
+
i0.ɵɵtextInterpolate(ctx_r0.DisplayName);
|
|
104
103
|
} }
|
|
105
104
|
function MJFormField_Conditional_0_div_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
-
i0.ɵɵelement(0, "mj-link-field",
|
|
105
|
+
i0.ɵɵelement(0, "mj-link-field", 9);
|
|
107
106
|
} if (rf & 2) {
|
|
108
|
-
const
|
|
109
|
-
i0.ɵɵproperty("record",
|
|
107
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
108
|
+
i0.ɵɵproperty("record", ctx_r0.record)("FieldName", ctx_r0.FieldName);
|
|
110
109
|
} }
|
|
111
110
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template(rf, ctx) { if (rf & 1) {
|
|
112
|
-
const
|
|
113
|
-
i0.ɵɵelementStart(0, "kendo-textbox",
|
|
114
|
-
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
111
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
112
|
+
i0.ɵɵelementStart(0, "kendo-textbox", 16);
|
|
113
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
115
114
|
i0.ɵɵelementEnd();
|
|
116
115
|
} if (rf & 2) {
|
|
117
|
-
const
|
|
118
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
116
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
117
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
|
|
119
118
|
} }
|
|
120
119
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
-
const
|
|
122
|
-
i0.ɵɵelementStart(0, "kendo-textarea",
|
|
123
|
-
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template_kendo_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
120
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
121
|
+
i0.ɵɵelementStart(0, "kendo-textarea", 17);
|
|
122
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template_kendo_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
124
123
|
i0.ɵɵelementEnd();
|
|
125
124
|
} if (rf & 2) {
|
|
126
|
-
const
|
|
127
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
128
|
-
i0.ɵɵproperty("fillWidth",
|
|
125
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
126
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
|
|
127
|
+
i0.ɵɵproperty("fillWidth", ctx_r0.ShowLabel ? false : true)("fillHeight", ctx_r0.ShowLabel ? false : true);
|
|
129
128
|
} }
|
|
130
129
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
-
const
|
|
132
|
-
i0.ɵɵelementStart(0, "kendo-numerictextbox",
|
|
133
|
-
i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template_kendo_numerictextbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
130
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
131
|
+
i0.ɵɵelementStart(0, "kendo-numerictextbox", 18);
|
|
132
|
+
i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template_kendo_numerictextbox_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
134
133
|
i0.ɵɵelementEnd();
|
|
135
134
|
} if (rf & 2) {
|
|
136
|
-
const
|
|
137
|
-
i0.ɵɵtwoWayProperty("value",
|
|
135
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
136
|
+
i0.ɵɵtwoWayProperty("value", ctx_r0.Value);
|
|
138
137
|
} }
|
|
139
138
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
140
|
-
const
|
|
141
|
-
i0.ɵɵelementStart(0, "kendo-datepicker",
|
|
142
|
-
i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template_kendo_datepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
139
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
140
|
+
i0.ɵɵelementStart(0, "kendo-datepicker", 18);
|
|
141
|
+
i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template_kendo_datepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
143
142
|
i0.ɵɵelementEnd();
|
|
144
143
|
} if (rf & 2) {
|
|
145
|
-
const
|
|
146
|
-
i0.ɵɵtwoWayProperty("value",
|
|
144
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
145
|
+
i0.ɵɵtwoWayProperty("value", ctx_r0.Value);
|
|
147
146
|
} }
|
|
148
147
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
149
|
-
const
|
|
150
|
-
i0.ɵɵelementStart(0, "input",
|
|
151
|
-
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
148
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
149
|
+
i0.ɵɵelementStart(0, "input", 19);
|
|
150
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
152
151
|
i0.ɵɵelementEnd();
|
|
153
152
|
} if (rf & 2) {
|
|
154
|
-
const
|
|
155
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
153
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
154
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
|
|
156
155
|
} }
|
|
157
156
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
-
const
|
|
159
|
-
i0.ɵɵelementStart(0, "kendo-dropdownlist",
|
|
160
|
-
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
157
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
158
|
+
i0.ɵɵelementStart(0, "kendo-dropdownlist", 20);
|
|
159
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
161
160
|
i0.ɵɵelementEnd();
|
|
162
161
|
} if (rf & 2) {
|
|
163
|
-
const
|
|
164
|
-
i0.ɵɵproperty("data",
|
|
165
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
162
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
163
|
+
i0.ɵɵproperty("data", ctx_r0.PossibleValues);
|
|
164
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
|
|
166
165
|
} }
|
|
167
166
|
function MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template(rf, ctx) { if (rf & 1) {
|
|
168
|
-
const
|
|
169
|
-
i0.ɵɵelementStart(0, "kendo-combobox",
|
|
170
|
-
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template_kendo_combobox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(
|
|
167
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
168
|
+
i0.ɵɵelementStart(0, "kendo-combobox", 21);
|
|
169
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template_kendo_combobox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
|
|
171
170
|
i0.ɵɵelementEnd();
|
|
172
171
|
} if (rf & 2) {
|
|
173
|
-
const
|
|
174
|
-
i0.ɵɵproperty("data",
|
|
175
|
-
i0.ɵɵtwoWayProperty("ngModel",
|
|
172
|
+
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
173
|
+
i0.ɵɵproperty("data", ctx_r0.PossibleValues)("allowCustom", true);
|
|
174
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
|
|
176
175
|
} }
|
|
177
176
|
function MJFormField_Conditional_0_div_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
-
i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template, 1, 1)(1, MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template, 1, 3)(2, MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template, 1, 1)(3, MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template, 1, 1)(4, MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template, 1, 1)(5, MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template, 1, 2)(6, MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template, 1, 3);
|
|
177
|
+
i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template, 1, 1, "kendo-textbox", 10)(1, MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template, 1, 3, "kendo-textarea", 11)(2, MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template, 1, 1, "kendo-numerictextbox", 12)(3, MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template, 1, 1, "kendo-datepicker", 12)(4, MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template, 1, 1, "input", 13)(5, MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template, 1, 2, "kendo-dropdownlist", 14)(6, MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template, 1, 3, "kendo-combobox", 15);
|
|
179
178
|
} if (rf & 2) {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
i0.ɵɵconditional(
|
|
179
|
+
let tmp_3_0;
|
|
180
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
181
|
+
i0.ɵɵconditional((tmp_3_0 = ctx_r0.Type) === "textbox" ? 0 : tmp_3_0 === "textarea" ? 1 : tmp_3_0 === "numerictextbox" ? 2 : tmp_3_0 === "datepicker" ? 3 : tmp_3_0 === "checkbox" ? 4 : tmp_3_0 === "dropdownlist" ? 5 : tmp_3_0 === "combobox" ? 6 : -1);
|
|
183
182
|
} }
|
|
184
183
|
function MJFormField_Conditional_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
185
|
-
i0.ɵɵelementStart(0, "div",
|
|
186
|
-
i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_1_Conditional_1_Template, 2, 1, "label")(2, MJFormField_Conditional_0_div_1_Conditional_2_Template, 1, 2, "mj-link-field",
|
|
184
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
185
|
+
i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_1_Conditional_1_Template, 2, 1, "label")(2, MJFormField_Conditional_0_div_1_Conditional_2_Template, 1, 2, "mj-link-field", 9)(3, MJFormField_Conditional_0_div_1_Conditional_3_Template, 7, 1);
|
|
187
186
|
i0.ɵɵelementEnd();
|
|
188
187
|
} if (rf & 2) {
|
|
189
|
-
const
|
|
188
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
190
189
|
i0.ɵɵadvance();
|
|
191
|
-
i0.ɵɵconditional(
|
|
190
|
+
i0.ɵɵconditional(ctx_r0.ShowLabel ? 1 : -1);
|
|
192
191
|
i0.ɵɵadvance();
|
|
193
|
-
i0.ɵɵconditional(
|
|
192
|
+
i0.ɵɵconditional(ctx_r0.FieldInfo && ctx_r0.FieldInfo.RelatedEntity && ctx_r0.FieldInfo.RelatedEntity.length > 0 ? 2 : 3);
|
|
194
193
|
} }
|
|
195
194
|
function MJFormField_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
196
|
-
i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Template, 6, 2, "div",
|
|
195
|
+
i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Template, 6, 2, "div", 1)(1, MJFormField_Conditional_0_div_1_Template, 4, 2, "div", 1);
|
|
197
196
|
} if (rf & 2) {
|
|
198
197
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
199
198
|
i0.ɵɵproperty("ngIf", !ctx_r0.EditMode || ctx_r0.IsFieldReadOnly);
|
|
@@ -213,7 +212,7 @@ export class MJFormField extends BaseRecordComponent {
|
|
|
213
212
|
get DisplayName() {
|
|
214
213
|
var _a;
|
|
215
214
|
if (!this._displayName) {
|
|
216
|
-
const ef = (_a = this.record.Fields.find(f => f.CodeName == this.FieldName)) === null || _a === void 0 ? void 0 : _a.EntityFieldInfo;
|
|
215
|
+
const ef = (_a = this.record.Fields.find((f) => f.CodeName == this.FieldName)) === null || _a === void 0 ? void 0 : _a.EntityFieldInfo;
|
|
217
216
|
if (ef)
|
|
218
217
|
this._displayName = ef.DisplayNameOrName;
|
|
219
218
|
else
|
|
@@ -236,9 +235,9 @@ export class MJFormField extends BaseRecordComponent {
|
|
|
236
235
|
get PossibleValues() {
|
|
237
236
|
var _a;
|
|
238
237
|
if (!this._possibleValues) {
|
|
239
|
-
const ef = (_a = this.record.Fields.find(f => f.CodeName == this.FieldName)) === null || _a === void 0 ? void 0 : _a.EntityFieldInfo;
|
|
238
|
+
const ef = (_a = this.record.Fields.find((f) => f.CodeName == this.FieldName)) === null || _a === void 0 ? void 0 : _a.EntityFieldInfo;
|
|
240
239
|
if (ef && ef.ValueListType !== 'None')
|
|
241
|
-
this._possibleValues = ef.EntityFieldValues.map(v => v.Value);
|
|
240
|
+
this._possibleValues = ef.EntityFieldValues.map((v) => v.Value);
|
|
242
241
|
else
|
|
243
242
|
this._possibleValues = [];
|
|
244
243
|
}
|
|
@@ -250,7 +249,7 @@ export class MJFormField extends BaseRecordComponent {
|
|
|
250
249
|
}
|
|
251
250
|
get Value() {
|
|
252
251
|
const v = this.record.Get(this.FieldName);
|
|
253
|
-
const f = this.record.Fields.find(f => f.CodeName == this.FieldName);
|
|
252
|
+
const f = this.record.Fields.find((f) => f.CodeName == this.FieldName);
|
|
254
253
|
if (v === null || v === undefined) {
|
|
255
254
|
// check to see if this is a text type of field
|
|
256
255
|
if ((f === null || f === void 0 ? void 0 : f.EntityFieldInfo.TSType) === EntityFieldTSType.String)
|
|
@@ -270,14 +269,14 @@ export class MJFormField extends BaseRecordComponent {
|
|
|
270
269
|
* Returns true if the field is read only. This is determined by the ReadOnly property in the entity field metadata.
|
|
271
270
|
*/
|
|
272
271
|
get IsFieldReadOnly() {
|
|
273
|
-
const f = this.record.Fields.find(f => f.CodeName == this.FieldName);
|
|
272
|
+
const f = this.record.Fields.find((f) => f.CodeName == this.FieldName);
|
|
274
273
|
if (f)
|
|
275
274
|
return f.ReadOnly;
|
|
276
275
|
else
|
|
277
276
|
throw new Error(`Field ${this.FieldName} not found in record ${this.record.EntityInfo.Name}`);
|
|
278
277
|
}
|
|
279
278
|
get FieldInfo() {
|
|
280
|
-
const f = this.record.Fields.find(f => f.Name == this.FieldName);
|
|
279
|
+
const f = this.record.Fields.find((f) => f.Name == this.FieldName);
|
|
281
280
|
if (f)
|
|
282
281
|
return f.EntityFieldInfo;
|
|
283
282
|
else
|
|
@@ -296,7 +295,7 @@ export class MJFormField extends BaseRecordComponent {
|
|
|
296
295
|
*/
|
|
297
296
|
this.FieldName = '';
|
|
298
297
|
/**
|
|
299
|
-
* The type of control to be rendered for the field. The default is 'textbox'. Other possible values are 'textarea', 'numerictextbox', 'datepicker', 'checkbox', 'dropdownlist', 'combobox'.
|
|
298
|
+
* The type of control to be rendered for the field. The default is 'textbox'. Other possible values are 'textarea', 'numerictextbox', 'datepicker', 'checkbox', 'dropdownlist', 'combobox', 'code'.
|
|
300
299
|
*/
|
|
301
300
|
this.Type = 'textbox';
|
|
302
301
|
/**
|
|
@@ -308,6 +307,7 @@ export class MJFormField extends BaseRecordComponent {
|
|
|
308
307
|
* If set to false, the label for the field will not be shown. The default is true.
|
|
309
308
|
*/
|
|
310
309
|
this.ShowLabel = true;
|
|
310
|
+
this.languages = languages;
|
|
311
311
|
this._displayName = null;
|
|
312
312
|
this._possibleValues = null;
|
|
313
313
|
this.ValueChange = new EventEmitter();
|
|
@@ -343,14 +343,14 @@ MJFormField.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJFormField, se
|
|
|
343
343
|
} if (rf & 2) {
|
|
344
344
|
let _t;
|
|
345
345
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdown = _t.first);
|
|
346
|
-
} }, inputs: { record: "record", EditMode: "EditMode", FieldName: "FieldName", Type: "Type", LinkType: "LinkType", ShowLabel: "ShowLabel", DisplayName: "DisplayName", PossibleValues: "PossibleValues", Value: "Value" }, outputs: { ValueChange: "ValueChange" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "record-form-row", 4, "ngIf"], [1, "record-form-row"], [4, "ngIf"], [3, "
|
|
346
|
+
} }, inputs: { record: "record", EditMode: "EditMode", FieldName: "FieldName", Type: "Type", LinkType: "LinkType", ShowLabel: "ShowLabel", DisplayName: "DisplayName", PossibleValues: "PossibleValues", Value: "Value" }, outputs: { ValueChange: "ValueChange" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["markdown", ""], ["class", "record-form-row", 4, "ngIf"], [1, "record-form-row"], [4, "ngIf"], ["mjEmailLink", "", 3, "field"], ["mjWebLink", "", 3, "field"], ["mjFieldLink", "", 3, "record", "fieldName"], [3, "value", "readonly", "languages", "language"], [3, "data"], [3, "record", "FieldName"], [3, "ngModel"], ["mjFillContainer", "", 3, "ngModel", "fillWidth", "fillHeight"], [3, "value"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel"], [3, "data", "ngModel"], [3, "data", "allowCustom", "ngModel"], [3, "ngModelChange", "ngModel"], ["mjFillContainer", "", 3, "ngModelChange", "ngModel", "fillWidth", "fillHeight"], [3, "valueChange", "value"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModelChange", "ngModel"], [3, "ngModelChange", "data", "ngModel"], [3, "ngModelChange", "data", "allowCustom", "ngModel"]], template: function MJFormField_Template(rf, ctx) { if (rf & 1) {
|
|
347
347
|
i0.ɵɵtemplate(0, MJFormField_Conditional_0_Template, 2, 2);
|
|
348
348
|
} if (rf & 2) {
|
|
349
|
-
i0.ɵɵconditional(
|
|
350
|
-
} }, dependencies: [i1.NgIf, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TextAreaComponent, i3.TextBoxComponent, i3.NumericTextBoxComponent, i3.CheckBoxDirective, i4.DatePickerComponent, i5.ComboBoxComponent, i5.DropDownListComponent, i6.EmailLink, i6.FieldLink, i6.WebLink, i7.FillContainer, i8.
|
|
349
|
+
i0.ɵɵconditional(ctx.record.IsSaved || !ctx.IsFieldReadOnly ? 0 : -1);
|
|
350
|
+
} }, dependencies: [i1.NgIf, i2.CheckboxControlValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TextAreaComponent, i3.TextBoxComponent, i3.NumericTextBoxComponent, i3.CheckBoxDirective, i4.DatePickerComponent, i5.ComboBoxComponent, i5.DropDownListComponent, i6.EmailLink, i6.FieldLink, i6.WebLink, i7.FillContainer, i8.CodeEditorComponent, i9.MarkdownComponent, i10.MJLinkField], styles: [".record-form-row[_ngcontent-%COMP%] {\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 align-items: start; \n\n} \n \n \n.record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-weight: bold;\n padding-right: 10px;\n width: 240px;\n margin-bottom: 0;\n align-self: start; \n\n}\n\n\n\n\n\n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > p[_ngcontent-%COMP%], \n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%], \n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > h2[_ngcontent-%COMP%], \n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > h3[_ngcontent-%COMP%], \n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > h4[_ngcontent-%COMP%], \n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], \n.record-form-row[_ngcontent-%COMP%] markdown[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n margin:0 !important;\n}\n\nmarkdown[_ngcontent-%COMP%] {\n font-size: 1rem; \n\n}\n\n\n@media (min-width: 768px) {\n .record-form-row[_ngcontent-%COMP%] {\n display: grid; \n\n grid-template-columns: auto 1fr;\n align-items: start; \n\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n }\n\n .record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n width: 240px;\n margin-bottom: 0;\n align-self: start; \n\n }\n}"] });
|
|
351
351
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJFormField, [{
|
|
352
352
|
type: Component,
|
|
353
|
-
args: [{ selector: 'mj-form-field', template: "
|
|
353
|
+
args: [{ selector: 'mj-form-field', template: "<!--\n Using a blend of *ngIf and the new @switch control flow because of a bug in early Angular 17 where\n the @if wrapping the @switch didn't fully remove elements when swtiching back and forth. In the future if Angular fixes the bug\n we can get rid of the *ngIf outer div blocks and instead use @if and contain the @switch within the same div block.\n-->\n@if (record.IsSaved || !IsFieldReadOnly) {\n <!-- We only render a field if the record is either saved, or the field is editable. Meaning, for NEW records, we only show editable fields -->\n <div class=\"record-form-row\" *ngIf=\"!EditMode || IsFieldReadOnly\">\n <label *ngIf=\"ShowLabel\">{{DisplayName}}</label>\n @switch (LinkType) {\n @case ('None') {\n @if (ExtendedType === 'Code') {\n <mj-code-editor [value]=\"record.Get(FieldName)\" [readonly]=\"true\" [languages]=\"languages\" [language]=\"'JavaScript'\"></mj-code-editor>\n }\n @else if (FieldInfo.Length === -1) {\n <!-- this is a varchar(max) type of field -->\n <markdown #markdown [data]=\"record.Get(FieldName)\"></markdown>\n <!-- <span [innerHTML]=\"record.Get(FieldName) | formatText\"></span> -->\n }\n @else {\n <span>{{FormatValue(FieldName, 0)}}</span>\n }\n }\n @case ('Email') {\n <span mjEmailLink [field]=\"record.GetFieldByName(FieldName)\" >{{FormatValue(FieldName, 0)}}</span>\n }\n @case ('URL') {\n <span mjWebLink [field]=\"record.GetFieldByName(FieldName)\" >{{FormatValue(FieldName, 0)}}</span>\n }\n @case ('Record') {\n <span mjFieldLink [record]=\"record\" [fieldName]=\"FieldName\" >{{FormatValue(FieldName, 0)}}</span>\n }\n }\n </div>\n <div class=\"record-form-row\" *ngIf=\"EditMode && !IsFieldReadOnly\">\n @if (ShowLabel) {\n <label>{{DisplayName}}</label>\n }\n @if (FieldInfo && FieldInfo.RelatedEntity && FieldInfo.RelatedEntity.length > 0) {\n <!-- Foreign Key Link here -->\n <mj-link-field [record]=\"record\" [FieldName]=\"FieldName\"></mj-link-field>\n }\n @else {\n <!-- Not a foreign key -->\n @switch (Type) {\n @case ('textbox') {\n <kendo-textbox [(ngModel)]=\"Value\" />\n }\n @case ('textarea') {\n <kendo-textarea [(ngModel)]=\"Value\" mjFillContainer [fillWidth]=\"ShowLabel ? false : true\" [fillHeight]=\"ShowLabel ? false : true\" ></kendo-textarea>\n }\n @case ('numerictextbox') {\n <kendo-numerictextbox [(value)]=\"Value\" />\n }\n @case ('datepicker') {\n <kendo-datepicker [(value)]=\"Value\"></kendo-datepicker>\n }\n @case ('checkbox') {\n <input type=\"checkbox\" [(ngModel)]=\"Value\" kendoCheckBox />\n }\n @case ('dropdownlist') {\n <kendo-dropdownlist [data]=\"PossibleValues\" [(ngModel)]=\"Value\"></kendo-dropdownlist>\n }\n @case ('combobox') {\n <kendo-combobox [data]=\"PossibleValues\" [allowCustom]=\"true\" [(ngModel)]=\"Value\"></kendo-combobox>\n }\n }\n }\n </div>\n}\n", styles: [".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 align-items: start; /* Ensure items are aligned at the top */\n} \n \n \n.record-form-row label {\n font-weight: bold;\n padding-right: 10px;\n width: 240px;\n margin-bottom: 0;\n align-self: start; /* Align the label to the start (top) */\n}\n\n/*\n Eliminate the default margin and padding for the markdown elements\n */\n.record-form-row markdown > p,\n.record-form-row markdown > h1,\n.record-form-row markdown > h2,\n.record-form-row markdown > h3,\n.record-form-row markdown > h4,\n.record-form-row markdown > h5,\n.record-form-row markdown > h6 {\n margin:0 !important;\n}\n\nmarkdown {\n font-size: 1rem; /* Adjust this value to match your app's regular text size */\n}\n\n\n@media (min-width: 768px) {\n .record-form-row {\n display: grid; /* Ensure grid display is used for larger screens as well */\n grid-template-columns: auto 1fr;\n align-items: start; /* Keep the alignment at the top */\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n align-self: start; /* Ensure the label is aligned to the top */\n }\n}\n "] }]
|
|
354
354
|
}], () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], { record: [{
|
|
355
355
|
type: Input
|
|
356
356
|
}], EditMode: [{
|
|
@@ -18,25 +18,25 @@ import * as i3 from "@progress/kendo-angular-buttons";
|
|
|
18
18
|
import * as i4 from "@progress/kendo-angular-inputs";
|
|
19
19
|
const _c0 = ["inputBox"];
|
|
20
20
|
function MJLinkField_ul_5_li_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
const
|
|
21
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
22
22
|
i0.ɵɵelementStart(0, "li", 6);
|
|
23
|
-
i0.ɵɵlistener("click", function MJLinkField_ul_5_li_1_Template_li_click_0_listener() { const
|
|
23
|
+
i0.ɵɵlistener("click", function MJLinkField_ul_5_li_1_Template_li_click_0_listener() { const record_r3 = i0.ɵɵrestoreView(_r2).$implicit; const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.onRecordSelected(record_r3)); });
|
|
24
24
|
i0.ɵɵtext(1);
|
|
25
25
|
i0.ɵɵelementEnd();
|
|
26
26
|
} if (rf & 2) {
|
|
27
27
|
const record_r3 = ctx.$implicit;
|
|
28
|
-
const
|
|
28
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
29
29
|
i0.ɵɵadvance();
|
|
30
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
30
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r3.RelatedEntityNameField ? record_r3.Get(ctx_r3.RelatedEntityNameField) : "No Value", " ");
|
|
31
31
|
} }
|
|
32
32
|
function MJLinkField_ul_5_Template(rf, ctx) { if (rf & 1) {
|
|
33
33
|
i0.ɵɵelementStart(0, "ul", 4);
|
|
34
34
|
i0.ɵɵtemplate(1, MJLinkField_ul_5_li_1_Template, 2, 1, "li", 5);
|
|
35
35
|
i0.ɵɵelementEnd();
|
|
36
36
|
} if (rf & 2) {
|
|
37
|
-
const
|
|
37
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
38
38
|
i0.ɵɵadvance();
|
|
39
|
-
i0.ɵɵproperty("ngForOf",
|
|
39
|
+
i0.ɵɵproperty("ngForOf", ctx_r3.matchingRecords);
|
|
40
40
|
} }
|
|
41
41
|
/**
|
|
42
42
|
* This component is used to automatically generate a UI for any field in a given BaseEntity object. The CodeGen tool will generate forms and form sections that
|
|
@@ -89,8 +89,8 @@ export class MJLinkField extends BaseRecordComponent {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
AttemptToLinkValue() {
|
|
92
|
-
var _a;
|
|
93
92
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
var _a;
|
|
94
94
|
const relatedEntityID = (_a = this.EntityField) === null || _a === void 0 ? void 0 : _a.RelatedEntityID;
|
|
95
95
|
const md = new Metadata();
|
|
96
96
|
this.RecordLinked = false;
|
|
@@ -134,8 +134,8 @@ export class MJLinkField extends BaseRecordComponent {
|
|
|
134
134
|
this.showMatchingRecords = false;
|
|
135
135
|
}
|
|
136
136
|
fetchMatchingRecords(query) {
|
|
137
|
-
var _a, _b;
|
|
138
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
var _a, _b;
|
|
139
139
|
const relatedEntityID = (_a = this.EntityField) === null || _a === void 0 ? void 0 : _a.RelatedEntityID;
|
|
140
140
|
const md = new Metadata();
|
|
141
141
|
this.RecordLinked = false;
|
|
@@ -174,12 +174,13 @@ MJLinkField.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJLinkField, se
|
|
|
174
174
|
} if (rf & 2) {
|
|
175
175
|
let _t;
|
|
176
176
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputBox = _t.first);
|
|
177
|
-
} }, inputs: { record: "record", FieldName: "FieldName", RecordName: "RecordName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 3, consts: [["type", "text", "kendoTextBox", "", 1, "input-box", 3, "
|
|
178
|
-
i0.ɵɵ
|
|
179
|
-
i0.ɵɵ
|
|
177
|
+
} }, inputs: { record: "record", FieldName: "FieldName", RecordName: "RecordName" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 3, consts: [["inputBox", ""], ["type", "text", "kendoTextBox", "", 1, "input-box", 3, "ngModelChange", "ngClass", "ngModel"], ["kendoButton", "", 3, "click"], ["class", "matching-records", 4, "ngIf"], [1, "matching-records"], [3, "click", 4, "ngFor", "ngForOf"], [3, "click"]], template: function MJLinkField_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
179
|
+
i0.ɵɵelementStart(0, "div")(1, "input", 1, 0);
|
|
180
|
+
i0.ɵɵtwoWayListener("ngModelChange", function MJLinkField_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.RecordName, $event) || (ctx.RecordName = $event); return i0.ɵɵresetView($event); });
|
|
180
181
|
i0.ɵɵelementEnd();
|
|
181
182
|
i0.ɵɵelementStart(3, "button", 2);
|
|
182
|
-
i0.ɵɵlistener("click", function MJLinkField_Template_button_click_3_listener() { return ctx.onClearClicked(); });
|
|
183
|
+
i0.ɵɵlistener("click", function MJLinkField_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onClearClicked()); });
|
|
183
184
|
i0.ɵɵtext(4, "Clear");
|
|
184
185
|
i0.ɵɵelementEnd();
|
|
185
186
|
i0.ɵɵtemplate(5, MJLinkField_ul_5_Template, 2, 1, "ul", 3);
|
|
@@ -50,9 +50,9 @@ SectionLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sect
|
|
|
50
50
|
} if (rf & 2) {
|
|
51
51
|
let _t;
|
|
52
52
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
|
|
53
|
-
} }, inputs: { Entity: "Entity", Section: "Section", record: "record", EditMode: "EditMode" }, outputs: { LoadComplete: "LoadComplete" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 0, consts: [[
|
|
54
|
-
i0.ɵɵelementStart(0, "div",
|
|
55
|
-
i0.ɵɵtemplate(1, SectionLoaderComponent_ng_template_1_Template, 0, 0, "ng-template", null,
|
|
53
|
+
} }, inputs: { Entity: "Entity", Section: "Section", record: "record", EditMode: "EditMode" }, outputs: { LoadComplete: "LoadComplete" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 0, consts: [["container", ""], [1, "form-section"]], template: function SectionLoaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
55
|
+
i0.ɵɵtemplate(1, SectionLoaderComponent_ng_template_1_Template, 0, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
56
56
|
i0.ɵɵelementEnd();
|
|
57
57
|
} }, encapsulation: 2 });
|
|
58
58
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SectionLoaderComponent, [{
|
package/dist/module.d.ts
CHANGED
|
@@ -15,10 +15,11 @@ import * as i13 from "@progress/kendo-angular-dialog";
|
|
|
15
15
|
import * as i14 from "@progress/kendo-angular-indicators";
|
|
16
16
|
import * as i15 from "@memberjunction/ng-container-directives";
|
|
17
17
|
import * as i16 from "@memberjunction/ng-shared";
|
|
18
|
-
import * as i17 from "
|
|
18
|
+
import * as i17 from "@memberjunction/ng-code-editor";
|
|
19
|
+
import * as i18 from "ngx-markdown";
|
|
19
20
|
export declare class BaseFormsModule {
|
|
20
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormsModule, never>;
|
|
21
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<BaseFormsModule, [typeof i1.SectionLoaderComponent, typeof i2.MJFormField, typeof i3.MJLinkField], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.MJTabStripModule, typeof i7.RecordChangesModule, typeof i8.ButtonsModule, typeof i9.InputsModule, typeof i10.DateInputsModule, typeof i11.DropDownsModule, typeof i12.LinkDirectivesModule, typeof i13.DialogsModule, typeof i14.IndicatorsModule, typeof i15.ContainerDirectivesModule, typeof i16.MemberJunctionSharedModule, typeof i17.MarkdownModule], [typeof i1.SectionLoaderComponent, typeof i2.MJFormField, typeof i3.MJLinkField]>;
|
|
22
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<BaseFormsModule, [typeof i1.SectionLoaderComponent, typeof i2.MJFormField, typeof i3.MJLinkField], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.MJTabStripModule, typeof i7.RecordChangesModule, typeof i8.ButtonsModule, typeof i9.InputsModule, typeof i10.DateInputsModule, typeof i11.DropDownsModule, typeof i12.LinkDirectivesModule, typeof i13.DialogsModule, typeof i14.IndicatorsModule, typeof i15.ContainerDirectivesModule, typeof i16.MemberJunctionSharedModule, typeof i17.CodeEditorModule, typeof i18.MarkdownModule], [typeof i1.SectionLoaderComponent, typeof i2.MJFormField, typeof i3.MJLinkField]>;
|
|
22
23
|
static ɵinj: i0.ɵɵInjectorDeclaration<BaseFormsModule>;
|
|
23
24
|
}
|
|
24
25
|
//# 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":";;;;;;;;;;;;;;;;;;;AA0BA,qBA6Ba,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAI"}
|
package/dist/module.js
CHANGED
|
@@ -15,6 +15,7 @@ import { SectionLoaderComponent } from './lib/section-loader-component';
|
|
|
15
15
|
import { MJFormField } from './lib/base-field-component';
|
|
16
16
|
import { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';
|
|
17
17
|
import { MemberJunctionSharedModule } from '@memberjunction/ng-shared';
|
|
18
|
+
import { CodeEditorModule } from '@memberjunction/ng-code-editor';
|
|
18
19
|
// Markdown
|
|
19
20
|
import { MarkdownModule } from 'ngx-markdown';
|
|
20
21
|
import { MJLinkField } from './lib/link-field.component';
|
|
@@ -37,6 +38,7 @@ BaseFormsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonMo
|
|
|
37
38
|
IndicatorsModule,
|
|
38
39
|
ContainerDirectivesModule,
|
|
39
40
|
MemberJunctionSharedModule,
|
|
41
|
+
CodeEditorModule,
|
|
40
42
|
MarkdownModule.forRoot()] });
|
|
41
43
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseFormsModule, [{
|
|
42
44
|
type: NgModule,
|
|
@@ -60,6 +62,7 @@ BaseFormsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonMo
|
|
|
60
62
|
IndicatorsModule,
|
|
61
63
|
ContainerDirectivesModule,
|
|
62
64
|
MemberJunctionSharedModule,
|
|
65
|
+
CodeEditorModule,
|
|
63
66
|
MarkdownModule.forRoot()
|
|
64
67
|
],
|
|
65
68
|
exports: [
|
|
@@ -83,6 +86,7 @@ BaseFormsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonMo
|
|
|
83
86
|
DialogsModule,
|
|
84
87
|
IndicatorsModule,
|
|
85
88
|
ContainerDirectivesModule,
|
|
86
|
-
MemberJunctionSharedModule,
|
|
89
|
+
MemberJunctionSharedModule,
|
|
90
|
+
CodeEditorModule, i1.MarkdownModule], exports: [SectionLoaderComponent,
|
|
87
91
|
MJFormField,
|
|
88
92
|
MJLinkField] }); })();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-base-forms",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "MemberJunction: Angular Base Form Components",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -15,29 +15,30 @@
|
|
|
15
15
|
"author": "",
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@angular/compiler": "
|
|
19
|
-
"@angular/compiler-cli": "
|
|
18
|
+
"@angular/compiler": "18.0.2",
|
|
19
|
+
"@angular/compiler-cli": "18.0.2"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@angular/common": "
|
|
23
|
-
"@angular/core": "
|
|
24
|
-
"@angular/forms": "
|
|
25
|
-
"@angular/router": "
|
|
22
|
+
"@angular/common": "18.0.2",
|
|
23
|
+
"@angular/core": "18.0.2",
|
|
24
|
+
"@angular/forms": "18.0.2",
|
|
25
|
+
"@angular/router": "18.0.2"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@memberjunction/global": "
|
|
29
|
-
"@memberjunction/core": "
|
|
30
|
-
"@memberjunction/ng-
|
|
31
|
-
"@memberjunction/ng-
|
|
32
|
-
"@memberjunction/ng-
|
|
33
|
-
"@memberjunction/ng-
|
|
34
|
-
"@memberjunction/ng-
|
|
35
|
-
"@
|
|
36
|
-
"@progress/kendo-angular-
|
|
37
|
-
"@progress/kendo-angular-
|
|
38
|
-
"@progress/kendo-angular-
|
|
39
|
-
"@progress/kendo-angular-
|
|
40
|
-
"
|
|
28
|
+
"@memberjunction/global": "1.6.0",
|
|
29
|
+
"@memberjunction/core": "1.6.0",
|
|
30
|
+
"@memberjunction/ng-code-editor": "1.6.0",
|
|
31
|
+
"@memberjunction/ng-shared": "1.6.0",
|
|
32
|
+
"@memberjunction/ng-tabstrip": "1.6.0",
|
|
33
|
+
"@memberjunction/ng-link-directives": "1.6.0",
|
|
34
|
+
"@memberjunction/ng-container-directives": "1.6.0",
|
|
35
|
+
"@memberjunction/ng-record-changes": "1.6.0",
|
|
36
|
+
"@progress/kendo-angular-buttons": "16.2.0",
|
|
37
|
+
"@progress/kendo-angular-dropdowns": "16.2.0",
|
|
38
|
+
"@progress/kendo-angular-inputs": "16.2.0",
|
|
39
|
+
"@progress/kendo-angular-dateinputs": "16.2.0",
|
|
40
|
+
"@progress/kendo-angular-dialog": "16.2.0",
|
|
41
|
+
"ngx-markdown": "18.0.0",
|
|
41
42
|
"rxjs": "^7.8.1",
|
|
42
43
|
"tslib": "^2.3.0"
|
|
43
44
|
},
|