UNPKG

@wordpress/block-library

Version:
8 lines (7 loc) 3.15 kB
{ "version": 3, "sources": ["../../src/playlist/view.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store, getContext, getElement } from '@wordpress/interactivity';\n\nstore(\n\t'core/playlist',\n\t{\n\t\tstate: {\n\t\t\tplaylists: {},\n\t\t\tget currentTrack() {\n\t\t\t\tconst { currentId, playlistId } = getContext();\n\t\t\t\tif ( ! currentId || ! playlistId ) {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\t\t\t\tconst playlist = this.playlists[ playlistId ];\n\t\t\t\tif ( ! playlist ) {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\t\t\t\treturn playlist.tracks[ currentId ] || {};\n\t\t\t},\n\t\t\tget isCurrentTrack() {\n\t\t\t\tconst { currentId, uniqueId } = getContext();\n\t\t\t\treturn currentId === uniqueId;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\tchangeTrack() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.currentId = context.uniqueId;\n\t\t\t\tcontext.isPlaying = true;\n\t\t\t},\n\t\t\tisPlaying() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.isPlaying = true;\n\t\t\t},\n\t\t\tisPaused() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.isPlaying = false;\n\t\t\t},\n\t\t\tnextSong() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst currentIndex = context.tracks.findIndex(\n\t\t\t\t\t( uniqueId ) => uniqueId === context.currentId\n\t\t\t\t);\n\t\t\t\tconst nextTrack = context.tracks[ currentIndex + 1 ];\n\t\t\t\tif ( nextTrack ) {\n\t\t\t\t\tcontext.currentId = nextTrack;\n\t\t\t\t\tconst { ref } = getElement();\n\t\t\t\t\t// Waits a moment before changing the track, since\n\t\t\t\t\t// immediately changing the track can be jarring.\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tref.play();\n\t\t\t\t\t}, 1000 );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\tautoPlay() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { ref } = getElement();\n\t\t\t\tif ( context.currentId && context.isPlaying ) {\n\t\t\t\t\tref.play();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{ lock: true }\n);\n"], "mappings": ";;;AAGA,2BAA8C;AAAA,IAE9C;AAAA,EACC;AAAA,EACA;AAAA,IACC,OAAO;AAAA,MACN,WAAW,CAAC;AAAA,MACZ,IAAI,eAAe;AAClB,cAAM,EAAE,WAAW,WAAW,QAAI,iCAAW;AAC7C,YAAK,CAAE,aAAa,CAAE,YAAa;AAClC,iBAAO,CAAC;AAAA,QACT;AACA,cAAM,WAAW,KAAK,UAAW,UAAW;AAC5C,YAAK,CAAE,UAAW;AACjB,iBAAO,CAAC;AAAA,QACT;AACA,eAAO,SAAS,OAAQ,SAAU,KAAK,CAAC;AAAA,MACzC;AAAA,MACA,IAAI,iBAAiB;AACpB,cAAM,EAAE,WAAW,SAAS,QAAI,iCAAW;AAC3C,eAAO,cAAc;AAAA,MACtB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR,cAAc;AACb,cAAM,cAAU,iCAAW;AAC3B,gBAAQ,YAAY,QAAQ;AAC5B,gBAAQ,YAAY;AAAA,MACrB;AAAA,MACA,YAAY;AACX,cAAM,cAAU,iCAAW;AAC3B,gBAAQ,YAAY;AAAA,MACrB;AAAA,MACA,WAAW;AACV,cAAM,cAAU,iCAAW;AAC3B,gBAAQ,YAAY;AAAA,MACrB;AAAA,MACA,WAAW;AACV,cAAM,cAAU,iCAAW;AAC3B,cAAM,eAAe,QAAQ,OAAO;AAAA,UACnC,CAAE,aAAc,aAAa,QAAQ;AAAA,QACtC;AACA,cAAM,YAAY,QAAQ,OAAQ,eAAe,CAAE;AACnD,YAAK,WAAY;AAChB,kBAAQ,YAAY;AACpB,gBAAM,EAAE,IAAI,QAAI,iCAAW;AAG3B,qBAAY,MAAM;AACjB,gBAAI,KAAK;AAAA,UACV,GAAG,GAAK;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,IACA,WAAW;AAAA,MACV,WAAW;AACV,cAAM,cAAU,iCAAW;AAC3B,cAAM,EAAE,IAAI,QAAI,iCAAW;AAC3B,YAAK,QAAQ,aAAa,QAAQ,WAAY;AAC7C,cAAI,KAAK;AAAA,QACV;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,EAAE,MAAM,KAAK;AACd;", "names": [] }