@aemforms/af-core 0.22.52 → 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.
@@ -0,0 +1,5 @@
1
+ import Field from './Field';
2
+ declare class Captcha extends Field {
3
+ getDataNode(): undefined;
4
+ }
5
+ export default Captcha;
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;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class SubmitMetaData {
4
+ constructor(lang = '', captchaInfo) {
5
+ this.lang = lang;
6
+ this.captchaInfo = captchaInfo;
7
+ }
8
+ }
9
+ exports.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': { 'lang': context.form.lang } };
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);
@@ -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
  }
@@ -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;
@@ -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.52",
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.52"
38
+ "@aemforms/af-formatters": "^0.22.53"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@babel/preset-env": "^7.20.2",