audiofield-8.x-1.x-dev/js/audiojs.builder.js
js/audiojs.builder.js
/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(function ($, Drupal, once) {
'use strict';
Drupal.AudiofieldAudiojs = {};
Drupal.AudiofieldAudiojs.generate = function (context, settings) {
var elements = once('generate-audiojs', '#' + settings.element, context);
$.each(elements, 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, once);