/** * DO NOT EDIT THIS FILE. * See the following change record for more information, * https://www.drupal.org/node/2815083 * @preserve **/ (function ($, Drupal) { 'use strict'; Drupal.AudiofieldAudiojs = {}; Drupal.AudiofieldAudiojs.generate = function (context, settings) { $.each($(context).find('#' + settings.element).once('generate-audiojs'), function (index, item) { var audioPlayer = audiojs.create($(item).find('audio').get(0), { css: false, createPlayer: { markup: false, playPauseClass: 'play-pauseZ', scrubberClass: 'scrubberZ', progressClass: 'progressZ', loaderClass: 'loadedZ', timeClass: 'timeZ', durationClass: 'durationZ', playedClass: 'playedZ', errorMessageClass: 'error-messageZ', playingClass: 'playingZ', loadingClass: 'loadingZ', errorClass: 'errorZ' }, trackEnded: function trackEnded() { var next = $(context).find('#' + settings.element + ' ol li.playing').next(); if (!next.length) { next = $(context).find('#' + settings.element + ' ol li:first'); } next.addClass('playing').siblings().removeClass('playing'); audioPlayer.load($('a', next).attr('data-src')); audioPlayer.play(); } }); $(item).find('ol li:first').addClass('playing'); audioPlayer.load($(item).find('ol a:first').attr('data-src')); $(item).find('ol li').click(function (event) { event.preventDefault(); $(event.currentTarget).addClass('playing').siblings().removeClass('playing'); audioPlayer.load($('a', event.currentTarget).attr('data-src')); audioPlayer.play(); }); }); }; Drupal.behaviors.audiofieldaudiojs = { attach: function attach(context, settings) { $.each(settings.audiofieldaudiojs, function (key, settingEntry) { Drupal.AudiofieldAudiojs.generate(context, settingEntry); }); } }; })(jQuery, Drupal);