mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
57 lines
1.4 KiB
JavaScript
57 lines
1.4 KiB
JavaScript
define([
|
|
'jquery',
|
|
'./utils'
|
|
], function ($, CompatUtils) {
|
|
// No-op CSS adapter that discards all classes by default
|
|
function _containerAdapter (clazz) {
|
|
return null;
|
|
}
|
|
|
|
function ContainerCSS () { }
|
|
|
|
ContainerCSS.prototype.render = function (decorated) {
|
|
var $container = decorated.call(this);
|
|
|
|
var containerCssClass = this.options.get('containerCssClass') || '';
|
|
|
|
if ($.isFunction(containerCssClass)) {
|
|
containerCssClass = containerCssClass(this.$element);
|
|
}
|
|
|
|
var containerCssAdapter = this.options.get('adaptContainerCssClass');
|
|
containerCssAdapter = containerCssAdapter || _containerAdapter;
|
|
|
|
if (containerCssClass.indexOf(':all:') !== -1) {
|
|
containerCssClass = containerCssClass.replace(':all:', '');
|
|
|
|
var _cssAdapter = containerCssAdapter;
|
|
|
|
containerCssAdapter = function (clazz) {
|
|
var adapted = _cssAdapter(clazz);
|
|
|
|
if (adapted != null) {
|
|
// Append the old one along with the adapted one
|
|
return adapted + ' ' + clazz;
|
|
}
|
|
|
|
return clazz;
|
|
};
|
|
}
|
|
|
|
var containerCss = this.options.get('containerCss') || {};
|
|
|
|
if ($.isFunction(containerCss)) {
|
|
containerCss = containerCss(this.$element);
|
|
}
|
|
|
|
CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter);
|
|
|
|
$container.css(containerCss);
|
|
$container.addClass(containerCssClass);
|
|
|
|
return $container;
|
|
};
|
|
|
|
return ContainerCSS;
|
|
});
|