diff --git a/assets/controllers/elements/selectpicker_controller.js b/assets/controllers/elements/selectpicker_controller.js new file mode 100644 index 00000000..1e1626c1 --- /dev/null +++ b/assets/controllers/elements/selectpicker_controller.js @@ -0,0 +1,12 @@ +import {Controller} from "@hotwired/stimulus"; +import "bootstrap-select"; +import 'bootstrap-select/dist/css/bootstrap-select.css' + +export default class extends Controller { + connect() { + $(this.element).selectpicker({ + dropdownAlignRight: 'auto', + container: '#content', + }); + } +} \ No newline at end of file diff --git a/assets/js/app.js b/assets/js/app.js index f10c9f2d..65336fed 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -45,6 +45,9 @@ import "./datatables"; //import "./tab_remember"; import "./register_events"; +//Define jquery globally +window.$ = window.jQuery = require("jquery") + /** require('bootstrap-select'); @@ -52,8 +55,7 @@ require('jquery-form'); require('corejs-typeahead/dist/typeahead.bundle.min'); window.Bloodhound = require('corejs-typeahead/dist/bloodhound.js'); -//Define jquery globally -window.$ = window.jQuery = require("jquery"); +; diff --git a/assets/js/register_events.js b/assets/js/register_events.js index 83335123..07e997f8 100644 --- a/assets/js/register_events.js +++ b/assets/js/register_events.js @@ -1,11 +1,10 @@ 'use strict'; //CSS -import 'bootstrap-select/dist/css/bootstrap-select.css' import "bootstrap-fileinput/css/fileinput.css" //JS -import "bootstrap-select"; + import "./lib/jquery.tristate" import "bootstrap-fileinput"; @@ -24,8 +23,6 @@ const RegisterEventHelper = class { this.registerTriStateCheckboxes(); - this.registerBootstrapSelectPicker(); - this.registerSpecialCharInput(); this.registerHoverPics(); @@ -99,16 +96,7 @@ const RegisterEventHelper = class { }); }) } - - registerBootstrapSelectPicker() { - this.registerLoadHandler(() => { - $(".selectpicker").selectpicker({ - dropdownAlignRight: 'auto', - container: '#content', - }); - }); - } - + registerAutocompleteTagsinput() { this.registerLoadHandler(() => { $('input.tagsinput').each(function() { diff --git a/src/Form/AdminPages/CurrencyAdminForm.php b/src/Form/AdminPages/CurrencyAdminForm.php index 4f7e137f..7184baff 100644 --- a/src/Form/AdminPages/CurrencyAdminForm.php +++ b/src/Form/AdminPages/CurrencyAdminForm.php @@ -69,6 +69,7 @@ class CurrencyAdminForm extends BaseEntityAdminForm 'preferred_choices' => ['EUR', 'USD', 'GBP', 'JPY', 'CNY'], 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', 'data-live-search' => true, ], diff --git a/src/Form/LabelOptionsType.php b/src/Form/LabelOptionsType.php index 7425c940..d9491f39 100644 --- a/src/Form/LabelOptionsType.php +++ b/src/Form/LabelOptionsType.php @@ -95,6 +95,7 @@ class LabelOptionsType extends AbstractType }, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', 'data-live-search' => true, ], diff --git a/src/Form/Part/PartLotType.php b/src/Form/Part/PartLotType.php index 119defee..54482c30 100644 --- a/src/Form/Part/PartLotType.php +++ b/src/Form/Part/PartLotType.php @@ -82,6 +82,7 @@ class PartLotType extends AbstractType 'disable_not_selectable' => true, 'attr' => [ 'class' => 'selectpicker form-control-sm', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', 'data-live-search' => true, ], diff --git a/src/Form/Type/MasterPictureAttachmentType.php b/src/Form/Type/MasterPictureAttachmentType.php index 54c66f27..f966a176 100644 --- a/src/Form/Type/MasterPictureAttachmentType.php +++ b/src/Form/Type/MasterPictureAttachmentType.php @@ -63,6 +63,7 @@ class MasterPictureAttachmentType extends AbstractType 'choice_translation_domain' => false, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', ], 'choice_attr' => static function (Options $options) { diff --git a/src/Form/Type/StructuralEntityType.php b/src/Form/Type/StructuralEntityType.php index d70f7e78..7adc1485 100644 --- a/src/Form/Type/StructuralEntityType.php +++ b/src/Form/Type/StructuralEntityType.php @@ -117,6 +117,7 @@ class StructuralEntityType extends AbstractType $resolver->setDefault('attr', static function (Options $options) { $tmp = [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'data-live-search' => true, 'title' => 'selectpicker.nothing_selected', ]; diff --git a/src/Form/UserAdminForm.php b/src/Form/UserAdminForm.php index 313760ef..ad4e4123 100644 --- a/src/Form/UserAdminForm.php +++ b/src/Form/UserAdminForm.php @@ -150,6 +150,7 @@ class UserAdminForm extends AbstractType 'required' => false, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', 'data-live-search' => true, ], @@ -162,6 +163,7 @@ class UserAdminForm extends AbstractType 'required' => false, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', 'data-live-search' => true, ], @@ -178,6 +180,7 @@ class UserAdminForm extends AbstractType }, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'title' => 'selectpicker.nothing_selected', ], 'choice_translation_domain' => false, diff --git a/src/Form/UserSettingsType.php b/src/Form/UserSettingsType.php index 7cdb1764..7ec73138 100644 --- a/src/Form/UserSettingsType.php +++ b/src/Form/UserSettingsType.php @@ -99,6 +99,7 @@ class UserSettingsType extends AbstractType 'required' => false, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'data-live-search' => true, ], 'placeholder' => 'user_settings.language.placeholder', @@ -110,6 +111,7 @@ class UserSettingsType extends AbstractType 'required' => false, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', 'data-live-search' => true, ], 'placeholder' => 'user_settings.timezone.placeholder', @@ -121,6 +123,7 @@ class UserSettingsType extends AbstractType 'required' => false, 'attr' => [ 'class' => 'selectpicker', + 'data-controller' => 'elements--selectpicker', ], 'choice_translation_domain' => false, 'choices' => User::AVAILABLE_THEMES, diff --git a/templates/AdminPages/_attachments.html.twig b/templates/AdminPages/_attachments.html.twig index f0105b32..cba37bd9 100644 --- a/templates/AdminPages/_attachments.html.twig +++ b/templates/AdminPages/_attachments.html.twig @@ -107,7 +107,6 @@ $holder.append($newFormRow); //Reinit the selectpickers - $(".selectpicker").selectpicker(); $(".file").fileinput(); //Reinit typeahead: diff --git a/templates/Parts/edit/_attachments.html.twig b/templates/Parts/edit/_attachments.html.twig index 6b21a1e8..cd738f08 100644 --- a/templates/Parts/edit/_attachments.html.twig +++ b/templates/Parts/edit/_attachments.html.twig @@ -104,8 +104,6 @@ $holder.append($newFormRow); - //Reinit the selectpickers - $(".selectpicker").selectpicker(); $(".file").fileinput(); //Reinit typeahead: diff --git a/templates/Parts/edit/_lots.html.twig b/templates/Parts/edit/_lots.html.twig index 0a2100b3..65f7311f 100644 --- a/templates/Parts/edit/_lots.html.twig +++ b/templates/Parts/edit/_lots.html.twig @@ -55,8 +55,5 @@ $holder.append($newFormRow); - //Reinit the selectpickers - $(".selectpicker").selectpicker(); - } \ No newline at end of file diff --git a/templates/Parts/edit/_orderdetails.html.twig b/templates/Parts/edit/_orderdetails.html.twig index e00a5811..a2cc8404 100644 --- a/templates/Parts/edit/_orderdetails.html.twig +++ b/templates/Parts/edit/_orderdetails.html.twig @@ -52,10 +52,6 @@ $("#" + min_discount_id).val(new_min_amount); $("#" + price_related_id).val("1"); - - //Reinit the selectpickers - $(".selectpicker").selectpicker(); - } function delete_orderdetail_entry(btn) { @@ -77,9 +73,5 @@ newForm = newForm.replace(/__name__/g, index); $holder.children("tbody").append(newForm); - - //Reinit the selectpickers - $(".selectpicker").selectpicker(); - } \ No newline at end of file diff --git a/templates/Parts/edit/edit_form_styles.html.twig b/templates/Parts/edit/edit_form_styles.html.twig index 27e289ef..8ffb6de3 100644 --- a/templates/Parts/edit/edit_form_styles.html.twig +++ b/templates/Parts/edit/edit_form_styles.html.twig @@ -7,7 +7,7 @@