Merge pull request #15426 from nextcloud/refactor/remove-singleselect
Remove unused singleselect script
This commit is contained in:
commit
efc89e4a12
|
@ -1,95 +0,0 @@
|
||||||
(function ($) {
|
|
||||||
$.fn.singleSelect = function () {
|
|
||||||
return this.each(function (i, select) {
|
|
||||||
var input = $('<input/>'),
|
|
||||||
gravity = $(select).attr('data-tipsy-gravity'),
|
|
||||||
inputTooltip = $(select).attr('data-inputtitle');
|
|
||||||
if (inputTooltip){
|
|
||||||
input.attr('title', inputTooltip);
|
|
||||||
}
|
|
||||||
if (typeof gravity === 'undefined') {
|
|
||||||
gravity = 'n';
|
|
||||||
}
|
|
||||||
select = $(select);
|
|
||||||
input.css('position', 'absolute');
|
|
||||||
input.css({
|
|
||||||
'box-sizing': 'border-box',
|
|
||||||
'-moz-box-sizing': 'border-box',
|
|
||||||
'margin': 0,
|
|
||||||
'width': (select.width() - 5) + 'px',
|
|
||||||
'height': (select.outerHeight() - 2) + 'px',
|
|
||||||
'border': 'none',
|
|
||||||
'box-shadow': 'none',
|
|
||||||
'margin-top': '1px',
|
|
||||||
'margin-left': '1px',
|
|
||||||
'z-index': 1000
|
|
||||||
});
|
|
||||||
input.hide();
|
|
||||||
$('body').append(input);
|
|
||||||
|
|
||||||
select.on('change', function (event) {
|
|
||||||
var value = $(this).val(),
|
|
||||||
newAttr = $('option:selected', $(this)).attr('data-new');
|
|
||||||
if (!(typeof newAttr !== 'undefined' && newAttr !== false)) {
|
|
||||||
input.hide();
|
|
||||||
select.data('previous', value);
|
|
||||||
} else {
|
|
||||||
event.stopImmediatePropagation();
|
|
||||||
// adjust offset, in case the user scrolled
|
|
||||||
input.css(select.offset());
|
|
||||||
input.show();
|
|
||||||
if ($.fn.tipsy){
|
|
||||||
input.tipsy({gravity: gravity, trigger: 'manual'});
|
|
||||||
input.tipsy('show');
|
|
||||||
}
|
|
||||||
input.focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(select).data('previous', $(select).val());
|
|
||||||
|
|
||||||
input.on('change', function () {
|
|
||||||
var value = $(this).val();
|
|
||||||
if (value) {
|
|
||||||
select.children().attr('selected', null);
|
|
||||||
var existingOption = select.children().filter(function (i, option) {
|
|
||||||
return ($(option).val() == value);
|
|
||||||
});
|
|
||||||
if (existingOption.length) {
|
|
||||||
existingOption.attr('selected', 'selected');
|
|
||||||
} else {
|
|
||||||
var option = $('<option/>');
|
|
||||||
option.attr('selected', 'selected').attr('value', value).text(value);
|
|
||||||
select.children().last().before(option);
|
|
||||||
}
|
|
||||||
select.val(value);
|
|
||||||
select.css('background-color', null);
|
|
||||||
input.val(null);
|
|
||||||
input.hide();
|
|
||||||
select.change();
|
|
||||||
} else {
|
|
||||||
var previous = select.data('previous');
|
|
||||||
select.children().attr('selected', null);
|
|
||||||
select.children().each(function (i, option) {
|
|
||||||
if ($(option).val() == previous) {
|
|
||||||
$(option).attr('selected', 'selected');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
select.removeClass('active');
|
|
||||||
input.hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
input.on('blur', function () {
|
|
||||||
$(this).change();
|
|
||||||
if ($.fn.tipsy){
|
|
||||||
$(this).tipsy('hide');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
input.click(function(ev) {
|
|
||||||
// prevent clicks to close any container
|
|
||||||
ev.stopPropagation();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
})(jQuery);
|
|
Loading…
Reference in New Issue