devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
256 lines (240 loc) • 9.37 kB
JavaScript
/**
* DevExtreme (ui/form/ui.form.item_options_actions.js)
* Version: 19.2.6
* Build date: Thu Jan 30 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _uiForm = require("./ui.form.item_option_action");
var _uiForm2 = _interopRequireDefault(_uiForm);
var _element_data = require("../../core/element_data");
var _extend = require("../../core/utils/extend");
var _uiForm3 = require("./ui.form.utils");
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
}
}
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _typeof(obj)
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function")
}
}
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) {
descriptor.writable = true
}
Object.defineProperty(target, descriptor.key, descriptor)
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) {
_defineProperties(Constructor.prototype, protoProps)
}
if (staticProps) {
_defineProperties(Constructor, staticProps)
}
return Constructor
}
function _possibleConstructorReturn(self, call) {
if (call && ("object" === _typeof(call) || "function" === typeof call)) {
return call
}
return _assertThisInitialized(self)
}
function _assertThisInitialized(self) {
if (void 0 === self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
}
return self
}
function _getPrototypeOf(o) {
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(o) {
return o.__proto__ || Object.getPrototypeOf(o)
};
return _getPrototypeOf(o)
}
function _inherits(subClass, superClass) {
if ("function" !== typeof superClass && null !== superClass) {
throw new TypeError("Super expression must either be null or a function")
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
if (superClass) {
_setPrototypeOf(subClass, superClass)
}
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function(o, p) {
o.__proto__ = p;
return o
};
return _setPrototypeOf(o, p)
}
var WidgetOptionItemOptionAction = function(_ItemOptionAction) {
_inherits(WidgetOptionItemOptionAction, _ItemOptionAction);
function WidgetOptionItemOptionAction() {
_classCallCheck(this, WidgetOptionItemOptionAction);
return _possibleConstructorReturn(this, _getPrototypeOf(WidgetOptionItemOptionAction).apply(this, arguments))
}
_createClass(WidgetOptionItemOptionAction, [{
key: "tryExecute",
value: function() {
var value = this._options.value;
var instance = this.findInstance();
if (instance) {
instance.option(value);
return true
}
return false
}
}]);
return WidgetOptionItemOptionAction
}(_uiForm2.default);
var TabOptionItemOptionAction = function(_ItemOptionAction2) {
_inherits(TabOptionItemOptionAction, _ItemOptionAction2);
function TabOptionItemOptionAction() {
_classCallCheck(this, TabOptionItemOptionAction);
return _possibleConstructorReturn(this, _getPrototypeOf(TabOptionItemOptionAction).apply(this, arguments))
}
_createClass(TabOptionItemOptionAction, [{
key: "tryExecute",
value: function() {
var tabPanel = this.findInstance();
if (tabPanel) {
var _this$_options = this._options,
optionName = _this$_options.optionName,
item = _this$_options.item,
value = _this$_options.value;
var itemIndex = this._itemsRunTimeInfo.findItemIndexByItem(item);
if (itemIndex >= 0) {
tabPanel.option((0, _uiForm3.getFullOptionName)("items[".concat(itemIndex, "]"), optionName), value);
return true
}
}
return false
}
}]);
return TabOptionItemOptionAction
}(_uiForm2.default);
var TabsOptionItemOptionAction = function(_ItemOptionAction3) {
_inherits(TabsOptionItemOptionAction, _ItemOptionAction3);
function TabsOptionItemOptionAction() {
_classCallCheck(this, TabsOptionItemOptionAction);
return _possibleConstructorReturn(this, _getPrototypeOf(TabsOptionItemOptionAction).apply(this, arguments))
}
_createClass(TabsOptionItemOptionAction, [{
key: "tryExecute",
value: function() {
var tabPanel = this.findInstance();
if (tabPanel) {
var value = this._options.value;
tabPanel.option("dataSource", value);
return true
}
return false
}
}]);
return TabsOptionItemOptionAction
}(_uiForm2.default);
var ValidationRulesItemOptionAction = function(_ItemOptionAction4) {
_inherits(ValidationRulesItemOptionAction, _ItemOptionAction4);
function ValidationRulesItemOptionAction() {
_classCallCheck(this, ValidationRulesItemOptionAction);
return _possibleConstructorReturn(this, _getPrototypeOf(ValidationRulesItemOptionAction).apply(this, arguments))
}
_createClass(ValidationRulesItemOptionAction, [{
key: "tryExecute",
value: function() {
var item = this._options.item;
var instance = this.findInstance();
var validator = instance && (0, _element_data.data)(instance.$element()[0], "dxValidator");
if (validator && item) {
var filterRequired = function(item) {
return "required" === item.type
};
var oldContainsRequired = (validator.option("validationRules") || []).some(filterRequired);
var newContainsRequired = (item.validationRules || []).some(filterRequired);
if (!oldContainsRequired && !newContainsRequired || oldContainsRequired && newContainsRequired) {
validator.option("validationRules", item.validationRules);
return true
}
}
return false
}
}]);
return ValidationRulesItemOptionAction
}(_uiForm2.default);
var CssClassItemOptionAction = function(_ItemOptionAction5) {
_inherits(CssClassItemOptionAction, _ItemOptionAction5);
function CssClassItemOptionAction() {
_classCallCheck(this, CssClassItemOptionAction);
return _possibleConstructorReturn(this, _getPrototypeOf(CssClassItemOptionAction).apply(this, arguments))
}
_createClass(CssClassItemOptionAction, [{
key: "tryExecute",
value: function() {
var $itemContainer = this.findItemContainer();
var _this$_options2 = this._options,
previousValue = _this$_options2.previousValue,
value = _this$_options2.value;
if ($itemContainer) {
$itemContainer.removeClass(previousValue).addClass(value);
return true
}
return false
}
}]);
return CssClassItemOptionAction
}(_uiForm2.default);
var tryCreateItemOptionAction = function(optionName, itemActionOptions) {
switch (optionName) {
case "editorOptions":
case "buttonOptions":
return new WidgetOptionItemOptionAction(itemActionOptions);
case "validationRules":
return new ValidationRulesItemOptionAction(itemActionOptions);
case "cssClass":
return new CssClassItemOptionAction(itemActionOptions);
case "badge":
case "disabled":
case "icon":
case "template":
case "tabTemplate":
case "title":
return new TabOptionItemOptionAction((0, _extend.extend)(itemActionOptions, {
optionName: optionName
}));
case "tabs":
return new TabsOptionItemOptionAction(itemActionOptions);
default:
return null
}
};
exports.default = tryCreateItemOptionAction;