forked from rc/aircox
804 lines
125 KiB
JavaScript
804 lines
125 KiB
JavaScript
/******/ (function(modules) { // webpackBootstrap
|
||
/******/ // install a JSONP callback for chunk loading
|
||
/******/ function webpackJsonpCallback(data) {
|
||
/******/ var chunkIds = data[0];
|
||
/******/ var moreModules = data[1];
|
||
/******/ var executeModules = data[2];
|
||
/******/
|
||
/******/ // add "moreModules" to the modules object,
|
||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||
/******/ var moduleId, chunkId, i = 0, resolves = [];
|
||
/******/ for(;i < chunkIds.length; i++) {
|
||
/******/ chunkId = chunkIds[i];
|
||
/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||
/******/ resolves.push(installedChunks[chunkId][0]);
|
||
/******/ }
|
||
/******/ installedChunks[chunkId] = 0;
|
||
/******/ }
|
||
/******/ for(moduleId in moreModules) {
|
||
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
||
/******/ modules[moduleId] = moreModules[moduleId];
|
||
/******/ }
|
||
/******/ }
|
||
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
|
||
/******/
|
||
/******/ while(resolves.length) {
|
||
/******/ resolves.shift()();
|
||
/******/ }
|
||
/******/
|
||
/******/ // add entry modules from loaded chunk to deferred list
|
||
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
|
||
/******/
|
||
/******/ // run deferred modules when all chunks ready
|
||
/******/ return checkDeferredModules();
|
||
/******/ };
|
||
/******/ function checkDeferredModules() {
|
||
/******/ var result;
|
||
/******/ for(var i = 0; i < deferredModules.length; i++) {
|
||
/******/ var deferredModule = deferredModules[i];
|
||
/******/ var fulfilled = true;
|
||
/******/ for(var j = 1; j < deferredModule.length; j++) {
|
||
/******/ var depId = deferredModule[j];
|
||
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
|
||
/******/ }
|
||
/******/ if(fulfilled) {
|
||
/******/ deferredModules.splice(i--, 1);
|
||
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
||
/******/ }
|
||
/******/ }
|
||
/******/
|
||
/******/ return result;
|
||
/******/ }
|
||
/******/
|
||
/******/ // The module cache
|
||
/******/ var installedModules = {};
|
||
/******/
|
||
/******/ // object to store loaded and loading chunks
|
||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||
/******/ // Promise = chunk loading, 0 = chunk loaded
|
||
/******/ var installedChunks = {
|
||
/******/ "admin": 0
|
||
/******/ };
|
||
/******/
|
||
/******/ var deferredModules = [];
|
||
/******/
|
||
/******/ // The require function
|
||
/******/ function __webpack_require__(moduleId) {
|
||
/******/
|
||
/******/ // Check if module is in cache
|
||
/******/ if(installedModules[moduleId]) {
|
||
/******/ return installedModules[moduleId].exports;
|
||
/******/ }
|
||
/******/ // Create a new module (and put it into the cache)
|
||
/******/ var module = installedModules[moduleId] = {
|
||
/******/ i: moduleId,
|
||
/******/ l: false,
|
||
/******/ exports: {}
|
||
/******/ };
|
||
/******/
|
||
/******/ // Execute the module function
|
||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||
/******/
|
||
/******/ // Flag the module as loaded
|
||
/******/ module.l = true;
|
||
/******/
|
||
/******/ // Return the exports of the module
|
||
/******/ return module.exports;
|
||
/******/ }
|
||
/******/
|
||
/******/
|
||
/******/ // expose the modules object (__webpack_modules__)
|
||
/******/ __webpack_require__.m = modules;
|
||
/******/
|
||
/******/ // expose the module cache
|
||
/******/ __webpack_require__.c = installedModules;
|
||
/******/
|
||
/******/ // define getter function for harmony exports
|
||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||
/******/ }
|
||
/******/ };
|
||
/******/
|
||
/******/ // define __esModule on exports
|
||
/******/ __webpack_require__.r = function(exports) {
|
||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||
/******/ }
|
||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
/******/ };
|
||
/******/
|
||
/******/ // create a fake namespace object
|
||
/******/ // mode & 1: value is a module id, require it
|
||
/******/ // mode & 2: merge all properties of value into the ns
|
||
/******/ // mode & 4: return value when already ns object
|
||
/******/ // mode & 8|1: behave like require
|
||
/******/ __webpack_require__.t = function(value, mode) {
|
||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||
/******/ if(mode & 8) return value;
|
||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||
/******/ var ns = Object.create(null);
|
||
/******/ __webpack_require__.r(ns);
|
||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||
/******/ return ns;
|
||
/******/ };
|
||
/******/
|
||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||
/******/ __webpack_require__.n = function(module) {
|
||
/******/ var getter = module && module.__esModule ?
|
||
/******/ function getDefault() { return module['default']; } :
|
||
/******/ function getModuleExports() { return module; };
|
||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||
/******/ return getter;
|
||
/******/ };
|
||
/******/
|
||
/******/ // Object.prototype.hasOwnProperty.call
|
||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||
/******/
|
||
/******/ // __webpack_public_path__
|
||
/******/ __webpack_require__.p = "";
|
||
/******/
|
||
/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
|
||
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
||
/******/ jsonpArray.push = webpackJsonpCallback;
|
||
/******/ jsonpArray = jsonpArray.slice();
|
||
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
|
||
/******/ var parentJsonpFunction = oldJsonpFunction;
|
||
/******/
|
||
/******/
|
||
/******/ // add entry module to deferred list
|
||
/******/ deferredModules.push(["./assets/admin/index.js","vendor"]);
|
||
/******/ // run deferred modules when ready
|
||
/******/ return checkDeferredModules();
|
||
/******/ })
|
||
/************************************************************************/
|
||
/******/ ({
|
||
|
||
/***/ "./assets/admin/admin.scss":
|
||
/*!*********************************!*\
|
||
!*** ./assets/admin/admin.scss ***!
|
||
\*********************************/
|
||
/*! no static exports found */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/admin/admin.scss?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/admin/index.js":
|
||
/*!*******************************!*\
|
||
!*** ./assets/admin/index.js ***!
|
||
\*******************************/
|
||
/*! no exports provided */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n/* harmony import */ var _admin_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./admin.scss */ \"./assets/admin/admin.scss\");\n/* harmony import */ var _admin_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_admin_scss__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _statistics_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./statistics.vue */ \"./assets/admin/statistics.vue\");\n/* harmony import */ var public__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! public */ \"./assets/public/index.js\");\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-statistics', _statistics_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n\n\n\nwindow.aircox_admin = {\n /**\n * Filter items in the parent navbar-dropdown for provided key event on text input\n */\n filter_menu: function(event) {\n var filter = new RegExp(event.target.value, 'gi');\n var container = event.target.closest('.navbar-dropdown');\n\n if(event.target.value)\n for(var item of container.querySelectorAll('a.navbar-item'))\n item.style.display = item.innerHTML.search(filter) == -1 ? 'none' : null;\n else\n for(var item of container.querySelectorAll('a.navbar-item'))\n item.style.display = null;\n },\n\n}\n\n\n\n\n\n\n//# sourceURL=webpack:///./assets/admin/index.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/admin/statistics.vue":
|
||
/*!*************************************!*\
|
||
!*** ./assets/admin/statistics.vue ***!
|
||
\*************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _statistics_vue_vue_type_template_id_47005a51___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./statistics.vue?vue&type=template&id=47005a51& */ \"./assets/admin/statistics.vue?vue&type=template&id=47005a51&\");\n/* harmony import */ var _statistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./statistics.vue?vue&type=script&lang=js& */ \"./assets/admin/statistics.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _statistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _statistics_vue_vue_type_template_id_47005a51___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _statistics_vue_vue_type_template_id_47005a51___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/admin/statistics.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/admin/statistics.vue?vue&type=script&lang=js&":
|
||
/*!**************************************************************!*\
|
||
!*** ./assets/admin/statistics.vue?vue&type=script&lang=js& ***!
|
||
\**************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_statistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./statistics.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/admin/statistics.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_statistics_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/admin/statistics.vue?vue&type=template&id=47005a51&":
|
||
/*!********************************************************************!*\
|
||
!*** ./assets/admin/statistics.vue?vue&type=template&id=47005a51& ***!
|
||
\********************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_statistics_vue_vue_type_template_id_47005a51___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./statistics.vue?vue&type=template&id=47005a51& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/admin/statistics.vue?vue&type=template&id=47005a51&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_statistics_vue_vue_type_template_id_47005a51___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_statistics_vue_vue_type_template_id_47005a51___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/app.js":
|
||
/*!******************************!*\
|
||
!*** ./assets/public/app.js ***!
|
||
\******************************/
|
||
/*! exports provided: defaultConfig, default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultConfig\", function() { return defaultConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AppBuilder; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n\n\nconst defaultConfig = {\n el: '#app',\n delimiters: ['[[', ']]'],\n\n computed: {\n player() { return window.aircox.player; },\n },\n}\n\n\nclass AppBuilder {\n constructor(config={}) {\n this._config = config;\n this.title = null;\n this.app = null;\n }\n\n get config() {\n let config = this._config instanceof Function ? this._config() : this._config;\n for(var k of new Set([...Object.keys(config || {}), ...Object.keys(defaultConfig)])) {\n if(!config[k] && defaultConfig[k])\n config[k] = defaultConfig[k]\n else if(config[k] instanceof Object)\n config[k] = {...defaultConfig[k], ...config[k]}\n }\n return config;\n }\n\n set config(value) {\n this._config = value;\n }\n\n destroy() {\n self.app && self.app.$destroy();\n self.app = null;\n }\n\n fetch(url, options) {\n return fetch(url, options).then(response => response.text())\n .then(content => {\n let doc = new DOMParser().parseFromString(content, 'text/html');\n let app = doc.getElementById('app');\n content = app ? app.innerHTML : content;\n return this.load({sync: true, content, title: doc.title, url })\n })\n }\n\n load({async=false,content=null,title=null}={}) {\n var self = this;\n return new Promise((resolve, reject) => {\n let func = () => {\n try {\n let config = self.config;\n const el = document.querySelector(config.el);\n if(!el)\n return reject(`Error: can't get element ${config.el}`)\n\n if(content)\n el.innerHTML = content\n if(title)\n document.title = title;\n this.app = new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"](config);\n resolve(self.app)\n } catch(error) {\n self.destroy();\n reject(error)\n }};\n async ? window.addEventListener('load', func) : func();\n });\n }\n\n /// Save application state into browser history\n historySave(url,replace=false) {\n const el = document.querySelector(this.config.el);\n const state = {\n content: el.innerHTML,\n title: document.title,\n };\n\n if(replace)\n history.replaceState(state, '', url)\n else\n history.pushState(state, '', url)\n }\n\n /// Load application from browser history's state\n historyLoad(state) {\n return this.load({ content: state.content, title: state.title });\n }\n}\n\n\n\n\n//# sourceURL=webpack:///./assets/public/app.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/autocomplete.vue":
|
||
/*!****************************************!*\
|
||
!*** ./assets/public/autocomplete.vue ***!
|
||
\****************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _autocomplete_vue_vue_type_template_id_70936760___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./autocomplete.vue?vue&type=template&id=70936760& */ \"./assets/public/autocomplete.vue?vue&type=template&id=70936760&\");\n/* harmony import */ var _autocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autocomplete.vue?vue&type=script&lang=js& */ \"./assets/public/autocomplete.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _autocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _autocomplete_vue_vue_type_template_id_70936760___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _autocomplete_vue_vue_type_template_id_70936760___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/autocomplete.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/autocomplete.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/autocomplete.vue?vue&type=script&lang=js&":
|
||
/*!*****************************************************************!*\
|
||
!*** ./assets/public/autocomplete.vue?vue&type=script&lang=js& ***!
|
||
\*****************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_autocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./autocomplete.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/autocomplete.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_autocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/autocomplete.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/autocomplete.vue?vue&type=template&id=70936760&":
|
||
/*!***********************************************************************!*\
|
||
!*** ./assets/public/autocomplete.vue?vue&type=template&id=70936760& ***!
|
||
\***********************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_autocomplete_vue_vue_type_template_id_70936760___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./autocomplete.vue?vue&type=template&id=70936760& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/autocomplete.vue?vue&type=template&id=70936760&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_autocomplete_vue_vue_type_template_id_70936760___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_autocomplete_vue_vue_type_template_id_70936760___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/autocomplete.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/episode.vue":
|
||
/*!***********************************!*\
|
||
!*** ./assets/public/episode.vue ***!
|
||
\***********************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _episode_vue_vue_type_template_id_a790897a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./episode.vue?vue&type=template&id=a790897a& */ \"./assets/public/episode.vue?vue&type=template&id=a790897a&\");\n/* harmony import */ var _episode_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./episode.vue?vue&type=script&lang=js& */ \"./assets/public/episode.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _episode_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _episode_vue_vue_type_template_id_a790897a___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _episode_vue_vue_type_template_id_a790897a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/episode.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/episode.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/episode.vue?vue&type=script&lang=js&":
|
||
/*!************************************************************!*\
|
||
!*** ./assets/public/episode.vue?vue&type=script&lang=js& ***!
|
||
\************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_episode_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./episode.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/episode.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_episode_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/episode.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/episode.vue?vue&type=template&id=a790897a&":
|
||
/*!******************************************************************!*\
|
||
!*** ./assets/public/episode.vue?vue&type=template&id=a790897a& ***!
|
||
\******************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_episode_vue_vue_type_template_id_a790897a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./episode.vue?vue&type=template&id=a790897a& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/episode.vue?vue&type=template&id=a790897a&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_episode_vue_vue_type_template_id_a790897a___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_episode_vue_vue_type_template_id_a790897a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/episode.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/index.js":
|
||
/*!********************************!*\
|
||
!*** ./assets/public/index.js ***!
|
||
\********************************/
|
||
/*! no exports provided */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n/* harmony import */ var _fortawesome_fontawesome_free_css_all_min_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @fortawesome/fontawesome-free/css/all.min.css */ \"./node_modules/@fortawesome/fontawesome-free/css/all.min.css\");\n/* harmony import */ var _fortawesome_fontawesome_free_css_all_min_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_fortawesome_fontawesome_free_css_all_min_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _fortawesome_fontawesome_free_css_fontawesome_min_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fortawesome/fontawesome-free/css/fontawesome.min.css */ \"./node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css\");\n/* harmony import */ var _fortawesome_fontawesome_free_css_fontawesome_min_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_fortawesome_fontawesome_free_css_fontawesome_min_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app */ \"./assets/public/app.js\");\n/* harmony import */ var _sound__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sound */ \"./assets/public/sound.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./model */ \"./assets/public/model.js\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./styles.scss */ \"./assets/public/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _autocomplete__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./autocomplete */ \"./assets/public/autocomplete.vue\");\n/* harmony import */ var _episode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./episode */ \"./assets/public/episode.vue\");\n/* harmony import */ var _player__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./player */ \"./assets/public/player.vue\");\n/* harmony import */ var _playlist__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./playlist */ \"./assets/public/playlist.vue\");\n/* harmony import */ var _soundItem__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./soundItem */ \"./assets/public/soundItem.vue\");\n/**\n * This module includes code available for both the public website and\n * administration interface)\n */\n//-- vendor\n\n\n\n\n\n\n//-- aircox\n\n\n\n\n\n\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-autocomplete', _autocomplete__WEBPACK_IMPORTED_MODULE_7__[\"default\"])\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-episode', _episode__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-player', _player__WEBPACK_IMPORTED_MODULE_9__[\"default\"])\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-playlist', _playlist__WEBPACK_IMPORTED_MODULE_10__[\"default\"])\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-sound-item', _soundItem__WEBPACK_IMPORTED_MODULE_11__[\"default\"])\n\n\nwindow.aircox = {\n // main application\n appBuilder: null,\n appConfig: {},\n get app() { return this.appBuilder.app },\n\n // player application\n playerBuilder: null,\n get playerApp() { return this.playerBuilder && this.playerBuilder.app },\n get player() { return this.playerApp && this.playerApp.$refs.player },\n\n // Handle hot-reload (link click and form submits).\n onPageFetch(event) {\n let submit = event.type == 'submit';\n let target = submit || event.target.tagName == 'A'\n ? event.target : event.target.closest('a');\n if(!target || target.hasAttribute('target'))\n return;\n\n let url = submit ? target.getAttribute('action') || ''\n : target.getAttribute('href');\n if(url===null || !(url === '' || url.startsWith('/') || url.startsWith('?')))\n return;\n\n let options = {};\n if(submit) {\n let formData = new FormData(event.target);\n if(target.method == 'get')\n url += '?' + (new URLSearchParams(formData)).toString();\n else {\n options['method'] = target.method;\n options['body'] = formData;\n }\n }\n this.appBuilder.fetch(url, options).then(app => {\n this.appBuilder.historySave(url);\n });\n event.preventDefault();\n event.stopPropagation();\n },\n\n Set: _model__WEBPACK_IMPORTED_MODULE_5__[\"Set\"], Sound: _sound__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n};\nwindow.Vue = vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\n\naircox.playerBuilder = new _app__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({el: '#player'});\naircox.playerBuilder.load({async:true});\naircox.appBuilder = new _app__WEBPACK_IMPORTED_MODULE_3__[\"default\"](x => window.aircox.appConfig);\naircox.appBuilder.load({async:true}).then(app => {\n aircox.appBuilder.historySave(document.location, true);\n\n //-- load page hooks\n window.addEventListener('click', event => aircox.onPageFetch(event), true);\n window.addEventListener('submit', event => aircox.onPageFetch(event), true);\n window.addEventListener('popstate', event => {\n if(event.state && event.state.content) {\n document.title = aircox.appBuilder.title;\n aircox.appBuilder.historyLoad(event.state);\n }\n });\n})\n\n\n\n\n//# sourceURL=webpack:///./assets/public/index.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/list.vue":
|
||
/*!********************************!*\
|
||
!*** ./assets/public/list.vue ***!
|
||
\********************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _list_vue_vue_type_template_id_6a3adbf4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list.vue?vue&type=template&id=6a3adbf4& */ \"./assets/public/list.vue?vue&type=template&id=6a3adbf4&\");\n/* harmony import */ var _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./list.vue?vue&type=script&lang=js& */ \"./assets/public/list.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _list_vue_vue_type_template_id_6a3adbf4___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _list_vue_vue_type_template_id_6a3adbf4___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/list.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/list.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/list.vue?vue&type=script&lang=js&":
|
||
/*!*********************************************************!*\
|
||
!*** ./assets/public/list.vue?vue&type=script&lang=js& ***!
|
||
\*********************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./list.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/list.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/list.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/list.vue?vue&type=template&id=6a3adbf4&":
|
||
/*!***************************************************************!*\
|
||
!*** ./assets/public/list.vue?vue&type=template&id=6a3adbf4& ***!
|
||
\***************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_6a3adbf4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./list.vue?vue&type=template&id=6a3adbf4& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/list.vue?vue&type=template&id=6a3adbf4&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_6a3adbf4___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_list_vue_vue_type_template_id_6a3adbf4___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/list.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/live.js":
|
||
/*!*******************************!*\
|
||
!*** ./assets/public/live.js ***!
|
||
\*******************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Live; });\n/* harmony import */ var public_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! public/utils */ \"./assets/public/utils.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./model */ \"./assets/public/model.js\");\n\n\n\nclass Live {\n constructor({url,timeout=10,src=\"\"}={}) {\n this.url = url;\n this.timeout = timeout;\n this.src = src;\n\n this.promise = null;\n this.items = [];\n }\n\n get current() {\n let items = this.logs && this.logs.items;\n let item = items && items[items.length-1];\n if(item)\n item.src = this.src;\n return item ? new _model__WEBPACK_IMPORTED_MODULE_1__[\"default\"](item) : null;\n }\n\n //-- data refreshing\n drop() {\n this.promise = null;\n }\n\n fetch() {\n const promise = fetch(this.url).then(response =>\n response.ok ? response.json()\n : Promise.reject(response)\n ).then(data => {\n this.items = data;\n return this.items\n })\n\n this.promise = promise;\n return promise;\n }\n\n refresh() {\n const promise = this.fetch();\n promise.then(data => {\n if(promise != this.promise)\n return [];\n\n Object(public_utils__WEBPACK_IMPORTED_MODULE_0__[\"setEcoTimeout\"])(() => this.refresh(), this.timeout*1000)\n })\n return promise\n }\n}\n\n\n\n//# sourceURL=webpack:///./assets/public/live.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/model.js":
|
||
/*!********************************!*\
|
||
!*** ./assets/public/model.js ***!
|
||
\********************************/
|
||
/*! exports provided: getCsrf, default, Set */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getCsrf\", function() { return getCsrf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Model; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Set\", function() { return Set; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n\n\nfunction getCookie(name) {\n if(document.cookie && document.cookie !== '') {\n const cookie = document.cookie.split(';')\n .find(c => c.trim().startsWith(name + '='))\n return cookie ? decodeURIComponent(cookie.split('=')[1]) : null;\n }\n return null;\n}\n\nvar csrfToken = null;\n\nfunction getCsrf() {\n if(csrfToken === null)\n csrfToken = getCookie('csrftoken')\n return csrfToken;\n}\n\n\n// TODO: prevent duplicate simple fetch\nclass Model {\n constructor(data, {url=null}={}) {\n this.url = url;\n this.commit(data);\n }\n\n /**\n * Get instance id from its data\n */\n static getId(data) {\n return data.id;\n }\n\n /**\n * Return fetch options\n */\n static getOptions(options) {\n return {\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'X-CSRFToken': getCsrf(),\n },\n ...options,\n }\n }\n\n /**\n * Fetch item from server\n */\n static fetch(url, options=null, args=null) {\n options = this.getOptions(options)\n return fetch(url, options)\n .then(response => response.json())\n .then(data => new this(data, {url: url, ...args}));\n }\n\n /**\n * Fetch data from server.\n */\n fetch(options) {\n options = this.constructor.getOptions(options)\n return fetch(this.url, options)\n .then(response => response.json())\n .then(data => this.commit(data));\n }\n\n /**\n * Call API action on object.\n */\n action(path, options, commit=false) {\n options = this.constructor.getOptions(options)\n const promise = fetch(this.url + path, options);\n return commit ? promise.then(data => data.json())\n .then(data => { this.commit(data); this.data })\n : promise;\n }\n\n /**\n * Update instance's data with provided data. Return None\n */\n commit(data) {\n this.id = this.constructor.getId(data);\n vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].set(this, 'data', data);\n }\n\n /**\n * Save instance into localStorage.\n */\n store(key) {\n window.localStorage.setItem(key, JSON.stringify(this.data));\n }\n\n /**\n * Load model instance from localStorage.\n */\n static storeLoad(key) {\n let item = window.localStorage.getItem(key);\n return item === null ? item : new this(JSON.parse(item));\n }\n}\n\n\n/**\n * List of models\n */\nclass Set {\n constructor(model, {items=[],url=null,args={},unique=null,max=null,storeKey=null}={}) {\n this.items = [];\n this.model = model;\n this.url = url;\n this.unique = unique;\n this.max = max;\n this.storeKey = storeKey;\n\n for(var item of items)\n this.push(item, {args: args, save: false});\n }\n\n get length() { return this.items.length }\n\n /**\n * Fetch multiple items from server\n */\n static fetch(url, options=null, args=null) {\n options = this.getOptions(options)\n return fetch(url, options)\n .then(response => response.json())\n .then(data => (data instanceof Array ? data : data.results)\n .map(d => new this.model(d, {url: url, ...args})))\n }\n\n /**\n * Load list from localStorage\n */\n static storeLoad(model, key, args={}) {\n let items = window.localStorage.getItem(key);\n return new this(model, {...args, storeKey: key, items: items ? JSON.parse(items) : []});\n }\n\n /**\n * Store list into localStorage\n */\n store() {\n this.storeKey && window.localStorage.setItem(this.storeKey, JSON.stringify(\n this.items.map(i => i.data)));\n }\n\n /**\n * Save item\n */\n save() {\n this.storeKey && this.store();\n }\n\n /**\n * Get item at index\n */\n get(index) { return this.items[index] }\n\n /**\n * Find an item by id or using a predicate function\n */\n find(pred) {\n return pred instanceof Function ? this.items.find(pred)\n : this.items.find(x => x.id == pred.id);\n }\n\n /**\n * Find item index by id or using a predicate function\n */\n findIndex(pred) {\n return pred instanceof Function ? this.items.findIndex(pred)\n : this.items.findIndex(x => x.id == pred.id);\n }\n\n /**\n * Add item to set, return index.\n */\n push(item, {args={},save=true}={}) {\n item = item instanceof this.model ? item : new this.model(item, args);\n if(this.unique) {\n let index = this.findIndex(item);\n if(index > -1)\n return index;\n }\n if(this.max && this.items.length >= this.max)\n this.items.splice(0,this.items.length-this.max)\n\n this.items.push(item);\n save && this.save();\n return this.items.length-1;\n }\n\n /**\n * Remove item from set by index\n */\n remove(index, {save=true}={}) {\n this.items.splice(index,1);\n save && this.save();\n }\n}\n\nSet[Symbol.iterator] = function () {\n return this.items[Symbol.iterator]();\n}\n\n\n\n//# sourceURL=webpack:///./assets/public/model.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/page.vue":
|
||
/*!********************************!*\
|
||
!*** ./assets/public/page.vue ***!
|
||
\********************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _page_vue_vue_type_template_id_a4303912___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page.vue?vue&type=template&id=a4303912& */ \"./assets/public/page.vue?vue&type=template&id=a4303912&\");\n/* harmony import */ var _page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page.vue?vue&type=script&lang=js& */ \"./assets/public/page.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _page_vue_vue_type_template_id_a4303912___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _page_vue_vue_type_template_id_a4303912___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/page.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/page.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/page.vue?vue&type=script&lang=js&":
|
||
/*!*********************************************************!*\
|
||
!*** ./assets/public/page.vue?vue&type=script&lang=js& ***!
|
||
\*********************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./page.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/page.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/page.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/page.vue?vue&type=template&id=a4303912&":
|
||
/*!***************************************************************!*\
|
||
!*** ./assets/public/page.vue?vue&type=template&id=a4303912& ***!
|
||
\***************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_page_vue_vue_type_template_id_a4303912___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./page.vue?vue&type=template&id=a4303912& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/page.vue?vue&type=template&id=a4303912&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_page_vue_vue_type_template_id_a4303912___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_page_vue_vue_type_template_id_a4303912___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/page.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/player.vue":
|
||
/*!**********************************!*\
|
||
!*** ./assets/public/player.vue ***!
|
||
\**********************************/
|
||
/*! exports provided: State, default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _player_vue_vue_type_template_id_42a56ec9___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./player.vue?vue&type=template&id=42a56ec9& */ \"./assets/public/player.vue?vue&type=template&id=42a56ec9&\");\n/* harmony import */ var _player_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./player.vue?vue&type=script&lang=js& */ \"./assets/public/player.vue?vue&type=script&lang=js&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return _player_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"State\"]; });\n\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _player_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _player_vue_vue_type_template_id_42a56ec9___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _player_vue_vue_type_template_id_42a56ec9___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/player.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/player.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/player.vue?vue&type=script&lang=js&":
|
||
/*!***********************************************************!*\
|
||
!*** ./assets/public/player.vue?vue&type=script&lang=js& ***!
|
||
\***********************************************************/
|
||
/*! exports provided: default, State */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_player_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./player.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/player.vue?vue&type=script&lang=js&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return _node_modules_vue_loader_lib_index_js_vue_loader_options_player_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"State\"]; });\n\n /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_player_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/player.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/player.vue?vue&type=template&id=42a56ec9&":
|
||
/*!*****************************************************************!*\
|
||
!*** ./assets/public/player.vue?vue&type=template&id=42a56ec9& ***!
|
||
\*****************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_player_vue_vue_type_template_id_42a56ec9___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./player.vue?vue&type=template&id=42a56ec9& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/player.vue?vue&type=template&id=42a56ec9&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_player_vue_vue_type_template_id_42a56ec9___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_player_vue_vue_type_template_id_42a56ec9___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/playlist.vue":
|
||
/*!************************************!*\
|
||
!*** ./assets/public/playlist.vue ***!
|
||
\************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _playlist_vue_vue_type_template_id_c0d17d8c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist.vue?vue&type=template&id=c0d17d8c& */ \"./assets/public/playlist.vue?vue&type=template&id=c0d17d8c&\");\n/* harmony import */ var _playlist_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./playlist.vue?vue&type=script&lang=js& */ \"./assets/public/playlist.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _playlist_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _playlist_vue_vue_type_template_id_c0d17d8c___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _playlist_vue_vue_type_template_id_c0d17d8c___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/playlist.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/playlist.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/playlist.vue?vue&type=script&lang=js&":
|
||
/*!*************************************************************!*\
|
||
!*** ./assets/public/playlist.vue?vue&type=script&lang=js& ***!
|
||
\*************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_playlist_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./playlist.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/playlist.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_playlist_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/playlist.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/playlist.vue?vue&type=template&id=c0d17d8c&":
|
||
/*!*******************************************************************!*\
|
||
!*** ./assets/public/playlist.vue?vue&type=template&id=c0d17d8c& ***!
|
||
\*******************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_playlist_vue_vue_type_template_id_c0d17d8c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./playlist.vue?vue&type=template&id=c0d17d8c& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/playlist.vue?vue&type=template&id=c0d17d8c&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_playlist_vue_vue_type_template_id_c0d17d8c___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_playlist_vue_vue_type_template_id_c0d17d8c___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/playlist.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/progress.vue":
|
||
/*!************************************!*\
|
||
!*** ./assets/public/progress.vue ***!
|
||
\************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _progress_vue_vue_type_template_id_b07047d6___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./progress.vue?vue&type=template&id=b07047d6& */ \"./assets/public/progress.vue?vue&type=template&id=b07047d6&\");\n/* harmony import */ var _progress_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./progress.vue?vue&type=script&lang=js& */ \"./assets/public/progress.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _progress_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _progress_vue_vue_type_template_id_b07047d6___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _progress_vue_vue_type_template_id_b07047d6___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/progress.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/progress.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/progress.vue?vue&type=script&lang=js&":
|
||
/*!*************************************************************!*\
|
||
!*** ./assets/public/progress.vue?vue&type=script&lang=js& ***!
|
||
\*************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_progress_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./progress.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/progress.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_progress_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/progress.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/progress.vue?vue&type=template&id=b07047d6&":
|
||
/*!*******************************************************************!*\
|
||
!*** ./assets/public/progress.vue?vue&type=template&id=b07047d6& ***!
|
||
\*******************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_progress_vue_vue_type_template_id_b07047d6___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./progress.vue?vue&type=template&id=b07047d6& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/progress.vue?vue&type=template&id=b07047d6&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_progress_vue_vue_type_template_id_b07047d6___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_progress_vue_vue_type_template_id_b07047d6___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/progress.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/sound.js":
|
||
/*!********************************!*\
|
||
!*** ./assets/public/sound.js ***!
|
||
\********************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Sound; });\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./model */ \"./assets/public/model.js\");\n\n\n\nclass Sound extends _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() { return this.data.name }\n get src() { return this.data.url }\n\n static getId(data) { return data.pk }\n}\n\n\n\n\n//# sourceURL=webpack:///./assets/public/sound.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/soundItem.vue":
|
||
/*!*************************************!*\
|
||
!*** ./assets/public/soundItem.vue ***!
|
||
\*************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _soundItem_vue_vue_type_template_id_4dfee2ec___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./soundItem.vue?vue&type=template&id=4dfee2ec& */ \"./assets/public/soundItem.vue?vue&type=template&id=4dfee2ec&\");\n/* harmony import */ var _soundItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./soundItem.vue?vue&type=script&lang=js& */ \"./assets/public/soundItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _soundItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _soundItem_vue_vue_type_template_id_4dfee2ec___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _soundItem_vue_vue_type_template_id_4dfee2ec___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"assets/public/soundItem.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack:///./assets/public/soundItem.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/soundItem.vue?vue&type=script&lang=js&":
|
||
/*!**************************************************************!*\
|
||
!*** ./assets/public/soundItem.vue?vue&type=script&lang=js& ***!
|
||
\**************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_index_js_vue_loader_options_soundItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib??vue-loader-options!./soundItem.vue?vue&type=script&lang=js& */ \"./node_modules/vue-loader/lib/index.js?!./assets/public/soundItem.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__[\"default\"] = (_node_modules_vue_loader_lib_index_js_vue_loader_options_soundItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"]); \n\n//# sourceURL=webpack:///./assets/public/soundItem.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/soundItem.vue?vue&type=template&id=4dfee2ec&":
|
||
/*!********************************************************************!*\
|
||
!*** ./assets/public/soundItem.vue?vue&type=template&id=4dfee2ec& ***!
|
||
\********************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_soundItem_vue_vue_type_template_id_4dfee2ec___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??vue-loader-options!./soundItem.vue?vue&type=template&id=4dfee2ec& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/soundItem.vue?vue&type=template&id=4dfee2ec&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_soundItem_vue_vue_type_template_id_4dfee2ec___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_soundItem_vue_vue_type_template_id_4dfee2ec___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack:///./assets/public/soundItem.vue?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/styles.scss":
|
||
/*!***********************************!*\
|
||
!*** ./assets/public/styles.scss ***!
|
||
\***********************************/
|
||
/*! no static exports found */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./assets/public/styles.scss?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./assets/public/utils.js":
|
||
/*!********************************!*\
|
||
!*** ./assets/public/utils.js ***!
|
||
\********************************/
|
||
/*! exports provided: setEcoTimeout, setEcoInterval */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setEcoTimeout\", function() { return setEcoTimeout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setEcoInterval\", function() { return setEcoInterval; });\n\n\nfunction setEcoTimeout(func, ...args) {\n return setTimeout((...args) => {\n !document.hidden && func(...args)\n }, ...args)\n}\n\n\nfunction setEcoInterval(func, ...args) {\n return setInterval((...args) => {\n !document.hidden && func(...args)\n }, ...args)\n}\n\n\n\n//# sourceURL=webpack:///./assets/public/utils.js?");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/admin/statistics.vue?vue&type=script&lang=js&":
|
||
/*!****************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/admin/statistics.vue?vue&type=script&lang=js& ***!
|
||
\****************************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n\n\nconst splitReg = new RegExp(`,\\s*`, 'g');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n counts: {},\n }\n },\n\n methods: {\n update() {\n const items = this.$el.querySelectorAll('input[name=\"data\"]:checked')\n const counts = {};\n\n console.log(items)\n for(var item of items)\n if(item.value)\n for(var tag of item.value.split(splitReg))\n counts[tag.trim()] = (counts[tag.trim()] || 0) + 1;\n this.counts = counts;\n },\n\n onclick(event) {\n // TODO: row click => check checkbox\n }\n },\n\n mounted() {\n this.$refs.form.addEventListener('change', () => this.update())\n this.update()\n }\n});\n\n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/autocomplete.vue?vue&type=script&lang=js&":
|
||
/*!*******************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/autocomplete.vue?vue&type=script&lang=js& ***!
|
||
\*******************************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var buefy_dist_components_autocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! buefy/dist/components/autocomplete */ \"./node_modules/buefy/dist/components/autocomplete/index.js\");\n/* harmony import */ var buefy_dist_components_autocomplete__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(buefy_dist_components_autocomplete__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n url: String,\n model: Function,\n placeholder: String,\n field: {type: String, default: 'value'},\n count: {type: Number, count: 10},\n valueAttr: String,\n valueField: String,\n },\n\n data() {\n return {\n data: [],\n selected: null,\n isFetching: false,\n };\n },\n\n methods: {\n onSelect(option) {\n console.log('selected', option)\n vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"].set(this, 'selected', option);\n this.$emit('select', option);\n },\n\n fetch: lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(function(query) {\n if(!query)\n return;\n\n this.isFetching = true;\n this.model.fetchAll(this.url.replace('${query}', query))\n .then(data => {\n this.data = data;\n this.isFetching = false;\n }, data => { this.isFetching = false; Promise.reject(data) })\n }),\n },\n\n components: {\n Autocomplete: buefy_dist_components_autocomplete__WEBPACK_IMPORTED_MODULE_1__[\"Autocomplete\"],\n },\n});\n\n\n\n//# sourceURL=webpack:///./assets/public/autocomplete.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/episode.vue?vue&type=script&lang=js&":
|
||
/*!**************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/episode.vue?vue&type=script&lang=js& ***!
|
||
\**************************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./model */ \"./assets/public/model.js\");\n/* harmony import */ var _sound__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sound */ \"./assets/public/sound.js\");\n/* harmony import */ var _page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./page */ \"./assets/public/page.vue\");\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n extends: _page__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n\n data() {\n return {\n podcasts: new _model__WEBPACK_IMPORTED_MODULE_0__[\"Set\"](_sound__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {items:this.page.podcasts}),\n }\n },\n});\n\n\n//# sourceURL=webpack:///./assets/public/episode.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/list.vue?vue&type=script&lang=js&":
|
||
/*!***********************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/list.vue?vue&type=script&lang=js& ***!
|
||
\***********************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n selectedIndex: this.defaultIndex,\n }\n },\n\n props: {\n listClass: String,\n itemClass: String,\n defaultIndex: { type: Number, default: -1},\n set: Object,\n },\n\n computed: {\n model() { return this.set.model },\n items() { return this.set.items },\n length() { return this.set.length },\n\n selected() {\n return this.selectedIndex > -1 && this.items.length > this.selectedIndex > -1\n ? this.items[this.selectedIndex] : null;\n },\n },\n\n methods: {\n get(index) { return this.set.get(index) },\n find(pred) { return this.set.find(pred) },\n findIndex(pred) { return this.set.findIndex(pred) },\n\n /**\n * Add items to list, return index of the first provided item.\n */\n push(item, ...items) {\n let index = this.set.push(item);\n for(var item of items)\n this.set.push(item);\n return index;\n },\n\n remove(index, select=False) {\n this.set.remove(index);\n if(index < this.selectedIndex)\n this.selectedIndex--;\n if(select && this.selectedIndex == index)\n this.select(index)\n },\n\n select(index) {\n this.selectedIndex = index > -1 && this.items.length ? index % this.items.length : -1;\n this.$emit('select', { item: this.selected, index: this.selectedIndex });\n return this.selectedIndex;\n },\n\n unselect() {\n this.$emit('unselect', { item: this.selected, index: this.selectedIndex});\n this.selectedIndex = -1;\n },\n },\n});\n\n\n//# sourceURL=webpack:///./assets/public/list.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/page.vue?vue&type=script&lang=js&":
|
||
/*!***********************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/page.vue?vue&type=script&lang=js& ***!
|
||
\***********************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {}\n },\n\n props: {\n page: Object,\n title: String,\n },\n});\n\n\n//# sourceURL=webpack:///./assets/public/page.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/player.vue?vue&type=script&lang=js&":
|
||
/*!*************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/player.vue?vue&type=script&lang=js& ***!
|
||
\*************************************************************************************************************/
|
||
/*! exports provided: State, default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return State; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n/* harmony import */ var _live__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./live */ \"./assets/public/live.js\");\n/* harmony import */ var _playlist__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./playlist */ \"./assets/public/playlist.vue\");\n/* harmony import */ var _progress__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./progress */ \"./assets/public/progress.vue\");\n/* harmony import */ var _sound__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sound */ \"./assets/public/sound.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./model */ \"./assets/public/model.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\nconst State = {\n paused: 0,\n playing: 1,\n loading: 2,\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n let audio = new Audio();\n audio.addEventListener('ended', e => this.onState(e));\n audio.addEventListener('pause', e => this.onState(e));\n audio.addEventListener('playing', e => this.onState(e));\n audio.addEventListener('timeupdate', e => {\n this.currentTime = this.audio.currentTime;\n });\n audio.addEventListener('durationchange', e => {\n this.duration = Number.isFinite(this.audio.duration) ? this.audio.duration : null;\n });\n\n return {\n audio, duration: 0, currentTime: 0, state: State.paused,\n\n /// Live instance\n live: this.liveArgs ? new _live__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.liveArgs) : null,\n /// Loaded item\n loaded: null,\n //! Active panel name\n panel: null,\n //! current playing playlist name\n playlistName: null,\n //! players' playlists' sets\n sets: {\n queue: _model__WEBPACK_IMPORTED_MODULE_5__[\"Set\"].storeLoad(_sound__WEBPACK_IMPORTED_MODULE_4__[\"default\"], \"playlist.queue\", { max: 30, unique: true }),\n pin: _model__WEBPACK_IMPORTED_MODULE_5__[\"Set\"].storeLoad(_sound__WEBPACK_IMPORTED_MODULE_4__[\"default\"], \"player.pin\", { max: 30, unique: true }),\n }\n }\n },\n\n props: {\n buttonTitle: String,\n liveArgs: Object,\n },\n\n computed: {\n self() { return this; },\n paused() { return this.state == State.paused; },\n playing() { return this.state == State.playing; },\n loading() { return this.state == State.loading; },\n\n playlist() {\n return this.playlistName ? this.$refs[this.playlistName] : null;\n },\n\n current() {\n return this.loaded ? this.loaded : this.live && this.live.current;\n },\n },\n\n methods: {\n displayTime(seconds) {\n seconds = parseInt(seconds);\n let s = seconds % 60;\n seconds = (seconds - s) / 60;\n let m = seconds % 60;\n let h = (seconds - m) / 60;\n\n let [ss,mm,hh] = [s.toString().padStart(2, '0'),\n m.toString().padStart(2, '0'),\n h.toString().padStart(2, '0')];\n return h ? `${hh}:${mm}:${ss}` : `${mm}:${ss}`;\n },\n\n playlistButtonClass(name) {\n let set = this.sets[name];\n return (set ? (set.length ? \"\" : \"has-text-grey-light \")\n + (this.panel == name ? \"is-info \"\n : this.playlistName == name ? 'is-primary '\n : '') : '')\n + \"button has-text-weight-bold\";\n },\n\n /// Show/hide panel\n togglePanel(panel) { this.panel = this.panel == panel ? null : panel },\n /// Return True if item is loaded\n isLoaded(item) { return this.loaded && this.loaded.id == item.id },\n /// Return True if item is loaded\n isPlaying(item) { return this.isLoaded(item) && !this.paused },\n\n _setPlaylist(playlist) {\n this.playlistName = playlist;\n for(var p in this.sets)\n if(p != playlist)\n this.$refs[p].unselect();\n },\n\n /// Load a sound from playlist or live\n load(playlist=null, index=0) {\n let src = null;\n\n // from playlist\n if(playlist !== null) {\n let item = this.$refs[playlist].get(index);\n if(!item)\n throw `No sound at index ${index} for playlist ${playlist}`;\n this.loaded = item;\n src = item.src;\n }\n // from live\n else {\n this.loaded = null;\n src = this.live.src;\n }\n\n this._setPlaylist(playlist);\n\n // load sources\n const audio = this.audio;\n if(src instanceof Array) {\n audio.innerHTML = '';\n audio.removeAttribute('src');\n for(var s of src) {\n let source = document.createElement('source');\n source.setAttribute('src', s);\n audio.appendChild(source)\n }\n }\n else {\n audio.src = src;\n }\n audio.load();\n },\n\n play(playlist=null, index=0) {\n this.load(playlist, index);\n this.audio.play().catch(e => console.error(e))\n },\n\n /// Push items to playlist (by name)\n push(playlist, ...items) {\n return this.$refs[playlist].push(...items);\n },\n\n /// Push and play items\n playItems(playlist, ...items) {\n let index = this.push(playlist, ...items);\n this.$refs[playlist].selectedIndex = index;\n this.play(playlist, index);\n },\n\n /// Handle click event that plays multiple items (from `data-sounds` attribute)\n playButtonClick(event) {\n var items = JSON.parse(event.currentTarget.dataset.sounds);\n this.playItems('queue', ...items);\n },\n\n /// Pause\n pause() {\n this.audio.pause()\n },\n\n //! Play/pause\n togglePlay(playlist=null, index=0) {\n if(playlist !== null) {\n let item = this.sets[playlist].get(index);\n if(!this.playlist || this.playlistName !== playlist || this.loaded != item) {\n this.play(playlist, index);\n return;\n }\n }\n if(this.paused)\n this.audio.play().catch(e => console.error(e))\n else\n this.audio.pause();\n },\n\n //! Pin/Unpin an item\n togglePin(item) {\n let index = this.sets.pin.findIndex(item);\n if(index > -1)\n this.sets.pin.remove(index);\n else {\n this.sets.pin.push(item);\n this.$refs.pinPlaylistButton.focus();\n }\n },\n\n /// Audio player state change event\n onState(event) {\n const audio = this.audio;\n this.state = audio.paused ? State.paused : State.playing;\n\n if(event.type == 'ended' && (!this.playlist || this.playlist.selectNext() == -1))\n this.play();\n },\n },\n\n mounted() {\n this.load();\n },\n\n components: { Playlist: _playlist__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Progress: _progress__WEBPACK_IMPORTED_MODULE_3__[\"default\"] },\n});\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/playlist.vue?vue&type=script&lang=js&":
|
||
/*!***************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/playlist.vue?vue&type=script&lang=js& ***!
|
||
\***************************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./list */ \"./assets/public/list.vue\");\n/* harmony import */ var _soundItem__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./soundItem */ \"./assets/public/soundItem.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n extends: _list__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n\n props: {\n actions: Array,\n name: String,\n player: Object,\n editable: Boolean,\n },\n\n computed: {\n self() { return this; }\n },\n\n methods: {\n hasAction(action) { return this.actions && this.actions.indexOf(action) != -1; },\n\n selectNext() {\n let index = this.selectedIndex + 1;\n return this.select(index >= this.items.length ? -1 : index);\n },\n\n togglePlay(index) {\n if(this.player.isPlaying(this.set.get(index)))\n this.player.pause();\n else\n this.select(index)\n },\n },\n components: { List: _list__WEBPACK_IMPORTED_MODULE_0__[\"default\"], SoundItem: _soundItem__WEBPACK_IMPORTED_MODULE_1__[\"default\"] },\n});\n\n\n//# sourceURL=webpack:///./assets/public/playlist.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/progress.vue?vue&type=script&lang=js&":
|
||
/*!***************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/progress.vue?vue&type=script&lang=js& ***!
|
||
\***************************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n hoverValue: null,\n }\n },\n\n props: {\n value: Number,\n max: Number,\n format: { type: Function, default: x => x },\n progressClass: { default: 'has-background-primary' },\n vertical: { type: Boolean, default: false },\n },\n\n computed: {\n valueDisplay() { return this.hoverValue === null ? this.value : this.hoverValue; },\n\n progressStyle() {\n if(!this.max)\n return null;\n let value = this.max ? this.valueDisplay * 100 / this.max : 0;\n return this.vertical ? { height: `${value}%` } : { width: `${value}%` };\n },\n },\n\n methods: {\n xToValue(x) { return x * this.max / this.$refs.bar.getBoundingClientRect().width },\n yToValue(y) { return y * this.max / this.$refs.bar.getBoundingClientRect().height },\n\n valueFromEvent(event) {\n let rect = event.currentTarget.getBoundingClientRect()\n return this.vertical ? this.yToValue(event.clientY - rect.y)\n : this.xToValue(event.clientX - rect.x);\n },\n\n onClick(event) {\n this.$emit('select', this.valueFromEvent(event));\n },\n\n onMouseMove(event) {\n if(event.type == 'mouseleave')\n this.hoverValue = null;\n else {\n this.hoverValue = this.valueFromEvent(event);\n }\n },\n },\n});\n\n\n//# sourceURL=webpack:///./assets/public/progress.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/index.js?!./assets/public/soundItem.vue?vue&type=script&lang=js&":
|
||
/*!****************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/soundItem.vue?vue&type=script&lang=js& ***!
|
||
\****************************************************************************************************************/
|
||
/*! exports provided: default */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./model */ \"./assets/public/model.js\");\n/* harmony import */ var _sound__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sound */ \"./assets/public/sound.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n data: {type: Object, default: x => {}},\n name: String,\n player: Object,\n page_url: String,\n actions: {type:Array, default: x => []},\n index: {type:Number, default: null},\n },\n\n computed: {\n item() { return this.data instanceof _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? this.data : new _sound__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.data || {}); },\n loaded() { return this.player && this.player.isLoaded(this.item) },\n playing() { return this.player && this.player.isPlaying(this.item) },\n paused() { return this.player && this.player.paused && this.loaded },\n pinned() { return this.player && this.player.sets.pin.find(this.item) },\n },\n\n methods: {\n hasAction(action) {\n return this.actions && this.actions.indexOf(action) != -1;\n },\n }\n});\n\n\n//# sourceURL=webpack:///./assets/public/soundItem.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/admin/statistics.vue?vue&type=template&id=47005a51&":
|
||
/*!**************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/admin/statistics.vue?vue&type=template&id=47005a51& ***!
|
||
\**************************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"form\",\n { ref: \"form\" },\n [_vm._t(\"default\", null, { counts: _vm.counts })],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/autocomplete.vue?vue&type=template&id=70936760&":
|
||
/*!*****************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/autocomplete.vue?vue&type=template&id=70936760& ***!
|
||
\*****************************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"control\" },\n [\n _c(\"Autocomplete\", {\n ref: \"autocomplete\",\n attrs: {\n data: _vm.data,\n placeholder: _vm.placeholder,\n field: _vm.field,\n loading: _vm.isFetching,\n \"open-on-focus\": \"\"\n },\n on: {\n typing: _vm.fetch,\n select: function(object) {\n return _vm.onSelect(object)\n }\n }\n }),\n _vm._v(\" \"),\n _vm.valueField\n ? _c(\"input\", {\n ref: \"value\",\n attrs: { type: \"hidden\", name: _vm.valueField },\n domProps: {\n value:\n _vm.selected && _vm.selected[_vm.valueAttr || _vm.valueField]\n }\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/autocomplete.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/episode.vue?vue&type=template&id=a790897a&":
|
||
/*!************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/episode.vue?vue&type=template&id=a790897a& ***!
|
||
\************************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [_vm._t(\"default\", null, { page: _vm.page, podcasts: _vm.podcasts })],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/episode.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/list.vue?vue&type=template&id=6a3adbf4&":
|
||
/*!*********************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/list.vue?vue&type=template&id=6a3adbf4& ***!
|
||
\*********************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _vm._t(\"header\"),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { class: _vm.listClass },\n [\n _vm._l(_vm.items, function(item, index) {\n return [\n _c(\n \"li\",\n {\n class: _vm.itemClass,\n on: {\n click: function($event) {\n return _vm.select(index)\n }\n }\n },\n [\n _vm._t(\"item\", null, {\n selected: index == _vm.selectedIndex,\n set: _vm.set,\n index: index,\n item: item\n })\n ],\n 2\n )\n ]\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm._t(\"footer\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/list.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/page.vue?vue&type=template&id=a4303912&":
|
||
/*!*********************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/page.vue?vue&type=template&id=a4303912& ***!
|
||
\*********************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [_vm._t(\"default\")], 2)\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/page.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/player.vue?vue&type=template&id=42a56ec9&":
|
||
/*!***********************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/player.vue?vue&type=template&id=42a56ec9& ***!
|
||
\***********************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"player\" }, [\n _c(\n \"div\",\n { class: [\"player-panels\", _vm.panel ? \"is-open\" : \"\"] },\n [\n _c(\"Playlist\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.panel == \"pin\",\n expression: \"panel == 'pin'\"\n }\n ],\n ref: \"pin\",\n staticClass: \"player-panel menu\",\n attrs: {\n name: \"Pinned\",\n actions: [\"page\"],\n editable: true,\n player: _vm.self,\n set: _vm.sets.pin,\n listClass: \"menu-list\",\n itemClass: \"menu-item\"\n },\n on: {\n select: function($event) {\n return _vm.togglePlay(\"pin\", $event.index)\n }\n },\n scopedSlots: _vm._u([\n {\n key: \"header\",\n fn: function() {\n return [\n _c(\"p\", { staticClass: \"menu-label\" }, [\n _c(\"span\", { staticClass: \"icon\" }, [\n _c(\"span\", { staticClass: \"fa fa-thumbtack\" })\n ]),\n _vm._v(\"\\n Pinned\\n \")\n ])\n ]\n },\n proxy: true\n }\n ])\n }),\n _vm._v(\" \"),\n _c(\"Playlist\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.panel == \"queue\",\n expression: \"panel == 'queue'\"\n }\n ],\n ref: \"queue\",\n staticClass: \"player-panel menu\",\n attrs: {\n actions: [\"page\"],\n editable: true,\n player: _vm.self,\n set: _vm.sets.queue,\n listClass: \"menu-list\",\n itemClass: \"menu-item\"\n },\n on: {\n select: function($event) {\n return _vm.togglePlay(\"queue\", $event.index)\n }\n },\n scopedSlots: _vm._u([\n {\n key: \"header\",\n fn: function() {\n return [\n _c(\"p\", { staticClass: \"menu-label\" }, [\n _c(\"span\", { staticClass: \"icon\" }, [\n _c(\"span\", { staticClass: \"fa fa-list\" })\n ]),\n _vm._v(\"\\n Playlist\\n \")\n ])\n ]\n },\n proxy: true\n }\n ])\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"player-bar media\" }, [\n _c(\"div\", { staticClass: \"media-left\" }, [\n _c(\n \"button\",\n {\n staticClass: \"button\",\n attrs: { title: _vm.buttonTitle, \"aria-label\": _vm.buttonTitle },\n on: {\n click: function($event) {\n return _vm.togglePlay()\n }\n }\n },\n [\n _vm.playing\n ? _c(\"span\", { staticClass: \"fas fa-pause\" })\n : _c(\"span\", { staticClass: \"fas fa-play\" })\n ]\n )\n ]),\n _vm._v(\" \"),\n _vm.current && _vm.current.data.cover\n ? _c(\"div\", { staticClass: \"media-left media-cover\" }, [\n _c(\"img\", {\n staticClass: \"cover\",\n attrs: { src: _vm.current.data.cover }\n })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"media-content\" },\n [\n _vm._t(\"content\", null, { loaded: _vm.loaded, live: _vm.live }),\n _vm._v(\" \"),\n _vm.loaded && _vm.duration\n ? _c(\"Progress\", {\n attrs: {\n value: _vm.currentTime,\n max: this.duration,\n format: _vm.displayTime\n },\n on: {\n select: function($event) {\n _vm.audio.currentTime = $event\n }\n }\n })\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"media-right\" }, [\n _vm.loaded\n ? _c(\n \"button\",\n {\n staticClass: \"button has-text-weight-bold\",\n on: {\n click: function($event) {\n return _vm.play()\n }\n }\n },\n [_vm._m(0), _vm._v(\" \"), _c(\"span\", [_vm._v(\"Live\")])]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n ref: \"pinPlaylistButton\",\n class: _vm.playlistButtonClass(\"pin\"),\n on: {\n click: function($event) {\n return _vm.togglePanel(\"pin\")\n }\n }\n },\n [\n _vm.sets.pin.length\n ? _c(\"span\", { staticClass: \"mr-2 is-size-6\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.sets.pin.length))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(1)\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n class: _vm.playlistButtonClass(\"queue\"),\n on: {\n click: function($event) {\n return _vm.togglePanel(\"queue\")\n }\n }\n },\n [\n _vm.sets.queue.length\n ? _c(\"span\", { staticClass: \"mr-2 is-size-6\" }, [\n _vm._v(\n \"\\n \" + _vm._s(_vm.sets.queue.length)\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(2)\n ]\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"icon is-size-6 has-text-danger\" }, [\n _c(\"span\", { staticClass: \"fa fa-circle\" })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"icon\" }, [\n _c(\"span\", { staticClass: \"fa fa-thumbtack\" })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"icon\" }, [\n _c(\"span\", { staticClass: \"fa fa-list\" })\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/playlist.vue?vue&type=template&id=c0d17d8c&":
|
||
/*!*************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/playlist.vue?vue&type=template&id=c0d17d8c& ***!
|
||
\*************************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _vm._t(\"header\"),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { class: _vm.listClass },\n _vm._l(_vm.items, function(item, index) {\n return _c(\n \"li\",\n {\n class: _vm.itemClass,\n on: {\n click: function($event) {\n !_vm.hasAction(\"play\") && _vm.select(index)\n }\n }\n },\n [\n _c(\n \"a\",\n { class: index == _vm.selectedIndex ? \"is-active\" : \"\" },\n [\n _c(\"SoundItem\", {\n attrs: {\n data: item,\n index: index,\n player: _vm.player,\n set: _vm.set,\n actions: _vm.actions\n },\n on: {\n togglePlay: function($event) {\n return _vm.togglePlay(index)\n }\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"actions\",\n fn: function(ref) {\n var loaded = ref.loaded\n var set = ref.set\n return [\n _vm.editable\n ? _c(\n \"button\",\n {\n staticClass: \"button\",\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.remove(index, true)\n }\n }\n },\n [\n _c(\n \"span\",\n { staticClass: \"icon is-small\" },\n [\n _c(\"span\", {\n staticClass: \"fa fa-minus\"\n })\n ]\n )\n ]\n )\n : _vm._e()\n ]\n }\n }\n ],\n null,\n true\n )\n })\n ],\n 1\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm._t(\"footer\")\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/playlist.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/progress.vue?vue&type=template&id=b07047d6&":
|
||
/*!*************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/progress.vue?vue&type=template&id=b07047d6& ***!
|
||
\*************************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"media\" }, [\n _c(\n \"div\",\n { staticClass: \"media-left\" },\n [\n _vm._t(\"value\", [_vm._v(_vm._s(_vm.format(_vm.valueDisplay)))], {\n value: _vm.valueDisplay,\n max: _vm.max\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n ref: \"bar\",\n staticClass: \"media-content\",\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.onClick($event)\n },\n mouseleave: function($event) {\n $event.stopPropagation()\n return _vm.onMouseMove($event)\n },\n mousemove: function($event) {\n $event.stopPropagation()\n return _vm.onMouseMove($event)\n }\n }\n },\n [\n _c(\"div\", { class: _vm.progressClass, style: _vm.progressStyle }, [\n _vm._v(\" \")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"media-right\" },\n [\n _vm._t(\"value\", [_vm._v(_vm._s(_vm.format(_vm.max)))], {\n value: _vm.valueDisplay,\n max: _vm.max\n })\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/progress.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./assets/public/soundItem.vue?vue&type=template&id=4dfee2ec&":
|
||
/*!**************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./assets/public/soundItem.vue?vue&type=template&id=4dfee2ec& ***!
|
||
\**************************************************************************************************************************************************************************************************/
|
||
/*! exports provided: render, staticRenderFns */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"media sound-item\" }, [\n _c(\"div\", { staticClass: \"media-left\" }, [\n _vm.item.data.cover\n ? _c(\"img\", {\n staticClass: \"cover is-tiny\",\n attrs: { src: _vm.item.data.cover }\n })\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"media-left\" }, [\n _c(\n \"button\",\n {\n staticClass: \"button\",\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.$emit(\"togglePlay\")\n }\n }\n },\n [\n _c(\"div\", { staticClass: \"icon\" }, [\n _vm.playing\n ? _c(\"span\", { staticClass: \"fa fa-pause\" })\n : _c(\"span\", { staticClass: \"fa fa-play\" })\n ])\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"media-content\" },\n [\n _vm._t(\n \"content\",\n [\n _c(\"h4\", { staticClass: \"title is-4\" }, [\n _vm._v(_vm._s(_vm.name || _vm.item.name))\n ]),\n _vm._v(\" \"),\n _vm.hasAction(\"page\") && _vm.item.data.page_url\n ? _c(\n \"a\",\n {\n staticClass: \"subtitle is-6 is-inline-block\",\n attrs: { href: _vm.item.data.page_url }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.item.data.page_title) +\n \"\\n \"\n )\n ]\n )\n : _vm._e()\n ],\n { player: _vm.player, item: _vm.item, loaded: _vm.loaded }\n )\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"media-right\" },\n [\n _vm.player.sets.pin != _vm.$parent.set\n ? _c(\n \"button\",\n {\n staticClass: \"button\",\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.player.togglePin(_vm.item)\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"icon is-small\" }, [\n _c(\"span\", {\n class:\n (_vm.pinned ? \"\" : \"has-text-grey-light \") +\n \"fa fa-thumbtack\"\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._t(\"actions\", null, {\n player: _vm.player,\n item: _vm.item,\n loaded: _vm.loaded\n })\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./assets/public/soundItem.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options");
|
||
|
||
/***/ })
|
||
|
||
/******/ }); |