@aemforms/af-core 0.22.51 → 0.22.53
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/lib/Captcha.d.ts +5 -0
- package/lib/Captcha.js +12 -0
- package/lib/Form.d.ts +2 -0
- package/lib/Form.js +18 -0
- package/lib/SubmitMetaData.d.ts +7 -0
- package/lib/SubmitMetaData.js +9 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +3 -1
- package/lib/rules/FunctionRuntime.js +1 -1
- package/lib/types/Model.d.ts +4 -0
- package/lib/utils/FormCreationUtils.js +4 -0
- package/lib/utils/JsonUtils.d.ts +1 -0
- package/lib/utils/JsonUtils.js +6 -1
- package/package.json +2 -2
package/lib/Captcha.d.ts
ADDED
package/lib/Captcha.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Field_1 = __importDefault(require("./Field"));
|
|
7
|
+
class Captcha extends Field_1.default {
|
|
8
|
+
getDataNode() {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.default = Captcha;
|
package/lib/Form.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Container from './Container';
|
|
2
2
|
import { Action, BaseModel, FieldModel, FieldsetModel, FormJson, FormModel, IFormFieldFactory } from './types/index';
|
|
3
3
|
import FormMetaData from './FormMetaData';
|
|
4
|
+
import SubmitMetaData from './SubmitMetaData';
|
|
4
5
|
import EventQueue from './controller/EventQueue';
|
|
5
6
|
import { Logger, LogLevel } from './controller/Logger';
|
|
6
7
|
import RuleEngine from './rules/RuleEngine';
|
|
@@ -18,6 +19,7 @@ declare class Form extends Container<FormJson> implements FormModel {
|
|
|
18
19
|
get action(): string | undefined;
|
|
19
20
|
importData(dataModel: any): void;
|
|
20
21
|
exportData(): any;
|
|
22
|
+
exportSubmitMetaData(): SubmitMetaData;
|
|
21
23
|
setFocus(field: BaseModel): void;
|
|
22
24
|
getState(): {
|
|
23
25
|
description?: string | undefined;
|
package/lib/Form.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Container_1 = __importDefault(require("./Container"));
|
|
7
7
|
const FormMetaData_1 = __importDefault(require("./FormMetaData"));
|
|
8
|
+
const SubmitMetaData_1 = __importDefault(require("./SubmitMetaData"));
|
|
8
9
|
const EventQueue_1 = __importDefault(require("./controller/EventQueue"));
|
|
9
10
|
const Logger_1 = require("./controller/Logger");
|
|
10
11
|
const FormUtils_1 = require("./utils/FormUtils");
|
|
@@ -46,6 +47,23 @@ class Form extends Container_1.default {
|
|
|
46
47
|
var _a;
|
|
47
48
|
return (_a = this.getDataNode()) === null || _a === void 0 ? void 0 : _a.$value;
|
|
48
49
|
}
|
|
50
|
+
exportSubmitMetaData() {
|
|
51
|
+
let submitMetaInstance = null;
|
|
52
|
+
const captchaInfoObj = {};
|
|
53
|
+
function addCaptchaField(fieldName, fieldValue) {
|
|
54
|
+
if (captchaInfoObj[fieldName]) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
captchaInfoObj[fieldName] = fieldValue;
|
|
58
|
+
}
|
|
59
|
+
this.visit(field => {
|
|
60
|
+
if (field.fieldType === 'captcha') {
|
|
61
|
+
addCaptchaField(field.qualifiedName, field.value);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
submitMetaInstance = new SubmitMetaData_1.default(this.form.lang, captchaInfoObj);
|
|
65
|
+
return submitMetaInstance;
|
|
66
|
+
}
|
|
49
67
|
setFocus(field) {
|
|
50
68
|
const parent = field.parent;
|
|
51
69
|
const currentField = field;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SubmitMetaDataModel } from './types/index';
|
|
2
|
+
declare class SubmitMetaData implements SubmitMetaDataModel {
|
|
3
|
+
lang: string;
|
|
4
|
+
captchaInfo: Record<string, any>;
|
|
5
|
+
constructor(lang: string | undefined, captchaInfo: Record<string, any>);
|
|
6
|
+
}
|
|
7
|
+
export default SubmitMetaData;
|
package/lib/index.d.ts
CHANGED
|
@@ -14,8 +14,9 @@ import { Fieldset } from './Fieldset';
|
|
|
14
14
|
import { FileObject } from './FileObject';
|
|
15
15
|
import FileUpload from './FileUpload';
|
|
16
16
|
import FormMetaData from './FormMetaData';
|
|
17
|
+
import SubmitMetaData from './SubmitMetaData';
|
|
17
18
|
import Node from './Node';
|
|
18
19
|
import Scriptable from './Scriptable';
|
|
19
20
|
import Form from './Form';
|
|
20
21
|
import { FunctionRuntime, request } from './rules/FunctionRuntime';
|
|
21
|
-
export { Form, BaseNode, Checkbox, CheckboxGroup, Container, Field, Fieldset, FileObject, FileUpload, FormMetaData, Node, Scriptable, getFileSizeInBytes, extractFileInfo, FunctionRuntime, request, isEmpty };
|
|
22
|
+
export { Form, BaseNode, Checkbox, CheckboxGroup, Container, Field, Fieldset, FileObject, FileUpload, FormMetaData, Node, Scriptable, getFileSizeInBytes, extractFileInfo, FunctionRuntime, request, isEmpty, SubmitMetaData };
|
package/lib/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.isEmpty = exports.request = exports.FunctionRuntime = exports.extractFileInfo = exports.getFileSizeInBytes = exports.Scriptable = exports.Node = exports.FormMetaData = exports.FileUpload = exports.FileObject = exports.Fieldset = exports.Field = exports.Container = exports.CheckboxGroup = exports.Checkbox = exports.BaseNode = exports.Form = void 0;
|
|
20
|
+
exports.SubmitMetaData = exports.isEmpty = exports.request = exports.FunctionRuntime = exports.extractFileInfo = exports.getFileSizeInBytes = exports.Scriptable = exports.Node = exports.FormMetaData = exports.FileUpload = exports.FileObject = exports.Fieldset = exports.Field = exports.Container = exports.CheckboxGroup = exports.Checkbox = exports.BaseNode = exports.Form = void 0;
|
|
21
21
|
__exportStar(require("./FormInstance"), exports);
|
|
22
22
|
__exportStar(require("./types/index"), exports);
|
|
23
23
|
__exportStar(require("./controller/Events"), exports);
|
|
@@ -46,6 +46,8 @@ const FileUpload_1 = __importDefault(require("./FileUpload"));
|
|
|
46
46
|
exports.FileUpload = FileUpload_1.default;
|
|
47
47
|
const FormMetaData_1 = __importDefault(require("./FormMetaData"));
|
|
48
48
|
exports.FormMetaData = FormMetaData_1.default;
|
|
49
|
+
const SubmitMetaData_1 = __importDefault(require("./SubmitMetaData"));
|
|
50
|
+
exports.SubmitMetaData = SubmitMetaData_1.default;
|
|
49
51
|
const Node_1 = __importDefault(require("./Node"));
|
|
50
52
|
exports.Node = Node_1.default;
|
|
51
53
|
const Scriptable_1 = __importDefault(require("./Scriptable"));
|
|
@@ -130,7 +130,7 @@ const submit = (context, success, error, submitAs = 'multipart/form-data', input
|
|
|
130
130
|
}
|
|
131
131
|
const attachments = (0, FormUtils_1.getAttachments)(context.form, true);
|
|
132
132
|
let submitContentType = submitAs;
|
|
133
|
-
const submitDataAndMetaData = { 'data': data, 'submitMetadata':
|
|
133
|
+
const submitDataAndMetaData = { 'data': data, 'submitMetadata': context.form.exportSubmitMetaData() };
|
|
134
134
|
let formData = submitDataAndMetaData;
|
|
135
135
|
if (Object.keys(attachments).length > 0 || submitAs === 'multipart/form-data') {
|
|
136
136
|
formData = multipartFormData(submitDataAndMetaData, attachments);
|
package/lib/types/Model.d.ts
CHANGED
|
@@ -83,6 +83,10 @@ export interface FormMetaDataModel {
|
|
|
83
83
|
readonly version: string;
|
|
84
84
|
readonly grammar: string;
|
|
85
85
|
}
|
|
86
|
+
export interface SubmitMetaDataModel {
|
|
87
|
+
lang: string;
|
|
88
|
+
captchaInfo: Record<string, any>;
|
|
89
|
+
}
|
|
86
90
|
export interface ContainerModel extends BaseModel, ScriptableField {
|
|
87
91
|
items: Array<FieldsetModel | FieldModel>;
|
|
88
92
|
parent: ContainerModel;
|
|
@@ -13,6 +13,7 @@ const CheckboxGroup_1 = __importDefault(require("../CheckboxGroup"));
|
|
|
13
13
|
const DateField_1 = __importDefault(require("../DateField"));
|
|
14
14
|
const Field_1 = __importDefault(require("../Field"));
|
|
15
15
|
const EmailInput_1 = __importDefault(require("../EmailInput"));
|
|
16
|
+
const Captcha_1 = __importDefault(require("../Captcha"));
|
|
16
17
|
const alternateFieldTypeMapping = {
|
|
17
18
|
'text': 'text-input',
|
|
18
19
|
'number': 'number-input',
|
|
@@ -61,6 +62,9 @@ class FormFieldFactoryImpl {
|
|
|
61
62
|
else if ((0, JsonUtils_1.isDateField)(child)) {
|
|
62
63
|
retVal = new DateField_1.default(child, options);
|
|
63
64
|
}
|
|
65
|
+
else if ((0, JsonUtils_1.isCaptcha)(child)) {
|
|
66
|
+
retVal = new Captcha_1.default(child, options);
|
|
67
|
+
}
|
|
64
68
|
else {
|
|
65
69
|
retVal = new Field_1.default(child, options);
|
|
66
70
|
}
|
package/lib/utils/JsonUtils.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const isCheckbox: (item: FieldsetJson | FieldJson) => boolean;
|
|
|
6
6
|
export declare const isCheckboxGroup: (item: FieldsetJson | FieldJson) => boolean;
|
|
7
7
|
export declare const isEmailInput: (item: FieldsetJson | FieldJson) => boolean;
|
|
8
8
|
export declare const isDateField: (item: FieldsetJson | FieldJson) => boolean;
|
|
9
|
+
export declare const isCaptcha: (item: FieldsetJson | FieldJson) => boolean;
|
|
9
10
|
export declare function deepClone(obj: any, idGenerator?: () => string): any;
|
|
10
11
|
export declare function checkIfKeyAdded(currentObj: any, prevObj: any, objKey: string): boolean;
|
|
11
12
|
export declare const jsonString: (obj: any) => string;
|
package/lib/utils/JsonUtils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isRepeatable = exports.jsonString = exports.checkIfKeyAdded = exports.deepClone = exports.isDateField = exports.isEmailInput = exports.isCheckboxGroup = exports.isCheckbox = exports.checkIfConstraintsArePresent = exports.isFile = exports.getProperty = void 0;
|
|
3
|
+
exports.isRepeatable = exports.jsonString = exports.checkIfKeyAdded = exports.deepClone = exports.isCaptcha = exports.isDateField = exports.isEmailInput = exports.isCheckboxGroup = exports.isCheckbox = exports.checkIfConstraintsArePresent = exports.isFile = exports.getProperty = void 0;
|
|
4
4
|
const index_1 = require("../types/index");
|
|
5
5
|
const SchemaUtils_1 = require("./SchemaUtils");
|
|
6
6
|
const getProperty = (data, key, def) => {
|
|
@@ -46,6 +46,11 @@ const isDateField = function (item) {
|
|
|
46
46
|
return (fieldType === 'text-input' && (item === null || item === void 0 ? void 0 : item.format) === 'date') || fieldType === 'date-input';
|
|
47
47
|
};
|
|
48
48
|
exports.isDateField = isDateField;
|
|
49
|
+
const isCaptcha = function (item) {
|
|
50
|
+
const fieldType = (item === null || item === void 0 ? void 0 : item.fieldType) || (0, SchemaUtils_1.defaultFieldTypes)(item);
|
|
51
|
+
return fieldType === 'captcha';
|
|
52
|
+
};
|
|
53
|
+
exports.isCaptcha = isCaptcha;
|
|
49
54
|
function deepClone(obj, idGenerator) {
|
|
50
55
|
let result;
|
|
51
56
|
if (obj instanceof Array) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aemforms/af-core",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.53",
|
|
4
4
|
"description": "Core Module for Forms Runtime",
|
|
5
5
|
"author": "Adobe Systems",
|
|
6
6
|
"license": "Adobe Proprietary",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@adobe/json-formula": "0.1.50",
|
|
38
|
-
"@aemforms/af-formatters": "^0.22.
|
|
38
|
+
"@aemforms/af-formatters": "^0.22.53"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@babel/preset-env": "^7.20.2",
|