{"version":3,"sources":["webpack:///./src/components/player/PlaylistItem.vue?2d06","webpack:///./src/components/player/BreadCrumbs.vue?1c15","webpack:///./src/assets/svg/default-video.svg","webpack:///./src/views/playersPlaylist.vue?0184","webpack:///./src/assets/svg/default-trigger.svg","webpack:///./src/assets/svg sync ^\\.\\/default\\-.*\\.svg$","webpack:///./src/assets/svg/default-cover.svg","webpack:///./src/views/playersPlaylist.vue?6bff","webpack:///./src/components/player/BreadCrumbs.vue?55b9","webpack:///src/components/player/BreadCrumbs.vue","webpack:///./src/components/player/BreadCrumbs.vue?04ed","webpack:///./src/components/player/BreadCrumbs.vue?12ac","webpack:///./src/components/player/PlaylistItem.vue?9f69","webpack:///src/components/player/PlaylistItem.vue","webpack:///./src/components/player/PlaylistItem.vue?ddf8","webpack:///./src/components/player/PlaylistItem.vue?ddec","webpack:///src/views/playersPlaylist.vue","webpack:///./src/views/playersPlaylist.vue?318d","webpack:///./src/views/playersPlaylist.vue?18bf","webpack:///./src/assets/svg/default-message.svg","webpack:///./src/assets/svg/default-flux.svg"],"names":["module","exports","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","render","_vm","this","_h","$createElement","_c","_self","class","isSingleSite","ref","staticClass","attrs","audioSrc","on","playPreview","_v","hasFlux","_s","detailBreadCrumbs","$route","matched","streamOptions","length","player","offer","fluxOptions","getPlaylist","model","value","callback","$$v","flux","expression","_e","$i18n","locale","Date","visibility","placement","$screens","default","sm","md","lg","xl","xxl","scopedSlots","_u","key","fn","inputValue","inputEvents","_g","dateFilter","playlistError","playlistLoaded","playlist","$t","_l","playlistItem","index","isPlayerItem","idFile","nativeOn","$event","getItemPreview","type","staticRenderFns","breadcrumbs","route","routerLink","meta","name","breadCrumb","detailPage","props","Array","String","Number","methods","routeName","$router","push","component","active","coverImg","imageLoadError","isOverflowing","playtime","hours","minutes","Type","required","Boolean","mounted","loaded","$refs","itemNameRef","offsetWidth","nameContainerRef","data","computed","userToken","$store","state","user","token","src","concat","addZero","val","img","require","itemType","event","target","components","BreadCrumbs","PlaylistItem","dot","color","dates","currentPlayingId","loadingCurrentPlaylist","created","_this","_asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","fetchPlaylists","stop","_this2","audioPreview","audioElem","addEventListener","watch","selectedSite","deep","handler","_handler","_callee2","_context2","path","query","apply","arguments","_objectSpread","skeletonOptionsPlayable","skeletonOptions","filter","skeletonPlayable","skeletonType","mapState","musique","streams","mapGetters","_this3","_callee3","res","_context3","playerService","getPlaylistItemAudio","sent","load","playBtn","click","pause","_this4","_callee4","_context4","dispatch","getPlayer","commit","idPlayer","setTimeout","extended","currentStream","currentSkeleton","play","params","IdBrand","IdSite","parseInt","IdStream","isStreamId","IdSkeleton","isSkeletonId","dateFormat","encodeServerDate","isStream","find","stream","idStream","isSkeleton","skeleton","idSkeleton"],"mappings":"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","file":"js/chunk-fb501e18.c9d59a5e.min.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaylistItem.vue?vue&type=style&index=0&id=70518dec&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=style&index=0&id=149ab8d7&prod&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/default-video.91c5617d.svg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./playersPlaylist.vue?vue&type=style&index=0&id=6fe8be99&prod&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/default-trigger.5f355eb9.svg\";","var map = {\n\t\"./default-cover.svg\": \"eacb\",\n\t\"./default-flux.svg\": \"f9b9\",\n\t\"./default-message.svg\": \"f4b2\",\n\t\"./default-trigger.svg\": \"8449\",\n\t\"./default-video.svg\": \"16ec\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"a4e1\";","module.exports = __webpack_public_path__ + \"img/default-cover.716d68da.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{class:{ 'pt-3': !_vm.isSingleSite }},[_c('audio',{ref:\"audioPreview\",staticClass:\"d-none\",attrs:{\"controls\":\"\"}},[_c('source',{attrs:{\"src\":_vm.audioSrc,\"type\":\"audio/mp3\"}})]),_c('button',{ref:\"playBtn\",staticClass:\"d-none\",on:{\"click\":_vm.playPreview}},[_vm._v(\"click\")]),_c('b-row',{staticClass:\"d-flex align-items-center\"},[_c('b-col',{staticClass:\"flex-grow-1\",attrs:{\"md\":_vm.hasFlux ? '12' : 'auto',\"lg\":\"auto\"}},[(_vm.isSingleSite)?_c('HPageTitle',[_vm._v(\" Playlist \"+_vm._s(_vm.detailBreadCrumbs)+\" \")]):_c('BreadCrumbs',{attrs:{\"breadcrumbs\":_vm.$route.matched,\"detailPage\":_vm.detailBreadCrumbs}})],1),_c('b-col',{staticClass:\"d-flex align-items-center pl-0 mt-3 mt-lg-0 justify-content-start justify-content-md-end playlist-filters\",class:{ 'd-flex align-items-center mb-3': _vm.isSingleSite },attrs:{\"cols\":\"auto\",\"md\":\"auto\",\"lg\":\"auto\"}},[(_vm.hasFlux)?_c('div',{staticClass:\"flux-selection mr-2 ml-3 ml-lg-0 w-100 w-lg-auto\"},[(_vm.streamOptions.length > 0 && _vm.player)?_c('h-select-flux',{attrs:{\"small\":\"\",\"bg-white\":\"\",\"placeholder\":\"Choisir un flux...\",\"playerType\":_vm.player.offer,\"options\":_vm.fluxOptions},on:{\"input\":_vm.getPlaylist},model:{value:(_vm.flux),callback:function ($$v) {_vm.flux=$$v},expression:\"flux\"}}):_vm._e()],1):_vm._e(),_c('v-date-picker',{attrs:{\"locale\":_vm.$i18n.locale,\"is-required\":\"\",\"mode\":\"date\",\"max-date\":new Date(),\"attributes\":_vm.attrs,\"popover\":{\n          visibility: 'click',\n          placement: _vm.$screens({\n            default: 'bottom-end',\n            sm: 'bottom-end',\n            md: 'bottom-end',\n            lg: 'bottom-end',\n            xl: 'bottom-end',\n            xxl: 'bottom-start',\n          }),\n        }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n        var inputValue = ref.inputValue;\n        var inputEvents = ref.inputEvents;\nreturn [_c('button',_vm._g({staticClass:\"playlist-date-picker\"},inputEvents),[_c('b-icon',{staticClass:\"mr-0 mr-md-2\",attrs:{\"icon\":\"calendar4-event\"}}),_c('span',{staticClass:\"d-none d-md-inline\"},[_vm._v(_vm._s(inputValue)+\" \")])],1)]}}]),model:{value:(_vm.dateFilter),callback:function ($$v) {_vm.dateFilter=$$v},expression:\"dateFilter\"}})],1)],1),(!_vm.playlistError)?_c('b-row',{class:{ 'mt-4': !_vm.isSingleSite }},[_c('b-col',[_c('h-card',{attrs:{\"p0\":\"\"}},[(_vm.playlistLoaded && _vm.playlist.length === 0)?_c('b-row',{staticClass:\"py-4\"},[_c('b-col',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t('player.noPlaylistDay'))+\" \")])],1):_vm._e(),_vm._l((_vm.playlist),function(playlistItem,index){return [_c('PlaylistItem',{key:index,attrs:{\"playlistItem\":playlistItem,\"active\":_vm.isPlayerItem(playlistItem.idFile)},nativeOn:{\"click\":function($event){return _vm.getItemPreview(playlistItem.idFile, playlistItem.type)}}})]}),(!_vm.playlistLoaded)?[_c('b-row',{staticClass:\"py-4\"},[_c('b-col',{staticClass:\"text-center\"},[_c('b-spinner',{staticClass:\"spinner mr-2\"}),_vm._v(\" \"+_vm._s(_vm.$t('player.playlistLoading'))+\" \")],1)],1)]:_vm._e()],2)],1)],1):_c('b-row',[_c('b-col',[_c('HServerError')],1)],1),_c('HScrollTopBtn')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.breadcrumbs.length > 0)?_c('div',{staticClass:\"bg-white shadow-sm breadcrumbs-container py-2 px-3 d-flex\"},_vm._l((_vm.breadcrumbs),function(route,index){return _c('span',{key:index,staticClass:\"text-truncate\"},[_c('span',{staticClass:\"name\",on:{\"click\":function($event){return _vm.routerLink(route.meta.name)}}},[(index > 0)?_c('b-icon',{staticClass:\"ico mx-2\",attrs:{\"icon\":\"chevron-double-right\",\"scale\":\"0.8\"}}):_vm._e(),_vm._v(\" \"+_vm._s(route.meta.breadCrumb)+\" \"),(index === _vm.breadcrumbs.length - 1)?_c('span',[(_vm.detailPage)?_c('span',[_vm._v(_vm._s(_vm.detailPage))]):_vm._e()]):_vm._e()],1)])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div>\r\n    <div\r\n      class=\"bg-white shadow-sm breadcrumbs-container py-2 px-3 d-flex\"\r\n      v-if=\"breadcrumbs.length > 0\"\r\n    >\r\n      <span\r\n        v-for=\"(route, index) in breadcrumbs\"\r\n        :key=\"index\"\r\n        class=\"text-truncate\"\r\n      >\r\n        <span class=\"name\" @click=\"routerLink(route.meta.name)\">\r\n          <b-icon\r\n            v-if=\"index > 0\"\r\n            icon=\"chevron-double-right\"\r\n            class=\"ico mx-2\"\r\n            scale=\"0.8\"\r\n          ></b-icon>\r\n          {{ route.meta.breadCrumb }}\r\n          <span v-if=\"index === breadcrumbs.length - 1\">\r\n            <span v-if=\"detailPage\">{{ detailPage }}</span>\r\n          </span>\r\n        </span>\r\n      </span>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    breadcrumbs: Array,\r\n    detailPage: {\r\n      type: [String, Number],\r\n      default: null,\r\n    },\r\n  },\r\n  methods: {\r\n    routerLink(routeName) {\r\n      this.$router.push({ name: routeName })\r\n    },\r\n  },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.breadcrumbs-container {\r\n  border-left: solid 3px $primary;\r\n  border-radius: 4px;\r\n  font-weight: 300;\r\n  height: 40px;\r\n  color: #848c9c;\r\n  span .name:hover {\r\n    text-decoration: underline;\r\n    cursor: pointer;\r\n  }\r\n  span:last-child .name {\r\n    font-weight: 600;\r\n    color: $primary;\r\n    pointer-events: none;\r\n  }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BreadCrumbs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BreadCrumbs.vue?vue&type=template&id=149ab8d7&scoped=true\"\nimport script from \"./BreadCrumbs.vue?vue&type=script&lang=js\"\nexport * from \"./BreadCrumbs.vue?vue&type=script&lang=js\"\nimport style0 from \"./BreadCrumbs.vue?vue&type=style&index=0&id=149ab8d7&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"149ab8d7\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"media-item\",class:{ 'is-playing': _vm.active }},[_c('b-row',{staticClass:\"flex-nowrap\"},[_c('b-col',{staticClass:\"d-flex align-items-center\",attrs:{\"cols\":\"9\",\"sm\":\" 10\",\"md\":\"9\"}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{staticClass:\"media-container relative mr-2\"},[_c('img',{staticClass:\"media-type\",attrs:{\"src\":_vm.playlistItem.type === 1 ? _vm.coverImg : _vm.imageLoadError,\"alt\":\"cover image\"},on:{\"error\":_vm.imageLoadError}}),_c('div',{staticClass:\"ico d-flex\"},[_c('b-icon',{attrs:{\"icon\":_vm.active ? 'pause-circle-fill' : 'play-circle-fill',\"scale\":\"1.5\"}})],1)])]),_c('div',{ref:\"nameContainerRef\",staticClass:\"name-container\"},[_c('span',{ref:\"itemNameRef\",staticClass:\"d-inline item-name ml-2\",class:{ 'text-float': _vm.isOverflowing }},[_vm._v(\" \"+_vm._s(_vm.playlistItem.name)+\" \")])])],1),_c('b-col',{staticClass:\"justify-content-end d-flex ml-auto align-items-center\",attrs:{\"cols\":\"3\",\"sm\":\"2\",\"md\":\"3\",\"lg\":\"auto\",\"xl\":\"auto\",\"xxl\":\"auto\"}},[_c('span',{staticClass:\"broadcast-time\"},[_c('b-icon',{staticClass:\"mr-md-2\",attrs:{\"icon\":\"broadcast\"}}),_c('span',{staticClass:\"d-none d-md-inline\"},[_vm._v(_vm._s(_vm.$t('player.broadcastAt')))]),_vm._v(\" \"+_vm._s(_vm.playlistItem.playtime.hours + 'h' + _vm.playlistItem.playtime.minutes)+\" \")],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"media-item\" :class=\"{ 'is-playing': active }\">\r\n    <b-row class=\"flex-nowrap\">\r\n      <b-col cols=\"9\" sm=\" 10\" md=\"9\" class=\"d-flex align-items-center\">\r\n        <transition name=\"fade\">\r\n          <div class=\"media-container relative mr-2\">\r\n            <img\r\n              :src=\"playlistItem.type === 1 ? coverImg : imageLoadError\"\r\n              alt=\"cover image\"\r\n              class=\"media-type\"\r\n              @error=\"imageLoadError\"\r\n            />\r\n            <div class=\"ico d-flex\">\r\n              <b-icon\r\n                :icon=\"active ? 'pause-circle-fill' : 'play-circle-fill'\"\r\n                scale=\"1.5\"\r\n              ></b-icon>\r\n            </div>\r\n          </div>\r\n        </transition>\r\n        <div class=\"name-container\" ref=\"nameContainerRef\">\r\n          <span\r\n            class=\"d-inline item-name ml-2\"\r\n            ref=\"itemNameRef\"\r\n            :class=\"{ 'text-float': isOverflowing }\"\r\n          >\r\n            {{ playlistItem.name }}\r\n          </span>\r\n        </div>\r\n      </b-col>\r\n      <b-col\r\n        cols=\"3\"\r\n        sm=\"2\"\r\n        md=\"3\"\r\n        lg=\"auto\"\r\n        xl=\"auto\"\r\n        xxl=\"auto\"\r\n        class=\"justify-content-end d-flex ml-auto align-items-center\"\r\n      >\r\n        <!-- <h-button\r\n          v-if=\"playlistItem.type === 2\"\r\n          transp\r\n          orange\r\n          class=\"no-white-space mr-3\"\r\n        >\r\n          <b-icon icon=\"calendar2-week-fill\" class=\"mr-lg-2\"></b-icon>\r\n          <span class=\"d-none d-lg-inline\">Voir la planification</span>\r\n        </h-button> -->\r\n        <span class=\"broadcast-time\">\r\n          <b-icon icon=\"broadcast\" class=\"mr-md-2\"></b-icon\r\n          ><span class=\"d-none d-md-inline\">{{\r\n            $t('player.broadcastAt')\r\n          }}</span>\r\n          {{\r\n            playlistItem.playtime.hours +\r\n              'h' +\r\n              playlistItem.playtime.minutes\r\n          }}\r\n        </span>\r\n      </b-col>\r\n    </b-row>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  props: {\r\n    playlistItem: {\r\n      Type: Object,\r\n      required: true,\r\n    },\r\n    active: {\r\n      Type: Boolean,\r\n      default: false,\r\n    },\r\n  },\r\n  mounted() {\r\n    this.loaded = true\r\n    if (\r\n      this.$refs.itemNameRef.offsetWidth >\r\n      this.$refs.nameContainerRef.offsetWidth\r\n    )\r\n      this.isOverflowing = true\r\n  },\r\n  data() {\r\n    return {\r\n      loaded: false,\r\n      isOverflowing: false,\r\n    }\r\n  },\r\n  computed: {\r\n    userToken() {\r\n      return this.$store.state.user.token\r\n    },\r\n    coverImg() {\r\n      const src = `https://fileapi.radioshop.net/getcover.aspx?idfile=${this.playlistItem.idFile}&ft=1201`\r\n      return src\r\n    },\r\n  },\r\n  methods: {\r\n    addZero(val) {\r\n      if (val < 10) return `0${val}`\r\n      else return val\r\n    },\r\n    imageLoadError() {\r\n      const img = require(`@/assets/svg/default-${this.itemType(\r\n        this.playlistItem.type\r\n      )}.svg`)\r\n\r\n      event.target.src = img\r\n    },\r\n    itemType(type) {\r\n      switch (type) {\r\n        case 0:\r\n          return ''\r\n        case 1:\r\n          return 'cover'\r\n        case 2:\r\n          return 'message'\r\n        case 3:\r\n          return 'video'\r\n        case 4:\r\n          return 'trigger'\r\n        default:\r\n          return 'cover'\r\n      }\r\n    },\r\n  },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.media-item {\r\n  .media-container .ico {\r\n    opacity: 0;\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 100%;\r\n    height: 100%;\r\n  }\r\n  &:hover,\r\n  &:active,\r\n  &.is-playing {\r\n    background: $h-hover-color;\r\n    color: $primary;\r\n    font-weight: 600;\r\n    .text-float {\r\n      position: absolute;\r\n      display: block;\r\n      animation: floatText 11s linear infinite;\r\n    }\r\n    .media-type {\r\n      filter: brightness(0.5);\r\n    }\r\n    .media-container .ico {\r\n      opacity: 1;\r\n    }\r\n  }\r\n  &:hover {\r\n    .media-type {\r\n      filter: brightness(0.5);\r\n    }\r\n  }\r\n}\r\n.media-item {\r\n  padding: 10px 15px;\r\n  color: $h-main-text;\r\n  cursor: pointer;\r\n  transition: 0.2s;\r\n  .col {\r\n    align-items: center;\r\n  }\r\n\r\n  .broadcast-time {\r\n    font-size: 0.95rem;\r\n    color: #848c9c;\r\n    font-style: italic;\r\n    white-space: nowrap;\r\n  }\r\n  .media-type {\r\n    transition: 0.3s;\r\n    width: 40px;\r\n    min-width: 40px;\r\n    height: 40px;\r\n    border-radius: 4px;\r\n  }\r\n  .name-container {\r\n    width: 100%;\r\n    height: 25px;\r\n    overflow: hidden;\r\n    position: relative;\r\n    text-overflow: ellipsis;\r\n  }\r\n\r\n  .item-name {\r\n    white-space: nowrap;\r\n  }\r\n}\r\n\r\n@media screen and (min-width: 576px) {\r\n  .broadcast-time {\r\n    white-space: nowrap;\r\n  }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaylistItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaylistItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PlaylistItem.vue?vue&type=template&id=70518dec&scoped=true\"\nimport script from \"./PlaylistItem.vue?vue&type=script&lang=js\"\nexport * from \"./PlaylistItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./PlaylistItem.vue?vue&type=style&index=0&id=70518dec&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"70518dec\",\n  null\n  \n)\n\nexport default component.exports","<template>\r\n  <b-container :class=\"{ 'pt-3': !isSingleSite }\">\r\n    <audio class=\"d-none\" ref=\"audioPreview\" controls>\r\n      <source :src=\"audioSrc\" type=\"audio/mp3\" />\r\n    </audio>\r\n    <button class=\"d-none\" ref=\"playBtn\" @click=\"playPreview\">click</button>\r\n    <b-row class=\"d-flex align-items-center\">\r\n      <b-col class=\"flex-grow-1\" :md=\"hasFlux ? '12' : 'auto'\" lg=\"auto\">\r\n        <HPageTitle v-if=\"isSingleSite\">\r\n          Playlist {{ detailBreadCrumbs }}\r\n        </HPageTitle>\r\n        <BreadCrumbs\r\n          v-else\r\n          :breadcrumbs=\"$route.matched\"\r\n          :detailPage=\"detailBreadCrumbs\"\r\n        />\r\n      </b-col>\r\n      <b-col\r\n        class=\"d-flex align-items-center pl-0 mt-3 mt-lg-0 justify-content-start justify-content-md-end playlist-filters\"\r\n        :class=\"{ 'd-flex align-items-center mb-3': isSingleSite }\"\r\n        cols=\"auto\"\r\n        md=\"auto\"\r\n        lg=\"auto\"\r\n      >\r\n        <div\r\n          class=\"flux-selection mr-2 ml-3 ml-lg-0 w-100 w-lg-auto\"\r\n          v-if=\"hasFlux\"\r\n        >\r\n          <h-select-flux\r\n            small\r\n            bg-white\r\n            v-model=\"flux\"\r\n            v-if=\"streamOptions.length > 0 && player\"\r\n            placeholder=\"Choisir un flux...\"\r\n            :playerType=\"player.offer\"\r\n            :options=\"fluxOptions\"\r\n            @input=\"getPlaylist\"\r\n          ></h-select-flux>\r\n        </div>\r\n        <v-date-picker\r\n          :locale=\"$i18n.locale\"\r\n          is-required\r\n          mode=\"date\"\r\n          :max-date=\"new Date()\"\r\n          :attributes=\"attrs\"\r\n          :popover=\"{\r\n            visibility: 'click',\r\n            placement: $screens({\r\n              default: 'bottom-end',\r\n              sm: 'bottom-end',\r\n              md: 'bottom-end',\r\n              lg: 'bottom-end',\r\n              xl: 'bottom-end',\r\n              xxl: 'bottom-start',\r\n            }),\r\n          }\"\r\n          v-model=\"dateFilter\"\r\n        >\r\n          <template v-slot=\"{ inputValue, inputEvents }\">\r\n            <button class=\"playlist-date-picker\" v-on=\"inputEvents\">\r\n              <b-icon icon=\"calendar4-event\" class=\"mr-0 mr-md-2\"></b-icon>\r\n              <span class=\"d-none d-md-inline\">{{ inputValue }} </span>\r\n            </button>\r\n          </template>\r\n        </v-date-picker>\r\n      </b-col>\r\n    </b-row>\r\n    <b-row :class=\"{ 'mt-4': !isSingleSite }\" v-if=\"!playlistError\">\r\n      <b-col>\r\n        <h-card p0>\r\n          <b-row v-if=\"playlistLoaded && playlist.length === 0\" class=\"py-4\">\r\n            <b-col class=\"text-center\">{{ $t('player.noPlaylistDay') }} </b-col>\r\n          </b-row>\r\n          <template v-for=\"(playlistItem, index) in playlist\">\r\n            <PlaylistItem\r\n              :key=\"index\"\r\n              @click.native=\"\r\n                getItemPreview(playlistItem.idFile, playlistItem.type)\r\n              \"\r\n              :playlistItem=\"playlistItem\"\r\n              :active=\"isPlayerItem(playlistItem.idFile)\"\r\n            />\r\n          </template>\r\n          <template v-if=\"!playlistLoaded\">\r\n            <b-row class=\"py-4\">\r\n              <b-col class=\"text-center\">\r\n                <b-spinner class=\"spinner mr-2\"></b-spinner>\r\n                {{ $t('player.playlistLoading') }}\r\n              </b-col>\r\n            </b-row>\r\n          </template>\r\n        </h-card>\r\n      </b-col>\r\n    </b-row>\r\n    <b-row v-else>\r\n      <b-col> <HServerError /> </b-col>\r\n    </b-row>\r\n    <HScrollTopBtn />\r\n  </b-container>\r\n</template>\r\n\r\n<script>\r\nimport { mapState, mapGetters } from 'vuex'\r\nimport playerService from '@/services/playerService'\r\nimport BreadCrumbs from '@/components/player/BreadCrumbs'\r\nimport PlaylistItem from '@/components/player/PlaylistItem'\r\n\r\nimport dateFormat from '@/components/dateFormat.js'\r\nexport default {\r\n  components: {\r\n    BreadCrumbs,\r\n    PlaylistItem,\r\n  },\r\n  props: {\r\n    id: {\r\n      type: [Number, String],\r\n      required: true,\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      player: null,\r\n      dateFilter: new Date(),\r\n      attrs: [\r\n        {\r\n          dot: {\r\n            color: 'blue',\r\n          },\r\n          dates: new Date(),\r\n        },\r\n      ],\r\n      audioSrc: null,\r\n      currentPlayingId: null,\r\n      flux: null,\r\n      loadingCurrentPlaylist: true,\r\n    }\r\n  },\r\n  async created() {\r\n    await this.fetchPlaylists()\r\n    this.getPlaylist()\r\n  },\r\n  mounted() {\r\n    if (this.$refs.audioPreview) {\r\n      let audioElem = this.$refs.audioPreview\r\n      audioElem.addEventListener('ended', () => {\r\n        this.audioSrc = null\r\n        this.currentPlayingId = null\r\n      })\r\n    }\r\n  },\r\n  watch: {\r\n    dateFilter() {\r\n      this.getPlaylist()\r\n    },\r\n    selectedSite: {\r\n      deep: true,\r\n      handler: async function() {\r\n        if (this.selectedSite && !this.loadingCurrentPlaylist) {\r\n          await this.$router.push({\r\n            path: `/players/${this.selectedSite.id}/playlist`,\r\n            query: { player: this.selectedSite.name },\r\n          })\r\n          await this.fetchPlaylists()\r\n          this.getPlaylist()\r\n        }\r\n      },\r\n    },\r\n  },\r\n  computed: {\r\n    skeletonOptionsPlayable() {\r\n      return this.skeletonOptions.filter(\r\n        (e) => e.skeletonPlayable && e.skeletonType === 20\r\n      )\r\n    },\r\n    hasFlux() {\r\n      return this.streamOptions && this.streamOptions.length > 1\r\n    },\r\n    detailBreadCrumbs() {\r\n      if (this.$route && this.$route.query.player)\r\n        return this.$route.query.player\r\n      else return ''\r\n    },\r\n    ...mapState({\r\n      playlist: (state) => state.playlist.playlist,\r\n      playlistLoaded: (state) => state.playlist.playlistLoaded,\r\n      playlistError: (state) => state.playlist.playlistError,\r\n      selectedSite: (state) => state.user.selectedSite,\r\n      streamOptions: (state) => state.musique.streams,\r\n    }),\r\n    ...mapGetters({\r\n      isSingleSite: 'user/isSingleSite',\r\n      skeletonOptions: 'musique/skeletonOptions',\r\n    }),\r\n    fluxOptions() {\r\n      const concat = this.streamOptions.concat(this.skeletonOptionsPlayable)\r\n      return concat\r\n    },\r\n  },\r\n  methods: {\r\n    async getItemPreview(idFile, type) {\r\n      if (idFile !== this.currentPlayingId) {\r\n        this.currentPlayingId = idFile\r\n        const res = await playerService.getPlaylistItemAudio(idFile, type)\r\n        if (res && res.data) {\r\n          this.audioSrc = res.data\r\n          this.$refs.audioPreview.load()\r\n          this.$refs.playBtn.click()\r\n        }\r\n      } else {\r\n        this.$refs.audioPreview.pause()\r\n        this.currentPlayingId = null\r\n        this.audioSrc = null\r\n      }\r\n    },\r\n    async fetchPlaylists() {\r\n      await this.$store.dispatch('musique/_getStreams')\r\n      await this.$store.dispatch('musique/_getSkeletons')\r\n      if (this.streamOptions.length === 0 && this.skeletonOptions.length > 0) {\r\n        this.$store.dispatch('musique/_pushDefaultStream')\r\n      }\r\n\r\n      this.loadingCurrentPlaylist = true\r\n      this.$store.dispatch('playlist/_playlistLoaded', false)\r\n      this.$store.dispatch('playlist/_clearPlaylist')\r\n      const res = await playerService.getPlayer(this.id)\r\n      this.player = res.data\r\n\r\n      this.$store.commit('user/SET_SELECTED_SITE', {\r\n        id: res.data.idPlayer,\r\n        name: res.data.name,\r\n      })\r\n\r\n      setTimeout(() => {\r\n        this.loadingCurrentPlaylist = false\r\n      }, 300)\r\n      if (this.player.extended) {\r\n        if (\r\n          this.player.extended.currentStream &&\r\n          this.player.extended.currentStream > 0\r\n        ) {\r\n          this.flux = this.player.extended.currentStream\r\n        } else if (\r\n          this.streamOptions.length &&\r\n          this.player.extended.currentSkeleton > 0\r\n        ) {\r\n          this.flux = this.player.extended.currentSkeleton\r\n        } else this.flux = 0\r\n      }\r\n    },\r\n    playPreview() {\r\n      this.$refs.audioPreview.play()\r\n    },\r\n    getPlaylist() {\r\n      if (this.$refs.audioPreview) this.$refs.audioPreview.pause()\r\n      this.audioSrc = null\r\n      this.currentPlayingId = null\r\n      this.$store.dispatch('playlist/_playlistLoaded', false)\r\n      const params = {\r\n        IdBrand: null,\r\n        IdSite: parseInt(this.selectedSite.id),\r\n        IdStream: this.isStreamId(this.flux) ? this.flux : -1,\r\n        IdSkeleton: this.isSkeletonId(this.flux) ? this.flux : -1,\r\n        Date: dateFormat.encodeServerDate(this.dateFilter),\r\n      }\r\n      this.$store.dispatch('playlist/_clearPlaylist')\r\n      this.$store.dispatch('playlist/_getPlaylist', params)\r\n    },\r\n    isStreamId(id) {\r\n      const isStream = this.streamOptions.find(\r\n        (stream) => stream.idStream === id\r\n      )\r\n      return isStream ? true : false\r\n    },\r\n    isSkeletonId(id) {\r\n      const isSkeleton = this.skeletonOptions.find(\r\n        (skeleton) => skeleton.idSkeleton === id\r\n      )\r\n      return isSkeleton ? true : false\r\n    },\r\n    isPlayerItem(idFile) {\r\n      return idFile === this.currentPlayingId\r\n    },\r\n  },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.mask {\r\n  display: none;\r\n  transition: opacity 2s;\r\n  z-index: 9;\r\n  position: absolute;\r\n  height: 100%;\r\n  width: 100%;\r\n  top: 0;\r\n  left: 0;\r\n  background: rgba($color: #000000, $alpha: 0.3);\r\n}\r\n.spinner {\r\n  height: 20px;\r\n  width: 20px;\r\n  border: 2px solid;\r\n  border-right: 2px solid transparent;\r\n  border-radius: 50%;\r\n}\r\n.playlist-date-picker {\r\n  width: 150px;\r\n  height: 40px;\r\n  background: $h-main-text;\r\n  color: white;\r\n  border: 0;\r\n  border-radius: 4px;\r\n  &:hover,\r\n  &:focus,\r\n  &:active {\r\n    background: darken($h-main-text, 10%) !important;\r\n    box-shadow: 0 5px 7px -2px #d4d4d4;\r\n  }\r\n}\r\n\r\n.flux-selection {\r\n  min-width: 280px;\r\n}\r\n\r\n@media (max-width: 767.5px) {\r\n  .playlist-date-picker {\r\n    width: 60px !important;\r\n  }\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./playersPlaylist.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./playersPlaylist.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./playersPlaylist.vue?vue&type=template&id=6fe8be99&scoped=true\"\nimport script from \"./playersPlaylist.vue?vue&type=script&lang=js\"\nexport * from \"./playersPlaylist.vue?vue&type=script&lang=js\"\nimport style0 from \"./playersPlaylist.vue?vue&type=style&index=0&id=6fe8be99&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6fe8be99\",\n  null\n  \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/default-message.5f355eb9.svg\";","module.exports = __webpack_public_path__ + \"img/default-flux.dc3d2c68.svg\";"],"sourceRoot":""}