devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
65 lines (52 loc) • 1.72 kB
JavaScript
"use strict";
require("../../integration/jquery");
var $ = require("jquery"),
Class = require("../../core/class"),
extend = require("../../core/utils/extend").extend,
noop = require("../../core/utils/common").noop,
publicComponentUtils = require("../../core/utils/public_component");
var MarkupComponent = Class.inherit({
ctor: function ctor(element, options) {
this.NAME = publicComponentUtils.name(this.constructor);
options = options || {};
this._$element = $(element);
publicComponentUtils.attachInstanceToElement(this._$element, this, this._dispose);
if (options.fromCache) {
this._options = options;
} else {
this._options = {};
this._setDefaultOptions();
if (options) {
this.option(options);
}
this._render();
}
},
_setDefaultOptions: noop,
_render: noop,
_dispose: noop,
element: function element() {
return this._$element;
},
option: function option(name, value) {
if (arguments.length === 0) {
return this._options;
} else if (arguments.length === 1) {
if (typeof name === "string") {
return this._options[name];
} else {
value = name;
extend(this._options, value);
}
} else {
this._options[name] = value;
}
},
instance: function instance() {
return this;
}
});
MarkupComponent.getInstance = function ($element) {
return publicComponentUtils.getInstanceByElement($($element), this);
};
exports.MarkupComponent = MarkupComponent;