gd-bs 5.4.6 → 5.4.9
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/build/components/form/control.js +6 -0
- package/build/components/form/index.js +0 -10
- package/build/components/listGroup/index.js +1 -1
- package/build/icons/svgs/bank.js +1 -1
- package/build/icons/svgs/houseHeart.js +1 -1
- package/build/icons/svgs/houseHeartFill.js +1 -1
- package/build/icons/svgs/pentagon.js +1 -1
- package/build/icons/svgs/pentagonFill.js +1 -1
- package/build/icons/svgs/pentagonHalf.js +1 -1
- package/build/icons/svgs/tools.js +1 -1
- package/build/icons/svgs/xLg.js +1 -1
- package/dist/gd-bs-icons.js +11 -11
- package/dist/gd-bs-icons.min.js +1 -1
- package/dist/gd-bs.d.ts +3 -2
- package/dist/gd-bs.js +3 -3
- package/dist/gd-bs.min.js +1 -1
- package/index.html +2 -4
- package/package.json +2 -2
- package/pnpm-lock.yaml +4 -6
- package/src/components/form/control.ts +3 -0
- package/src/components/form/controlTypes.d.ts +1 -0
- package/src/components/form/formTypes.d.ts +2 -2
- package/src/components/form/group.ts +1 -1
- package/src/components/form/index.ts +1 -17
- package/src/components/listGroup/index.ts +1 -1
- package/src/icons/svgs/bank.ts +1 -1
- package/src/icons/svgs/houseHeart.ts +1 -1
- package/src/icons/svgs/houseHeartFill.ts +1 -1
- package/src/icons/svgs/pentagon.ts +1 -1
- package/src/icons/svgs/pentagonFill.ts +1 -1
- package/src/icons/svgs/pentagonHalf.ts +1 -1
- package/src/icons/svgs/tools.ts +1 -1
- package/src/icons/svgs/xLg.ts +1 -1
package/dist/gd-bs.d.ts
CHANGED
|
@@ -1140,6 +1140,7 @@ declare module 'gd-bs/components/form/controlTypes' {
|
|
|
1140
1140
|
isLoaded: () => PromiseLike<void>;
|
|
1141
1141
|
isRendered: boolean;
|
|
1142
1142
|
isValid: boolean;
|
|
1143
|
+
label?: HTMLElement;
|
|
1143
1144
|
props: IFormControlProps;
|
|
1144
1145
|
textbox: IInputGroup;
|
|
1145
1146
|
setLabel: (value: string) => void;
|
|
@@ -1390,10 +1391,10 @@ declare module 'gd-bs/components/form/formTypes' {
|
|
|
1390
1391
|
*/
|
|
1391
1392
|
export interface IForm {
|
|
1392
1393
|
/** Appends controls to the form */
|
|
1393
|
-
appendControls: (controls: Array<IFormControlProps>) =>
|
|
1394
|
+
appendControls: (controls: Array<IFormControlProps>) => void;
|
|
1394
1395
|
|
|
1395
1396
|
/** Appends rows to the form */
|
|
1396
|
-
appendRows: (rows: Array<IFormRow>) =>
|
|
1397
|
+
appendRows: (rows: Array<IFormRow>) => void;
|
|
1397
1398
|
|
|
1398
1399
|
/** The form controls */
|
|
1399
1400
|
controls: Array<IFormControl>;
|
package/dist/gd-bs.js
CHANGED
|
@@ -1038,7 +1038,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
|
|
|
1038
1038
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1039
1039
|
|
|
1040
1040
|
"use strict";
|
|
1041
|
-
eval("\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FormControl = void 0;\n\nvar checkboxGroup_1 = __webpack_require__(/*! ../checkboxGroup */ \"./build/components/checkboxGroup/index.js\");\n\nvar custom_1 = __webpack_require__(/*! ./custom */ \"./build/components/form/custom.js\");\n\nvar dropdown_1 = __webpack_require__(/*! ../dropdown */ \"./build/components/dropdown/index.js\");\n\nvar inputGroup_1 = __webpack_require__(/*! ../inputGroup */ \"./build/components/inputGroup/index.js\");\n\nvar listBox_1 = __webpack_require__(/*! ../listBox */ \"./build/components/listBox/index.js\");\n\nvar _1 = __webpack_require__(/*! . */ \"./build/components/form/index.js\");\n/**\r\n * Form Control\r\n */\n\n\nvar FormControl =\n/** @class */\nfunction () {\n // Constructor\n function FormControl(props, formProps, elLabel) {\n var _this = this;\n\n this._cb = null;\n this._custom = null;\n this._el = null;\n this._elLabel = null;\n this._formProps = null;\n this._ddl = null;\n this._isRendered = false;\n this._lb = null;\n this._tb = null; // Save the parameters\n\n this._formProps = formProps;\n this._props = props;\n this._elLabel = elLabel; // See if there is a rendering event\n\n if (typeof this._props.onControlRendering === \"function\") {\n // Call the event and see if a promise is returned\n var returnVal = this._props.onControlRendering(Object.assign({}, this._props));\n\n if (returnVal && typeof returnVal[\"then\"] === \"function\") {\n // Wait for it to complete\n returnVal[\"then\"](function (newProps) {\n // Update the properties\n _this._props = newProps || _this._props; // Create the control\n\n _this.create();\n });\n } else {\n // Create the control\n this.create();\n }\n } else {\n // Create the control\n this.create();\n }\n } // Configure the control\n\n\n FormControl.prototype.configure = function () {\n // Ensure a control was created\n if (this.control) {\n // Set the element\n this._el = this.control.el; // See if an error message exists\n\n if (this._props.errorMessage) {\n // Get the group\n var elGroup = this._el.querySelector(\".input-group\") || this._el.querySelector(\".form-check:last-child\");\n\n if (elGroup) {\n // Add the error message\n var elErrorMessage = document.createElement(\"div\");\n elErrorMessage.className = \"invalid-feedback\";\n elErrorMessage.innerHTML = this._props.errorMessage;\n elGroup.appendChild(elErrorMessage);\n }\n } // See if an element was defined to render to\n\n\n if (this._props.el) {\n // Append the control to the element\n this._props.el.appendChild(this._el);\n } // See if the label is set\n\n\n if (this._elLabel && this._formProps.isFloating && this._el.id) {\n // Set the attributes\n this._elLabel.setAttribute(\"for\", this._el.id);\n }\n }\n }; // Creates the control\n\n\n FormControl.prototype.create = function () {\n var _this = this; // Parse the custom classes to add\n\n\n var className = [this._props.className || \"\", this._props.controlClassName || \"\"].join(\" \").trim(); // Render the control based on the type\n\n switch (this._props.type) {\n // Checkbox\n case _1.FormControlTypes.Checkbox:\n var cbProps = this._props; // Add the checkbox group\n\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isInline: cbProps.isInline,\n isReadonly: this._props.isReadonly,\n items: cbProps.items,\n onChange: cbProps.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Color Picker\n\n case _1.FormControlTypes.ColorPicker:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.ColorPicker,\n value: this._props.value\n });\n break;\n // Datalist\n\n case _1.FormControlTypes.Datalist:\n // Add the dropdown\n this._ddl = dropdown_1.Dropdown({\n className: className,\n formFl: true,\n id: this._props.id,\n isDatalist: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Dropdown\n\n case _1.FormControlTypes.Dropdown:\n // Add the dropdown\n this._ddl = dropdown_1.Dropdown({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Email\n\n case _1.FormControlTypes.Email:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Email,\n value: this._props.value\n });\n break;\n // File\n\n case _1.FormControlTypes.File:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.File,\n value: this._props.value\n });\n break;\n // List Box\n\n case _1.FormControlTypes.ListBox:\n // Add the list box\n this._lb = listBox_1.ListBox({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Checkbox\n\n case _1.FormControlTypes.MultiCheckbox:\n var cbMultiProps = this._props; // Add the checkbox group\n\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isInline: cbMultiProps.isInline,\n isReadonly: this._props.isReadonly,\n items: cbMultiProps.items,\n multi: true,\n onChange: cbMultiProps.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Multi-Dropdown\n\n case _1.FormControlTypes.MultiDropdown:\n // Add the dropdown\n this._ddl = dropdown_1.Dropdown({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Multi-List Box\n\n case _1.FormControlTypes.MultiListBox:\n // Add the list box\n this._lb = listBox_1.ListBox({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Radio\n\n case _1.FormControlTypes.MultiRadio:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Multi-Switch\n\n case _1.FormControlTypes.MultiSwitch:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Password\n\n case _1.FormControlTypes.Password:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Password,\n value: this._props.value\n });\n break;\n // Radio\n\n case _1.FormControlTypes.Radio:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Range\n\n case _1.FormControlTypes.Range:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n min: this._props.min || 0,\n max: this._props.max || 100,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n step: this._props.step,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Range,\n value: this._props.value\n });\n break;\n // Read Only\n\n case _1.FormControlTypes.Readonly:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Switch\n\n case _1.FormControlTypes.Switch:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Text Area\n\n case _1.FormControlTypes.TextArea:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n rows: this._props.rows,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextArea,\n value: this._props.value\n });\n break;\n // Text Field\n\n case _1.FormControlTypes.TextField:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Custom Type\n\n default:\n // Create the default element\n this._el = document.createElement(\"div\");\n this._el.className = className; // See if there is a custom type\n\n var custom = custom_1.CustomControls.getByType(this._props.type);\n\n if (custom && typeof custom === \"function\") {\n // Execute the event\n this._custom = custom(this._props);\n }\n\n break;\n } // See if a checkbox was rendered and an id was set\n\n\n if (this.control && this._props.id) {\n // Set the id\n this.control.el.id = this._props.id;\n } // Configure the control\n\n\n this.configure(); // Wait before executing the rendered event, otherwise the controls will be null\n\n setTimeout(function () {\n // Execute the events\n _this._props.onControlRendered ? _this._props.onControlRendered(_this) : null;\n _this._formProps.onControlRendered ? _this._formProps.onControlRendered(_this) : null; // Set the flag\n\n _this._isRendered = true;\n }, 10);\n };\n\n Object.defineProperty(FormControl.prototype, \"el\", {\n /**\r\n * Public Interface\r\n */\n get: function get() {\n return this._el;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"checkbox\", {\n // The checkbox control\n get: function get() {\n return this._cb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"dropdown\", {\n // The dropdown control\n get: function get() {\n return this._ddl;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"control\", {\n // The textbox control\n get: function get() {\n return this._cb || this._ddl || this._lb || this._tb || this._custom;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"listbox\", {\n // The listbox control\n get: function get() {\n return this._lb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"textbox\", {\n // The textbox control\n get: function get() {\n return this._tb;\n },\n enumerable: false,\n configurable: true\n }); // Method to get the form control value\n\n FormControl.prototype.getValue = function () {\n // See if there is an override event\n if (this._props.onGetValue) {\n return this._props.onGetValue(this._props);\n } // See if this is a checkbox\n\n\n if (this._cb) {\n // See if the items were defined\n if (this._props.items) {\n // Return the value(s)\n return this._cb.getValue();\n } // Return the value\n\n\n return this._cb.getValue() ? true : false;\n } // See if this is a dropdown\n\n\n if (this._ddl) {\n // Return the value\n return this._ddl.getValue();\n } // See if this is a list box\n\n\n if (this._lb) {\n // Return the value\n return this._lb.getValue();\n } // See if this is a textbox\n\n\n if (this._tb) {\n // Return the value\n return this._tb.getValue();\n }\n }; // Is loaded\n\n\n FormControl.prototype.isLoaded = function () {\n var _this = this; // Return a promise\n\n\n return new Promise(function (resolve) {\n // Wait for the control to be created\n var id = setInterval(function () {\n // See if the control has been rendered\n if (_this.isRendered) {\n // Stop the loop\n clearInterval(id); // Resolve the promise\n\n resolve();\n }\n }, 10);\n });\n };\n\n Object.defineProperty(FormControl.prototype, \"isRendered\", {\n // Flag indicating the control is loaded\n get: function get() {\n return this._isRendered;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"isValid\", {\n // Validates the control\n get: function get() {\n var validation = {\n isValid: true\n }; // Get the element and value\n\n var elControl = this._cb || this._ddl || this._lb || this._tb ? (this._cb || this._ddl || this._lb || this._tb).el : this._el;\n var value = this.getValue(); // See if this control is required\n\n if (this._props.required) {\n // See if a value doesn't exists\n if (value == null) {\n // Set the flag\n validation.isValid = false;\n } // Else, see if the value is an array\n else if (typeof value.length === \"number\") {\n // Set the flag\n validation.isValid = value.length > 0;\n }\n } // See if an event exists\n\n\n if (this._props.onValidate) {\n // Call the event\n var returnValue = this._props.onValidate(this._props, {\n value: value\n });\n\n if (typeof returnValue === \"boolean\") {\n // Set the flag\n validation.isValid = returnValue;\n } // Else, ensure it exists\n else if (returnValue) {\n // Set the validation\n validation = __assign(__assign({}, validation), returnValue);\n }\n } // Update the validation\n\n\n this.updateValidation(elControl, validation); // Return the flag\n\n return validation.isValid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"props\", {\n // The form control properties\n get: function get() {\n return this._props;\n },\n enumerable: false,\n configurable: true\n }); // Sets the form control label\n\n FormControl.prototype.setLabel = function (value) {\n // Update the label\n this._elLabel ? this._elLabel.innerHTML = value || \"\" : null;\n }; // Sets the custom control\n\n\n FormControl.prototype.setControl = function (control) {\n // Set the custom control\n this._custom = control;\n }; // Sets the form control value\n\n\n FormControl.prototype.setValue = function (value) {\n // Set the value\n this.control ? this.control.setValue(value) : null;\n }; // Updates the control validation\n\n\n FormControl.prototype.updateValidation = function (elControl, validation) {\n // Get the form control\n var elFormControl = elControl.querySelector(\".form-control\") || elControl.querySelector(\".form-select\");\n\n if (elFormControl) {\n // Clear the invalid/valid classes\n elFormControl.classList.remove(\"is-invalid\");\n elFormControl.classList.remove(\"is-valid\"); // Set the class\n\n elFormControl.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n } else {\n var validateControls = function validateControls(controls) {\n // Parse the controls\n for (var i = 0; i < controls.length; i++) {\n var control = controls[i]; // Clear the invalid/valid classes\n\n control.classList.remove(\"is-invalid\");\n control.classList.remove(\"is-valid\"); // Set the class\n\n control.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n }\n }; // Get the checkboxes\n\n\n var elCheckboxes = elControl.querySelectorAll(\".form-check-input\");\n\n if (elCheckboxes.length > 0) {\n // Validate the controls\n validateControls(elCheckboxes); // Set the form control\n\n elFormControl = elCheckboxes.length > 0 ? elCheckboxes[elCheckboxes.length - 1] : elFormControl;\n } // Get the custom controls\n\n\n var elCustomControls = elControl.querySelectorAll(\".custom-control-input\");\n\n if (elCustomControls.length > 0) {\n // Validate the controls\n validateControls(elCustomControls); // Set the form control\n\n elFormControl = elCustomControls.length > 0 ? elCustomControls[elCustomControls.length - 1] : elFormControl;\n }\n } // Ensure the form control exists\n\n\n if (elFormControl) {\n var useTooltip = this._formProps.validationType == _1.FormValidationTypes.Tooltip; // Clear the old valid message if it exists\n\n var validClassName = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n var elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // Clear the old valid message if it exists\n\n\n var invalidClassName = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // See if there is invalid feedback\n\n\n if (validation.invalidMessage || this._props.errorMessage) {\n // Get the element\n var invalidClassName_1 = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = invalidClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.invalidMessage || this._props.errorMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"\" : \"block\";\n } // See if there is valid feedback\n\n\n if (validation.validMessage) {\n // Get the element\n var validClassName_1 = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = validClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.validMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"block\" : \"\";\n }\n }\n };\n\n return FormControl;\n}();\n\nexports.FormControl = FormControl;\n\n//# sourceURL=webpack://gd-bs/./build/components/form/control.js?");
|
|
1041
|
+
eval("\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FormControl = void 0;\n\nvar checkboxGroup_1 = __webpack_require__(/*! ../checkboxGroup */ \"./build/components/checkboxGroup/index.js\");\n\nvar custom_1 = __webpack_require__(/*! ./custom */ \"./build/components/form/custom.js\");\n\nvar dropdown_1 = __webpack_require__(/*! ../dropdown */ \"./build/components/dropdown/index.js\");\n\nvar inputGroup_1 = __webpack_require__(/*! ../inputGroup */ \"./build/components/inputGroup/index.js\");\n\nvar listBox_1 = __webpack_require__(/*! ../listBox */ \"./build/components/listBox/index.js\");\n\nvar _1 = __webpack_require__(/*! . */ \"./build/components/form/index.js\");\n/**\r\n * Form Control\r\n */\n\n\nvar FormControl =\n/** @class */\nfunction () {\n // Constructor\n function FormControl(props, formProps, elLabel) {\n var _this = this;\n\n this._cb = null;\n this._custom = null;\n this._el = null;\n this._elLabel = null;\n this._formProps = null;\n this._ddl = null;\n this._isRendered = false;\n this._lb = null;\n this._tb = null; // Save the parameters\n\n this._formProps = formProps;\n this._props = props;\n this._elLabel = elLabel; // See if there is a rendering event\n\n if (typeof this._props.onControlRendering === \"function\") {\n // Call the event and see if a promise is returned\n var returnVal = this._props.onControlRendering(Object.assign({}, this._props));\n\n if (returnVal && typeof returnVal[\"then\"] === \"function\") {\n // Wait for it to complete\n returnVal[\"then\"](function (newProps) {\n // Update the properties\n _this._props = newProps || _this._props; // Create the control\n\n _this.create();\n });\n } else {\n // Create the control\n this.create();\n }\n } else {\n // Create the control\n this.create();\n }\n } // Configure the control\n\n\n FormControl.prototype.configure = function () {\n // Ensure a control was created\n if (this.control) {\n // Set the element\n this._el = this.control.el; // See if an error message exists\n\n if (this._props.errorMessage) {\n // Get the group\n var elGroup = this._el.querySelector(\".input-group\") || this._el.querySelector(\".form-check:last-child\");\n\n if (elGroup) {\n // Add the error message\n var elErrorMessage = document.createElement(\"div\");\n elErrorMessage.className = \"invalid-feedback\";\n elErrorMessage.innerHTML = this._props.errorMessage;\n elGroup.appendChild(elErrorMessage);\n }\n } // See if an element was defined to render to\n\n\n if (this._props.el) {\n // Append the control to the element\n this._props.el.appendChild(this._el);\n } // See if the label is set\n\n\n if (this._elLabel && this._formProps.isFloating && this._el.id) {\n // Set the attributes\n this._elLabel.setAttribute(\"for\", this._el.id);\n }\n }\n }; // Creates the control\n\n\n FormControl.prototype.create = function () {\n var _this = this; // Parse the custom classes to add\n\n\n var className = [this._props.className || \"\", this._props.controlClassName || \"\"].join(\" \").trim(); // Render the control based on the type\n\n switch (this._props.type) {\n // Checkbox\n case _1.FormControlTypes.Checkbox:\n var cbProps = this._props; // Add the checkbox group\n\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isInline: cbProps.isInline,\n isReadonly: this._props.isReadonly,\n items: cbProps.items,\n onChange: cbProps.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Color Picker\n\n case _1.FormControlTypes.ColorPicker:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.ColorPicker,\n value: this._props.value\n });\n break;\n // Datalist\n\n case _1.FormControlTypes.Datalist:\n // Add the dropdown\n this._ddl = dropdown_1.Dropdown({\n className: className,\n formFl: true,\n id: this._props.id,\n isDatalist: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Dropdown\n\n case _1.FormControlTypes.Dropdown:\n // Add the dropdown\n this._ddl = dropdown_1.Dropdown({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Email\n\n case _1.FormControlTypes.Email:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Email,\n value: this._props.value\n });\n break;\n // File\n\n case _1.FormControlTypes.File:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.File,\n value: this._props.value\n });\n break;\n // List Box\n\n case _1.FormControlTypes.ListBox:\n // Add the list box\n this._lb = listBox_1.ListBox({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Checkbox\n\n case _1.FormControlTypes.MultiCheckbox:\n var cbMultiProps = this._props; // Add the checkbox group\n\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isInline: cbMultiProps.isInline,\n isReadonly: this._props.isReadonly,\n items: cbMultiProps.items,\n multi: true,\n onChange: cbMultiProps.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Checkbox,\n value: this._props.value\n });\n break;\n // Multi-Dropdown\n\n case _1.FormControlTypes.MultiDropdown:\n // Add the dropdown\n this._ddl = dropdown_1.Dropdown({\n className: className,\n formFl: true,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n onMenuRendering: this._props.onMenuRendering,\n title: this._props.title,\n value: this._props.value\n });\n break;\n // Multi-List Box\n\n case _1.FormControlTypes.MultiListBox:\n // Add the list box\n this._lb = listBox_1.ListBox({\n id: this._props.name,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n value: this._props.value\n });\n break;\n // Multi-Radio\n\n case _1.FormControlTypes.MultiRadio:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Multi-Switch\n\n case _1.FormControlTypes.MultiSwitch:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n multi: true,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Password\n\n case _1.FormControlTypes.Password:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Password,\n value: this._props.value\n });\n break;\n // Radio\n\n case _1.FormControlTypes.Radio:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Radio,\n value: this._props.value\n });\n break;\n // Range\n\n case _1.FormControlTypes.Range:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n min: this._props.min || 0,\n max: this._props.max || 100,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n step: this._props.step,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.Range,\n value: this._props.value\n });\n break;\n // Read Only\n\n case _1.FormControlTypes.Readonly:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: true,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Switch\n\n case _1.FormControlTypes.Switch:\n // Add the checkbox group\n this._cb = checkboxGroup_1.CheckboxGroup({\n className: className,\n hideLabel: true,\n isReadonly: this._props.isReadonly,\n items: this._props.items,\n onChange: this._props.onChange,\n title: this._props.title,\n type: checkboxGroup_1.CheckboxGroupTypes.Switch,\n value: this._props.value\n });\n break;\n // Text Area\n\n case _1.FormControlTypes.TextArea:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n rows: this._props.rows,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextArea,\n value: this._props.value\n });\n break;\n // Text Field\n\n case _1.FormControlTypes.TextField:\n // Add the input\n this._tb = inputGroup_1.InputGroup({\n className: className,\n id: this._props.id,\n isReadonly: this._props.isReadonly,\n onChange: this._props.onChange,\n placeholder: this._props.placeholder,\n title: this._props.title,\n type: inputGroup_1.InputGroupTypes.TextField,\n value: this._props.value\n });\n break;\n // Custom Type\n\n default:\n // Create the default element\n this._el = document.createElement(\"div\");\n this._el.className = className; // See if there is a custom type\n\n var custom = custom_1.CustomControls.getByType(this._props.type);\n\n if (custom && typeof custom === \"function\") {\n // Execute the event\n this._custom = custom(this._props);\n }\n\n break;\n } // See if a checkbox was rendered and an id was set\n\n\n if (this.control && this._props.id) {\n // Set the id\n this.control.el.id = this._props.id;\n } // Configure the control\n\n\n this.configure(); // Wait before executing the rendered event, otherwise the controls will be null\n\n setTimeout(function () {\n // Execute the events\n _this._props.onControlRendered ? _this._props.onControlRendered(_this) : null;\n _this._formProps.onControlRendered ? _this._formProps.onControlRendered(_this) : null; // Set the flag\n\n _this._isRendered = true;\n }, 10);\n };\n\n Object.defineProperty(FormControl.prototype, \"el\", {\n /**\r\n * Public Interface\r\n */\n get: function get() {\n return this._el;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"checkbox\", {\n // The checkbox control\n get: function get() {\n return this._cb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"dropdown\", {\n // The dropdown control\n get: function get() {\n return this._ddl;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"control\", {\n // The textbox control\n get: function get() {\n return this._cb || this._ddl || this._lb || this._tb || this._custom;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"label\", {\n // The control label\n get: function get() {\n return this._elLabel;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"listbox\", {\n // The listbox control\n get: function get() {\n return this._lb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"textbox\", {\n // The textbox control\n get: function get() {\n return this._tb;\n },\n enumerable: false,\n configurable: true\n }); // Method to get the form control value\n\n FormControl.prototype.getValue = function () {\n // See if there is an override event\n if (this._props.onGetValue) {\n return this._props.onGetValue(this._props);\n } // See if this is a checkbox\n\n\n if (this._cb) {\n // See if the items were defined\n if (this._props.items) {\n // Return the value(s)\n return this._cb.getValue();\n } // Return the value\n\n\n return this._cb.getValue() ? true : false;\n } // See if this is a dropdown\n\n\n if (this._ddl) {\n // Return the value\n return this._ddl.getValue();\n } // See if this is a list box\n\n\n if (this._lb) {\n // Return the value\n return this._lb.getValue();\n } // See if this is a textbox\n\n\n if (this._tb) {\n // Return the value\n return this._tb.getValue();\n }\n }; // Is loaded\n\n\n FormControl.prototype.isLoaded = function () {\n var _this = this; // Return a promise\n\n\n return new Promise(function (resolve) {\n // Wait for the control to be created\n var id = setInterval(function () {\n // See if the control has been rendered\n if (_this.isRendered) {\n // Stop the loop\n clearInterval(id); // Resolve the promise\n\n resolve();\n }\n }, 10);\n });\n };\n\n Object.defineProperty(FormControl.prototype, \"isRendered\", {\n // Flag indicating the control is loaded\n get: function get() {\n return this._isRendered;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"isValid\", {\n // Validates the control\n get: function get() {\n var validation = {\n isValid: true\n }; // Get the element and value\n\n var elControl = this._cb || this._ddl || this._lb || this._tb ? (this._cb || this._ddl || this._lb || this._tb).el : this._el;\n var value = this.getValue(); // See if this control is required\n\n if (this._props.required) {\n // See if a value doesn't exists\n if (value == null) {\n // Set the flag\n validation.isValid = false;\n } // Else, see if the value is an array\n else if (typeof value.length === \"number\") {\n // Set the flag\n validation.isValid = value.length > 0;\n }\n } // See if an event exists\n\n\n if (this._props.onValidate) {\n // Call the event\n var returnValue = this._props.onValidate(this._props, {\n value: value\n });\n\n if (typeof returnValue === \"boolean\") {\n // Set the flag\n validation.isValid = returnValue;\n } // Else, ensure it exists\n else if (returnValue) {\n // Set the validation\n validation = __assign(__assign({}, validation), returnValue);\n }\n } // Update the validation\n\n\n this.updateValidation(elControl, validation); // Return the flag\n\n return validation.isValid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FormControl.prototype, \"props\", {\n // The form control properties\n get: function get() {\n return this._props;\n },\n enumerable: false,\n configurable: true\n }); // Sets the form control label\n\n FormControl.prototype.setLabel = function (value) {\n // Update the label\n this._elLabel ? this._elLabel.innerHTML = value || \"\" : null;\n }; // Sets the custom control\n\n\n FormControl.prototype.setControl = function (control) {\n // Set the custom control\n this._custom = control;\n }; // Sets the form control value\n\n\n FormControl.prototype.setValue = function (value) {\n // Set the value\n this.control ? this.control.setValue(value) : null;\n }; // Updates the control validation\n\n\n FormControl.prototype.updateValidation = function (elControl, validation) {\n // Get the form control\n var elFormControl = elControl.querySelector(\".form-control\") || elControl.querySelector(\".form-select\");\n\n if (elFormControl) {\n // Clear the invalid/valid classes\n elFormControl.classList.remove(\"is-invalid\");\n elFormControl.classList.remove(\"is-valid\"); // Set the class\n\n elFormControl.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n } else {\n var validateControls = function validateControls(controls) {\n // Parse the controls\n for (var i = 0; i < controls.length; i++) {\n var control = controls[i]; // Clear the invalid/valid classes\n\n control.classList.remove(\"is-invalid\");\n control.classList.remove(\"is-valid\"); // Set the class\n\n control.classList.add(validation.isValid ? \"is-valid\" : \"is-invalid\");\n }\n }; // Get the checkboxes\n\n\n var elCheckboxes = elControl.querySelectorAll(\".form-check-input\");\n\n if (elCheckboxes.length > 0) {\n // Validate the controls\n validateControls(elCheckboxes); // Set the form control\n\n elFormControl = elCheckboxes.length > 0 ? elCheckboxes[elCheckboxes.length - 1] : elFormControl;\n } // Get the custom controls\n\n\n var elCustomControls = elControl.querySelectorAll(\".custom-control-input\");\n\n if (elCustomControls.length > 0) {\n // Validate the controls\n validateControls(elCustomControls); // Set the form control\n\n elFormControl = elCustomControls.length > 0 ? elCustomControls[elCustomControls.length - 1] : elFormControl;\n }\n } // Ensure the form control exists\n\n\n if (elFormControl) {\n var useTooltip = this._formProps.validationType == _1.FormValidationTypes.Tooltip; // Clear the old valid message if it exists\n\n var validClassName = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n var elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // Clear the old valid message if it exists\n\n\n var invalidClassName = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName);\n\n if (elMessage) {\n // Clear the message\n elMessage.innerHTML = \"\";\n elMessage.style.display = \"\";\n } // See if there is invalid feedback\n\n\n if (validation.invalidMessage || this._props.errorMessage) {\n // Get the element\n var invalidClassName_1 = useTooltip ? \"invalid-tooltip\" : \"invalid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + invalidClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = invalidClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.invalidMessage || this._props.errorMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"\" : \"block\";\n } // See if there is valid feedback\n\n\n if (validation.validMessage) {\n // Get the element\n var validClassName_1 = useTooltip ? \"valid-tooltip\" : \"valid-feedback\";\n elMessage = elFormControl.parentNode.querySelector(\".\" + validClassName_1);\n\n if (elMessage == null) {\n // Create the element\n elMessage = document.createElement(\"div\");\n elMessage.className = validClassName_1;\n elFormControl.parentNode.appendChild(elMessage);\n } // Set the message\n\n\n elMessage.innerHTML = validation.validMessage; // Update the display\n\n elMessage.style.display = validation.isValid ? \"block\" : \"\";\n }\n }\n };\n\n return FormControl;\n}();\n\nexports.FormControl = FormControl;\n\n//# sourceURL=webpack://gd-bs/./build/components/form/control.js?");
|
|
1042
1042
|
|
|
1043
1043
|
/***/ }),
|
|
1044
1044
|
|
|
@@ -1071,7 +1071,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
|
|
|
1071
1071
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1072
1072
|
|
|
1073
1073
|
"use strict";
|
|
1074
|
-
eval("\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FormControl = exports.Form = void 0;\n\nvar base_1 = __webpack_require__(/*! ../base */ \"./build/components/base.js\");\n\nvar control_1 = __webpack_require__(/*! ./control */ \"./build/components/form/control.js\");\n\nvar group_1 = __webpack_require__(/*! ./group */ \"./build/components/form/group.js\");\n\nvar row_1 = __webpack_require__(/*! ./row */ \"./build/components/form/row.js\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./build/components/form/templates.js\");\n\nvar types_1 = __webpack_require__(/*! ./types */ \"./build/components/form/types.js\");\n\n__exportStar(__webpack_require__(/*! ./custom */ \"./build/components/form/custom.js\"), exports);\n\n__exportStar(__webpack_require__(/*! ./types */ \"./build/components/form/types.js\"), exports);\n/**\r\n * Form\r\n * @property props - The form properties.\r\n */\n\n\nvar _Form =\n/** @class */\nfunction (_super) {\n __extends(_Form, _super); // Constructor\n\n\n function _Form(props) {\n var _this = _super.call(this, templates_1.HTML, props) || this;\n\n _this._groups = null;\n _this._rows = null; // Configure the form\n\n _this.configure(); // Configure the events\n\n\n _this.configureEvents(); // Configure the parent\n\n\n _this.configureParent();\n\n return _this;\n } // Configure the form\n\n\n _Form.prototype.configure = function () {\n // Clear the groups and rows\n this._groups = [];\n this._rows = []; // Add the class name\n\n var classNames = (this.props.className || \"\").split(\" \");\n\n for (var i = 0; i < classNames.length; i++) {\n var className = classNames[i]; // Append the class name\n\n className ? this.el.classList.add(className) : null;\n } // Set the floating class\n\n\n this.props.isFloating ? this.el.classList.add(\"form-floating\") : null; // Append the controls\n\n this.appendControls(this.props.controls); // Append the rows\n\n this.appendRows(this.props.rows);\n }; // Configure the events\n\n\n _Form.prototype.configureEvents = function () {\n var _this = this; // See if an onrendered event exists\n\n\n if (this.props.onRendered) {\n // Wait before executing the rendered event, otherwise the controls will be null\n var intervalId_1 = setInterval(function () {\n var isLoaded = true; // Parse the controls\n\n for (var i = 0; i < _this.controls.length; i++) {\n var control = _this.controls[i]; // Set the flag\n\n isLoaded = isLoaded && control && control.isRendered;\n } // See if the form is loaded\n\n\n if (isLoaded) {\n // Clear the interval\n clearInterval(intervalId_1); // Execute the event\n\n _this.props.onRendered(_this.controls);\n }\n }, 10);\n }\n };\n /**\r\n * Public Interface\r\n */\n // Append controls to the form\n\n\n _Form.prototype.appendControls = function (controls) {\n if (controls === void 0) {\n controls = [];\n }
|
|
1074
|
+
eval("\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function get() {\n return m[k];\n }\n });\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __exportStar = this && this.__exportStar || function (m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n }\n};\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FormControl = exports.Form = void 0;\n\nvar base_1 = __webpack_require__(/*! ../base */ \"./build/components/base.js\");\n\nvar control_1 = __webpack_require__(/*! ./control */ \"./build/components/form/control.js\");\n\nvar group_1 = __webpack_require__(/*! ./group */ \"./build/components/form/group.js\");\n\nvar row_1 = __webpack_require__(/*! ./row */ \"./build/components/form/row.js\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./build/components/form/templates.js\");\n\nvar types_1 = __webpack_require__(/*! ./types */ \"./build/components/form/types.js\");\n\n__exportStar(__webpack_require__(/*! ./custom */ \"./build/components/form/custom.js\"), exports);\n\n__exportStar(__webpack_require__(/*! ./types */ \"./build/components/form/types.js\"), exports);\n/**\r\n * Form\r\n * @property props - The form properties.\r\n */\n\n\nvar _Form =\n/** @class */\nfunction (_super) {\n __extends(_Form, _super); // Constructor\n\n\n function _Form(props) {\n var _this = _super.call(this, templates_1.HTML, props) || this;\n\n _this._groups = null;\n _this._rows = null; // Configure the form\n\n _this.configure(); // Configure the events\n\n\n _this.configureEvents(); // Configure the parent\n\n\n _this.configureParent();\n\n return _this;\n } // Configure the form\n\n\n _Form.prototype.configure = function () {\n // Clear the groups and rows\n this._groups = [];\n this._rows = []; // Add the class name\n\n var classNames = (this.props.className || \"\").split(\" \");\n\n for (var i = 0; i < classNames.length; i++) {\n var className = classNames[i]; // Append the class name\n\n className ? this.el.classList.add(className) : null;\n } // Set the floating class\n\n\n this.props.isFloating ? this.el.classList.add(\"form-floating\") : null; // Append the controls\n\n this.appendControls(this.props.controls); // Append the rows\n\n this.appendRows(this.props.rows);\n }; // Configure the events\n\n\n _Form.prototype.configureEvents = function () {\n var _this = this; // See if an onrendered event exists\n\n\n if (this.props.onRendered) {\n // Wait before executing the rendered event, otherwise the controls will be null\n var intervalId_1 = setInterval(function () {\n var isLoaded = true; // Parse the controls\n\n for (var i = 0; i < _this.controls.length; i++) {\n var control = _this.controls[i]; // Set the flag\n\n isLoaded = isLoaded && control && control.isRendered;\n } // See if the form is loaded\n\n\n if (isLoaded) {\n // Clear the interval\n clearInterval(intervalId_1); // Execute the event\n\n _this.props.onRendered(_this.controls);\n }\n }, 10);\n }\n };\n /**\r\n * Public Interface\r\n */\n // Append controls to the form\n\n\n _Form.prototype.appendControls = function (controls) {\n if (controls === void 0) {\n controls = [];\n } // Parse the controls\n\n\n for (var i = 0; i < controls.length; i++) {\n // Create the group\n var group = new group_1.FormGroup(controls[i], this.props);\n\n this._groups.push(group);\n\n this.el.appendChild(group.el);\n }\n }; // Append rows to the form\n\n\n _Form.prototype.appendRows = function (rows) {\n if (rows === void 0) {\n rows = [];\n } // Parse the rows\n\n\n for (var i = 0; i < rows.length; i++) {\n // Create the row\n var row = new row_1.FormRow(rows[i], this.props);\n\n this._rows.push(row);\n\n this.el.appendChild(row.el);\n }\n };\n\n Object.defineProperty(_Form.prototype, \"controls\", {\n // The forms controls\n get: function get() {\n var controls = []; // Parse the groups\n\n for (var i = 0; i < this._groups.length; i++) {\n // Add the control\n controls.push(this._groups[i].control);\n } // Parse the rows\n\n\n for (var i = 0; i < this._rows.length; i++) {\n // Add the controls\n controls = controls.concat(this._rows[i].controls);\n } // Return the controls\n\n\n return controls;\n },\n enumerable: false,\n configurable: true\n }); // Gets a form control by its name\n\n _Form.prototype.getControl = function (name) {\n // Parse the controls\n var controls = this.controls;\n\n for (var i = 0; i < controls.length; i++) {\n var control = controls[i]; // See if this is the control we are looking for\n\n if (control && control.props && control.props.name == name) {\n // Return the control\n return control;\n }\n } // Control not found\n\n\n return null;\n }; // Gets the form values\n\n\n _Form.prototype.getValues = function () {\n var values = {}; // Parse the controls\n\n var controls = this.controls;\n\n for (var i = 0; i < controls.length; i++) {\n var control = controls[i];\n\n if (control.props.name) {\n // Set the value\n values[control.props.name] = control.getValue();\n }\n } // Return the values\n\n\n return values;\n }; // Validates the form\n\n\n _Form.prototype.isValid = function () {\n var isValid = true; // Parse the controls\n\n var controls = this.controls;\n\n for (var i = 0; i < controls.length; i++) {\n // See if this control is valid\n if (controls[i].isValid == false) {\n // Set the flag\n isValid = false;\n }\n } // Update the classes\n\n\n this.el.classList.remove(\"needs-validation\");\n this.el.classList.add(\"was-validated\"); // Return the flag\n\n return isValid;\n };\n\n return _Form;\n}(base_1.Base);\n\nexports.Form = function (props) {\n return new _Form(props);\n};\n/**\r\n * Form Control\r\n */\n\n\nexports.FormControl = function (props) {\n // Create a base object\n var base = new base_1.Base(\"\", props); // Create the control\n\n var control = new control_1.FormControl(props, {\n validationType: types_1.FormValidationTypes.Default\n }); // Wait for the control to be loaded\n\n control.isLoaded().then(function () {\n // Set the element\n base.el = control.el; // Configure the parent\n\n base.configureParent();\n }); // Return the control\n\n return control;\n};\n\n//# sourceURL=webpack://gd-bs/./build/components/form/index.js?");
|
|
1075
1075
|
|
|
1076
1076
|
/***/ }),
|
|
1077
1077
|
|
|
@@ -1192,7 +1192,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
|
|
|
1192
1192
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1193
1193
|
|
|
1194
1194
|
"use strict";
|
|
1195
|
-
eval("\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ListGroup = exports.ListGroupClassNames = exports.ListGroupItemTypes = void 0;\n\nvar base_1 = __webpack_require__(/*! ../base */ \"./build/components/base.js\");\n\nvar classNames_1 = __webpack_require__(/*! ../classNames */ \"./build/components/classNames.js\");\n\nvar item_1 = __webpack_require__(/*! ./item */ \"./build/components/listGroup/item.js\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./build/components/listGroup/templates.js\");\n/**\r\n * List Group Item Types\r\n */\n\n\nvar ListGroupItemTypes;\n\n(function (ListGroupItemTypes) {\n ListGroupItemTypes[ListGroupItemTypes[\"Danger\"] = 1] = \"Danger\";\n ListGroupItemTypes[ListGroupItemTypes[\"Dark\"] = 2] = \"Dark\";\n ListGroupItemTypes[ListGroupItemTypes[\"Info\"] = 3] = \"Info\";\n ListGroupItemTypes[ListGroupItemTypes[\"Light\"] = 4] = \"Light\";\n ListGroupItemTypes[ListGroupItemTypes[\"Primary\"] = 5] = \"Primary\";\n ListGroupItemTypes[ListGroupItemTypes[\"Secondary\"] = 6] = \"Secondary\";\n ListGroupItemTypes[ListGroupItemTypes[\"Success\"] = 7] = \"Success\";\n ListGroupItemTypes[ListGroupItemTypes[\"Warning\"] = 8] = \"Warning\";\n})(ListGroupItemTypes = exports.ListGroupItemTypes || (exports.ListGroupItemTypes = {}));\n/**\r\n * List Group Classes\r\n */\n\n\nexports.ListGroupClassNames = new classNames_1.ClassNames([\"list-group-item-danger\", \"list-group-item-dark\", \"list-group-item-info\", \"list-group-item-light\", \"list-group-item-primary\", \"list-group-item-secondary\", \"list-group-item-success\", \"list-group-item-warning\"]);\n/**\r\n * List Group\r\n * @param props The list group properties.\r\n */\n\nvar _ListGroup =\n/** @class */\nfunction (_super) {\n __extends(_ListGroup, _super); // Constructor\n\n\n function _ListGroup(props, template, itemTemplate) {\n if (template === void 0) {\n template = props.isTabs && props.colWidth > 0 && props.colWidth
|
|
1195
|
+
eval("\n\nvar __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ListGroup = exports.ListGroupClassNames = exports.ListGroupItemTypes = void 0;\n\nvar base_1 = __webpack_require__(/*! ../base */ \"./build/components/base.js\");\n\nvar classNames_1 = __webpack_require__(/*! ../classNames */ \"./build/components/classNames.js\");\n\nvar item_1 = __webpack_require__(/*! ./item */ \"./build/components/listGroup/item.js\");\n\nvar templates_1 = __webpack_require__(/*! ./templates */ \"./build/components/listGroup/templates.js\");\n/**\r\n * List Group Item Types\r\n */\n\n\nvar ListGroupItemTypes;\n\n(function (ListGroupItemTypes) {\n ListGroupItemTypes[ListGroupItemTypes[\"Danger\"] = 1] = \"Danger\";\n ListGroupItemTypes[ListGroupItemTypes[\"Dark\"] = 2] = \"Dark\";\n ListGroupItemTypes[ListGroupItemTypes[\"Info\"] = 3] = \"Info\";\n ListGroupItemTypes[ListGroupItemTypes[\"Light\"] = 4] = \"Light\";\n ListGroupItemTypes[ListGroupItemTypes[\"Primary\"] = 5] = \"Primary\";\n ListGroupItemTypes[ListGroupItemTypes[\"Secondary\"] = 6] = \"Secondary\";\n ListGroupItemTypes[ListGroupItemTypes[\"Success\"] = 7] = \"Success\";\n ListGroupItemTypes[ListGroupItemTypes[\"Warning\"] = 8] = \"Warning\";\n})(ListGroupItemTypes = exports.ListGroupItemTypes || (exports.ListGroupItemTypes = {}));\n/**\r\n * List Group Classes\r\n */\n\n\nexports.ListGroupClassNames = new classNames_1.ClassNames([\"list-group-item-danger\", \"list-group-item-dark\", \"list-group-item-info\", \"list-group-item-light\", \"list-group-item-primary\", \"list-group-item-secondary\", \"list-group-item-success\", \"list-group-item-warning\"]);\n/**\r\n * List Group\r\n * @param props The list group properties.\r\n */\n\nvar _ListGroup =\n/** @class */\nfunction (_super) {\n __extends(_ListGroup, _super); // Constructor\n\n\n function _ListGroup(props, template, itemTemplate) {\n if (template === void 0) {\n template = props.isTabs && props.colWidth > 0 && props.colWidth <= 12 ? templates_1.HTMLTabs : templates_1.HTML;\n }\n\n var _this = _super.call(this, template, props) || this;\n\n _this._items = null; // Configure the collapse\n\n _this.configure(itemTemplate); // Configure the parent\n\n\n _this.configureParent();\n\n return _this;\n } // Configure the card group\n\n\n _ListGroup.prototype.configure = function (itemTemplate) {\n // Update the list group\n var listGroup = this.el.querySelector(\".list-group\") || this.el;\n\n if (listGroup) {\n this.props.isFlush ? listGroup.classList.add(\"list-group-flush\") : null;\n this.props.isHorizontal ? listGroup.classList.add(\"list-group-horizontal\") : null;\n this.props.isNumbered ? listGroup.classList.add(\"list-group-numbered\") : null;\n this.props.isTabs ? listGroup.setAttribute(\"role\", \"tablist\") : null;\n } // See if the column width is defined\n\n\n var column = this.el.querySelector(\".col\");\n\n if (column) {\n // Update the width\n column.className = \"col-\" + this.props.colWidth;\n } // Render the items\n\n\n this.renderItems(listGroup, itemTemplate);\n }; // Configures the item event\n\n\n _ListGroup.prototype.configureEvents = function (tab) {\n var _this = this; // Add a click event\n\n\n tab.el.addEventListener(\"click\", function () {\n // Parse the tabs\n for (var i = 0; i < _this._items.length; i++) {\n var item = _this._items[i]; // See if it's visible\n\n if (item.isVisible) {\n // Toggle it\n item.toggle(_this.props.fadeTabs);\n }\n } // Toggle the link\n\n\n tab.toggle(_this.props.fadeTabs);\n });\n }; // Render the items\n\n\n _ListGroup.prototype.renderItems = function (listGroup, itemTemplate) {\n // Clear the items\n this._items = []; // Get the tab content element\n\n var tabs = this.el.querySelector(\".tab-content\"); // Parse the items\n\n var items = this.props.items || [];\n\n for (var i = 0; i < items.length; i++) {\n // Create the item\n var item = new item_1.ListGroupItem(items[i], tabs ? true : false, itemTemplate);\n\n this._items.push(item);\n\n listGroup.appendChild(item.el); // See if we are rendering tabs\n\n if (tabs) {\n // Configure the events\n this.configureEvents(item); // Add the tab content\n\n tabs.appendChild(item.elTab); // See if the fade option is enabled\n\n if (this.props.fadeTabs) {\n // Set the class name\n item.elTab.classList.add(\"fade\"); // See if the tab is active\n\n if (item.props.isActive) {\n // Set the class name\n item.elTab.classList.add(\"show\");\n item.elTab.classList.add(\"active\");\n }\n }\n }\n }\n };\n /**\r\n * Public Interface\r\n */\n\n\n _ListGroup.prototype.showTab = function (tabId) {\n // Parse the tabs\n for (var i = 0; i < this._items.length; i++) {\n var item = this._items[i]; // See if this is the target tab\n\n if (tabId === i + 1 || item.elTab.id == tabId) {\n // Toggle it if it's not visible\n item.isVisible ? null : item.toggle(this.props.fadeTabs);\n } // Else, see if it's visible\n else if (item.isVisible) {\n // Toggle it\n item.toggle(this.props.fadeTabs);\n }\n }\n };\n\n return _ListGroup;\n}(base_1.Base);\n\nexports.ListGroup = function (props, template, itemTemplate) {\n return new _ListGroup(props, template, itemTemplate);\n};\n\n//# sourceURL=webpack://gd-bs/./build/components/listGroup/index.js?");
|
|
1196
1196
|
|
|
1197
1197
|
/***/ }),
|
|
1198
1198
|
|