12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /**
- * @file
- * Audiofield build WordPress audio player.
- */
- (($, Drupal) => {
- 'use strict';
- Drupal.AudiofieldWordpress = {};
- /**
- * Generate a wordpress 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.AudiofieldWordpress.generate = (context, file, settings) => {
- let autostartSetting = 'no';
- if (!!settings.autoplay) {
- autostartSetting = 'yes';
- }
- $.each($(context).find(`#wordpressaudioplayer_${file.unique_id}`).once('generate-waveform'), (index, item) => {
- AudioPlayer.embed($(item).attr('id'), {
- soundFile: file.file,
- titles: file.title,
- autostart: autostartSetting,
- loop: 'no',
- initialvolume: settings.volume,
- checkpolicy: 'yes',
- animation: settings.animate,
- });
- });
- };
- /**
- * Attach the behaviors to generate the audio player.
- *
- * @type {Drupal~behavior}
- *
- * @prop {Drupal~behaviorAttach} attach
- * Attaches generation of Wordpress audio players.
- */
- Drupal.behaviors.audiofieldwordpress = {
- attach: function buildWordpressPlayers(context, settings) {
- $.each(settings.audiofieldwordpress, (key, settingEntry) => {
- // Initialize the audioplayer.
- AudioPlayer.setup('/libraries/wordpress-audio/player.swf', {
- width: 400,
- initialvolume: settingEntry.volume,
- transparentpagebg: 'yes',
- });
- // Loop over the files.
- $.each(settingEntry.files, (key2, fileEntry) => {
- // Generate the player for each file.
- Drupal.AudiofieldWordpress.generate(context, fileEntry, settingEntry);
- });
- });
- },
- };
- })(jQuery, Drupal);
|