refreshless-8.x-1.x-dev/modules/refreshless_turbo/tests/modules/refreshless_turbo_event_test/js/events.js

modules/refreshless_turbo/tests/modules/refreshless_turbo_event_test/js/events.js
(function($, once) { $(once(
  'refreshless-turbo-event-test-events', document.documentElement,
)).each((i, html) => {

  'use strict';

  /**
   * List element id attribute.
   *
   * @type {String}
   */
  const id = 'refreshless-turbo-event-test-events';

  /**
   * The list jQuery collection.
   *
   * @type {jQuery}
   */
  const $list = $('<ol></ol>').attr('id', id);

  /**
   * Log an event to the event list.
   *
   * @param {String} type
   *   The event type. Used by tests to determine the event the list item
   *   represents.
   *
   * @param {String|HTMLElement|jQuery} content
   *   Optional content to insert into the list item.
   */
  const logEvent = (type, content) => {
    $list.append($(`<li data-event-type="${type}"></li>`).append(content));
  };

  $(html)
  .on('refreshless:load', (event) => {

    // We want to insert this into the page content both on initial load and
    // after each navigation to ensure it's always attached.
    $(event.target).find('main').append($list);

  }).on('refreshless:before-cache', (event) => {

    logEvent('before-cache', 'preparing page for cache');

  }).on('refreshless:attach', (event) => {

    logEvent('attach', 'attaching behaviours');

  }).on('refreshless:detach', (event) => {

    // We currently just test the 'unload' trigger, so this ignores other
    // triggers, such as 'refreshless:before-cache' and
    // 'refreshless:cached-snapshot'.
    if (event.detail.trigger !== 'unload') {
      return;
    }

    logEvent('detach', 'detaching behaviours');

  }).on('refreshless:navigation-response', (event) => {

    logEvent(
      'navigation-response', `navigated to <code>${
        event.detail.url.pathname
      }</code>`,
    );

  }).on('refreshless:drupal-settings-update', (event) => {

    logEvent(
      'drupal-settings-update', '<code>drupalSettings</code> has been updated',
    );

  });

}); })(jQuery, once);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc