Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { formValidationRules } from "../form-validation.rules";
- import { BBTextInput } from "../controls/text-input/text-input";
- import { BBNumberInput } from "../controls/number-input/number-input";
- import { BBFileInput } from "../controls/file-input/file-input";
- import { BBTextArea } from "../controls/text-area/text-area";
- import { BBDropdown } from "../controls/dropdown/dropdown";
- import { BBDropdownMultiselect } from "../controls/dropdownMultiselect/dropdown";
- import { BBDateInput } from "../controls/date-input/date-input";
- import { BBCheckbox } from "../controls/checkbox/checkbox";
- import { BBRadioButton } from "../controls/radio-button/radio-button";
- export class BBFormUtils {
- static createErrorMessage = (message, context) => {
- const matches = message.match(/\{(.*?)\}/g);
- let parsedMessage = message;
- if (matches) {
- matches.forEach((match, index) => {
- const matchValue = match.slice(1, -1).trim();
- parsedMessage = parsedMessage.replace(match, context[matchValue]);
- });
- }
- return parsedMessage;
- };
- static createValidator(rule, parameters, errorMessage) {
- const validator = formValidationRules[rule];
- if (!validator) {
- return null;
- }
- const validatorParameters = Array.isArray(parameters)
- ? parameters
- : [parameters];
- return validator(...validatorParameters, errorMessage);
- }
- static getFormComponent(controlType) {
- switch (controlType) {
- case "text":
- return BBTextInput;
- case "number":
- return BBNumberInput;
- case "textarea":
- return BBTextArea;
- case "radiobutton":
- return BBRadioButton;
- case "date":
- return BBDateInput;
- case "checkbox":
- return BBCheckbox;
- case "dropdown_multiselect":
- return BBDropdownMultiselect;
- case "file":
- return BBFileInput;
- case "dropdown":
- return BBDropdown;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement