Skip to content

Commit

Permalink
Drop support for select2
Browse files Browse the repository at this point in the history
  • Loading branch information
juniwalk authored Feb 15, 2024
1 parent 5fc977f commit e7bd854
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 83 deletions.
32 changes: 0 additions & 32 deletions assets/form.css
Original file line number Diff line number Diff line change
Expand Up @@ -127,38 +127,6 @@ textarea.code {
.dark-mode .ts-wrapper.single .ts-control::after { border-top-color: #6c757d; }


/**
* Select2
*/
.select2-container { flex: 1 1 auto; }
.select2-container .select2-selection { height: auto; }
.select2-container .select2-selection--single { padding: .344rem .75rem; }
.select2-container .select2-selection--single .select2-selection__arrow { top: calc(50% - 35px / 2); }

.modal .input-group > .select2-container { max-width: calc(100% - 46px); }
.modal .form-group > .select2-container { width: 100% !important; }

/* Validation */
.form-control:is([data-invalid], .is-invalid, [data-valid], .is-valid) + .select2-container .select2-selection__rendered { padding-right: 0px; }
.form-control:is([data-invalid], .is-invalid, [data-valid], .is-valid) + .select2-container .select2-selection__arrow { visibility: hidden; }
.form-control:is([data-invalid], .is-invalid, [data-valid], .is-valid) + .select2-container .select2-selection {
padding-right: 2.25rem !important;
background-repeat: no-repeat;
background-position: right calc(.375em + .1875rem) center;
background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.form-control:is([data-valid], .is-valid) + .select2-container .select2-selection {
border-color: var(--green);
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>");
}

.form-control:is([data-invalid], .is-invalid) + .select2-container .select2-selection {
border-color: var(--red);
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/></svg>");
}


/**
* Dark Mode
*/
Expand Down
51 changes: 0 additions & 51 deletions assets/form.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,39 +110,6 @@ function initFormControls()
let tomSelect = new TomSelect(el, options);
});

if ($().select2 !== undefined) $('select,input.select2').not('.tom-select,.custom-select,.flatpickr-monthDropdown-months').each(function() {
let formName = null;
let options = {
minimumResultsForSearch: 20,
templateSelection: select2Format,
templateResult: select2Format,
};

if (this.form && 'formName' in this.form.dataset) {
formName = this.form.dataset.formName + '-';
}

if (this.closest('.modal')) {
options.dropdownParent = this.parentNode.parentNode;
}

if (this.classList.contains('ajax') || this.dataset['ajax-Url'] !== undefined) {
options.minimumResultsForSearch = 0;
options.ajax = {delay: 250, cache: true, transport: (request, done, error) => {
let params = findPrefixedUrlParams(formName);
params[formName+'term'] = request.data.term || '';
params[formName+'page'] = request.data.page || 1;

naja.makeRequest(request.type, request.url, params, {history: false})
.then(done).catch(error);
}};
}

$(this).select2(options).on('select2:open', () => {
document.querySelector('.select2-container--open .select2-search__field').focus();
});
});

$('[data-signal]').off('click change').on('click change', function(e) {
if (!this.matches('BUTTON') && e.type == 'click') {
return;
Expand Down Expand Up @@ -271,24 +238,6 @@ function tomSelectFormat(type, data, escape, isMultiple)
}


function select2Format(state)
{
let $option = $(state.element);
let $value = null;

if (($value = $option.data('content')) || ($value = state.content)) {
return $('<span>').html($value);
}

if (($value = $option.data('icon')) || ($value = state.icon)) {
let $color = ($option.data('color')) || (state.color);
return $('<span><i class="fa '+ $value +' fa-fw '+ $color +'"></i> '+ state.text +'</span>');
}

return state.text;
}


$(function() {
'use strict'

Expand Down

0 comments on commit e7bd854

Please sign in to comment.