From e3ed3b201b9ee12eb24e1c6ab647a88570228627 Mon Sep 17 00:00:00 2001 From: Guido Vollbach Date: Mon, 27 Apr 2026 09:57:54 +0200 Subject: [PATCH 1/7] Fix lng function in config form --- classes/GUI/Form/class.xvmpConfFormGUI.php | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/classes/GUI/Form/class.xvmpConfFormGUI.php b/classes/GUI/Form/class.xvmpConfFormGUI.php index 447c36b4..f667a3fd 100644 --- a/classes/GUI/Form/class.xvmpConfFormGUI.php +++ b/classes/GUI/Form/class.xvmpConfFormGUI.php @@ -411,26 +411,29 @@ private function saveValueForItem($item) : void // obj $sql = $this->db->query('select value from lng_data where module = "rep_robj_xvmp" and identifier = "rep_robj_xvmp_obj_xvmp"'); $existing = $this->db->fetchObject($sql); - + $date_local_change = date('Y-m-d H:i:s'); if ($existing) { $this->db->update('lng_data', array( - 'value' => array('text', $value) + 'value' => array('text', $value), + 'local_change' => array('text', $date_local_change) ), array( 'module' => array('text', 'rep_robj_xvmp'), - 'identifier' => array('text', 'rep_robj_xvmp_obj_xvmp'), + 'identifier' => array('text', 'rep_robj_xvmp_obj_xvmp') )); } else { $this->db->insert('lng_data', array( 'lang_key' => array('text', 'de'), 'module' => array('text', 'rep_robj_xvmp'), 'identifier' => array('text', 'rep_robj_xvmp_obj_xvmp'), - 'value' => array('text', $value) + 'value' => array('text', $value), + 'local_change' => array('text', $date_local_change) )); $this->db->insert('lng_data', array( 'lang_key' => array('text', 'en'), 'module' => array('text', 'rep_robj_xvmp'), 'identifier' => array('text', 'rep_robj_xvmp_obj_xvmp'), - 'value' => array('text', $value) + 'value' => array('text', $value), + 'local_change' => array('text', $date_local_change) )); } @@ -440,23 +443,26 @@ private function saveValueForItem($item) : void if ($existing) { $this->db->update('lng_data', array( - 'value' => array('text', $value) + 'value' => array('text', $value), + 'local_change' => array('text', $date_local_change) ), array( 'module' => array('text', 'rep_robj_xvmp'), - 'identifier' => array('text', 'rep_robj_xvmp_objs_xvmp'), + 'identifier' => array('text', 'rep_robj_xvmp_objs_xvmp') )); } else { $this->db->insert('lng_data', array( 'lang_key' => array('text', 'de'), 'module' => array('text', 'rep_robj_xvmp'), 'identifier' => array('text', 'rep_robj_xvmp_objs_xvmp'), - 'value' => array('text', $value) + 'value' => array('text', $value), + 'local_change' => array('text', $date_local_change) )); $this->db->insert('lng_data', array( 'lang_key' => array('text', 'en'), 'module' => array('text', 'rep_robj_xvmp'), 'identifier' => array('text', 'rep_robj_xvmp_objs_xvmp'), - 'value' => array('text', $value) + 'value' => array('text', $value), + 'local_change' => array('text', $date_local_change) )); } return; From b1a7ba88e8803d65e64989b285919dff0bade2ea Mon Sep 17 00:00:00 2001 From: Ilja Lukin Date: Tue, 28 Apr 2026 16:58:39 +0200 Subject: [PATCH 2/7] Fix pagination in selected videos table --- .../class.xvmpSelectedVideosTableGUI.php | 14 +++++++-- classes/GUI/class.xvmpSelectedVideosGUI.php | 31 +++++++++++++++---- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/classes/GUI/Table/class.xvmpSelectedVideosTableGUI.php b/classes/GUI/Table/class.xvmpSelectedVideosTableGUI.php index f13a1527..30e1e8b2 100644 --- a/classes/GUI/Table/class.xvmpSelectedVideosTableGUI.php +++ b/classes/GUI/Table/class.xvmpSelectedVideosTableGUI.php @@ -47,6 +47,12 @@ class xvmpSelectedVideosTableGUI extends xvmpTableGUI */ public function __construct($parent_gui, $parent_cmd) { + global $DIC; + $ilUser = $DIC['ilUser']; + $id = 'xvmp_selected_' . (int) $_GET['ref_id'] . '_' . $ilUser->getId(); + $this->setId($id); + $this->setPrefix($id); + $this->setFormName($id); parent::__construct($parent_gui, $parent_cmd); $this->setTitle($this->pl->txt('selected_videos')); @@ -59,8 +65,8 @@ public function __construct($parent_gui, $parent_cmd) $this->setDescription($description); $this->setExternalSorting(true); - $this->setEnableNumInfo(false); - $this->setShowRowsSelector(false); + $this->setEnableNumInfo(true); + $this->setShowRowsSelector(true); $base_link = $this->ctrl->getLinkTarget($this->parent_obj, '', '', true); $this->tpl_global->addOnLoadCode('VimpSelected.init("' . $base_link . '");'); @@ -98,7 +104,9 @@ protected function addRepositoryPreviewCss($number) : void public function parseData() : void { - $this->setData(xvmpMedium::getSelectedAsArray($this->parent_obj->getObjId())); + $data = xvmpMedium::getSelectedAsArray($this->parent_obj->getObjId()); + $this->setData($data); + $this->setMaxCount(count($data)); } protected function initColumns() : void diff --git a/classes/GUI/class.xvmpSelectedVideosGUI.php b/classes/GUI/class.xvmpSelectedVideosGUI.php index b6fe66e2..45ad7103 100644 --- a/classes/GUI/class.xvmpSelectedVideosGUI.php +++ b/classes/GUI/class.xvmpSelectedVideosGUI.php @@ -38,15 +38,34 @@ public function executeCommand() : void */ public function reorder() { - $ids = $_POST['ids']; - $sort = 10; + $ids = $_POST['ids'] ?? []; + $media = xvmpSelectedMedia::where(['mid' => $ids, 'obj_id' => $this->getObjId()])->get(); + + if (empty($media)) { + echo json_encode(['success' => true]); + exit; + } + + $mediaByMid = []; + foreach ($media as $obj) { + $mediaByMid[$obj->getMid()] = $obj; + } + + $orderedMedia = []; foreach ($ids as $id) { - $xvmpSelectedMedia = xvmpSelectedMedia::where(array('mid' => $id, 'obj_id' => $this->getObjId()))->first(); - $xvmpSelectedMedia->setSort($sort); - $xvmpSelectedMedia->update(); + if (isset($mediaByMid[$id])) { + $orderedMedia[] = $mediaByMid[$id]; + } + } + + $sort = min(array_map(fn($o) => $o->getSort(), $orderedMedia)); + foreach ($orderedMedia as $obj) { + $obj->setSort($sort); + $obj->update(); $sort += 10; } - echo "{\"success\": true}"; + + echo json_encode(['success' => true]); exit; } From 217562cdf76c1949e6afe00770c8e7438751fddc Mon Sep 17 00:00:00 2001 From: Ilja Lukin Date: Tue, 28 Apr 2026 17:16:22 +0200 Subject: [PATCH 3/7] Fix adding videos from search --- classes/Model/API/class.xvmpMedium.php | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/Model/API/class.xvmpMedium.php b/classes/Model/API/class.xvmpMedium.php index 35143e30..5f470ce3 100644 --- a/classes/Model/API/class.xvmpMedium.php +++ b/classes/Model/API/class.xvmpMedium.php @@ -96,6 +96,7 @@ class xvmpMedium extends xvmpObject protected array|string $streaming; protected int $count_likes; protected ?array $subtitles = []; + protected ?array $channels = []; protected bool $download_allowed = false; protected ?DateTime $startdate = null; protected ?DateTime $enddate = null; From 492c8ff5c5769c2c98d7938108857acd631db7b4 Mon Sep 17 00:00:00 2001 From: Guido Vollbach Date: Tue, 2 Jun 2026 07:50:04 +0200 Subject: [PATCH 4/7] Use password field instead of textinput --- classes/GUI/Form/class.xvmpConfFormGUI.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/classes/GUI/Form/class.xvmpConfFormGUI.php b/classes/GUI/Form/class.xvmpConfFormGUI.php index f667a3fd..843fcacc 100644 --- a/classes/GUI/Form/class.xvmpConfFormGUI.php +++ b/classes/GUI/Form/class.xvmpConfFormGUI.php @@ -60,15 +60,17 @@ protected function initForm() : void $this->addItem($input); // API Password - $input = new ilTextInputGUI($this->pl->confTxt(xvmpConf::F_API_PASSWORD), xvmpConf::F_API_PASSWORD); + $input = new ilPasswordInputGUI($this->pl->confTxt(xvmpConf::F_API_PASSWORD), xvmpConf::F_API_PASSWORD); $input->setInfo($this->pl->confTxt(xvmpConf::F_API_PASSWORD . '_info')); + $input->setRetype(false); $input->setRequired(true); $this->addItem($input); // API Key - $input = new ilTextInputGUI($this->pl->confTxt(xvmpConf::F_API_KEY), xvmpConf::F_API_KEY); + $input = new ilPasswordInputGUI($this->pl->confTxt(xvmpConf::F_API_KEY), xvmpConf::F_API_KEY); $input->setInfo($this->pl->confTxt(xvmpConf::F_API_KEY . '_info')); $input->setRequired(true); + $input->setRetype(false); $this->addItem($input); // API Url From de9ca1ea42089ef03d9b98d9f35691a66122581e Mon Sep 17 00:00:00 2001 From: Guido Vollbach Date: Tue, 2 Jun 2026 07:56:22 +0200 Subject: [PATCH 5/7] update select2 and move to npm libs --- node_modules/.package-lock.json | 6 + node_modules/select2/CHANGELOG.md | 427 ++ node_modules/select2/LICENSE.md | 21 + node_modules/select2/README.md | 157 + node_modules/select2/dist/css/select2.css | 481 ++ node_modules/select2/dist/css/select2.min.css | 1 + node_modules/select2/dist/js/i18n/af.js | 3 + node_modules/select2/dist/js/i18n/ar.js | 3 + node_modules/select2/dist/js/i18n/az.js | 3 + node_modules/select2/dist/js/i18n/bg.js | 3 + node_modules/select2/dist/js/i18n/bn.js | 3 + node_modules/select2/dist/js/i18n/bs.js | 3 + node_modules/select2/dist/js/i18n/build.txt | 236 + node_modules/select2/dist/js/i18n/ca.js | 3 + node_modules/select2/dist/js/i18n/cs.js | 3 + node_modules/select2/dist/js/i18n/da.js | 3 + node_modules/select2/dist/js/i18n/de.js | 3 + node_modules/select2/dist/js/i18n/dsb.js | 3 + node_modules/select2/dist/js/i18n/el.js | 3 + node_modules/select2/dist/js/i18n/en.js | 3 + node_modules/select2/dist/js/i18n/es.js | 3 + node_modules/select2/dist/js/i18n/et.js | 3 + node_modules/select2/dist/js/i18n/eu.js | 3 + node_modules/select2/dist/js/i18n/fa.js | 3 + node_modules/select2/dist/js/i18n/fi.js | 3 + node_modules/select2/dist/js/i18n/fr.js | 3 + node_modules/select2/dist/js/i18n/gl.js | 3 + node_modules/select2/dist/js/i18n/he.js | 3 + node_modules/select2/dist/js/i18n/hi.js | 3 + node_modules/select2/dist/js/i18n/hr.js | 3 + node_modules/select2/dist/js/i18n/hsb.js | 3 + node_modules/select2/dist/js/i18n/hu.js | 3 + node_modules/select2/dist/js/i18n/hy.js | 3 + node_modules/select2/dist/js/i18n/id.js | 3 + node_modules/select2/dist/js/i18n/is.js | 3 + node_modules/select2/dist/js/i18n/it.js | 3 + node_modules/select2/dist/js/i18n/ja.js | 3 + node_modules/select2/dist/js/i18n/ka.js | 3 + node_modules/select2/dist/js/i18n/km.js | 3 + node_modules/select2/dist/js/i18n/ko.js | 3 + node_modules/select2/dist/js/i18n/lt.js | 3 + node_modules/select2/dist/js/i18n/lv.js | 3 + node_modules/select2/dist/js/i18n/mk.js | 3 + node_modules/select2/dist/js/i18n/ms.js | 3 + node_modules/select2/dist/js/i18n/nb.js | 3 + node_modules/select2/dist/js/i18n/ne.js | 3 + node_modules/select2/dist/js/i18n/nl.js | 3 + node_modules/select2/dist/js/i18n/pl.js | 3 + node_modules/select2/dist/js/i18n/ps.js | 3 + node_modules/select2/dist/js/i18n/pt-BR.js | 3 + node_modules/select2/dist/js/i18n/pt.js | 3 + node_modules/select2/dist/js/i18n/ro.js | 3 + node_modules/select2/dist/js/i18n/ru.js | 3 + node_modules/select2/dist/js/i18n/sk.js | 3 + node_modules/select2/dist/js/i18n/sl.js | 3 + node_modules/select2/dist/js/i18n/sq.js | 3 + node_modules/select2/dist/js/i18n/sr-Cyrl.js | 3 + node_modules/select2/dist/js/i18n/sr.js | 3 + node_modules/select2/dist/js/i18n/sv.js | 3 + node_modules/select2/dist/js/i18n/th.js | 3 + node_modules/select2/dist/js/i18n/tk.js | 3 + node_modules/select2/dist/js/i18n/tr.js | 3 + node_modules/select2/dist/js/i18n/uk.js | 3 + node_modules/select2/dist/js/i18n/vi.js | 3 + node_modules/select2/dist/js/i18n/zh-CN.js | 3 + node_modules/select2/dist/js/i18n/zh-TW.js | 3 + node_modules/select2/dist/js/select2.full.js | 6820 +++++++++++++++++ .../select2/dist/js/select2.full.min.js | 2 + node_modules/select2/dist/js/select2.js | 6108 +++++++++++++++ node_modules/select2/dist/js/select2.min.js | 2 + node_modules/select2/package.json | 65 + node_modules/select2/src/js/banner.end.js | 6 + node_modules/select2/src/js/banner.start.js | 6 + .../select2/src/js/jquery.mousewheel.shim.js | 6 + node_modules/select2/src/js/jquery.select2.js | 58 + node_modules/select2/src/js/jquery.shim.js | 14 + .../src/js/select2/compat/containerCss.js | 56 + .../src/js/select2/compat/dropdownCss.js | 56 + .../src/js/select2/compat/initSelection.js | 42 + .../src/js/select2/compat/inputData.js | 128 + .../select2/src/js/select2/compat/matcher.js | 42 + .../select2/src/js/select2/compat/query.js | 26 + .../select2/src/js/select2/compat/utils.js | 43 + node_modules/select2/src/js/select2/core.js | 664 ++ .../select2/src/js/select2/data/ajax.js | 110 + .../select2/src/js/select2/data/array.js | 83 + .../select2/src/js/select2/data/base.js | 40 + .../src/js/select2/data/maximumInputLength.js | 31 + .../js/select2/data/maximumSelectionLength.js | 54 + .../src/js/select2/data/minimumInputLength.js | 30 + .../select2/src/js/select2/data/select.js | 285 + .../select2/src/js/select2/data/tags.js | 126 + .../select2/src/js/select2/data/tokenizer.js | 116 + .../select2/src/js/select2/defaults.js | 457 ++ .../select2/src/js/select2/diacritics.js | 850 ++ .../select2/src/js/select2/dropdown.js | 42 + .../src/js/select2/dropdown/attachBody.js | 257 + .../js/select2/dropdown/attachContainer.js | 18 + .../src/js/select2/dropdown/closeOnSelect.js | 35 + .../js/select2/dropdown/hidePlaceholder.js | 42 + .../src/js/select2/dropdown/infiniteScroll.js | 92 + .../dropdown/minimumResultsForSearch.js | 39 + .../select2/src/js/select2/dropdown/search.js | 115 + .../src/js/select2/dropdown/selectOnClose.js | 50 + .../js/select2/dropdown/stopPropagation.js | 38 + .../select2/src/js/select2/i18n/af.js | 47 + .../select2/src/js/select2/i18n/ar.js | 33 + .../select2/src/js/select2/i18n/az.js | 30 + .../select2/src/js/select2/i18n/bg.js | 50 + .../select2/src/js/select2/i18n/bn.js | 45 + .../select2/src/js/select2/i18n/bs.js | 58 + .../select2/src/js/select2/i18n/ca.js | 55 + .../select2/src/js/select2/i18n/cs.js | 64 + .../select2/src/js/select2/i18n/da.js | 39 + .../select2/src/js/select2/i18n/de.js | 41 + .../select2/src/js/select2/i18n/dsb.js | 52 + .../select2/src/js/select2/i18n/el.js | 55 + .../select2/src/js/select2/i18n/en.js | 47 + .../select2/src/js/select2/i18n/es.js | 55 + .../select2/src/js/select2/i18n/et.js | 56 + .../select2/src/js/select2/i18n/eu.js | 54 + .../select2/src/js/select2/i18n/fa.js | 41 + .../select2/src/js/select2/i18n/fi.js | 33 + .../select2/src/js/select2/i18n/fr.js | 36 + .../select2/src/js/select2/i18n/gl.js | 42 + .../select2/src/js/select2/i18n/he.js | 59 + .../select2/src/js/select2/i18n/hi.js | 42 + .../select2/src/js/select2/i18n/hr.js | 47 + .../select2/src/js/select2/i18n/hsb.js | 52 + .../select2/src/js/select2/i18n/hu.js | 33 + .../select2/src/js/select2/i18n/hy.js | 41 + .../select2/src/js/select2/i18n/id.js | 33 + .../select2/src/js/select2/i18n/is.js | 44 + .../select2/src/js/select2/i18n/it.js | 51 + .../select2/src/js/select2/i18n/ja.js | 39 + .../select2/src/js/select2/i18n/ka.js | 40 + .../select2/src/js/select2/i18n/km.js | 39 + .../select2/src/js/select2/i18n/ko.js | 39 + .../select2/src/js/select2/i18n/lt.js | 55 + .../select2/src/js/select2/i18n/lv.js | 54 + .../select2/src/js/select2/i18n/mk.js | 50 + .../select2/src/js/select2/i18n/ms.js | 33 + .../select2/src/js/select2/i18n/nb.js | 33 + .../select2/src/js/select2/i18n/ne.js | 47 + .../select2/src/js/select2/i18n/nl.js | 46 + .../select2/src/js/select2/i18n/pl.js | 48 + .../select2/src/js/select2/i18n/ps.js | 48 + .../select2/src/js/select2/i18n/pt-BR.js | 49 + .../select2/src/js/select2/i18n/pt.js | 43 + .../select2/src/js/select2/i18n/ro.js | 49 + .../select2/src/js/select2/i18n/ru.js | 61 + .../select2/src/js/select2/i18n/sk.js | 62 + .../select2/src/js/select2/i18n/sl.js | 57 + .../select2/src/js/select2/i18n/sq.js | 48 + .../select2/src/js/select2/i18n/sr-Cyrl.js | 58 + .../select2/src/js/select2/i18n/sr.js | 58 + .../select2/src/js/select2/i18n/sv.js | 40 + .../select2/src/js/select2/i18n/th.js | 39 + .../select2/src/js/select2/i18n/tk.js | 40 + .../select2/src/js/select2/i18n/tr.js | 39 + .../select2/src/js/select2/i18n/uk.js | 46 + .../select2/src/js/select2/i18n/vi.js | 37 + .../select2/src/js/select2/i18n/zh-CN.js | 39 + .../select2/src/js/select2/i18n/zh-TW.js | 36 + node_modules/select2/src/js/select2/keys.js | 25 + .../select2/src/js/select2/options.js | 142 + .../select2/src/js/select2/results.js | 535 ++ .../src/js/select2/selection/allowClear.js | 113 + .../select2/src/js/select2/selection/base.js | 178 + .../src/js/select2/selection/clickMask.js | 29 + .../src/js/select2/selection/eventRelay.js | 48 + .../src/js/select2/selection/multiple.js | 116 + .../src/js/select2/selection/placeholder.js | 49 + .../src/js/select2/selection/search.js | 236 + .../src/js/select2/selection/single.js | 107 + .../js/select2/selection/stopPropagation.js | 38 + .../select2/src/js/select2/translation.js | 36 + node_modules/select2/src/js/select2/utils.js | 340 + node_modules/select2/src/js/wrapper.end.js | 12 + node_modules/select2/src/js/wrapper.start.js | 38 + node_modules/select2/src/scss/_dropdown.scss | 73 + node_modules/select2/src/scss/_multiple.scss | 35 + node_modules/select2/src/scss/_single.scss | 34 + node_modules/select2/src/scss/core.scss | 50 + .../select2/src/scss/mixins/_gradients.scss | 13 + .../src/scss/theme/classic/_defaults.scss | 34 + .../src/scss/theme/classic/_multiple.scss | 90 + .../src/scss/theme/classic/_single.scss | 124 + .../src/scss/theme/classic/layout.scss | 64 + .../src/scss/theme/default/_multiple.scss | 96 + .../src/scss/theme/default/_single.scss | 83 + .../src/scss/theme/default/layout.scss | 97 + .../default/form/select2/select2-spinner.gif | Bin 1849 -> 0 bytes templates/default/form/select2/select2.css | 659 -- .../default/form/select2/select2.jquery.json | 36 - templates/default/form/select2/select2.min.js | 22 - templates/default/form/select2/select2.png | Bin 613 -> 0 bytes .../default/form/select2/select2_locale_ar.js | 17 - .../default/form/select2/select2_locale_bg.js | 17 - .../default/form/select2/select2_locale_ca.js | 17 - .../default/form/select2/select2_locale_cs.js | 49 - .../default/form/select2/select2_locale_da.js | 17 - .../default/form/select2/select2_locale_de.js | 15 - .../default/form/select2/select2_locale_el.js | 17 - .../default/form/select2/select2_locale_es.js | 15 - .../default/form/select2/select2_locale_et.js | 17 - .../default/form/select2/select2_locale_eu.js | 43 - .../default/form/select2/select2_locale_fi.js | 28 - .../default/form/select2/select2_locale_fr.js | 15 - .../default/form/select2/select2_locale_gl.js | 43 - .../default/form/select2/select2_locale_he.js | 17 - .../default/form/select2/select2_locale_hr.js | 42 - .../default/form/select2/select2_locale_hu.js | 15 - .../default/form/select2/select2_locale_id.js | 17 - .../default/form/select2/select2_locale_is.js | 16 - .../default/form/select2/select2_locale_it.js | 15 - .../default/form/select2/select2_locale_ja.js | 15 - .../default/form/select2/select2_locale_ko.js | 17 - .../default/form/select2/select2_locale_lt.js | 29 - .../default/form/select2/select2_locale_lv.js | 16 - .../default/form/select2/select2_locale_mk.js | 17 - .../default/form/select2/select2_locale_nl.js | 15 - .../default/form/select2/select2_locale_no.js | 18 - .../default/form/select2/select2_locale_pl.js | 37 - .../form/select2/select2_locale_pt-BR.js | 15 - .../form/select2/select2_locale_pt-PT.js | 15 - .../default/form/select2/select2_locale_ro.js | 15 - .../default/form/select2/select2_locale_ru.js | 15 - .../default/form/select2/select2_locale_sk.js | 48 - .../default/form/select2/select2_locale_sv.js | 17 - .../default/form/select2/select2_locale_th.js | 17 - .../default/form/select2/select2_locale_tr.js | 17 - .../default/form/select2/select2_locale_ua.js | 17 - .../default/form/select2/select2_locale_vi.js | 18 - .../form/select2/select2_locale_zh-CN.js | 14 - .../form/select2/select2_locale_zh-TW.js | 14 - templates/default/form/select2/select2x2.png | Bin 845 -> 0 bytes 237 files changed, 24102 insertions(+), 1535 deletions(-) create mode 100644 node_modules/select2/CHANGELOG.md create mode 100644 node_modules/select2/LICENSE.md create mode 100644 node_modules/select2/README.md create mode 100644 node_modules/select2/dist/css/select2.css create mode 100644 node_modules/select2/dist/css/select2.min.css create mode 100644 node_modules/select2/dist/js/i18n/af.js create mode 100644 node_modules/select2/dist/js/i18n/ar.js create mode 100644 node_modules/select2/dist/js/i18n/az.js create mode 100644 node_modules/select2/dist/js/i18n/bg.js create mode 100644 node_modules/select2/dist/js/i18n/bn.js create mode 100644 node_modules/select2/dist/js/i18n/bs.js create mode 100644 node_modules/select2/dist/js/i18n/build.txt create mode 100644 node_modules/select2/dist/js/i18n/ca.js create mode 100644 node_modules/select2/dist/js/i18n/cs.js create mode 100644 node_modules/select2/dist/js/i18n/da.js create mode 100644 node_modules/select2/dist/js/i18n/de.js create mode 100644 node_modules/select2/dist/js/i18n/dsb.js create mode 100644 node_modules/select2/dist/js/i18n/el.js create mode 100644 node_modules/select2/dist/js/i18n/en.js create mode 100644 node_modules/select2/dist/js/i18n/es.js create mode 100644 node_modules/select2/dist/js/i18n/et.js create mode 100644 node_modules/select2/dist/js/i18n/eu.js create mode 100644 node_modules/select2/dist/js/i18n/fa.js create mode 100644 node_modules/select2/dist/js/i18n/fi.js create mode 100644 node_modules/select2/dist/js/i18n/fr.js create mode 100644 node_modules/select2/dist/js/i18n/gl.js create mode 100644 node_modules/select2/dist/js/i18n/he.js create mode 100644 node_modules/select2/dist/js/i18n/hi.js create mode 100644 node_modules/select2/dist/js/i18n/hr.js create mode 100644 node_modules/select2/dist/js/i18n/hsb.js create mode 100644 node_modules/select2/dist/js/i18n/hu.js create mode 100644 node_modules/select2/dist/js/i18n/hy.js create mode 100644 node_modules/select2/dist/js/i18n/id.js create mode 100644 node_modules/select2/dist/js/i18n/is.js create mode 100644 node_modules/select2/dist/js/i18n/it.js create mode 100644 node_modules/select2/dist/js/i18n/ja.js create mode 100644 node_modules/select2/dist/js/i18n/ka.js create mode 100644 node_modules/select2/dist/js/i18n/km.js create mode 100644 node_modules/select2/dist/js/i18n/ko.js create mode 100644 node_modules/select2/dist/js/i18n/lt.js create mode 100644 node_modules/select2/dist/js/i18n/lv.js create mode 100644 node_modules/select2/dist/js/i18n/mk.js create mode 100644 node_modules/select2/dist/js/i18n/ms.js create mode 100644 node_modules/select2/dist/js/i18n/nb.js create mode 100644 node_modules/select2/dist/js/i18n/ne.js create mode 100644 node_modules/select2/dist/js/i18n/nl.js create mode 100644 node_modules/select2/dist/js/i18n/pl.js create mode 100644 node_modules/select2/dist/js/i18n/ps.js create mode 100644 node_modules/select2/dist/js/i18n/pt-BR.js create mode 100644 node_modules/select2/dist/js/i18n/pt.js create mode 100644 node_modules/select2/dist/js/i18n/ro.js create mode 100644 node_modules/select2/dist/js/i18n/ru.js create mode 100644 node_modules/select2/dist/js/i18n/sk.js create mode 100644 node_modules/select2/dist/js/i18n/sl.js create mode 100644 node_modules/select2/dist/js/i18n/sq.js create mode 100644 node_modules/select2/dist/js/i18n/sr-Cyrl.js create mode 100644 node_modules/select2/dist/js/i18n/sr.js create mode 100644 node_modules/select2/dist/js/i18n/sv.js create mode 100644 node_modules/select2/dist/js/i18n/th.js create mode 100644 node_modules/select2/dist/js/i18n/tk.js create mode 100644 node_modules/select2/dist/js/i18n/tr.js create mode 100644 node_modules/select2/dist/js/i18n/uk.js create mode 100644 node_modules/select2/dist/js/i18n/vi.js create mode 100644 node_modules/select2/dist/js/i18n/zh-CN.js create mode 100644 node_modules/select2/dist/js/i18n/zh-TW.js create mode 100644 node_modules/select2/dist/js/select2.full.js create mode 100644 node_modules/select2/dist/js/select2.full.min.js create mode 100644 node_modules/select2/dist/js/select2.js create mode 100644 node_modules/select2/dist/js/select2.min.js create mode 100644 node_modules/select2/package.json create mode 100644 node_modules/select2/src/js/banner.end.js create mode 100644 node_modules/select2/src/js/banner.start.js create mode 100644 node_modules/select2/src/js/jquery.mousewheel.shim.js create mode 100644 node_modules/select2/src/js/jquery.select2.js create mode 100644 node_modules/select2/src/js/jquery.shim.js create mode 100644 node_modules/select2/src/js/select2/compat/containerCss.js create mode 100644 node_modules/select2/src/js/select2/compat/dropdownCss.js create mode 100644 node_modules/select2/src/js/select2/compat/initSelection.js create mode 100644 node_modules/select2/src/js/select2/compat/inputData.js create mode 100644 node_modules/select2/src/js/select2/compat/matcher.js create mode 100644 node_modules/select2/src/js/select2/compat/query.js create mode 100644 node_modules/select2/src/js/select2/compat/utils.js create mode 100644 node_modules/select2/src/js/select2/core.js create mode 100644 node_modules/select2/src/js/select2/data/ajax.js create mode 100644 node_modules/select2/src/js/select2/data/array.js create mode 100644 node_modules/select2/src/js/select2/data/base.js create mode 100644 node_modules/select2/src/js/select2/data/maximumInputLength.js create mode 100644 node_modules/select2/src/js/select2/data/maximumSelectionLength.js create mode 100644 node_modules/select2/src/js/select2/data/minimumInputLength.js create mode 100644 node_modules/select2/src/js/select2/data/select.js create mode 100644 node_modules/select2/src/js/select2/data/tags.js create mode 100644 node_modules/select2/src/js/select2/data/tokenizer.js create mode 100644 node_modules/select2/src/js/select2/defaults.js create mode 100644 node_modules/select2/src/js/select2/diacritics.js create mode 100644 node_modules/select2/src/js/select2/dropdown.js create mode 100644 node_modules/select2/src/js/select2/dropdown/attachBody.js create mode 100644 node_modules/select2/src/js/select2/dropdown/attachContainer.js create mode 100644 node_modules/select2/src/js/select2/dropdown/closeOnSelect.js create mode 100644 node_modules/select2/src/js/select2/dropdown/hidePlaceholder.js create mode 100644 node_modules/select2/src/js/select2/dropdown/infiniteScroll.js create mode 100644 node_modules/select2/src/js/select2/dropdown/minimumResultsForSearch.js create mode 100644 node_modules/select2/src/js/select2/dropdown/search.js create mode 100644 node_modules/select2/src/js/select2/dropdown/selectOnClose.js create mode 100644 node_modules/select2/src/js/select2/dropdown/stopPropagation.js create mode 100644 node_modules/select2/src/js/select2/i18n/af.js create mode 100644 node_modules/select2/src/js/select2/i18n/ar.js create mode 100644 node_modules/select2/src/js/select2/i18n/az.js create mode 100644 node_modules/select2/src/js/select2/i18n/bg.js create mode 100644 node_modules/select2/src/js/select2/i18n/bn.js create mode 100644 node_modules/select2/src/js/select2/i18n/bs.js create mode 100644 node_modules/select2/src/js/select2/i18n/ca.js create mode 100644 node_modules/select2/src/js/select2/i18n/cs.js create mode 100644 node_modules/select2/src/js/select2/i18n/da.js create mode 100644 node_modules/select2/src/js/select2/i18n/de.js create mode 100644 node_modules/select2/src/js/select2/i18n/dsb.js create mode 100644 node_modules/select2/src/js/select2/i18n/el.js create mode 100644 node_modules/select2/src/js/select2/i18n/en.js create mode 100644 node_modules/select2/src/js/select2/i18n/es.js create mode 100644 node_modules/select2/src/js/select2/i18n/et.js create mode 100644 node_modules/select2/src/js/select2/i18n/eu.js create mode 100644 node_modules/select2/src/js/select2/i18n/fa.js create mode 100644 node_modules/select2/src/js/select2/i18n/fi.js create mode 100644 node_modules/select2/src/js/select2/i18n/fr.js create mode 100644 node_modules/select2/src/js/select2/i18n/gl.js create mode 100644 node_modules/select2/src/js/select2/i18n/he.js create mode 100644 node_modules/select2/src/js/select2/i18n/hi.js create mode 100644 node_modules/select2/src/js/select2/i18n/hr.js create mode 100644 node_modules/select2/src/js/select2/i18n/hsb.js create mode 100644 node_modules/select2/src/js/select2/i18n/hu.js create mode 100644 node_modules/select2/src/js/select2/i18n/hy.js create mode 100644 node_modules/select2/src/js/select2/i18n/id.js create mode 100644 node_modules/select2/src/js/select2/i18n/is.js create mode 100644 node_modules/select2/src/js/select2/i18n/it.js create mode 100644 node_modules/select2/src/js/select2/i18n/ja.js create mode 100644 node_modules/select2/src/js/select2/i18n/ka.js create mode 100644 node_modules/select2/src/js/select2/i18n/km.js create mode 100644 node_modules/select2/src/js/select2/i18n/ko.js create mode 100644 node_modules/select2/src/js/select2/i18n/lt.js create mode 100644 node_modules/select2/src/js/select2/i18n/lv.js create mode 100644 node_modules/select2/src/js/select2/i18n/mk.js create mode 100644 node_modules/select2/src/js/select2/i18n/ms.js create mode 100644 node_modules/select2/src/js/select2/i18n/nb.js create mode 100644 node_modules/select2/src/js/select2/i18n/ne.js create mode 100644 node_modules/select2/src/js/select2/i18n/nl.js create mode 100644 node_modules/select2/src/js/select2/i18n/pl.js create mode 100644 node_modules/select2/src/js/select2/i18n/ps.js create mode 100644 node_modules/select2/src/js/select2/i18n/pt-BR.js create mode 100644 node_modules/select2/src/js/select2/i18n/pt.js create mode 100644 node_modules/select2/src/js/select2/i18n/ro.js create mode 100644 node_modules/select2/src/js/select2/i18n/ru.js create mode 100644 node_modules/select2/src/js/select2/i18n/sk.js create mode 100644 node_modules/select2/src/js/select2/i18n/sl.js create mode 100644 node_modules/select2/src/js/select2/i18n/sq.js create mode 100644 node_modules/select2/src/js/select2/i18n/sr-Cyrl.js create mode 100644 node_modules/select2/src/js/select2/i18n/sr.js create mode 100644 node_modules/select2/src/js/select2/i18n/sv.js create mode 100644 node_modules/select2/src/js/select2/i18n/th.js create mode 100644 node_modules/select2/src/js/select2/i18n/tk.js create mode 100644 node_modules/select2/src/js/select2/i18n/tr.js create mode 100644 node_modules/select2/src/js/select2/i18n/uk.js create mode 100644 node_modules/select2/src/js/select2/i18n/vi.js create mode 100644 node_modules/select2/src/js/select2/i18n/zh-CN.js create mode 100644 node_modules/select2/src/js/select2/i18n/zh-TW.js create mode 100644 node_modules/select2/src/js/select2/keys.js create mode 100644 node_modules/select2/src/js/select2/options.js create mode 100644 node_modules/select2/src/js/select2/results.js create mode 100644 node_modules/select2/src/js/select2/selection/allowClear.js create mode 100644 node_modules/select2/src/js/select2/selection/base.js create mode 100644 node_modules/select2/src/js/select2/selection/clickMask.js create mode 100644 node_modules/select2/src/js/select2/selection/eventRelay.js create mode 100644 node_modules/select2/src/js/select2/selection/multiple.js create mode 100644 node_modules/select2/src/js/select2/selection/placeholder.js create mode 100644 node_modules/select2/src/js/select2/selection/search.js create mode 100644 node_modules/select2/src/js/select2/selection/single.js create mode 100644 node_modules/select2/src/js/select2/selection/stopPropagation.js create mode 100644 node_modules/select2/src/js/select2/translation.js create mode 100644 node_modules/select2/src/js/select2/utils.js create mode 100644 node_modules/select2/src/js/wrapper.end.js create mode 100644 node_modules/select2/src/js/wrapper.start.js create mode 100644 node_modules/select2/src/scss/_dropdown.scss create mode 100644 node_modules/select2/src/scss/_multiple.scss create mode 100644 node_modules/select2/src/scss/_single.scss create mode 100644 node_modules/select2/src/scss/core.scss create mode 100644 node_modules/select2/src/scss/mixins/_gradients.scss create mode 100644 node_modules/select2/src/scss/theme/classic/_defaults.scss create mode 100644 node_modules/select2/src/scss/theme/classic/_multiple.scss create mode 100644 node_modules/select2/src/scss/theme/classic/_single.scss create mode 100644 node_modules/select2/src/scss/theme/classic/layout.scss create mode 100644 node_modules/select2/src/scss/theme/default/_multiple.scss create mode 100644 node_modules/select2/src/scss/theme/default/_single.scss create mode 100644 node_modules/select2/src/scss/theme/default/layout.scss delete mode 100644 templates/default/form/select2/select2-spinner.gif delete mode 100644 templates/default/form/select2/select2.css delete mode 100644 templates/default/form/select2/select2.jquery.json delete mode 100644 templates/default/form/select2/select2.min.js delete mode 100644 templates/default/form/select2/select2.png delete mode 100644 templates/default/form/select2/select2_locale_ar.js delete mode 100644 templates/default/form/select2/select2_locale_bg.js delete mode 100644 templates/default/form/select2/select2_locale_ca.js delete mode 100644 templates/default/form/select2/select2_locale_cs.js delete mode 100644 templates/default/form/select2/select2_locale_da.js delete mode 100644 templates/default/form/select2/select2_locale_de.js delete mode 100644 templates/default/form/select2/select2_locale_el.js delete mode 100644 templates/default/form/select2/select2_locale_es.js delete mode 100644 templates/default/form/select2/select2_locale_et.js delete mode 100644 templates/default/form/select2/select2_locale_eu.js delete mode 100644 templates/default/form/select2/select2_locale_fi.js delete mode 100644 templates/default/form/select2/select2_locale_fr.js delete mode 100644 templates/default/form/select2/select2_locale_gl.js delete mode 100644 templates/default/form/select2/select2_locale_he.js delete mode 100644 templates/default/form/select2/select2_locale_hr.js delete mode 100644 templates/default/form/select2/select2_locale_hu.js delete mode 100644 templates/default/form/select2/select2_locale_id.js delete mode 100644 templates/default/form/select2/select2_locale_is.js delete mode 100644 templates/default/form/select2/select2_locale_it.js delete mode 100644 templates/default/form/select2/select2_locale_ja.js delete mode 100644 templates/default/form/select2/select2_locale_ko.js delete mode 100644 templates/default/form/select2/select2_locale_lt.js delete mode 100644 templates/default/form/select2/select2_locale_lv.js delete mode 100644 templates/default/form/select2/select2_locale_mk.js delete mode 100644 templates/default/form/select2/select2_locale_nl.js delete mode 100644 templates/default/form/select2/select2_locale_no.js delete mode 100644 templates/default/form/select2/select2_locale_pl.js delete mode 100644 templates/default/form/select2/select2_locale_pt-BR.js delete mode 100644 templates/default/form/select2/select2_locale_pt-PT.js delete mode 100644 templates/default/form/select2/select2_locale_ro.js delete mode 100644 templates/default/form/select2/select2_locale_ru.js delete mode 100644 templates/default/form/select2/select2_locale_sk.js delete mode 100644 templates/default/form/select2/select2_locale_sv.js delete mode 100644 templates/default/form/select2/select2_locale_th.js delete mode 100644 templates/default/form/select2/select2_locale_tr.js delete mode 100644 templates/default/form/select2/select2_locale_ua.js delete mode 100644 templates/default/form/select2/select2_locale_vi.js delete mode 100644 templates/default/form/select2/select2_locale_zh-CN.js delete mode 100755 templates/default/form/select2/select2_locale_zh-TW.js delete mode 100644 templates/default/form/select2/select2x2.png diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index e7546d58..6d3c5014 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -244,6 +244,12 @@ "rust-result": "^1.0.0" } }, + "node_modules/select2": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", + "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==", + "license": "MIT" + }, "node_modules/three": { "version": "0.125.2", "resolved": "https://registry.npmjs.org/three/-/three-0.125.2.tgz", diff --git a/node_modules/select2/CHANGELOG.md b/node_modules/select2/CHANGELOG.md new file mode 100644 index 00000000..d6b2a758 --- /dev/null +++ b/node_modules/select2/CHANGELOG.md @@ -0,0 +1,427 @@ +# Change Log + +## 4.0.13 + +### New features / improvements + +* Trigger `input` event before `change` events (#4649) +* Feed back the keypress code that was responsible for the 'close' event (#5513) +* Only trigger `selection:update` once on DOM change events (#5734) + +### Bug fixes + +* Prevent opening of disabled elements (#5751) + +### Documentation + +* Fix "edit this page" links in docs (#5689) + +### Miscellaneous + +* Registered Select2 on Open Collective (#5700, #5721, #5741) + +## 4.0.12 + +### Bug fixes + +* Fixes incorrect offset when using the Shadow DOM and styling the `` element (#5682) + +### Miscellaneous + +* Replace cdnjs with jsDelivr in the documentation (#5687) +* Fix incorrect provider for the automated NPM deployment (#5686) + +## 4.0.11 + +### Bug fixes + +* Fixes jQuery migrate error when getting offset when dropdownParent not in document (#5584) + +### Miscellaneous + +* Enable GitHub actions for CI (#5591) +* Documentation has been moved into and is deployed from the code repository (#5638) +* Remove Travis CI integration (#5665) + +## 4.0.10 + +### New features / improvements + +* Support passing in a selector for `dropdownParent` option (#5622) + +### Bug fixes + +* Fix bug where dropdowns pointing upwards were incorrectly positioned (#5621) + +## 4.0.9 + +### New features / improvements + +* Mirror disabled state through aria-disabled on selection (#5579) +* Select2 now clears the internal ID when it is destroyed (#5587) +* Set the main ARIA 1.1 roles and properties for comboboxes (#5582) +* The `language` option now has a clearly defined fallback chain (#5602) + +### Bug fixes + +* Do not propagate click when search box is not empty (#5580) +* Fix `maximumSelectionLength` being ignored by `closeOnSelect` (#5581) +* Fix generated options not receiving result IDs (#5586) +* Remove selection title attribute if text is empty (#5589) +* Reposition dropdown whenever items are selected (#5590) +* Fix dropdown positioning when displayed above with messages (#5592) +* Fix search box expanding width of container (#5595) +* `allowClear` no longer shifts selections to a new line (#5603) + +### Translations + +* Fix error in German translations (#5604) + +### Miscellaneous + +* Updated development grunt version so it no longer shows as vulnerable (#5597) +* Remove unused variables (#5554) + +## 4.0.8 + +### New features / improvements + +* Test against and fix compatibility with jQuery 3.4.1 (#5531) +* Results respect disabled state of `