jplayer.builder.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /**
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/2815083
  5. * @preserve
  6. **/
  7. (function ($, Drupal) {
  8. 'use strict';
  9. Drupal.AudiofieldJplayer = {};
  10. Drupal.AudiofieldJplayer.generate = function (context, settings) {
  11. $('#jquery_jplayer_' + settings.unique_id, context).once('generate-jplayer').jPlayer({
  12. cssSelectorAncestor: '#jp_container_' + settings.unique_id
  13. }, {
  14. ready: function ready() {
  15. var mediaArray = {
  16. title: settings.description
  17. };
  18. mediaArray[settings.filetype] = settings.file;
  19. $('#jquery_jplayer_' + settings.unique_id, context).jPlayer('setMedia', mediaArray);
  20. },
  21. canplay: function canplay() {
  22. if (!!settings.autoplay) {
  23. $('#jquery_jplayer_' + settings.unique_id, context).jPlayer('play');
  24. }
  25. },
  26. swfPath: '/libraries/jplayer/dist/jplayer',
  27. supplied: settings.filetype,
  28. wmode: 'window',
  29. useStateClassSkin: true,
  30. autoBlur: false,
  31. smoothPlayBar: true,
  32. keyEnabled: true,
  33. remainingDuration: false,
  34. toggleDuration: false,
  35. volume: settings.volume
  36. });
  37. };
  38. Drupal.AudiofieldJplayer.generatePlaylist = function (context, settings) {
  39. $.each($(context).find('#jquery_jplayer_' + settings.unique_id).once('generate-jplayer'), function (index, item) {
  40. var thisPlaylist = new jPlayerPlaylist({
  41. jPlayer: $(item),
  42. cssSelectorAncestor: '#jp_container_' + settings.unique_id
  43. }, [], {
  44. canplay: function canplay() {
  45. if (!!settings.autoplay) {
  46. $(item).jPlayer('play');
  47. }
  48. },
  49. playlistOptions: {
  50. enableRemoveControls: false
  51. },
  52. swfPath: '/libraries/jplayer/dist/jplayer',
  53. wmode: 'window',
  54. useStateClassSkin: true,
  55. autoBlur: false,
  56. smoothPlayBar: true,
  57. keyEnabled: true,
  58. volume: settings.volume
  59. });
  60. $.each(settings.files, function (key, fileEntry) {
  61. var mediaArray = {
  62. title: fileEntry.description
  63. };
  64. mediaArray[fileEntry.filetype] = fileEntry.file;
  65. thisPlaylist.add(mediaArray);
  66. });
  67. });
  68. };
  69. Drupal.AudiofieldJplayer.generateCircle = function (context, file) {
  70. $.each($(context).find('#jquery_jplayer_' + file.fid).once('generate-jplayer'), function (index, item) {
  71. var mediaArray = {};
  72. mediaArray[file.filetype] = file.file;
  73. new CirclePlayer($(item), mediaArray, {
  74. cssSelectorAncestor: '#cp_container_' + file.fid,
  75. canplay: function canplay() {
  76. if (!!file.autoplay) {
  77. $(item).jPlayer('play');
  78. }
  79. },
  80. swfPath: '/libraries/jplayer/dist/jplayer',
  81. wmode: 'window',
  82. keyEnabled: true,
  83. supplied: file.filetype
  84. });
  85. });
  86. };
  87. Drupal.behaviors.audiofieldjplayer = {
  88. attach: function attach(context, settings) {
  89. $.each(settings.audiofieldjplayer, function (key, settingEntry) {
  90. if (settingEntry.playertype === 'default') {
  91. Drupal.AudiofieldJplayer.generate(context, settingEntry);
  92. } else if (settingEntry.playertype === 'playlist') {
  93. Drupal.AudiofieldJplayer.generatePlaylist(context, settingEntry);
  94. } else if (settingEntry.playertype === 'circle') {
  95. $.each(settingEntry.files, function (key2, fileEntry) {
  96. Drupal.AudiofieldJplayer.generateCircle(context, fileEntry);
  97. });
  98. }
  99. });
  100. }
  101. };
  102. })(jQuery, Drupal);