@memberjunction/ng-base-forms 2.128.0 → 2.129.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/README.md CHANGED
@@ -6,6 +6,7 @@ Base classes and components for creating entity forms in MemberJunction Angular
6
6
 
7
7
  - Abstract base classes for forms, form sections, and record components
8
8
  - Automatic field rendering components with type detection
9
+ - **Encrypted field support** with configurable visibility and blind edit modes
9
10
  - Support for edit mode and validation
10
11
  - Transaction management for saving related records
11
12
  - Integration with MemberJunction metadata and entity framework
@@ -65,6 +66,46 @@ export class MyComponent {
65
66
  - `ShowLabel` (boolean): Whether to show the field label (default: true)
66
67
  - `DisplayName` (string): Override the default display name
67
68
  - `PossibleValues` (string[]): Custom values for dropdown/combobox fields
69
+ - `formContext` (BaseFormContext): Form context for field filtering and state
70
+ - `hideWhenEmptyInReadOnlyMode` (boolean): Hide field when empty in read-only mode (default: true)
71
+
72
+ #### Encrypted Field Support
73
+
74
+ MJFormField automatically handles fields configured for encryption in the entity metadata. The component provides appropriate UI based on the field's encryption settings:
75
+
76
+ **Read-Only Mode:**
77
+ - **AllowDecryptInAPI=true**: Displays a masked value (••••••••) with a lock icon by default. Users can click the eye toggle button to reveal the actual decrypted value.
78
+ - **AllowDecryptInAPI=false**: Displays only the masked value with a lock icon. The value cannot be revealed as it's protected.
79
+ - **Empty value**: Displays nothing (no mask or icon).
80
+
81
+ **Edit Mode:**
82
+ - **AllowDecryptInAPI=true**: Shows a password-style text input with an eye toggle to show/hide the value being edited.
83
+ - **AllowDecryptInAPI=false ("Blind Edit")**: Shows the current value as locked/masked (cannot be viewed), with a separate empty text input for entering a new value. Users can use the eye toggle to verify what they're typing before submitting.
84
+
85
+ ```typescript
86
+ // Entity field metadata configuration for encryption
87
+ // (Set via database or entity metadata, not in Angular component)
88
+ // - Encrypt: true // Field value is encrypted at rest
89
+ // - AllowDecryptInAPI: true // Decrypted value can be sent to API clients
90
+ // - SendEncryptedValue: false // Whether to send encrypted ciphertext when AllowDecryptInAPI=false
91
+ ```
92
+
93
+ **Example usage with encrypted field:**
94
+ ```html
95
+ <!-- The component automatically detects encryption from entity metadata -->
96
+ <mj-form-field
97
+ [record]="userRecord"
98
+ [EditMode]="isEditing"
99
+ FieldName="SSN"
100
+ Type="textbox"
101
+ ></mj-form-field>
102
+ ```
103
+
104
+ The encrypted field UI includes:
105
+ - Lock icon (fa-lock) indicating the field is encrypted
106
+ - Eye toggle buttons (fa-eye / fa-eye-slash) for showing/hiding values
107
+ - Hint text for blind edit mode explaining the behavior
108
+ - Password-style masking for sensitive data entry
68
109
 
69
110
  ### MJLinkField
70
111
 
@@ -82,6 +82,67 @@ export declare class MJFormField extends BaseRecordComponent implements AfterVie
82
82
  * Returns true if the field should be hidden (empty value in read-only mode with hideWhenEmptyInReadOnlyMode enabled)
83
83
  */
84
84
  get shouldHideField(): boolean;
85
+ /**
86
+ * Returns true if the field is configured for encryption in the entity metadata
87
+ */
88
+ get IsEncryptedField(): boolean;
89
+ /**
90
+ * Returns true if the field allows decrypted values to be shown in the API
91
+ */
92
+ get AllowDecryptInAPI(): boolean;
93
+ /**
94
+ * Returns true if the field's current value is the encrypted sentinel value,
95
+ * indicating that the actual value is protected and cannot be shown.
96
+ */
97
+ get IsValueEncryptedSentinel(): boolean;
98
+ /**
99
+ * Returns true if the field's current value should be treated as protected for display purposes.
100
+ * For encrypted fields where AllowDecryptInAPI=false, any non-empty value should be hidden.
101
+ */
102
+ get IsValueProtected(): boolean;
103
+ /**
104
+ * Returns true if the encrypted field has a value that can be revealed (AllowDecryptInAPI=true)
105
+ */
106
+ get CanRevealEncryptedValue(): boolean;
107
+ /**
108
+ * Controls whether the encrypted value is currently visible (for AllowDecryptInAPI=true fields)
109
+ */
110
+ isEncryptedValueRevealed: boolean;
111
+ /**
112
+ * Controls whether the new value being typed is visible (for blind edit mode)
113
+ */
114
+ isNewValueRevealed: boolean;
115
+ /**
116
+ * Toggles the visibility of the encrypted value
117
+ */
118
+ toggleEncryptedValueVisibility(): void;
119
+ /**
120
+ * Toggles the visibility of the new value being typed (for blind edit mode)
121
+ */
122
+ toggleNewValueVisibility(): void;
123
+ /**
124
+ * For encrypted fields in edit mode where AllowDecryptInAPI=false,
125
+ * we need a separate edit value that starts empty (user can't see existing value)
126
+ */
127
+ private _encryptedEditValue;
128
+ /**
129
+ * Gets the value for editing encrypted fields.
130
+ * For AllowDecryptInAPI=false fields, returns empty string initially (user can't see existing value)
131
+ * For AllowDecryptInAPI=true fields, returns the actual value
132
+ */
133
+ get EncryptedEditValue(): string;
134
+ /**
135
+ * Sets the encrypted edit value and updates the record
136
+ */
137
+ set EncryptedEditValue(newValue: string);
138
+ /**
139
+ * Returns true if editing an encrypted field that doesn't allow viewing existing value
140
+ */
141
+ get IsBlindEncryptedEdit(): boolean;
142
+ /**
143
+ * The masked display text for encrypted values (shows dots instead of actual value)
144
+ */
145
+ readonly EncryptedDisplayMask = "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022";
85
146
  markdown: MarkdownComponent | undefined;
86
147
  constructor(renderer: Renderer2);
87
148
  ngAfterViewInit(): void;
@@ -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,EAAqB,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAE,UAAU,EAAe,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;;AAGhE;;;;;GAKG;AACH,qBAKa,WAAY,SAAQ,mBAAoB,YAAW,aAAa;IA8KzE,OAAO,CAAC,QAAQ;IA7KlB;;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,iBAAiB,EAAE,QAAQ,GAAG,UAAU,CAAc;IAE/D;;OAEG;IACM,SAAS,EAAE,OAAO,CAAQ;IAEnC;;OAEG;IACM,WAAW,CAAC,EAAE,eAAe,CAAC;IAEvC;;;OAGG;IACM,2BAA2B,EAAE,OAAO,CAAQ;IAErD,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;;OAEG;IACH,IAAW,sBAAsB,IAAI,MAAM,CAgB1C;IAED,OAAO,CAAC,WAAW;IAInB,IAAW,YAAY,IAAI,MAAM,CAOhC;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;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAcpC;IAEwC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;gBAGvE,QAAQ,EAAE,SAAS;IAK7B,eAAe,IAAI,IAAI;yCAnLZ,WAAW;2CAAX,WAAW;CA0MvB"}
1
+ {"version":3,"file":"base-field-component.d.ts","sourceRoot":"","sources":["../../src/lib/base-field-component.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
2
2
  import { EntityFieldTSType } from '@memberjunction/core';
3
+ import { IsEncryptedSentinel, IsValueEncrypted } from '@memberjunction/global';
3
4
  import { BaseRecordComponent } from './base-record-component';
4
5
  import { languages } from '@codemirror/language-data';
6
+ import { EncryptionEngineBase } from '@memberjunction/core-entities';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/common";
7
9
  import * as i2 from "@angular/forms";
@@ -14,175 +16,283 @@ import * as i8 from "@memberjunction/ng-markdown";
14
16
  import * as i9 from "./link-field.component";
15
17
  const _c0 = ["markdown"];
16
18
  function MJFormField_Conditional_0_div_0_label_1_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelement(0, "label", 7);
19
+ i0.ɵɵelement(0, "label", 4);
18
20
  } if (rf & 2) {
19
21
  const ctx_r0 = i0.ɵɵnextContext(3);
20
22
  i0.ɵɵproperty("innerHTML", ctx_r0.HighlightedDisplayName, i0.ɵɵsanitizeHtml);
21
23
  } }
22
- function MJFormField_Conditional_0_div_0_Case_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelement(0, "mj-code-editor", 8);
24
+ function MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "span", 7);
26
+ i0.ɵɵtext(1);
27
+ i0.ɵɵelementEnd();
28
+ } if (rf & 2) {
29
+ const ctx_r0 = i0.ɵɵnextContext(5);
30
+ i0.ɵɵadvance();
31
+ i0.ɵɵtextInterpolate(ctx_r0.Value);
32
+ } }
33
+ function MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementStart(0, "span", 8);
35
+ i0.ɵɵelement(1, "i", 11);
36
+ i0.ɵɵtext(2);
37
+ i0.ɵɵelementEnd();
38
+ } if (rf & 2) {
39
+ const ctx_r0 = i0.ɵɵnextContext(5);
40
+ i0.ɵɵadvance(2);
41
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.EncryptedDisplayMask, " ");
42
+ } }
43
+ function MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
44
+ const _r2 = i0.ɵɵgetCurrentView();
45
+ i0.ɵɵelementStart(0, "span", 5);
46
+ i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Conditional_1_Template, 2, 1, "span", 7)(2, MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Conditional_2_Template, 3, 1, "span", 8);
47
+ i0.ɵɵelementStart(3, "button", 9);
48
+ i0.ɵɵlistener("click", function MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.toggleEncryptedValueVisibility()); });
49
+ i0.ɵɵelement(4, "i", 10);
50
+ i0.ɵɵelementEnd()();
24
51
  } if (rf & 2) {
25
52
  const ctx_r0 = i0.ɵɵnextContext(4);
26
- i0.ɵɵproperty("value", ctx_r0.record.Get(ctx_r0.FieldName))("readonly", true)("languages", ctx_r0.languages)("language", "JavaScript");
53
+ i0.ɵɵadvance();
54
+ i0.ɵɵconditional(ctx_r0.isEncryptedValueRevealed ? 1 : 2);
55
+ i0.ɵɵadvance(2);
56
+ i0.ɵɵproperty("title", ctx_r0.isEncryptedValueRevealed ? "Hide value" : "Show value");
57
+ i0.ɵɵadvance();
58
+ i0.ɵɵclassProp("fa-eye", !ctx_r0.isEncryptedValueRevealed)("fa-eye-slash", ctx_r0.isEncryptedValueRevealed);
27
59
  } }
28
- function MJFormField_Conditional_0_div_0_Case_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "input", 9);
60
+ function MJFormField_Conditional_0_div_0_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
61
+ i0.ɵɵelementStart(0, "span", 6);
62
+ i0.ɵɵelement(1, "i", 11);
63
+ i0.ɵɵtext(2);
64
+ i0.ɵɵelementEnd();
30
65
  } if (rf & 2) {
31
66
  const ctx_r0 = i0.ɵɵnextContext(4);
67
+ i0.ɵɵadvance(2);
68
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.EncryptedDisplayMask, " ");
69
+ } }
70
+ function MJFormField_Conditional_0_div_0_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelement(0, "span");
72
+ } }
73
+ function MJFormField_Conditional_0_div_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Conditional_2_Conditional_0_Template, 5, 6, "span", 5)(1, MJFormField_Conditional_0_div_0_Conditional_2_Conditional_1_Template, 3, 1, "span", 6)(2, MJFormField_Conditional_0_div_0_Conditional_2_Conditional_2_Template, 1, 0, "span");
75
+ } if (rf & 2) {
76
+ const ctx_r0 = i0.ɵɵnextContext(3);
77
+ i0.ɵɵconditional(ctx_r0.CanRevealEncryptedValue ? 0 : ctx_r0.IsValueProtected ? 1 : 2);
78
+ } }
79
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
80
+ i0.ɵɵelement(0, "mj-code-editor", 15);
81
+ } if (rf & 2) {
82
+ const ctx_r0 = i0.ɵɵnextContext(5);
83
+ i0.ɵɵproperty("value", ctx_r0.record.Get(ctx_r0.FieldName))("readonly", true)("languages", ctx_r0.languages)("language", "JavaScript");
84
+ } }
85
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
86
+ i0.ɵɵelement(0, "input", 16);
87
+ } if (rf & 2) {
88
+ const ctx_r0 = i0.ɵɵnextContext(5);
32
89
  i0.ɵɵproperty("checked", ctx_r0.Value);
33
90
  } }
34
- function MJFormField_Conditional_0_div_0_Case_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelement(0, "mj-markdown", 10, 0);
91
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
92
+ i0.ɵɵelement(0, "mj-markdown", 17, 0);
36
93
  } if (rf & 2) {
37
- const ctx_r0 = i0.ɵɵnextContext(4);
94
+ const ctx_r0 = i0.ɵɵnextContext(5);
38
95
  i0.ɵɵproperty("data", ctx_r0.record.Get(ctx_r0.FieldName));
39
96
  } }
40
- function MJFormField_Conditional_0_div_0_Case_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
97
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
41
98
  i0.ɵɵelementStart(0, "span");
42
99
  i0.ɵɵtext(1);
43
100
  i0.ɵɵelementEnd();
44
101
  } if (rf & 2) {
45
- const ctx_r0 = i0.ɵɵnextContext(4);
102
+ const ctx_r0 = i0.ɵɵnextContext(5);
46
103
  i0.ɵɵadvance();
47
104
  i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
48
105
  } }
49
- function MJFormField_Conditional_0_div_0_Case_2_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Case_2_Conditional_0_Template, 1, 4, "mj-code-editor", 8)(1, MJFormField_Conditional_0_div_0_Case_2_Conditional_1_Template, 1, 1, "input", 9)(2, MJFormField_Conditional_0_div_0_Case_2_Conditional_2_Template, 2, 1, "mj-markdown", 10)(3, MJFormField_Conditional_0_div_0_Case_2_Conditional_3_Template, 2, 1, "span");
106
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_0_Template, 1, 4, "mj-code-editor", 15)(1, MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_1_Template, 1, 1, "input", 16)(2, MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_2_Template, 2, 1, "mj-markdown", 17)(3, MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Conditional_3_Template, 2, 1, "span");
51
108
  } if (rf & 2) {
52
- const ctx_r0 = i0.ɵɵnextContext(3);
109
+ const ctx_r0 = i0.ɵɵnextContext(4);
53
110
  i0.ɵɵconditional(ctx_r0.ExtendedType === "Code" ? 0 : ctx_r0.Type === "checkbox" ? 1 : ctx_r0.FieldInfo.Length === -1 ? 2 : 3);
54
111
  } }
55
- function MJFormField_Conditional_0_div_0_Case_3_Template(rf, ctx) { if (rf & 1) {
56
- i0.ɵɵelementStart(0, "span", 4);
112
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_1_Template(rf, ctx) { if (rf & 1) {
113
+ i0.ɵɵelementStart(0, "span", 12);
57
114
  i0.ɵɵtext(1);
58
115
  i0.ɵɵelementEnd();
59
116
  } if (rf & 2) {
60
- const ctx_r0 = i0.ɵɵnextContext(3);
117
+ const ctx_r0 = i0.ɵɵnextContext(4);
61
118
  i0.ɵɵproperty("field", ctx_r0.record.GetFieldByName(ctx_r0.FieldName));
62
119
  i0.ɵɵadvance();
63
120
  i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
64
121
  } }
65
- function MJFormField_Conditional_0_div_0_Case_4_Template(rf, ctx) { if (rf & 1) {
66
- i0.ɵɵelementStart(0, "span", 5);
122
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_2_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "span", 13);
67
124
  i0.ɵɵtext(1);
68
125
  i0.ɵɵelementEnd();
69
126
  } if (rf & 2) {
70
- const ctx_r0 = i0.ɵɵnextContext(3);
127
+ const ctx_r0 = i0.ɵɵnextContext(4);
71
128
  i0.ɵɵproperty("field", ctx_r0.record.GetFieldByName(ctx_r0.FieldName));
72
129
  i0.ɵɵadvance();
73
130
  i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
74
131
  } }
75
- function MJFormField_Conditional_0_div_0_Case_5_Template(rf, ctx) { if (rf & 1) {
76
- i0.ɵɵelementStart(0, "span", 6);
132
+ function MJFormField_Conditional_0_div_0_Conditional_3_Case_3_Template(rf, ctx) { if (rf & 1) {
133
+ i0.ɵɵelementStart(0, "span", 14);
77
134
  i0.ɵɵtext(1);
78
135
  i0.ɵɵelementEnd();
79
136
  } if (rf & 2) {
80
- const ctx_r0 = i0.ɵɵnextContext(3);
137
+ const ctx_r0 = i0.ɵɵnextContext(4);
81
138
  i0.ɵɵproperty("record", ctx_r0.record)("fieldName", ctx_r0.FieldName);
82
139
  i0.ɵɵadvance();
83
140
  i0.ɵɵtextInterpolate(ctx_r0.FormatValue(ctx_r0.FieldName, 0));
84
141
  } }
142
+ function MJFormField_Conditional_0_div_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
143
+ i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Conditional_3_Case_0_Template, 4, 1)(1, MJFormField_Conditional_0_div_0_Conditional_3_Case_1_Template, 2, 2, "span", 12)(2, MJFormField_Conditional_0_div_0_Conditional_3_Case_2_Template, 2, 2, "span", 13)(3, MJFormField_Conditional_0_div_0_Conditional_3_Case_3_Template, 2, 3, "span", 14);
144
+ } if (rf & 2) {
145
+ let tmp_3_0;
146
+ const ctx_r0 = i0.ɵɵnextContext(3);
147
+ i0.ɵɵconditional((tmp_3_0 = ctx_r0.LinkType) === "None" ? 0 : tmp_3_0 === "Email" ? 1 : tmp_3_0 === "URL" ? 2 : tmp_3_0 === "Record" ? 3 : -1);
148
+ } }
85
149
  function MJFormField_Conditional_0_div_0_Template(rf, ctx) { if (rf & 1) {
86
150
  i0.ɵɵelementStart(0, "div", 2);
87
- i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_0_label_1_Template, 1, 1, "label", 3)(2, MJFormField_Conditional_0_div_0_Case_2_Template, 4, 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);
151
+ i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_0_label_1_Template, 1, 1, "label", 3)(2, MJFormField_Conditional_0_div_0_Conditional_2_Template, 3, 1)(3, MJFormField_Conditional_0_div_0_Conditional_3_Template, 4, 1);
88
152
  i0.ɵɵelementEnd();
89
153
  } if (rf & 2) {
90
- let tmp_3_0;
91
154
  const ctx_r0 = i0.ɵɵnextContext(2);
92
155
  i0.ɵɵadvance();
93
156
  i0.ɵɵproperty("ngIf", ctx_r0.ShowLabel);
94
157
  i0.ɵɵadvance();
95
- 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);
158
+ i0.ɵɵconditional(ctx_r0.IsEncryptedField ? 2 : 3);
96
159
  } }
97
160
  function MJFormField_Conditional_0_div_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelement(0, "label", 7);
161
+ i0.ɵɵelement(0, "label", 4);
99
162
  } if (rf & 2) {
100
163
  const ctx_r0 = i0.ɵɵnextContext(3);
101
164
  i0.ɵɵproperty("innerHTML", ctx_r0.HighlightedDisplayName, i0.ɵɵsanitizeHtml);
102
165
  } }
103
166
  function MJFormField_Conditional_0_div_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelement(0, "mj-link-field", 11);
167
+ const _r3 = i0.ɵɵgetCurrentView();
168
+ i0.ɵɵelementStart(0, "div", 18)(1, "span", 21);
169
+ i0.ɵɵelement(2, "i", 11);
170
+ i0.ɵɵtext(3);
171
+ i0.ɵɵelementEnd();
172
+ i0.ɵɵelementStart(4, "div", 22)(5, "kendo-textbox", 23);
173
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_2_Template_kendo_textbox_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r0.EncryptedEditValue, $event) || (ctx_r0.EncryptedEditValue = $event); return i0.ɵɵresetView($event); });
174
+ i0.ɵɵelementEnd();
175
+ i0.ɵɵelementStart(6, "button", 9);
176
+ i0.ɵɵlistener("click", function MJFormField_Conditional_0_div_1_Conditional_2_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.toggleNewValueVisibility()); });
177
+ i0.ɵɵelement(7, "i", 10);
178
+ i0.ɵɵelementEnd()();
179
+ i0.ɵɵelementStart(8, "span", 24);
180
+ i0.ɵɵtext(9, "Enter a new value to overwrite the existing encrypted data (current value cannot be displayed)");
181
+ i0.ɵɵelementEnd()();
182
+ } if (rf & 2) {
183
+ const ctx_r0 = i0.ɵɵnextContext(3);
184
+ i0.ɵɵadvance(3);
185
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.EncryptedDisplayMask, " ");
186
+ i0.ɵɵadvance(2);
187
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r0.EncryptedEditValue);
188
+ i0.ɵɵproperty("placeholder", "Enter new value to replace encrypted data")("type", ctx_r0.isNewValueRevealed ? "text" : "password");
189
+ i0.ɵɵadvance();
190
+ i0.ɵɵproperty("title", ctx_r0.isNewValueRevealed ? "Hide value" : "Show value");
191
+ i0.ɵɵadvance();
192
+ i0.ɵɵclassProp("fa-eye", !ctx_r0.isNewValueRevealed)("fa-eye-slash", ctx_r0.isNewValueRevealed);
193
+ } }
194
+ function MJFormField_Conditional_0_div_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
195
+ const _r4 = i0.ɵɵgetCurrentView();
196
+ i0.ɵɵelementStart(0, "div", 19)(1, "div", 22)(2, "kendo-textbox", 25);
197
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Template_kendo_textbox_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵelementStart(3, "button", 9);
200
+ i0.ɵɵlistener("click", function MJFormField_Conditional_0_div_1_Conditional_3_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.toggleEncryptedValueVisibility()); });
201
+ i0.ɵɵelement(4, "i", 10);
202
+ i0.ɵɵelementEnd()()();
203
+ } if (rf & 2) {
204
+ const ctx_r0 = i0.ɵɵnextContext(3);
205
+ i0.ɵɵadvance(2);
206
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
207
+ i0.ɵɵproperty("type", ctx_r0.isEncryptedValueRevealed ? "text" : "password");
208
+ i0.ɵɵadvance();
209
+ i0.ɵɵproperty("title", ctx_r0.isEncryptedValueRevealed ? "Hide value" : "Show value");
210
+ i0.ɵɵadvance();
211
+ i0.ɵɵclassProp("fa-eye", !ctx_r0.isEncryptedValueRevealed)("fa-eye-slash", ctx_r0.isEncryptedValueRevealed);
212
+ } }
213
+ function MJFormField_Conditional_0_div_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
214
+ i0.ɵɵelement(0, "mj-link-field", 20);
105
215
  } if (rf & 2) {
106
216
  const ctx_r0 = i0.ɵɵnextContext(3);
107
217
  i0.ɵɵproperty("record", ctx_r0.record)("FieldName", ctx_r0.FieldName)("LinkComponentType", ctx_r0.LinkComponentType);
108
218
  } }
109
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template(rf, ctx) { if (rf & 1) {
110
- const _r2 = i0.ɵɵgetCurrentView();
111
- i0.ɵɵelementStart(0, "mj-code-editor", 18);
112
- i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template_mj_code_editor_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); });
219
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_0_Template(rf, ctx) { if (rf & 1) {
220
+ const _r5 = i0.ɵɵgetCurrentView();
221
+ i0.ɵɵelementStart(0, "mj-code-editor", 32);
222
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_0_Template_mj_code_editor_ngModelChange_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); });
113
223
  i0.ɵɵelementEnd();
114
224
  } if (rf & 2) {
115
225
  const ctx_r0 = i0.ɵɵnextContext(4);
116
226
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
117
227
  i0.ɵɵproperty("languages", ctx_r0.languages)("language", "JavaScript");
118
228
  } }
119
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template(rf, ctx) { if (rf & 1) {
120
- const _r3 = i0.ɵɵgetCurrentView();
121
- i0.ɵɵelementStart(0, "kendo-textbox", 19);
122
- i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template_kendo_textbox_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); });
229
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_1_Template(rf, ctx) { if (rf & 1) {
230
+ const _r6 = i0.ɵɵgetCurrentView();
231
+ i0.ɵɵelementStart(0, "kendo-textbox", 33);
232
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_1_Template_kendo_textbox_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); });
123
233
  i0.ɵɵelementEnd();
124
234
  } if (rf & 2) {
125
235
  const ctx_r0 = i0.ɵɵnextContext(4);
126
236
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
127
237
  } }
128
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template(rf, ctx) { if (rf & 1) {
129
- const _r4 = i0.ɵɵgetCurrentView();
130
- i0.ɵɵelementStart(0, "kendo-textarea", 19);
131
- i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template_kendo_textarea_ngModelChange_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); });
238
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_2_Template(rf, ctx) { if (rf & 1) {
239
+ const _r7 = i0.ɵɵgetCurrentView();
240
+ i0.ɵɵelementStart(0, "kendo-textarea", 33);
241
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_2_Template_kendo_textarea_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); });
132
242
  i0.ɵɵelementEnd();
133
243
  } if (rf & 2) {
134
244
  const ctx_r0 = i0.ɵɵnextContext(4);
135
245
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
136
246
  } }
137
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template(rf, ctx) { if (rf & 1) {
138
- const _r5 = i0.ɵɵgetCurrentView();
139
- i0.ɵɵelementStart(0, "kendo-numerictextbox", 20);
140
- i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template_kendo_numerictextbox_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); });
247
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_3_Template(rf, ctx) { if (rf & 1) {
248
+ const _r8 = i0.ɵɵgetCurrentView();
249
+ i0.ɵɵelementStart(0, "kendo-numerictextbox", 34);
250
+ i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_3_Template_kendo_numerictextbox_valueChange_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); });
141
251
  i0.ɵɵelementEnd();
142
252
  } if (rf & 2) {
143
253
  const ctx_r0 = i0.ɵɵnextContext(4);
144
254
  i0.ɵɵtwoWayProperty("value", ctx_r0.Value);
145
255
  } }
146
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template(rf, ctx) { if (rf & 1) {
147
- const _r6 = i0.ɵɵgetCurrentView();
148
- i0.ɵɵelementStart(0, "kendo-datepicker", 20);
149
- i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template_kendo_datepicker_valueChange_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); });
256
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_4_Template(rf, ctx) { if (rf & 1) {
257
+ const _r9 = i0.ɵɵgetCurrentView();
258
+ i0.ɵɵelementStart(0, "kendo-datepicker", 34);
259
+ i0.ɵɵtwoWayListener("valueChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_4_Template_kendo_datepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
150
260
  i0.ɵɵelementEnd();
151
261
  } if (rf & 2) {
152
262
  const ctx_r0 = i0.ɵɵnextContext(4);
153
263
  i0.ɵɵtwoWayProperty("value", ctx_r0.Value);
154
264
  } }
155
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template(rf, ctx) { if (rf & 1) {
156
- const _r7 = i0.ɵɵgetCurrentView();
157
- i0.ɵɵelementStart(0, "input", 21);
158
- i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template_input_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); });
265
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_5_Template(rf, ctx) { if (rf & 1) {
266
+ const _r10 = i0.ɵɵgetCurrentView();
267
+ i0.ɵɵelementStart(0, "input", 35);
268
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_5_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
159
269
  i0.ɵɵelementEnd();
160
270
  } if (rf & 2) {
161
271
  const ctx_r0 = i0.ɵɵnextContext(4);
162
272
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
163
273
  } }
164
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template(rf, ctx) { if (rf & 1) {
165
- const _r8 = i0.ɵɵgetCurrentView();
166
- i0.ɵɵelementStart(0, "kendo-dropdownlist", 22);
167
- i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template_kendo_dropdownlist_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); });
274
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_6_Template(rf, ctx) { if (rf & 1) {
275
+ const _r11 = i0.ɵɵgetCurrentView();
276
+ i0.ɵɵelementStart(0, "kendo-dropdownlist", 36);
277
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_6_Template_kendo_dropdownlist_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
168
278
  i0.ɵɵelementEnd();
169
279
  } if (rf & 2) {
170
280
  const ctx_r0 = i0.ɵɵnextContext(4);
171
281
  i0.ɵɵproperty("data", ctx_r0.PossibleValues);
172
282
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
173
283
  } }
174
- function MJFormField_Conditional_0_div_1_Conditional_3_Case_7_Template(rf, ctx) { if (rf & 1) {
175
- const _r9 = i0.ɵɵgetCurrentView();
176
- i0.ɵɵelementStart(0, "kendo-combobox", 23);
177
- i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_3_Case_7_Template_kendo_combobox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
284
+ function MJFormField_Conditional_0_div_1_Conditional_5_Case_7_Template(rf, ctx) { if (rf & 1) {
285
+ const _r12 = i0.ɵɵgetCurrentView();
286
+ i0.ɵɵelementStart(0, "kendo-combobox", 37);
287
+ i0.ɵɵtwoWayListener("ngModelChange", function MJFormField_Conditional_0_div_1_Conditional_5_Case_7_Template_kendo_combobox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r0 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r0.Value, $event) || (ctx_r0.Value = $event); return i0.ɵɵresetView($event); });
178
288
  i0.ɵɵelementEnd();
179
289
  } if (rf & 2) {
180
290
  const ctx_r0 = i0.ɵɵnextContext(4);
181
291
  i0.ɵɵproperty("data", ctx_r0.PossibleValues)("allowCustom", true);
182
292
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.Value);
183
293
  } }
184
- function MJFormField_Conditional_0_div_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
185
- i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_1_Conditional_3_Case_0_Template, 1, 3, "mj-code-editor", 12)(1, MJFormField_Conditional_0_div_1_Conditional_3_Case_1_Template, 1, 1, "kendo-textbox", 13)(2, MJFormField_Conditional_0_div_1_Conditional_3_Case_2_Template, 1, 1, "kendo-textarea", 13)(3, MJFormField_Conditional_0_div_1_Conditional_3_Case_3_Template, 1, 1, "kendo-numerictextbox", 14)(4, MJFormField_Conditional_0_div_1_Conditional_3_Case_4_Template, 1, 1, "kendo-datepicker", 14)(5, MJFormField_Conditional_0_div_1_Conditional_3_Case_5_Template, 1, 1, "input", 15)(6, MJFormField_Conditional_0_div_1_Conditional_3_Case_6_Template, 1, 2, "kendo-dropdownlist", 16)(7, MJFormField_Conditional_0_div_1_Conditional_3_Case_7_Template, 1, 3, "kendo-combobox", 17);
294
+ function MJFormField_Conditional_0_div_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
295
+ i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_1_Conditional_5_Case_0_Template, 1, 3, "mj-code-editor", 26)(1, MJFormField_Conditional_0_div_1_Conditional_5_Case_1_Template, 1, 1, "kendo-textbox", 27)(2, MJFormField_Conditional_0_div_1_Conditional_5_Case_2_Template, 1, 1, "kendo-textarea", 27)(3, MJFormField_Conditional_0_div_1_Conditional_5_Case_3_Template, 1, 1, "kendo-numerictextbox", 28)(4, MJFormField_Conditional_0_div_1_Conditional_5_Case_4_Template, 1, 1, "kendo-datepicker", 28)(5, MJFormField_Conditional_0_div_1_Conditional_5_Case_5_Template, 1, 1, "input", 29)(6, MJFormField_Conditional_0_div_1_Conditional_5_Case_6_Template, 1, 2, "kendo-dropdownlist", 30)(7, MJFormField_Conditional_0_div_1_Conditional_5_Case_7_Template, 1, 3, "kendo-combobox", 31);
186
296
  } if (rf & 2) {
187
297
  let tmp_3_0;
188
298
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -190,17 +300,17 @@ function MJFormField_Conditional_0_div_1_Conditional_3_Template(rf, ctx) { if (r
190
300
  } }
191
301
  function MJFormField_Conditional_0_div_1_Template(rf, ctx) { if (rf & 1) {
192
302
  i0.ɵɵelementStart(0, "div", 2);
193
- i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_1_Conditional_1_Template, 1, 1, "label", 7)(2, MJFormField_Conditional_0_div_1_Conditional_2_Template, 1, 3, "mj-link-field", 11)(3, MJFormField_Conditional_0_div_1_Conditional_3_Template, 8, 1);
303
+ i0.ɵɵtemplate(1, MJFormField_Conditional_0_div_1_Conditional_1_Template, 1, 1, "label", 4)(2, MJFormField_Conditional_0_div_1_Conditional_2_Template, 10, 9, "div", 18)(3, MJFormField_Conditional_0_div_1_Conditional_3_Template, 5, 7, "div", 19)(4, MJFormField_Conditional_0_div_1_Conditional_4_Template, 1, 3, "mj-link-field", 20)(5, MJFormField_Conditional_0_div_1_Conditional_5_Template, 8, 1);
194
304
  i0.ɵɵelementEnd();
195
305
  } if (rf & 2) {
196
306
  const ctx_r0 = i0.ɵɵnextContext(2);
197
307
  i0.ɵɵadvance();
198
308
  i0.ɵɵconditional(ctx_r0.ShowLabel ? 1 : -1);
199
309
  i0.ɵɵadvance();
200
- i0.ɵɵconditional(ctx_r0.FieldInfo && ctx_r0.FieldInfo.RelatedEntity && ctx_r0.FieldInfo.RelatedEntity.length > 0 ? 2 : 3);
310
+ i0.ɵɵconditional(ctx_r0.IsBlindEncryptedEdit ? 2 : ctx_r0.IsEncryptedField ? 3 : ctx_r0.FieldInfo && ctx_r0.FieldInfo.RelatedEntity && ctx_r0.FieldInfo.RelatedEntity.length > 0 ? 4 : 5);
201
311
  } }
202
312
  function MJFormField_Conditional_0_Template(rf, ctx) { if (rf & 1) {
203
- i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Template, 6, 2, "div", 1)(1, MJFormField_Conditional_0_div_1_Template, 4, 2, "div", 1);
313
+ i0.ɵɵtemplate(0, MJFormField_Conditional_0_div_0_Template, 4, 2, "div", 1)(1, MJFormField_Conditional_0_div_1_Template, 6, 2, "div", 1);
204
314
  } if (rf & 2) {
205
315
  const ctx_r0 = i0.ɵɵnextContext();
206
316
  i0.ɵɵproperty("ngIf", (!ctx_r0.EditMode || ctx_r0.IsFieldReadOnly) && !ctx_r0.shouldHideField);
@@ -371,6 +481,115 @@ export class MJFormField extends BaseRecordComponent {
371
481
  const value = this.record.Get(this.FieldName);
372
482
  return value === null || value === undefined || value === '';
373
483
  }
484
+ /**
485
+ * Returns true if the field is configured for encryption in the entity metadata
486
+ */
487
+ get IsEncryptedField() {
488
+ return this.FieldInfo?.Encrypt === true;
489
+ }
490
+ /**
491
+ * Returns true if the field allows decrypted values to be shown in the API
492
+ */
493
+ get AllowDecryptInAPI() {
494
+ return this.FieldInfo?.AllowDecryptInAPI === true;
495
+ }
496
+ /**
497
+ * Returns true if the field's current value is the encrypted sentinel value,
498
+ * indicating that the actual value is protected and cannot be shown.
499
+ */
500
+ get IsValueEncryptedSentinel() {
501
+ const value = this.record.Get(this.FieldName);
502
+ return IsEncryptedSentinel(value);
503
+ }
504
+ /**
505
+ * Returns true if the field's current value should be treated as protected for display purposes.
506
+ * For encrypted fields where AllowDecryptInAPI=false, any non-empty value should be hidden.
507
+ */
508
+ get IsValueProtected() {
509
+ const f = this.record.GetFieldByName(this.FieldName);
510
+ if (f?.EntityFieldInfo?.Encrypt && f?.EntityFieldInfo.EncryptionKeyID) {
511
+ const value = this.record.Get(this.FieldName);
512
+ // If value is sentinel or encrypted ciphertext, it's protected
513
+ const key = EncryptionEngineBase.Instance.GetKeyByID(f.EntityFieldInfo.EncryptionKeyID);
514
+ if (IsValueEncrypted(value, key?.Marker)) {
515
+ return true;
516
+ }
517
+ // For encrypted fields where AllowDecryptInAPI=false, treat any non-null value as protected
518
+ const fieldInfo = this.FieldInfo;
519
+ if (fieldInfo?.Encrypt && !fieldInfo.AllowDecryptInAPI) {
520
+ return value !== null && value !== undefined && value !== '';
521
+ }
522
+ }
523
+ return false;
524
+ }
525
+ /**
526
+ * Returns true if the encrypted field has a value that can be revealed (AllowDecryptInAPI=true)
527
+ */
528
+ get CanRevealEncryptedValue() {
529
+ if (!this.IsEncryptedField)
530
+ return false;
531
+ if (!this.AllowDecryptInAPI)
532
+ return false;
533
+ const value = this.record.Get(this.FieldName);
534
+ return value !== null && value !== undefined && value !== '';
535
+ }
536
+ /**
537
+ * Controls whether the encrypted value is currently visible (for AllowDecryptInAPI=true fields)
538
+ */
539
+ isEncryptedValueRevealed = false;
540
+ /**
541
+ * Controls whether the new value being typed is visible (for blind edit mode)
542
+ */
543
+ isNewValueRevealed = false;
544
+ /**
545
+ * Toggles the visibility of the encrypted value
546
+ */
547
+ toggleEncryptedValueVisibility() {
548
+ this.isEncryptedValueRevealed = !this.isEncryptedValueRevealed;
549
+ }
550
+ /**
551
+ * Toggles the visibility of the new value being typed (for blind edit mode)
552
+ */
553
+ toggleNewValueVisibility() {
554
+ this.isNewValueRevealed = !this.isNewValueRevealed;
555
+ }
556
+ /**
557
+ * For encrypted fields in edit mode where AllowDecryptInAPI=false,
558
+ * we need a separate edit value that starts empty (user can't see existing value)
559
+ */
560
+ _encryptedEditValue = '';
561
+ /**
562
+ * Gets the value for editing encrypted fields.
563
+ * For AllowDecryptInAPI=false fields, returns empty string initially (user can't see existing value)
564
+ * For AllowDecryptInAPI=true fields, returns the actual value
565
+ */
566
+ get EncryptedEditValue() {
567
+ if (this.AllowDecryptInAPI) {
568
+ return this.Value ?? '';
569
+ }
570
+ return this._encryptedEditValue;
571
+ }
572
+ /**
573
+ * Sets the encrypted edit value and updates the record
574
+ */
575
+ set EncryptedEditValue(newValue) {
576
+ this._encryptedEditValue = newValue;
577
+ if (newValue && newValue.length > 0) {
578
+ // Only update the record if user has entered something
579
+ this.record.Set(this.FieldName, newValue);
580
+ this.ValueChange.emit(newValue);
581
+ }
582
+ }
583
+ /**
584
+ * Returns true if editing an encrypted field that doesn't allow viewing existing value
585
+ */
586
+ get IsBlindEncryptedEdit() {
587
+ return this.IsEncryptedField && !this.AllowDecryptInAPI && this.IsValueProtected;
588
+ }
589
+ /**
590
+ * The masked display text for encrypted values (shows dots instead of actual value)
591
+ */
592
+ EncryptedDisplayMask = '••••••••';
374
593
  markdown;
375
594
  constructor(renderer) {
376
595
  super();
@@ -405,15 +624,15 @@ export class MJFormField extends BaseRecordComponent {
405
624
  } if (rf & 2) {
406
625
  let _t;
407
626
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdown = _t.first);
408
- } }, inputs: { record: "record", EditMode: "EditMode", FieldName: "FieldName", Type: "Type", LinkType: "LinkType", LinkComponentType: "LinkComponentType", ShowLabel: "ShowLabel", formContext: "formContext", hideWhenEmptyInReadOnlyMode: "hideWhenEmptyInReadOnlyMode", 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"], [3, "innerHTML", 4, "ngIf"], ["mjEmailLink", "", 3, "field"], ["mjWebLink", "", 3, "field"], ["mjFieldLink", "", 3, "record", "fieldName"], [3, "innerHTML"], [3, "value", "readonly", "languages", "language"], ["type", "checkbox", "kendoCheckBox", "", "disabled", "", 3, "checked"], [3, "data"], [3, "record", "FieldName", "LinkComponentType"], [3, "ngModel", "languages", "language"], [3, "ngModel"], [1, "narrower-component", 3, "value"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel"], [3, "data", "ngModel"], [3, "data", "allowCustom", "ngModel"], [3, "ngModelChange", "ngModel", "languages", "language"], [3, "ngModelChange", "ngModel"], [1, "narrower-component", 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) {
627
+ } }, inputs: { record: "record", EditMode: "EditMode", FieldName: "FieldName", Type: "Type", LinkType: "LinkType", LinkComponentType: "LinkComponentType", ShowLabel: "ShowLabel", formContext: "formContext", hideWhenEmptyInReadOnlyMode: "hideWhenEmptyInReadOnlyMode", 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"], [3, "innerHTML", 4, "ngIf"], [3, "innerHTML"], [1, "encrypted-value-container"], ["title", "This value is encrypted and protected", 1, "encrypted-value"], [1, "encrypted-revealed-value"], [1, "encrypted-value"], ["type", "button", 1, "encrypted-toggle-btn", 3, "click", "title"], [1, "fa-solid"], [1, "fa-solid", "fa-lock", "encrypted-icon"], ["mjEmailLink", "", 3, "field"], ["mjWebLink", "", 3, "field"], ["mjFieldLink", "", 3, "record", "fieldName"], [3, "value", "readonly", "languages", "language"], ["type", "checkbox", "kendoCheckBox", "", "disabled", "", 3, "checked"], [3, "data"], [1, "encrypted-field-edit"], [1, "encrypted-field-edit-visible"], [3, "record", "FieldName", "LinkComponentType"], ["title", "Current value is encrypted and cannot be viewed", 1, "encrypted-current-value"], [1, "encrypted-input-container"], [1, "encrypted-input", 3, "ngModelChange", "ngModel", "placeholder", "type"], [1, "encrypted-hint"], [1, "encrypted-input", 3, "ngModelChange", "ngModel", "type"], [3, "ngModel", "languages", "language"], [3, "ngModel"], [1, "narrower-component", 3, "value"], ["type", "checkbox", "kendoCheckBox", "", 3, "ngModel"], [3, "data", "ngModel"], [3, "data", "allowCustom", "ngModel"], [3, "ngModelChange", "ngModel", "languages", "language"], [3, "ngModelChange", "ngModel"], [1, "narrower-component", 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) {
409
628
  i0.ɵɵtemplate(0, MJFormField_Conditional_0_Template, 2, 2);
410
629
  } if (rf & 2) {
411
630
  i0.ɵɵconditional(ctx.record.IsSaved || !ctx.IsFieldReadOnly ? 0 : -1);
412
- } }, 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.CodeEditorComponent, i8.MarkdownComponent, i9.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.narrower-component[_ngcontent-%COMP%] {\n width: 435px;\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.record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2) {\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n min-width: 0;\n max-width: 100%;\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: 14px; \n\n}\n\n\n\n.record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 0;\n border-radius: 2px;\n font-weight: 700;\n box-shadow: 0 0 0 2px #fef08a;\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}"] });
631
+ } }, 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.CodeEditorComponent, i8.MarkdownComponent, i9.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.narrower-component[_ngcontent-%COMP%] {\n width: 435px;\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.record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:nth-child(2) {\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n min-width: 0;\n max-width: 100%;\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: 14px; \n\n}\n\n\n\n.record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 0;\n border-radius: 2px;\n font-weight: 700;\n box-shadow: 0 0 0 2px #fef08a;\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}\n\n\n\n.encrypted-value[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: #666;\n font-family: monospace;\n letter-spacing: 2px;\n}\n\n.encrypted-value-container[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.encrypted-revealed-value[_ngcontent-%COMP%] {\n font-family: inherit;\n}\n\n.encrypted-icon[_ngcontent-%COMP%] {\n color: #888;\n font-size: 12px;\n}\n\n.encrypted-toggle-btn[_ngcontent-%COMP%] {\n background: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n color: #666;\n font-size: 12px;\n transition: all 0.2s ease;\n}\n\n.encrypted-toggle-btn[_ngcontent-%COMP%]:hover {\n background-color: #f0f0f0;\n border-color: #999;\n color: #333;\n}\n\n.encrypted-field-edit[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.encrypted-field-edit-visible[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.encrypted-input-container[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.encrypted-current-value[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: #666;\n font-family: monospace;\n letter-spacing: 2px;\n font-size: 13px;\n background-color: #f5f5f5;\n padding: 4px 8px;\n border-radius: 4px;\n width: fit-content;\n}\n\n.encrypted-input[_ngcontent-%COMP%] {\n max-width: 400px;\n}\n\n.encrypted-hint[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #888;\n font-style: italic;\n}"] });
413
632
  }
414
633
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJFormField, [{
415
634
  type: Component,
416
- 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) && !shouldHideField\">\n <label *ngIf=\"ShowLabel\" [innerHTML]=\"HighlightedDisplayName\"></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 (Type === 'checkbox') {\n <!-- Render checkboxes as disabled checkbox controls in read mode -->\n <input type=\"checkbox\" [checked]=\"Value\" kendoCheckBox disabled />\n }\n @else if (FieldInfo.Length === -1) {\n <!-- this is a varchar(max) type of field -->\n <mj-markdown #markdown [data]=\"record.Get(FieldName)\"></mj-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 [innerHTML]=\"HighlightedDisplayName\"></label>\n }\n @if (FieldInfo && FieldInfo.RelatedEntity && FieldInfo.RelatedEntity.length > 0) {\n <!-- Foreign Key Link here -->\n <mj-link-field [record]=\"record\" [FieldName]=\"FieldName\" [LinkComponentType]=\"LinkComponentType\"></mj-link-field>\n }\n @else {\n <!-- Not a foreign key -->\n @switch (Type) {\n @case ('code') {\n <mj-code-editor [(ngModel)]=\"Value\" [languages]=\"languages\" [language]=\"'JavaScript'\"></mj-code-editor>\n }\n @case ('textbox') {\n <kendo-textbox [(ngModel)]=\"Value\" />\n }\n @case ('textarea') {\n <kendo-textarea [(ngModel)]=\"Value\"></kendo-textarea>\n }\n @case ('numerictextbox') {\n <kendo-numerictextbox [(value)]=\"Value\" class=\"narrower-component\" />\n }\n @case ('datepicker') {\n <kendo-datepicker [(value)]=\"Value\" class=\"narrower-component\"></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.narrower-component {\n width: 435px;\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/* Enable wrapping and vertical scrolling for field values */\n.record-form-row > :nth-child(2) {\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n min-width: 0;\n max-width: 100%;\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: 14px; /* Match app standard text size (changed from 1rem) */\n}\n\n/* Search highlighting for field labels */\n.record-form-row label ::ng-deep .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 0;\n border-radius: 2px;\n font-weight: 700;\n box-shadow: 0 0 0 2px #fef08a;\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 "] }]
635
+ 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) && !shouldHideField\">\n <label *ngIf=\"ShowLabel\" [innerHTML]=\"HighlightedDisplayName\"></label>\n @if (IsEncryptedField) {\n <!-- Encrypted field in read-only mode -->\n @if (CanRevealEncryptedValue) {\n <!-- AllowDecryptInAPI=true: Show masked by default with reveal button -->\n <span class=\"encrypted-value-container\">\n @if (isEncryptedValueRevealed) {\n <span class=\"encrypted-revealed-value\">{{Value}}</span>\n }\n @else {\n <span class=\"encrypted-value\">\n <i class=\"fa-solid fa-lock encrypted-icon\"></i>\n {{EncryptedDisplayMask}}\n </span>\n }\n <button type=\"button\"\n class=\"encrypted-toggle-btn\"\n (click)=\"toggleEncryptedValueVisibility()\"\n [title]=\"isEncryptedValueRevealed ? 'Hide value' : 'Show value'\">\n <i class=\"fa-solid\" [class.fa-eye]=\"!isEncryptedValueRevealed\" [class.fa-eye-slash]=\"isEncryptedValueRevealed\"></i>\n </button>\n </span>\n }\n @else if (IsValueProtected) {\n <!-- AllowDecryptInAPI=false or sentinel: Always show masked, no reveal option -->\n <span class=\"encrypted-value\" title=\"This value is encrypted and protected\">\n <i class=\"fa-solid fa-lock encrypted-icon\"></i>\n {{EncryptedDisplayMask}}\n </span>\n }\n @else {\n <!-- Encrypted field with no value -->\n <span></span>\n }\n }\n @else {\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 (Type === 'checkbox') {\n <!-- Render checkboxes as disabled checkbox controls in read mode -->\n <input type=\"checkbox\" [checked]=\"Value\" kendoCheckBox disabled />\n }\n @else if (FieldInfo.Length === -1) {\n <!-- this is a varchar(max) type of field -->\n <mj-markdown #markdown [data]=\"record.Get(FieldName)\"></mj-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 }\n </div>\n <div class=\"record-form-row\" *ngIf=\"EditMode && !IsFieldReadOnly\">\n @if (ShowLabel) {\n <label [innerHTML]=\"HighlightedDisplayName\"></label>\n }\n @if (IsBlindEncryptedEdit) {\n <!-- Encrypted field where user cannot see existing value (AllowDecryptInAPI=false) -->\n <div class=\"encrypted-field-edit\">\n <span class=\"encrypted-current-value\" title=\"Current value is encrypted and cannot be viewed\">\n <i class=\"fa-solid fa-lock encrypted-icon\"></i>\n {{EncryptedDisplayMask}}\n </span>\n <div class=\"encrypted-input-container\">\n <kendo-textbox\n [(ngModel)]=\"EncryptedEditValue\"\n [placeholder]=\"'Enter new value to replace encrypted data'\"\n class=\"encrypted-input\"\n [type]=\"isNewValueRevealed ? 'text' : 'password'\">\n </kendo-textbox>\n <button type=\"button\"\n class=\"encrypted-toggle-btn\"\n (click)=\"toggleNewValueVisibility()\"\n [title]=\"isNewValueRevealed ? 'Hide value' : 'Show value'\">\n <i class=\"fa-solid\" [class.fa-eye]=\"!isNewValueRevealed\" [class.fa-eye-slash]=\"isNewValueRevealed\"></i>\n </button>\n </div>\n <span class=\"encrypted-hint\">Enter a new value to overwrite the existing encrypted data (current value cannot be displayed)</span>\n </div>\n }\n @else if (IsEncryptedField) {\n <!-- Encrypted field where user CAN see existing value (AllowDecryptInAPI=true) -->\n <div class=\"encrypted-field-edit-visible\">\n <div class=\"encrypted-input-container\">\n <kendo-textbox\n [(ngModel)]=\"Value\"\n class=\"encrypted-input\"\n [type]=\"isEncryptedValueRevealed ? 'text' : 'password'\">\n </kendo-textbox>\n <button type=\"button\"\n class=\"encrypted-toggle-btn\"\n (click)=\"toggleEncryptedValueVisibility()\"\n [title]=\"isEncryptedValueRevealed ? 'Hide value' : 'Show value'\">\n <i class=\"fa-solid\" [class.fa-eye]=\"!isEncryptedValueRevealed\" [class.fa-eye-slash]=\"isEncryptedValueRevealed\"></i>\n </button>\n </div>\n </div>\n }\n @else if (FieldInfo && FieldInfo.RelatedEntity && FieldInfo.RelatedEntity.length > 0) {\n <!-- Foreign Key Link here -->\n <mj-link-field [record]=\"record\" [FieldName]=\"FieldName\" [LinkComponentType]=\"LinkComponentType\"></mj-link-field>\n }\n @else {\n <!-- Not a foreign key -->\n @switch (Type) {\n @case ('code') {\n <mj-code-editor [(ngModel)]=\"Value\" [languages]=\"languages\" [language]=\"'JavaScript'\"></mj-code-editor>\n }\n @case ('textbox') {\n <kendo-textbox [(ngModel)]=\"Value\" />\n }\n @case ('textarea') {\n <kendo-textarea [(ngModel)]=\"Value\"></kendo-textarea>\n }\n @case ('numerictextbox') {\n <kendo-numerictextbox [(value)]=\"Value\" class=\"narrower-component\" />\n }\n @case ('datepicker') {\n <kendo-datepicker [(value)]=\"Value\" class=\"narrower-component\"></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.narrower-component {\n width: 435px;\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/* Enable wrapping and vertical scrolling for field values */\n.record-form-row > :nth-child(2) {\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n min-width: 0;\n max-width: 100%;\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: 14px; /* Match app standard text size (changed from 1rem) */\n}\n\n/* Search highlighting for field labels */\n.record-form-row label ::ng-deep .search-highlight {\n background-color: #fef08a;\n color: #854d0e;\n padding: 0;\n border-radius: 2px;\n font-weight: 700;\n box-shadow: 0 0 0 2px #fef08a;\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\n/* Encrypted field styles */\n.encrypted-value {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: #666;\n font-family: monospace;\n letter-spacing: 2px;\n}\n\n.encrypted-value-container {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.encrypted-revealed-value {\n font-family: inherit;\n}\n\n.encrypted-icon {\n color: #888;\n font-size: 12px;\n}\n\n.encrypted-toggle-btn {\n background: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 4px 8px;\n cursor: pointer;\n color: #666;\n font-size: 12px;\n transition: all 0.2s ease;\n}\n\n.encrypted-toggle-btn:hover {\n background-color: #f0f0f0;\n border-color: #999;\n color: #333;\n}\n\n.encrypted-field-edit {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.encrypted-field-edit-visible {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.encrypted-input-container {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.encrypted-current-value {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: #666;\n font-family: monospace;\n letter-spacing: 2px;\n font-size: 13px;\n background-color: #f5f5f5;\n padding: 4px 8px;\n border-radius: 4px;\n width: fit-content;\n}\n\n.encrypted-input {\n max-width: 400px;\n}\n\n.encrypted-hint {\n font-size: 11px;\n color: #888;\n font-style: italic;\n}\n "] }]
417
636
  }], () => [{ type: i0.Renderer2 }], { record: [{
418
637
  type: Input
419
638
  }], EditMode: [{
@@ -444,5 +663,5 @@ export class MJFormField extends BaseRecordComponent {
444
663
  type: ViewChild,
445
664
  args: ['markdown', { static: false }]
446
665
  }] }); })();
447
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJFormField, { className: "MJFormField", filePath: "src/lib/base-field-component.ts", lineNumber: 19 }); })();
666
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJFormField, { className: "MJFormField", filePath: "src/lib/base-field-component.ts", lineNumber: 21 }); })();
448
667
  //# sourceMappingURL=base-field-component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-field-component.js","sourceRoot":"","sources":["../../src/lib/base-field-component.ts","../../src/lib/base-field-component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-field-component.js","sourceRoot":"","sources":["../../src/lib/base-field-component.ts","../../src/lib/base-field-component.html"],"names":[],"mappings":"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"}
@@ -136,7 +136,7 @@ export declare class FormStateService {
136
136
  */
137
137
  private getSettingKey;
138
138
  /**
139
- * Load state from User Settings.
139
+ * Load state from User Settings using UserInfoEngine for cached access.
140
140
  */
141
141
  private loadState;
142
142
  /**
@@ -144,7 +144,7 @@ export declare class FormStateService {
144
144
  */
145
145
  private debouncedSave;
146
146
  /**
147
- * Save state to User Settings.
147
+ * Save state to User Settings using UserInfoEngine for cached lookup.
148
148
  */
149
149
  private saveState;
150
150
  static ɵfac: i0.ɵɵFactoryDeclaration<FormStateService, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"form-state.service.d.ts","sourceRoot":"","sources":["../../src/lib/form-state.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAA6C,MAAM,wBAAwB,CAAC;;AAKhH;;;;GAIG;AACH,qBAGa,gBAAgB;IACzB,gDAAgD;IAChD,OAAO,CAAC,UAAU,CAAiD;IAEnE,wCAAwC;IACxC,OAAO,CAAC,YAAY,CAAoD;IAExE,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAqB;IAE3C,wDAAwD;IACxD,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,QAAQ,CAAkB;IAElC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;IAIpD;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IAI9C;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA0B7D;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAKzE;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIlE;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAIrF;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAK3D;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY;IAIpF;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI;IAIrG;;;;OAIG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKpE;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAW3D;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBlE;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBpE;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAa7C;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMzC;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IAUnE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,SAAS;IAkCvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;YACW,SAAS;yCA3Vd,gBAAgB;6CAAhB,gBAAgB;CA6X5B"}
1
+ {"version":3,"file":"form-state.service.d.ts","sourceRoot":"","sources":["../../src/lib/form-state.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAA6C,MAAM,wBAAwB,CAAC;;AAKhH;;;;GAIG;AACH,qBAGa,gBAAgB;IACzB,gDAAgD;IAChD,OAAO,CAAC,UAAU,CAAiD;IAEnE,wCAAwC;IACxC,OAAO,CAAC,YAAY,CAAoD;IAExE,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAqB;IAE3C,wDAAwD;IACxD,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,QAAQ,CAAkB;IAElC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;IAIpD;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;IAI9C;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA0B7D;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAKzE;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAIlE;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAIrF;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAK3D;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY;IAIpF;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI;IAIrG;;;;OAIG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKpE;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAW3D;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBlE;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBpE;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAa7C;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMzC;;;;;OAKG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM;IAUnE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,SAAS;IA6BvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;YACW,SAAS;yCAtVd,gBAAgB;6CAAhB,gBAAgB;CAkX5B"}
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
- import { Metadata, RunView } from '@memberjunction/core';
3
+ import { Metadata } from '@memberjunction/core';
4
+ import { UserInfoEngine } from '@memberjunction/core-entities';
4
5
  import { DEFAULT_FORM_STATE, DEFAULT_SECTION_STATE } from './form-state.interface';
5
6
  import * as i0 from "@angular/core";
6
7
  const SETTING_KEY_PREFIX = 'Form.State.';
@@ -265,7 +266,7 @@ export class FormStateService {
265
266
  return `${SETTING_KEY_PREFIX}${entityName}`;
266
267
  }
267
268
  /**
268
- * Load state from User Settings.
269
+ * Load state from User Settings using UserInfoEngine for cached access.
269
270
  */
270
271
  async loadState(entityName) {
271
272
  try {
@@ -274,20 +275,14 @@ export class FormStateService {
274
275
  return;
275
276
  }
276
277
  const settingKey = this.getSettingKey(entityName);
277
- const rv = new RunView();
278
- const result = await rv.RunView({
279
- EntityName: 'MJ: User Settings',
280
- ExtraFilter: `UserID='${userId}' AND Setting='${settingKey}'`,
281
- ResultType: 'entity_object'
282
- });
278
+ const engine = UserInfoEngine.Instance;
279
+ // Find setting from cached user settings
280
+ const setting = engine.UserSettings.find(s => s.Setting === settingKey);
283
281
  const subject = this.getOrCreateSubject(entityName);
284
- if (result.Success && result.Results.length > 0) {
285
- const setting = result.Results[0];
286
- if (setting.Value) {
287
- const savedState = JSON.parse(setting.Value);
288
- // Merge with defaults to handle new properties
289
- subject.next({ ...DEFAULT_FORM_STATE, ...savedState });
290
- }
282
+ if (setting?.Value) {
283
+ const savedState = JSON.parse(setting.Value);
284
+ // Merge with defaults to handle new properties
285
+ subject.next({ ...DEFAULT_FORM_STATE, ...savedState });
291
286
  }
292
287
  else {
293
288
  // No saved state, use defaults
@@ -314,7 +309,7 @@ export class FormStateService {
314
309
  this.saveTimeouts.set(entityName, timeout);
315
310
  }
316
311
  /**
317
- * Save state to User Settings.
312
+ * Save state to User Settings using UserInfoEngine for cached lookup.
318
313
  */
319
314
  async saveState(entityName) {
320
315
  try {
@@ -325,18 +320,11 @@ export class FormStateService {
325
320
  const settingKey = this.getSettingKey(entityName);
326
321
  const state = this.getCurrentState(entityName);
327
322
  const md = new Metadata();
328
- const rv = new RunView();
329
- // Check if setting exists
330
- const result = await rv.RunView({
331
- EntityName: 'MJ: User Settings',
332
- ExtraFilter: `UserID='${userId}' AND Setting='${settingKey}'`,
333
- ResultType: 'entity_object'
334
- });
335
- let setting;
336
- if (result.Success && result.Results.length > 0) {
337
- setting = result.Results[0];
338
- }
339
- else {
323
+ const engine = UserInfoEngine.Instance;
324
+ // Find existing setting from cached user settings
325
+ let setting = engine.UserSettings.find(s => s.Setting === settingKey);
326
+ if (!setting) {
327
+ // Create new setting if not found
340
328
  setting = await md.GetEntityObject('MJ: User Settings');
341
329
  setting.UserID = userId;
342
330
  setting.Setting = settingKey;
@@ -1 +1 @@
1
- {"version":3,"file":"form-state.service.js","sourceRoot":"","sources":["../../src/lib/form-state.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-state.service.js","sourceRoot":"","sources":["../../src/lib/form-state.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA,qBAiCa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAI"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AA6BA,qBAiCa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,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,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;;AAmC9E,MAAM,OAAO,eAAe;yEAAf,eAAe;4DAAf,eAAe;gEAxBxB,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,oBAAoB;YACpB,aAAa;YACb,gBAAgB;YAChB,yBAAyB;YACzB,0BAA0B;YAC1B,gBAAgB;YAChB,cAAc;;iFAUL,eAAe;cAjC3B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,WAAW;oBACX,WAAW;oBACX,4BAA4B;oBAC5B,yBAAyB;iBAC1B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,gBAAgB;oBAChB,mBAAmB;oBACnB,aAAa;oBACb,YAAY;oBACZ,gBAAgB;oBAChB,eAAe;oBACf,oBAAoB;oBACpB,aAAa;oBACb,gBAAgB;oBAChB,yBAAyB;oBACzB,0BAA0B;oBAC1B,gBAAgB;oBAChB,cAAc;iBACf;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,WAAW;oBACX,WAAW;oBACX,4BAA4B;oBAC5B,yBAAyB;iBAC1B;aACF;;wFACY,eAAe,mBA/BxB,sBAAsB;QACtB,WAAW;QACX,WAAW;QACX,4BAA4B;QAC5B,yBAAyB,aAGzB,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,oBAAoB;QACpB,aAAa;QACb,gBAAgB;QAChB,yBAAyB;QACzB,0BAA0B;QAC1B,gBAAgB;QAChB,cAAc,aAGd,sBAAsB;QACtB,WAAW;QACX,WAAW;QACX,4BAA4B;QAC5B,yBAAyB"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,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,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;;AAoC9E,MAAM,OAAO,eAAe;yEAAf,eAAe;4DAAf,eAAe;gEAxBxB,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,oBAAoB;YACpB,aAAa;YACb,gBAAgB;YAChB,yBAAyB;YACzB,0BAA0B;YAC1B,gBAAgB;YAChB,cAAc;;iFAUL,eAAe;cAjC3B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,WAAW;oBACX,WAAW;oBACX,4BAA4B;oBAC5B,yBAAyB;iBAC1B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,gBAAgB;oBAChB,mBAAmB;oBACnB,aAAa;oBACb,YAAY;oBACZ,gBAAgB;oBAChB,eAAe;oBACf,oBAAoB;oBACpB,aAAa;oBACb,gBAAgB;oBAChB,yBAAyB;oBACzB,0BAA0B;oBAC1B,gBAAgB;oBAChB,cAAc;iBACf;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,WAAW;oBACX,WAAW;oBACX,4BAA4B;oBAC5B,yBAAyB;iBAC1B;aACF;;wFACY,eAAe,mBA/BxB,sBAAsB;QACtB,WAAW;QACX,WAAW;QACX,4BAA4B;QAC5B,yBAAyB,aAGzB,YAAY;QACZ,WAAW;QACX,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,oBAAoB;QACpB,aAAa;QACb,gBAAgB;QAChB,yBAAyB;QACzB,0BAA0B;QAC1B,gBAAgB;QAChB,cAAc,aAGd,sBAAsB;QACtB,WAAW;QACX,WAAW;QACX,4BAA4B;QAC5B,yBAAyB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-base-forms",
3
- "version": "2.128.0",
3
+ "version": "2.129.0",
4
4
  "description": "MemberJunction: Angular Base Form Components",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -26,23 +26,23 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@codemirror/language-data": "^6.5.1",
29
- "@memberjunction/core": "2.128.0",
30
- "@memberjunction/core-entities": "2.128.0",
31
- "@memberjunction/global": "2.128.0",
32
- "@memberjunction/ng-base-types": "2.128.0",
33
- "@memberjunction/ng-code-editor": "2.128.0",
34
- "@memberjunction/ng-container-directives": "2.128.0",
35
- "@memberjunction/ng-link-directives": "2.128.0",
36
- "@memberjunction/ng-record-changes": "2.128.0",
37
- "@memberjunction/ng-shared": "2.128.0",
38
- "@memberjunction/ng-tabstrip": "2.128.0",
29
+ "@memberjunction/core": "2.129.0",
30
+ "@memberjunction/core-entities": "2.129.0",
31
+ "@memberjunction/global": "2.129.0",
32
+ "@memberjunction/ng-base-types": "2.129.0",
33
+ "@memberjunction/ng-code-editor": "2.129.0",
34
+ "@memberjunction/ng-container-directives": "2.129.0",
35
+ "@memberjunction/ng-link-directives": "2.129.0",
36
+ "@memberjunction/ng-record-changes": "2.129.0",
37
+ "@memberjunction/ng-shared": "2.129.0",
38
+ "@memberjunction/ng-tabstrip": "2.129.0",
39
39
  "@progress/kendo-angular-buttons": "16.2.0",
40
40
  "@progress/kendo-angular-dateinputs": "16.2.0",
41
41
  "@progress/kendo-angular-dialog": "16.2.0",
42
42
  "@progress/kendo-angular-dropdowns": "16.2.0",
43
43
  "@progress/kendo-angular-indicators": "16.2.0",
44
44
  "@progress/kendo-angular-inputs": "16.2.0",
45
- "@memberjunction/ng-markdown": "2.128.0",
45
+ "@memberjunction/ng-markdown": "2.129.0",
46
46
  "rxjs": "^7.8.1",
47
47
  "tslib": "^2.3.0"
48
48
  },