aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bower_components/select2/src/js/select2/compat/containerCss.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bower_components/select2/src/js/select2/compat/containerCss.js')
-rw-r--r--public/bower_components/select2/src/js/select2/compat/containerCss.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/public/bower_components/select2/src/js/select2/compat/containerCss.js b/public/bower_components/select2/src/js/select2/compat/containerCss.js
new file mode 100644
index 0000000..45703ac
--- /dev/null
+++ b/public/bower_components/select2/src/js/select2/compat/containerCss.js
@@ -0,0 +1,56 @@
+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;
+});