44 lines
971 B
JavaScript
44 lines
971 B
JavaScript
define([
|
|
'jquery'
|
|
], function ($) {
|
|
function syncCssClasses ($dest, $src, adapter) {
|
|
var classes, replacements = [], adapted;
|
|
|
|
classes = $.trim($dest.attr('class'));
|
|
|
|
if (classes) {
|
|
classes = '' + classes; // for IE which returns object
|
|
|
|
$(classes.split(/\s+/)).each(function () {
|
|
// Save all Select2 classes
|
|
if (this.indexOf('select2-') === 0) {
|
|
replacements.push(this);
|
|
}
|
|
});
|
|
}
|
|
|
|
classes = $.trim($src.attr('class'));
|
|
|
|
if (classes) {
|
|
classes = '' + classes; // for IE which returns object
|
|
|
|
$(classes.split(/\s+/)).each(function () {
|
|
// Only adapt non-Select2 classes
|
|
if (this.indexOf('select2-') !== 0) {
|
|
adapted = adapter(this);
|
|
|
|
if (adapted != null) {
|
|
replacements.push(adapted);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
$dest.attr('class', replacements.join(' '));
|
|
}
|
|
|
|
return {
|
|
syncCssClasses: syncCssClasses
|
|
};
|
|
});
|