diff options
Diffstat (limited to 'public/bower_components/select2/src/js/select2/dropdown/hidePlaceholder.js')
-rw-r--r-- | public/bower_components/select2/src/js/select2/dropdown/hidePlaceholder.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/public/bower_components/select2/src/js/select2/dropdown/hidePlaceholder.js b/public/bower_components/select2/src/js/select2/dropdown/hidePlaceholder.js new file mode 100644 index 0000000..2901f68 --- /dev/null +++ b/public/bower_components/select2/src/js/select2/dropdown/hidePlaceholder.js @@ -0,0 +1,42 @@ +define([ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); |