123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /**
- * @file
- * Audiofield build Projekktor audio player.
- */
- (($, Drupal) => {
- 'use strict';
- Drupal.AudiofieldProjekktor = {};
- /**
- * Generate a projekktor player.
- *
- * @param {jQuery} context
- * The Drupal context for which we are finding and generating this player.
- * @param {array} file
- * The audio file for which we are generating a player.
- * @param {jQuery} settings
- * The Drupal settings for this player..
- */
- Drupal.AudiofieldProjekktor.generate = (context, file, settings) => {
- $.each($(context).find(`#${file}`).once('generate-projekktor'), (index, item) => {
- projekktor($(item), {
- debug: false,
- playerFlashMP4: settings.swfpath,
- playerFlashMP3: settings.swfpath,
- enableFullscreen: false,
- streamType: 'http',
- controls: true,
- thereCanBeOnlyOne: true,
- volume: settings.volume,
- autoplay: !!settings.autoplay,
- plugin_display: {},
- }, {});
- });
- };
- /**
- * Attach the behaviors to generate the audio player.
- *
- * @type {Drupal~behavior}
- *
- * @prop {Drupal~behaviorAttach} attach
- * Attaches generation of Projekktor audio players.
- */
- Drupal.behaviors.audiofieldprojekktor = {
- attach: (context, settings) => {
- // Have to encapsulate because of the way library is created.
- jQuery(() => {
- $.each(settings.audiofieldprojekktor, (key, settingEntry) => {
- // Loop over the attached files.
- $.each(settingEntry.files, (key2, file) => {
- // Create the audioplayer for each file.
- Drupal.AudiofieldProjekktor.generate(context, file, settingEntry);
- });
- });
- });
- },
- };
- })(jQuery, Drupal);
|