UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

102 lines (86 loc) 2.7 kB
"use strict"; var $ = require("../core/renderer"), registerComponent = require("../core/component_registrator"), DOMComponent = require("../core/dom_component"), ValidationSummary = require("./validation_summary"), ValidationEngine = require("./validation_engine"), Validator = require("./validator"); var VALIDATION_ENGINE_CLASS = "dx-validationgroup"; /** * @name dxValidationGroup * @publicName dxValidationGroup * @inherits DOMComponent * @module ui/validation_group * @export default */ var ValidationGroup = DOMComponent.inherit({ _getDefaultOptions: function _getDefaultOptions() { return this.callBase(); /** * @name dxValidationGroupOptions.rtlEnabled * @publicName rtlEnabled * @hidden * @inheritdoc */ /** * @name dxValidationGroupMethods.beginUpdate * @publicName beginUpdate() * @hidden * @inheritdoc */ /** * @name dxValidationGroupMethods.defaultOptions * @publicName defaultOptions(rule) * @hidden * @inheritdoc */ /** * @name dxValidationGroupMethods.endUpdate * @publicName endUpdate() * @hidden * @inheritdoc */ }, _init: function _init() { this.callBase(); }, _initMarkup: function _initMarkup() { var $element = this.$element(); $element.addClass(VALIDATION_ENGINE_CLASS); $element.find(".dx-validator").each(function (_, validatorContainer) { Validator.getInstance($(validatorContainer))._initGroupRegistration(); }); $element.find(".dx-validationsummary").each(function (_, summaryContainer) { ValidationSummary.getInstance($(summaryContainer))._initGroupRegistration(); }); this.callBase(); }, /** * @name dxValidationGroupMethods.validate * @publicName validate() * @return dxValidationGroupResult */ validate: function validate() { return ValidationEngine.validateGroup(this); }, /** * @name dxValidationGroupMethods.reset * @publicName reset() */ reset: function reset() { return ValidationEngine.resetGroup(this); }, _optionChanged: function _optionChanged(args) { switch (args.name) { default: this.callBase(args); } }, _dispose: function _dispose() { ValidationEngine.removeGroup(this); this.$element().removeClass(VALIDATION_ENGINE_CLASS); this.callBase(); } }); registerComponent("dxValidationGroup", ValidationGroup); module.exports = ValidationGroup;