@elliemae/loan-field-renderers 26.2.2
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/cjs/ARCHITECTURE.md +434 -0
- package/dist/cjs/OVERVIEW.md +229 -0
- package/dist/cjs/bll/constants.js +86 -0
- package/dist/cjs/bll/formatters/booleanFormatter.js +51 -0
- package/dist/cjs/bll/formatters/dateFormatter.js +78 -0
- package/dist/cjs/bll/formatters/dropdownFormatter.js +34 -0
- package/dist/cjs/bll/formatters/factory/index.js +115 -0
- package/dist/cjs/bll/formatters/index.js +24 -0
- package/dist/cjs/bll/formatters/numberFormatter.js +70 -0
- package/dist/cjs/bll/formatters/phoneFormatter.js +57 -0
- package/dist/cjs/bll/formatters/regexFormatter.js +52 -0
- package/dist/cjs/bll/formatters/ssnFormatter.js +50 -0
- package/dist/cjs/bll/formatters/textFormatter.js +43 -0
- package/dist/cjs/bll/formatters/zipFormatter.js +48 -0
- package/dist/cjs/bll/index.js +62 -0
- package/dist/cjs/bll/ssf/index.js +48 -0
- package/dist/cjs/bll/ssf/loan.js +81 -0
- package/dist/cjs/bll/ssf/loconnect.js +70 -0
- package/dist/cjs/bll/ssf/ssfBase.js +97 -0
- package/dist/cjs/bll/ssf/types.js +16 -0
- package/dist/cjs/bll/types.js +16 -0
- package/dist/cjs/bll/validators/dateValidator.js +60 -0
- package/dist/cjs/bll/validators/emailValidator.js +47 -0
- package/dist/cjs/bll/validators/factory/index.js +81 -0
- package/dist/cjs/bll/validators/index.js +24 -0
- package/dist/cjs/bll/validators/maxCharValidator.js +49 -0
- package/dist/cjs/bll/validators/requiredValidator.js +44 -0
- package/dist/cjs/bll/validators/zipValidator.js +53 -0
- package/dist/cjs/core/index.js +52 -0
- package/dist/cjs/demo/config.js +391 -0
- package/dist/cjs/demo/index.js +31 -0
- package/dist/cjs/package.json +7 -0
- package/dist/cjs/renderer/FieldRenderer.js +45 -0
- package/dist/cjs/renderer/base/hooks/fieldDescription.js +39 -0
- package/dist/cjs/renderer/base/hooks/fieldDisabled.js +53 -0
- package/dist/cjs/renderer/base/hooks/fieldGoTo.js +50 -0
- package/dist/cjs/renderer/base/hooks/fieldLocked.js +42 -0
- package/dist/cjs/renderer/base/hooks/fieldMeta.js +150 -0
- package/dist/cjs/renderer/base/hooks/fieldSubscribers.js +66 -0
- package/dist/cjs/renderer/base/hooks/fieldValidation.js +45 -0
- package/dist/cjs/renderer/base/hooks/fieldValue.js +215 -0
- package/dist/cjs/renderer/base/hooks/hookBase.js +29 -0
- package/dist/cjs/renderer/base/hooks/index.js +139 -0
- package/dist/cjs/renderer/base/renderer.js +198 -0
- package/dist/cjs/renderer/base/rendererValidator.js +97 -0
- package/dist/cjs/renderer/factory/index.js +58 -0
- package/dist/cjs/renderer/field-renderers/AddonRenderer.js +75 -0
- package/dist/cjs/renderer/field-renderers/CheckboxRenderer.js +123 -0
- package/dist/cjs/renderer/field-renderers/DateRenderer.js +206 -0
- package/dist/cjs/renderer/field-renderers/DropdownRenderer/hook.js +99 -0
- package/dist/cjs/renderer/field-renderers/DropdownRenderer/index.js +216 -0
- package/dist/cjs/renderer/field-renderers/LargeTextRenderer.js +209 -0
- package/dist/cjs/renderer/field-renderers/NumberRenderer.js +216 -0
- package/dist/cjs/renderer/field-renderers/RadioGroupRenderer.js +128 -0
- package/dist/cjs/renderer/field-renderers/RadioRenderer.js +121 -0
- package/dist/cjs/renderer/field-renderers/TextRenderer.js +223 -0
- package/dist/cjs/renderer/field-renderers/ToggleRenderer.js +121 -0
- package/dist/cjs/renderer/field-renderers/ZipCodeRenderer/helper.js +132 -0
- package/dist/cjs/renderer/field-renderers/ZipCodeRenderer/hook.js +128 -0
- package/dist/cjs/renderer/field-renderers/ZipCodeRenderer/index.js +273 -0
- package/dist/cjs/renderer/index.js +24 -0
- package/dist/cjs/renderer/styles.js +51 -0
- package/dist/cjs/renderer/types.js +16 -0
- package/dist/cjs/tests/base/flowBase.js +125 -0
- package/dist/cjs/tests/base/index.js +52 -0
- package/dist/cjs/tests/flows/checkboxRendererFlows.js +85 -0
- package/dist/cjs/tests/flows/dateRendererFlows.js +870 -0
- package/dist/cjs/tests/flows/dropdownRendererFlows.js +591 -0
- package/dist/cjs/tests/flows/largeTextRendererFlows.js +99 -0
- package/dist/cjs/tests/flows/numberRendererFlows.js +175 -0
- package/dist/cjs/tests/flows/radioRendererFlows.js +115 -0
- package/dist/cjs/tests/flows/textRendererFlows.js +349 -0
- package/dist/cjs/tests/flows/toggleRendererFlows.js +106 -0
- package/dist/cjs/tests/flows/zipCodeRendererFlows.js +1163 -0
- package/dist/cjs/utils/dateHelper.js +65 -0
- package/dist/esm/ARCHITECTURE.md +434 -0
- package/dist/esm/OVERVIEW.md +229 -0
- package/dist/esm/bll/constants.js +66 -0
- package/dist/esm/bll/formatters/booleanFormatter.js +33 -0
- package/dist/esm/bll/formatters/dateFormatter.js +48 -0
- package/dist/esm/bll/formatters/dropdownFormatter.js +14 -0
- package/dist/esm/bll/formatters/factory/index.js +97 -0
- package/dist/esm/bll/formatters/index.js +4 -0
- package/dist/esm/bll/formatters/numberFormatter.js +54 -0
- package/dist/esm/bll/formatters/phoneFormatter.js +41 -0
- package/dist/esm/bll/formatters/regexFormatter.js +34 -0
- package/dist/esm/bll/formatters/ssnFormatter.js +32 -0
- package/dist/esm/bll/formatters/textFormatter.js +25 -0
- package/dist/esm/bll/formatters/zipFormatter.js +30 -0
- package/dist/esm/bll/index.js +44 -0
- package/dist/esm/bll/ssf/index.js +30 -0
- package/dist/esm/bll/ssf/loan.js +63 -0
- package/dist/esm/bll/ssf/loconnect.js +52 -0
- package/dist/esm/bll/ssf/ssfBase.js +67 -0
- package/dist/esm/bll/ssf/types.js +0 -0
- package/dist/esm/bll/types.js +0 -0
- package/dist/esm/bll/validators/dateValidator.js +30 -0
- package/dist/esm/bll/validators/emailValidator.js +29 -0
- package/dist/esm/bll/validators/factory/index.js +63 -0
- package/dist/esm/bll/validators/index.js +4 -0
- package/dist/esm/bll/validators/maxCharValidator.js +31 -0
- package/dist/esm/bll/validators/requiredValidator.js +26 -0
- package/dist/esm/bll/validators/zipValidator.js +35 -0
- package/dist/esm/core/index.js +34 -0
- package/dist/esm/demo/config.js +371 -0
- package/dist/esm/demo/index.js +11 -0
- package/dist/esm/package.json +7 -0
- package/dist/esm/renderer/FieldRenderer.js +15 -0
- package/dist/esm/renderer/base/hooks/fieldDescription.js +19 -0
- package/dist/esm/renderer/base/hooks/fieldDisabled.js +33 -0
- package/dist/esm/renderer/base/hooks/fieldGoTo.js +30 -0
- package/dist/esm/renderer/base/hooks/fieldLocked.js +22 -0
- package/dist/esm/renderer/base/hooks/fieldMeta.js +132 -0
- package/dist/esm/renderer/base/hooks/fieldSubscribers.js +36 -0
- package/dist/esm/renderer/base/hooks/fieldValidation.js +25 -0
- package/dist/esm/renderer/base/hooks/fieldValue.js +195 -0
- package/dist/esm/renderer/base/hooks/hookBase.js +9 -0
- package/dist/esm/renderer/base/hooks/index.js +121 -0
- package/dist/esm/renderer/base/renderer.js +178 -0
- package/dist/esm/renderer/base/rendererValidator.js +77 -0
- package/dist/esm/renderer/factory/index.js +38 -0
- package/dist/esm/renderer/field-renderers/AddonRenderer.js +55 -0
- package/dist/esm/renderer/field-renderers/CheckboxRenderer.js +93 -0
- package/dist/esm/renderer/field-renderers/DateRenderer.js +176 -0
- package/dist/esm/renderer/field-renderers/DropdownRenderer/hook.js +79 -0
- package/dist/esm/renderer/field-renderers/DropdownRenderer/index.js +186 -0
- package/dist/esm/renderer/field-renderers/LargeTextRenderer.js +179 -0
- package/dist/esm/renderer/field-renderers/NumberRenderer.js +188 -0
- package/dist/esm/renderer/field-renderers/RadioGroupRenderer.js +108 -0
- package/dist/esm/renderer/field-renderers/RadioRenderer.js +91 -0
- package/dist/esm/renderer/field-renderers/TextRenderer.js +197 -0
- package/dist/esm/renderer/field-renderers/ToggleRenderer.js +91 -0
- package/dist/esm/renderer/field-renderers/ZipCodeRenderer/helper.js +112 -0
- package/dist/esm/renderer/field-renderers/ZipCodeRenderer/hook.js +108 -0
- package/dist/esm/renderer/field-renderers/ZipCodeRenderer/index.js +247 -0
- package/dist/esm/renderer/index.js +4 -0
- package/dist/esm/renderer/styles.js +21 -0
- package/dist/esm/renderer/types.js +0 -0
- package/dist/esm/tests/base/flowBase.js +105 -0
- package/dist/esm/tests/base/index.js +22 -0
- package/dist/esm/tests/flows/checkboxRendererFlows.js +65 -0
- package/dist/esm/tests/flows/dateRendererFlows.js +850 -0
- package/dist/esm/tests/flows/dropdownRendererFlows.js +571 -0
- package/dist/esm/tests/flows/largeTextRendererFlows.js +79 -0
- package/dist/esm/tests/flows/numberRendererFlows.js +155 -0
- package/dist/esm/tests/flows/radioRendererFlows.js +95 -0
- package/dist/esm/tests/flows/textRendererFlows.js +329 -0
- package/dist/esm/tests/flows/toggleRendererFlows.js +86 -0
- package/dist/esm/tests/flows/zipCodeRendererFlows.js +1143 -0
- package/dist/esm/utils/dateHelper.js +35 -0
- package/dist/types/lib/bll/constants.d.ts +9 -0
- package/dist/types/lib/bll/formatters/booleanFormatter.d.ts +5 -0
- package/dist/types/lib/bll/formatters/dateFormatter.d.ts +28 -0
- package/dist/types/lib/bll/formatters/dropdownFormatter.d.ts +6 -0
- package/dist/types/lib/bll/formatters/factory/index.d.ts +71 -0
- package/dist/types/lib/bll/formatters/index.d.ts +2 -0
- package/dist/types/lib/bll/formatters/numberFormatter.d.ts +6 -0
- package/dist/types/lib/bll/formatters/phoneFormatter.d.ts +7 -0
- package/dist/types/lib/bll/formatters/regexFormatter.d.ts +5 -0
- package/dist/types/lib/bll/formatters/ssnFormatter.d.ts +5 -0
- package/dist/types/lib/bll/formatters/textFormatter.d.ts +6 -0
- package/dist/types/lib/bll/formatters/zipFormatter.d.ts +5 -0
- package/dist/types/lib/bll/index.d.ts +20 -0
- package/dist/types/lib/bll/ssf/index.d.ts +25 -0
- package/dist/types/lib/bll/ssf/loan.d.ts +16 -0
- package/dist/types/lib/bll/ssf/loconnect.d.ts +15 -0
- package/dist/types/lib/bll/ssf/ssfBase.d.ts +23 -0
- package/dist/types/lib/bll/ssf/types.d.ts +99 -0
- package/dist/types/lib/bll/types.d.ts +47 -0
- package/dist/types/lib/bll/validators/dateValidator.d.ts +16 -0
- package/dist/types/lib/bll/validators/emailValidator.d.ts +4 -0
- package/dist/types/lib/bll/validators/factory/index.d.ts +15 -0
- package/dist/types/lib/bll/validators/index.d.ts +2 -0
- package/dist/types/lib/bll/validators/maxCharValidator.d.ts +4 -0
- package/dist/types/lib/bll/validators/requiredValidator.d.ts +4 -0
- package/dist/types/lib/bll/validators/zipValidator.d.ts +5 -0
- package/dist/types/lib/core/index.d.ts +29 -0
- package/dist/types/lib/demo/config.d.ts +11 -0
- package/dist/types/lib/demo/index.d.ts +1 -0
- package/dist/types/lib/renderer/FieldRenderer.d.ts +5 -0
- package/dist/types/lib/renderer/base/hooks/fieldDescription.d.ts +5 -0
- package/dist/types/lib/renderer/base/hooks/fieldDisabled.d.ts +10 -0
- package/dist/types/lib/renderer/base/hooks/fieldGoTo.d.ts +4 -0
- package/dist/types/lib/renderer/base/hooks/fieldLocked.d.ts +4 -0
- package/dist/types/lib/renderer/base/hooks/fieldMeta.d.ts +10 -0
- package/dist/types/lib/renderer/base/hooks/fieldSubscribers.d.ts +6 -0
- package/dist/types/lib/renderer/base/hooks/fieldValidation.d.ts +9 -0
- package/dist/types/lib/renderer/base/hooks/fieldValue.d.ts +31 -0
- package/dist/types/lib/renderer/base/hooks/hookBase.d.ts +9 -0
- package/dist/types/lib/renderer/base/hooks/index.d.ts +19 -0
- package/dist/types/lib/renderer/base/renderer.d.ts +43 -0
- package/dist/types/lib/renderer/base/rendererValidator.d.ts +15 -0
- package/dist/types/lib/renderer/factory/index.d.ts +5 -0
- package/dist/types/lib/renderer/field-renderers/AddonRenderer.d.ts +12 -0
- package/dist/types/lib/renderer/field-renderers/CheckboxRenderer.d.ts +7 -0
- package/dist/types/lib/renderer/field-renderers/DateRenderer.d.ts +13 -0
- package/dist/types/lib/renderer/field-renderers/DropdownRenderer/hook.d.ts +23 -0
- package/dist/types/lib/renderer/field-renderers/DropdownRenderer/index.d.ts +12 -0
- package/dist/types/lib/renderer/field-renderers/LargeTextRenderer.d.ts +17 -0
- package/dist/types/lib/renderer/field-renderers/NumberRenderer.d.ts +12 -0
- package/dist/types/lib/renderer/field-renderers/RadioGroupRenderer.d.ts +8 -0
- package/dist/types/lib/renderer/field-renderers/RadioRenderer.d.ts +8 -0
- package/dist/types/lib/renderer/field-renderers/TextRenderer.d.ts +8 -0
- package/dist/types/lib/renderer/field-renderers/ToggleRenderer.d.ts +24 -0
- package/dist/types/lib/renderer/field-renderers/ZipCodeRenderer/helper.d.ts +48 -0
- package/dist/types/lib/renderer/field-renderers/ZipCodeRenderer/hook.d.ts +17 -0
- package/dist/types/lib/renderer/field-renderers/ZipCodeRenderer/index.d.ts +9 -0
- package/dist/types/lib/renderer/index.d.ts +2 -0
- package/dist/types/lib/renderer/styles.d.ts +7 -0
- package/dist/types/lib/renderer/types.d.ts +325 -0
- package/dist/types/lib/tests/base/flowBase.d.ts +13 -0
- package/dist/types/lib/tests/base/index.d.ts +6 -0
- package/dist/types/lib/tests/flows/checkboxRendererFlows.d.ts +9 -0
- package/dist/types/lib/tests/flows/dateRendererFlows.d.ts +120 -0
- package/dist/types/lib/tests/flows/dropdownRendererFlows.d.ts +92 -0
- package/dist/types/lib/tests/flows/largeTextRendererFlows.d.ts +9 -0
- package/dist/types/lib/tests/flows/numberRendererFlows.d.ts +11 -0
- package/dist/types/lib/tests/flows/radioRendererFlows.d.ts +10 -0
- package/dist/types/lib/tests/flows/textRendererFlows.d.ts +16 -0
- package/dist/types/lib/tests/flows/toggleRendererFlows.d.ts +10 -0
- package/dist/types/lib/tests/flows/zipCodeRendererFlows.d.ts +169 -0
- package/dist/types/lib/tests/loan-field-renderer-flows.test.d.ts +1 -0
- package/dist/types/lib/utils/dateHelper.d.ts +8 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +103 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { getZipCodeMaskedValue } from "@elliemae/ds-form-helpers-mask-hooks";
|
|
13
|
+
let ZipFormatter = class {
|
|
14
|
+
format(input) {
|
|
15
|
+
if (!input || input === "") return "";
|
|
16
|
+
const maskedValue = getZipCodeMaskedValue(input);
|
|
17
|
+
return maskedValue;
|
|
18
|
+
}
|
|
19
|
+
parse(input) {
|
|
20
|
+
if (!input || input === "") return "";
|
|
21
|
+
const unmaskedValue = getZipCodeMaskedValue(input);
|
|
22
|
+
return unmaskedValue;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
ZipFormatter = __decorateClass([
|
|
26
|
+
decorators.class.Singleton
|
|
27
|
+
], ZipFormatter);
|
|
28
|
+
export {
|
|
29
|
+
ZipFormatter
|
|
30
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { coreInstance } from "../core";
|
|
13
|
+
import { factoryInstance } from "./formatters/factory";
|
|
14
|
+
import { ValidatorFactory } from "./validators/factory";
|
|
15
|
+
import { ssfInstance } from "./ssf";
|
|
16
|
+
let BLL = class {
|
|
17
|
+
get Core() {
|
|
18
|
+
return coreInstance;
|
|
19
|
+
}
|
|
20
|
+
ssf = null;
|
|
21
|
+
get Formatter() {
|
|
22
|
+
return factoryInstance;
|
|
23
|
+
}
|
|
24
|
+
get Validator() {
|
|
25
|
+
return new ValidatorFactory();
|
|
26
|
+
}
|
|
27
|
+
get SSF() {
|
|
28
|
+
if (this.ssf === null) {
|
|
29
|
+
this.ssf = ssfInstance;
|
|
30
|
+
}
|
|
31
|
+
return this.ssf;
|
|
32
|
+
}
|
|
33
|
+
set SSF(service) {
|
|
34
|
+
this.ssf = service;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
BLL = __decorateClass([
|
|
38
|
+
decorators.class.Singleton
|
|
39
|
+
], BLL);
|
|
40
|
+
const bllInstance = new BLL();
|
|
41
|
+
export {
|
|
42
|
+
BLL,
|
|
43
|
+
bllInstance
|
|
44
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { SSFBase } from "./ssfBase";
|
|
13
|
+
import { Loan } from "./loan";
|
|
14
|
+
import { LoConnect } from "./loconnect";
|
|
15
|
+
import { SSFBase as SSFBase2 } from "./ssfBase";
|
|
16
|
+
import { Loan as Loan2 } from "./loan";
|
|
17
|
+
import { LoConnect as LoConnect2 } from "./loconnect";
|
|
18
|
+
let SSF = class extends SSFBase {
|
|
19
|
+
};
|
|
20
|
+
SSF = __decorateClass([
|
|
21
|
+
decorators.class.Mixins(Loan, LoConnect)
|
|
22
|
+
], SSF);
|
|
23
|
+
const ssfInstance = new SSF();
|
|
24
|
+
export {
|
|
25
|
+
LoConnect2 as LoConnect,
|
|
26
|
+
Loan2 as Loan,
|
|
27
|
+
SSF,
|
|
28
|
+
SSFBase2 as SSFBase,
|
|
29
|
+
ssfInstance
|
|
30
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { SSFBase } from "./ssfBase";
|
|
13
|
+
class Loan extends SSFBase {
|
|
14
|
+
async getFieldValue(fieldId) {
|
|
15
|
+
if (this.fieldValueResolver) {
|
|
16
|
+
return Promise.resolve(this.fieldValueResolver(fieldId));
|
|
17
|
+
}
|
|
18
|
+
const loanObject = await this.SSFLoanObject;
|
|
19
|
+
return loanObject.getField(fieldId);
|
|
20
|
+
}
|
|
21
|
+
async setFieldValue(fieldId, value) {
|
|
22
|
+
const loanObject = await this.SSFLoanObject;
|
|
23
|
+
await loanObject.setFields({
|
|
24
|
+
[fieldId]: value
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async setFieldsValues(setFieldsValuesObject, doCalc = false) {
|
|
28
|
+
const loanObject = await this.SSFLoanObject;
|
|
29
|
+
await loanObject.setFields(setFieldsValuesObject);
|
|
30
|
+
if (doCalc) {
|
|
31
|
+
await loanObject.calculate();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async getFieldContractPaths() {
|
|
35
|
+
const loanObject = await this.SSFLoanObject;
|
|
36
|
+
const schema = loanObject.fieldDefinitions();
|
|
37
|
+
return schema;
|
|
38
|
+
}
|
|
39
|
+
async isReadOnlyLoan() {
|
|
40
|
+
const loanObject = await this.SSFLoanObject;
|
|
41
|
+
return loanObject.isReadOnly();
|
|
42
|
+
}
|
|
43
|
+
async resolveBaseCollectionId(fieldId) {
|
|
44
|
+
const loanObject = await this.SSFLoanObject;
|
|
45
|
+
return loanObject.resolveBaseCollectionId(fieldId);
|
|
46
|
+
}
|
|
47
|
+
async getCollectionRowIndex(fieldId) {
|
|
48
|
+
const loanObject = await this.SSFLoanObject;
|
|
49
|
+
return loanObject.getCollectionRowIndex(fieldId);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
__decorateClass([
|
|
53
|
+
decorators.function.CacheUntilResolved
|
|
54
|
+
], Loan.prototype, "getFieldValue", 1);
|
|
55
|
+
__decorateClass([
|
|
56
|
+
decorators.function.MemoizeAsync
|
|
57
|
+
], Loan.prototype, "getFieldContractPaths", 1);
|
|
58
|
+
__decorateClass([
|
|
59
|
+
decorators.function.MemoizeAsync
|
|
60
|
+
], Loan.prototype, "isReadOnlyLoan", 1);
|
|
61
|
+
export {
|
|
62
|
+
Loan
|
|
63
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { SSFBase } from "./ssfBase";
|
|
13
|
+
class LoConnect extends SSFBase {
|
|
14
|
+
async getStateDropDownList() {
|
|
15
|
+
const result = await this.genericCall("getStateDropDownList");
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
async getLockStatus(fieldId) {
|
|
19
|
+
const status = await this.genericCall("getLockStatus", fieldId);
|
|
20
|
+
return status;
|
|
21
|
+
}
|
|
22
|
+
async callCalcForLock(fieldId, isLocked) {
|
|
23
|
+
await this.genericCall("callCalcForLock", fieldId, isLocked);
|
|
24
|
+
}
|
|
25
|
+
async getZipCodeOptions(zip) {
|
|
26
|
+
const result = await this.genericCall("getZipCodeData", zip);
|
|
27
|
+
return Array.isArray(result) ? result : void 0;
|
|
28
|
+
}
|
|
29
|
+
async getZipCodeOptionsWithLatLong(zip) {
|
|
30
|
+
const result = await this.genericCall("getZipCodeLatLong", zip);
|
|
31
|
+
return Array.isArray(result) ? result : void 0;
|
|
32
|
+
}
|
|
33
|
+
async getGTFSelectedFormDetails() {
|
|
34
|
+
const result = await this.genericCall("getGTFSelectedFormDetails");
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
__decorateClass([
|
|
39
|
+
decorators.function.MemoizeAsync
|
|
40
|
+
], LoConnect.prototype, "getStateDropDownList", 1);
|
|
41
|
+
__decorateClass([
|
|
42
|
+
decorators.function.CacheUntilResolved
|
|
43
|
+
], LoConnect.prototype, "getLockStatus", 1);
|
|
44
|
+
__decorateClass([
|
|
45
|
+
decorators.function.MemoizeAsync
|
|
46
|
+
], LoConnect.prototype, "getZipCodeOptions", 1);
|
|
47
|
+
__decorateClass([
|
|
48
|
+
decorators.function.MemoizeAsync
|
|
49
|
+
], LoConnect.prototype, "getZipCodeOptionsWithLatLong", 1);
|
|
50
|
+
export {
|
|
51
|
+
LoConnect
|
|
52
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as elli from "@elliemae/em-ssf-guest";
|
|
2
|
+
class SSFBase {
|
|
3
|
+
ssfEnabled = false;
|
|
4
|
+
initDone = false;
|
|
5
|
+
hostInstance = null;
|
|
6
|
+
gtfFormDetailsCache = null;
|
|
7
|
+
fieldValueResolverFn = null;
|
|
8
|
+
setFieldValueResolver(resolver) {
|
|
9
|
+
this.fieldValueResolverFn = resolver;
|
|
10
|
+
}
|
|
11
|
+
get fieldValueResolver() {
|
|
12
|
+
return this.fieldValueResolverFn;
|
|
13
|
+
}
|
|
14
|
+
constructor() {
|
|
15
|
+
this.initSSF().catch((err) => {
|
|
16
|
+
console.error("SSF initialization failed:", err);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
get IsLocalhost() {
|
|
20
|
+
return typeof window !== "undefined" && window.location.hostname === "localhost";
|
|
21
|
+
}
|
|
22
|
+
get SSFLoanObject() {
|
|
23
|
+
return elli.getObject("loan");
|
|
24
|
+
}
|
|
25
|
+
async initSSF() {
|
|
26
|
+
if (!this.initDone) {
|
|
27
|
+
try {
|
|
28
|
+
this.hostInstance = await new Promise((resolve, reject) => {
|
|
29
|
+
elli.getObject("loconnect").then(resolve).catch(reject);
|
|
30
|
+
setTimeout(reject, 1e3);
|
|
31
|
+
});
|
|
32
|
+
this.ssfEnabled = true;
|
|
33
|
+
this.initDone = true;
|
|
34
|
+
} catch (e) {
|
|
35
|
+
this.ssfEnabled = false;
|
|
36
|
+
console.error("SSF Init Error:", e);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async genericCall(funcName, ...rest) {
|
|
41
|
+
const noHostFound = () => {
|
|
42
|
+
if (this.IsLocalhost) {
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
return Promise.reject(new Error("Missing Host Application"));
|
|
46
|
+
};
|
|
47
|
+
await this.initSSF();
|
|
48
|
+
if (this.ssfEnabled && this.hostInstance) {
|
|
49
|
+
const host = this.hostInstance;
|
|
50
|
+
if (typeof host[funcName] === "function") {
|
|
51
|
+
const func = host[funcName];
|
|
52
|
+
const data = await func(...rest);
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return noHostFound();
|
|
57
|
+
}
|
|
58
|
+
getCachedGTFFormDetails() {
|
|
59
|
+
return this.gtfFormDetailsCache;
|
|
60
|
+
}
|
|
61
|
+
setCachedGTFFormDetails(formDetails) {
|
|
62
|
+
this.gtfFormDetailsCache = formDetails;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
SSFBase
|
|
67
|
+
};
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import moment from "moment";
|
|
2
|
+
class DateValidator {
|
|
3
|
+
/**
|
|
4
|
+
* Validate if the given value is a valid date
|
|
5
|
+
* @param {unknown} value - The date value to validate
|
|
6
|
+
* @param {string} [message] - Custom error message
|
|
7
|
+
* @param {ValidationOptionsT<'date'>} [options] - Validation options including dateFormat for strict checking
|
|
8
|
+
* @returns {IValidationResult} Validation result with isValid flag and optional message
|
|
9
|
+
*/
|
|
10
|
+
validate(value, message, options) {
|
|
11
|
+
if (value === null || value === void 0 || value === "") {
|
|
12
|
+
return { isValid: true, message: "" };
|
|
13
|
+
}
|
|
14
|
+
const dateStr = String(value);
|
|
15
|
+
const dateFormat = options?.dateFormat;
|
|
16
|
+
let isValid = false;
|
|
17
|
+
if (dateFormat) {
|
|
18
|
+
isValid = moment(dateStr, dateFormat, true).isValid();
|
|
19
|
+
} else {
|
|
20
|
+
isValid = moment(dateStr).isValid();
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
isValid,
|
|
24
|
+
message: isValid ? "" : message || `Invalid date format${dateFormat ? `. Expected: ${dateFormat}` : ""}`
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
DateValidator
|
|
30
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
let EmailValidator = class {
|
|
13
|
+
validate(value = "", message) {
|
|
14
|
+
if (!value) {
|
|
15
|
+
return { isValid: true };
|
|
16
|
+
}
|
|
17
|
+
const isValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);
|
|
18
|
+
return {
|
|
19
|
+
isValid,
|
|
20
|
+
message: isValid ? void 0 : message || "This value is not a valid email format."
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
EmailValidator = __decorateClass([
|
|
25
|
+
decorators.class.Singleton
|
|
26
|
+
], EmailValidator);
|
|
27
|
+
export {
|
|
28
|
+
EmailValidator
|
|
29
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { EmailValidator } from "../emailValidator";
|
|
13
|
+
import { RequiredValidator } from "../requiredValidator";
|
|
14
|
+
import { DateValidator } from "../dateValidator";
|
|
15
|
+
import { ZipValidator } from "../zipValidator";
|
|
16
|
+
import { MaxCharValidator } from "../maxCharValidator";
|
|
17
|
+
let ValidatorFactory = class {
|
|
18
|
+
registry = {};
|
|
19
|
+
/**
|
|
20
|
+
* Cache for validator instances by type
|
|
21
|
+
* Since validators are stateless, we can safely reuse instances
|
|
22
|
+
*/
|
|
23
|
+
validatorCache = /* @__PURE__ */ new Map();
|
|
24
|
+
constructor() {
|
|
25
|
+
this.initBuiltInValidators();
|
|
26
|
+
}
|
|
27
|
+
initBuiltInValidators() {
|
|
28
|
+
this.registerValidator("required", RequiredValidator);
|
|
29
|
+
this.registerValidator("email", EmailValidator);
|
|
30
|
+
this.registerValidator("date", DateValidator);
|
|
31
|
+
this.registerValidator("zip", ZipValidator);
|
|
32
|
+
this.registerValidator("maxchar", MaxCharValidator);
|
|
33
|
+
}
|
|
34
|
+
createValidator(type) {
|
|
35
|
+
const cached = this.validatorCache.get(type);
|
|
36
|
+
if (cached) {
|
|
37
|
+
return cached;
|
|
38
|
+
}
|
|
39
|
+
const ValidatorClass = this.registry[type];
|
|
40
|
+
if (!ValidatorClass) {
|
|
41
|
+
throw new Error(`Validator type "${type}" is not supported.`);
|
|
42
|
+
}
|
|
43
|
+
const validator = new ValidatorClass();
|
|
44
|
+
this.validatorCache.set(type, validator);
|
|
45
|
+
return validator;
|
|
46
|
+
}
|
|
47
|
+
registerValidator(type, validatorClass) {
|
|
48
|
+
this.registry[type] = validatorClass;
|
|
49
|
+
}
|
|
50
|
+
runValidators(rules, value) {
|
|
51
|
+
const failedResult = rules.map((rule) => {
|
|
52
|
+
const validator = this.createValidator(rule.type);
|
|
53
|
+
return validator.validate(value, rule.message, rule.options);
|
|
54
|
+
}).find((result) => !result.isValid);
|
|
55
|
+
return failedResult || { isValid: true };
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
ValidatorFactory = __decorateClass([
|
|
59
|
+
decorators.class.Singleton
|
|
60
|
+
], ValidatorFactory);
|
|
61
|
+
export {
|
|
62
|
+
ValidatorFactory
|
|
63
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
let MaxCharValidator = class {
|
|
13
|
+
validate(value, message, options) {
|
|
14
|
+
if (!value) {
|
|
15
|
+
return { isValid: true };
|
|
16
|
+
}
|
|
17
|
+
const strValue = String(value);
|
|
18
|
+
const charsLimit = options?.charsLimit ?? 0;
|
|
19
|
+
const isValid = strValue.length <= charsLimit;
|
|
20
|
+
return {
|
|
21
|
+
isValid,
|
|
22
|
+
message: isValid ? "" : message || `This field exceeds the maximum character limit of ${charsLimit}.`
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
MaxCharValidator = __decorateClass([
|
|
27
|
+
decorators.class.Singleton
|
|
28
|
+
], MaxCharValidator);
|
|
29
|
+
export {
|
|
30
|
+
MaxCharValidator
|
|
31
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
let RequiredValidator = class {
|
|
13
|
+
validate(value, message) {
|
|
14
|
+
const isValid = value !== null && value !== void 0 && value !== "";
|
|
15
|
+
return {
|
|
16
|
+
isValid,
|
|
17
|
+
message: isValid ? void 0 : message || "This field is required."
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
RequiredValidator = __decorateClass([
|
|
22
|
+
decorators.class.Singleton
|
|
23
|
+
], RequiredValidator);
|
|
24
|
+
export {
|
|
25
|
+
RequiredValidator
|
|
26
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
const validZipCode = (zip) => {
|
|
13
|
+
if (!zip) return false;
|
|
14
|
+
const digitsOnly = zip.replace(/[^\d]/g, "");
|
|
15
|
+
return digitsOnly.length === 5 || digitsOnly.length === 9;
|
|
16
|
+
};
|
|
17
|
+
let ZipValidator = class {
|
|
18
|
+
validate(zip = "", message) {
|
|
19
|
+
if (!zip) {
|
|
20
|
+
return { isValid: true };
|
|
21
|
+
}
|
|
22
|
+
const isValid = validZipCode(zip);
|
|
23
|
+
return {
|
|
24
|
+
isValid,
|
|
25
|
+
message: isValid ? void 0 : message || "This value is not a valid zip code format."
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
ZipValidator = __decorateClass([
|
|
30
|
+
decorators.class.Singleton
|
|
31
|
+
], ZipValidator);
|
|
32
|
+
export {
|
|
33
|
+
ZipValidator,
|
|
34
|
+
validZipCode
|
|
35
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators2, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators2.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators2[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
import { decorators } from "@elliemae/pui-app-sdk";
|
|
12
|
+
import { Base } from "@elliemae/encw-core";
|
|
13
|
+
let Core = class extends Base {
|
|
14
|
+
get CoreUtils() {
|
|
15
|
+
return this.Utils;
|
|
16
|
+
}
|
|
17
|
+
get ExceptionUtils() {
|
|
18
|
+
return {
|
|
19
|
+
businessException: this.businessException.bind(this),
|
|
20
|
+
runtimeException: this.runtimeException.bind(this)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
Log(type, message, additionalData) {
|
|
24
|
+
return super.Log(type, message, additionalData);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
Core = __decorateClass([
|
|
28
|
+
decorators.class.Singleton
|
|
29
|
+
], Core);
|
|
30
|
+
const coreInstance = new Core();
|
|
31
|
+
export {
|
|
32
|
+
Core,
|
|
33
|
+
coreInstance
|
|
34
|
+
};
|