[FIXED] VIEWS и TOOLTIP неработающий после сортировки.

Главные вкладки

Аватар пользователя olejonok olejonok 17 июля 2015 в 11:08

Добрый день.

Обратил внимание, если VIEWS показывает таблицу с заголовками в HEADER в качестве критериев сортировки, то после сортировки перестают работать TOOLTIP на странице в этой таблице.
Что это такое?
Куда смотреть? Smile
Инициализацию TOOLTIP засовывать в DRUPALBEHAVIOR (предположение)?

Комментарии

Аватар пользователя olejonok olejonok 17 июля 2015 в 21:42

Модуль мощный.
Не могу найти документацию как его в DRUPAL использовать ?
Установить, установил. Включил модульки.

Добавил в настройках:
Один тестовый "qTip instance" - куча настроек, круто, покрутил ручки управления, сохранил.
> Each qTip instance can be used throughout the site to style a set of tooltips.

Вижу : "Образец текста" в колонке ПРИМЕР. Подчеркнут, типа ссылки. Ну, думаю, сейчас мне покажет как tooltip работает. Навожу мышкой (я ж помню, что настраивал показать на HOVER).

И НИФИГА не работает. Что-то не доделал? Что?

Курю интернет - куча просьб показать "с чем его едят?", есть ответы - прописать JQuery и qTip в потом javascript ... но мы же в Drupal. И модуль установлен уже.
И его скрипт через CDN уже на странице проинициализирован :

<script type="text/javascript" src="//cdn.jsdelivr.net/qtip2/2.2.1/jquery.qtip.js"></script>

и CSS его подцеплены...

...кхм...

Подскажите плиз.
Спасибо.

P.S> Консоль выдает : "TypeError: $.Deferred is not a function" Sad

Аватар пользователя olejonok olejonok 17 июля 2015 в 22:13

Данный вызов идет из этого файла
jQuery.qtips.js

        // If imagesLoaded is included, ensure images have loaded and return promise
        return ( $.fn.imagesLoaded ? element.imagesLoaded() : $.Deferred().resolve([]) )
                .done(function() { cache.waiting = FALSE; })
                .promise();
};
Аватар пользователя olejonok olejonok 18 июля 2015 в 0:02

Ясно. Туман проясняется.

Вообщем так:
Для админки выставлено : 1.4.4 (модуль какой-то глюкавил, пришлось "зажать")
Для сайта: 1.10

Иду смотреть примеры на сайте. Вылезаю из админки. Может все распогодится.

p.S. решил для админки поставить версию 1.8 и по-быстрому посмотреть Smile Да, все заработало.
Теперь надо вспомнить какой модуль не хотел работать со свежими версиями jQuery.
(вспомнил: были глюки админки http://www.drupal.ru/node/124378)

p.P.S. Тяжела и неказиста, жизнь отечественного программиста Smile

Аватар пользователя olejonok olejonok 17 июля 2015 в 23:08

тааак, надо учиться заново вообщем :

Есть поле во VIEWS.
Для эксперимента : Мы его перезаписываем значением [qtip: Text to display on page|Text to appear in tooltip].

Не пошло.

Что написали, то буквально и вылезло....
HTML разметку сразу вписывать получается надо? Идем экспериментировать..

Аватар пользователя boatsman boatsman 17 июля 2015 в 23:09

там все должно работать, если
подключается jQuery 1.6+
подключается сам плагин
подключается скрипт использующий плагин (из модуля js/qtip.js)
на странице присутствуют элементы с классами qtip-link и qtip-tooltip

Аватар пользователя olejonok olejonok 17 июля 2015 в 23:40

Это то я понимаю.
Я полю скармливаю сейчас HTMLы пока безрезультатно.

Например: машинное имя ToolTipа у нас 'testtip'

Во VIEW идем в поле и там в

Перезаписать результаты
[v] Заменить выводимое полем значение
пишем какой HTML ?

<div class="testtip">Hover me to see a tooltip</div>
<div class="hidden"> <!-- This class should hide the element, change it if needed -->
    <p><b>Complex HTML</b> for your tooltip <i>here</i>!</p>
</div>

Это пример из документации (http://qtip2.com/guides) не работает. Sad В тексте страницы данный код появляется буквально таким-же.

Попробуем в класс добавить через пробел : 'qtip-link'
Тут уже есть подвижки. В классе добавилось 'qtip-instance-':

<div style="" class="testtip qtip-link qtip-instance-">Hover me to see a tooltip</div>
<div class="hidden">
    <p><b>Complex HTML</b> for your tooltip <i>here</i>!</p>
</div>

и тоже не работает, хотя текст приобрел вид ссылочки...

Скорее всего и не должно работать, так как к этому HTML нужно еще обработчик писать:

// Grab all elements with the class "testtip"
$('.testtip').each(function() { // Notice the .each() loop, discussed below
    $(this).qtip({
        content: {
            text: $(this).next('div') // Use the "div" element next to this for the content
        }
    });
});

но мы то в DRUPAL.
Кхм... как их всех помирить...

Аватар пользователя olejonok olejonok 17 июля 2015 в 23:55

Так.

Правка гольного HTML отменяется.

Я пропустил из виду, что после установки модульков во VIEWS в опциях FIELDS появились дополнительные поля ввода:
[] Использовать для поля тултип
Заголовок тултипа:
Текст тултипа:
И в пулдаун меню в опциях указаны все Instance (в том числе и testtip).

Класс ! Это же здорово !

Но у меня засада.
При генерации страницы нет ни следа на мой тултип !
Я опечален...

Аватар пользователя olejonok olejonok 18 июля 2015 в 0:37

Отложил я VIEWS в сторонку.
Зашел по тупому в НОДУ и там по хрестоматийному вбил:

[qtip:текст ссылки|текст посказки]

Сгенерировал соотв. страницу. Полез в HTML:
Вижу, обработалось. По умолчанию тултип подставился верно:

<span style="" aria-describedby="qtip-0" data-hasqtip="0" class="qtip-link qtip-instance-testtip">текст ссылки</span>

но, нифига не работает Sad

Даже версию jQUERY указал 1.8 (мы помним, что в Админке при 1.8 все работает). А на сайте нифига не работает.
Что-то мысли у меня исчерпались....Где собака порылась?

Аватар пользователя olejonok olejonok 18 июля 2015 в 0:45

Кстати, при настройке ТУЛТИПА "цветовые схемы", в образце всегда показывается цвета по дефолту (на желтом фоне). Выставляй хоть красную тему, хоть темную - примеру без разницы. Хотя, установленное местоположение пример корректно воспроизводит.

так и должно быть? Или модулек работает "некорректно" ?

Аватар пользователя chimir chimir 18 июля 2015 в 1:25

"olejonok" wrote:
(мы помним, что в Админке при 1.8 все работает). А на сайте нифига не работает

проверьте в теме Бартик, если работает, ищите с чем конфликт в вашей теме. Было такое, только я подключал qtip без модуля.

Аватар пользователя olejonok olejonok 18 июля 2015 в 1:31

О! Спасибо.

Я тут немного от qTip отвлекся и решил вопрос, поднятый в первом посте.
пишем свой *.js модулек.
Его содержимое:

(function ($) {

        Drupal.behaviors.search_inventory = {
                attach : function(context, settings) {

        // TOOLTIP
            $('.for-example-tooltips').tooltip({
              selector: "[data-toggle=tooltip]",
              container: "body"
            });

                }
        };

}) (jQuery);

и все тултипы работают и после сортировки через AJAX (когда страница перестроилась).

Аватар пользователя olejonok olejonok 18 июля 2015 в 1:37

chimir, вы правы. в Бартике работает.

Вероятно конфликт с Tooltip'ом, встроенным в Bootstrap, который я поправил мессаджем выше.

Аватар пользователя olejonok olejonok 18 июля 2015 в 1:41

Будем считать вопрос закрытым.

Про qTip я буду иметь в виду, но сейчас его деинсталлирую. Хоть он и встраивается в поля и вьюшки, но мне плодить кучу тултипов в разном исполнении по всему сайту смысла нет. У пользователя глаза разбегутся.

Аватар пользователя sas@drupal.org sas@drupal.org 19 июля 2015 в 9:42

"olejonok" wrote:
Мы говорим о Tooltip встроенном в Bootstrap 3 ?

Можно с другой стороны - qTip лучше сильнее быстрее других "типов" которые я пробовал Smile