/ / Полімер select2 елемент - jquery, jquery-select2, полімер

Елемент polymer select2 - jquery, jquery-select2, полімер

Я намагаюся перетворити чудовий віджет select2 jquery (https://github.com/ivaynberg/select2) в полімерному елементі для легкого використання. Мені вдалося отримати вибір ініціалізовано правильно, але я стикаюся з проблемами після ініціалізації. Зокрема, при натисканні клавіші select для її відкриття в сценарій select2 вводиться помилка під час розміщення спливаючого вікна. Ось репо з провальною реалізацією:

https://github.com/ivelander/x-select2

Хтось мав добрий успіх інтегруючи полімер із цим віджетом select2 або jquery взагалі? Будь-які пропозиції щодо того, як я можу змусити цей приклад працювати?

Відповіді:

0 для відповіді № 1

Обгортання плагінів jQuery в полімерний елемент наразі не працює надійно через необхідність jQuery отримати доступ до всіх вузлів документа, що заходять у межі тіньової DOM. Повне пояснення тут.


0 для відповіді № 2

Я зіткнувся з тим же питанням. Ви можете створити для цього хак, змусивши шаблон у Light DOM:

Polymer "my-select",

ready: () ->
$(@$.el).select2({
placeholder: "Foo..."
data: []
})
this

# Override parseDeclaration to force the template into the Light DOM
parseDeclaration: (elementElement) ->
@lightFromTemplate(@fetchTemplate(elementElement))

Тепер select2 зможе знайти належне зміщення контейнера select2.

Звичайно, ви повинні бути обережними, тому що якщо у вашому шаблоні є щось, що належить до Shadow DOM (наприклад, таблиця стилів), воно буде тепер у Light DOM.