From d3f39c5ade0579536b85c6a1f41ec9957afe86ac Mon Sep 17 00:00:00 2001 From: bkfox Date: Sat, 21 Sep 2019 17:14:40 +0200 Subject: [PATCH] streamer as separate application; working streamer monitor interface --- aircox/management/__init__.py | 0 aircox/management/commands/__init__.py | 0 aircox/management/commands/import_playlist.py | 2 +- .../models/__pycache__/sound.cpython-37.pyc | Bin 8981 -> 9422 bytes aircox/models/sound.py | 19 ++- aircox/serializers.py | 17 +- aircox/static/aircox/admin.css | 118 ++++++++++++-- aircox/static/aircox/admin.js | 66 +++++++- aircox/static/aircox/main.css | 118 ++++++++++++-- aircox/static/aircox/main.js | 66 +++++++- aircox/static/aircox/vendor.js | 154 ++++++++++++++++++ aircox/templates/admin/base.html | 10 +- aircox/templates/aircox/base.html | 4 +- aircox/templates/aircox/home.html | 2 + aircox/templates/aircox/player.html | 2 +- aircox/views/admin.py | 5 + aircox_streamer/apps.py | 2 + .../{liquidsoap.py => controllers.py} | 82 ++++++---- aircox_streamer/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/streamer.py | 13 +- aircox_streamer/serializers.py | 51 ++++-- .../aircox_streamer/source_item.html | 121 ++++++++++++++ .../templates/aircox_streamer/streamer.html | 39 +++++ aircox_streamer/urls.py | 22 +++ aircox_streamer/views.py | 12 +- aircox_streamer/viewsets.py | 95 ++++++++--- assets/public/app.js | 50 +++++- assets/public/autocomplete.vue | 63 +++++++ assets/public/index.js | 29 +++- assets/public/model.js | 118 ++++++++++++++ assets/public/sound.js | 10 ++ assets/public/styles.scss | 40 +++-- assets/streamer/controllers.js | 98 +++++++++++ assets/streamer/index.js | 56 +++++++ instance/sample_settings.py | 8 +- instance/urls.py | 1 + package.json | 1 + webpack.config.js | 1 + 39 files changed, 1347 insertions(+), 148 deletions(-) delete mode 100755 aircox/management/__init__.py delete mode 100755 aircox/management/commands/__init__.py rename aircox_streamer/{liquidsoap.py => controllers.py} (83%) delete mode 100755 aircox_streamer/management/__init__.py delete mode 100755 aircox_streamer/management/commands/__init__.py create mode 100644 aircox_streamer/templates/aircox_streamer/source_item.html create mode 100644 aircox_streamer/templates/aircox_streamer/streamer.html create mode 100644 aircox_streamer/urls.py create mode 100644 assets/public/autocomplete.vue create mode 100644 assets/public/model.js create mode 100644 assets/public/sound.js create mode 100644 assets/streamer/controllers.js create mode 100644 assets/streamer/index.js diff --git a/aircox/management/__init__.py b/aircox/management/__init__.py deleted file mode 100755 index e69de29..0000000 diff --git a/aircox/management/commands/__init__.py b/aircox/management/commands/__init__.py deleted file mode 100755 index e69de29..0000000 diff --git a/aircox/management/commands/import_playlist.py b/aircox/management/commands/import_playlist.py index 122aa20..053423c 100755 --- a/aircox/management/commands/import_playlist.py +++ b/aircox/management/commands/import_playlist.py @@ -108,7 +108,7 @@ class PlaylistImport: return tracks -class Command (BaseCommand): +class Command(BaseCommand): help = __doc__ def add_arguments(self, parser): diff --git a/aircox/models/__pycache__/sound.cpython-37.pyc b/aircox/models/__pycache__/sound.cpython-37.pyc index bb3264a30808dc82250b63c9b3fdb7700ebf7e8a..2b05b65c9188ef53f362742b634fe23033d4d4c0 100644 GIT binary patch delta 2833 zcma)8U2GIp6y7`g+ud$k+AiH~X}c{cWyIFdLNx|W|F&3JTIg;CN?;iG&Tfb9?riT& zk(R~!0|X;YkPC?>{(vSV#3#}R6HSOuJ{Y6#lNf?;`rw1{!5E{SbGL5WwIp;i-<-Mk z+;h%7=ey_j*4X#sHN(N6-vNK|8<$Vr+jYO@E?JJlr{#2*n zL2}Us>Y-kc+|);_E;(jA)K3HO_R>Zgq%|<(qqVdSMye=DIOGtk0h1FcCpv;ZeB(0$ zkJ$!Ll&E9Q$7+h?tRtV0iqb`?=r~JYn5>`yX+kD;V}ThNrsfpIv{Xws@`|EUS+b?V zob5^LSxaNG({`C!Hf?*?RBTD7_Z)0HFGz#Sjo>MQE?oc)Qcspb31cBok1l9zF`-$# zYm1&R&c}oq&-yYp#`w9k4sitLi@q?}p!WFY# zm8E9&bDF&RhpU>9cJB6cN87<9+lf%2?JlU+tl7ikp6=z81Pb_vZx1|z5WOH29k(48 zDH5!|cuOl}xHRG{OD>e|AV1u|kD1!Mn!~K8jJ&1lc@u}w+2)~0nMKyJZe=SLM9Rgp zDkmjTMdpU+WT{k1_dGJEa)%yM!;Cx!iY9K#L0r-fvea0?HBAkH7EpU){YfTeKY!EH zHHB0aTwquqwgW+=v#g4!fpFS`F z+O`i`NM5%Tg&oGlYtbAU;N>OaTNa|$rrPvh1 zEHmUjTS6G+k0PCWFmBsFW-v|95T}8kIiuBk)NOo2=&6JkS zLT1Y}g4&2|B41e$U~u(JORMylrZvxRwm$8_dxH(|Z(4Wt_oFD9+5k#;ntpx*0L+RW zW`JzF;3%2U#YNxi=k0A)-G&AS8er_Rwv#6qh!e7xZ7!lXaiz5}wB|Dy)tH{otZ!li z7cf0NWbH1%z9u@`vG&<0GJI<$igfnzhwUFO&x4Y<32gr>YIZ>@9TcRcNcR(v5vwwQ z0r)_0kVg3V$dW(F)YM$Bslvq_sodZSn#cc=*v|J5k!H4cWGFE*G#V>yU$j{)51Z$$ z9qq?3RqPXl>j;>4(Zv{gWp@xvgbKENgkxLRz80neoOdL`*hB09J*(z3MlW3NY39Ub zD*wCVMRJ_K(7BV0a<#KPD$WF+lhWNO!p7bnH!>M$8yEQP&Yrrmx3wbiA3OWqyX%)7 G@qYn4H)vu2 delta 2302 zcma)7U2IfE6yDjpKeyeVE>PNTw{^FFk_&9H5@Mp2($Xy!%cjyzwX1l!bY`~~?*2IU zZVOn0KSWKC2Q#Qh2r)4+F~k_t7@v$W@sarRV$6NiCm(oG;{!h6IdjQUHjvQfemygD z=9@F$Idl5s><2UPsaUMt2R}dmuy$;DIUeCuX&&r zxSqV%$5rb!x@_2vJs@rdKJIB*4I6xU#av}08`pwSLi)t@(2h(Wa%T`)yn}VaS+O5A;e32$9wqH~eEu47^?dLc5lX+0Kuf{ck= z%qR@u>@dOzfJ<~q>~33S{6x)Wdex{fy>2zQVQo^N8M+%d!W_eftx|WDsDw|7Td`+% zVJ_UDUAIg}BYYd4(4t^i*KLRE`kJW6UkgdWvf}Ufv5qD?KMdQ>3cceexZ|D#?QLOb zD>Fy0IA(>tDZWTticNvL7UXy|UljQ*V@YYY>{1%sx+pGhS>HF0jxx{?J8eQ;JRs5t zR6El>myb4Px85L~%@|!(1_3I3DYVYRmErip?R-z z{1D82xAArNI!S1_+|-XB7n8|HNRK$4?8~jfk{e{4*Er|WE?Gv|hU%47@CHsPu-wA# zMwVCD@+rN}c*Xuhe4o6uh}XYGGFr$}L&lD0y6OqTW>}i8Dl3egcK9MJ+&_QCsIGh5 zxaA*lz4ztuSxE!ktZF*C&Y!`}cLJOPn;-Gm@@O}6&EJ9He?E~*4Ma9Q9PvsjnLsu9 z8H5JHgt(F#Bs;~osq|15Cn5+~E&-Bpd9kDZVaTe4BK92mIXRB3j&mu+F|Qfuw1pqDdT3feD^M!5{xPh66j_jFtD4+ewG+m$zUblzr3WXJH+LI ztA{Lb@{-)XXjl!FlaByvO{)G76^6;#C0-p&kGEXoT_nMOru;nwEGIX7aB|_`_#)bRm8M~8D%ndD&dGX0m7kNp1 zGqj&9h<}HM$b{$}PG_>Xxg9}9BcsGFJy$D3vGY~2G@MN|$?pg+J{;Z~?B9CMH}^kX C8S7#I diff --git a/aircox/models/sound.py b/aircox/models/sound.py index a7c9178..a215c10 100644 --- a/aircox/models/sound.py +++ b/aircox/models/sound.py @@ -22,13 +22,17 @@ __all__ = ['Sound', 'SoundQuerySet', 'Track'] class SoundQuerySet(models.QuerySet): + def station(self, station=None, id=None): + id = station.pk if id is None else id + return self.filter(program__station__id=id) + def episode(self, episode=None, id=None): - return self.filter(episode=episode) if id is None else \ - self.filter(episode__id=id) + id = episode.pk if id is None else id + return self.filter(episode__id=id) def diffusion(self, diffusion=None, id=None): - return self.filter(episode__diffusion=diffusion) if id is None else \ - self.filter(episode__diffusion__id=id) + id = diffusion.pk if id is None else id + return self.filter(episode__diffusion__id=id) def podcasts(self): """ Return sounds available as podcasts """ @@ -49,6 +53,13 @@ class SoundQuerySet(models.QuerySet): self = self.order_by('path') return self.filter(path__isnull=False).values_list('path', flat=True) + def search(self, query): + return self.filter( + Q(name__icontains=query) | Q(path__icontains=query) | + Q(program__title__icontains=query) | + Q(episode__title__icontains=query) + ) + class Sound(models.Model): """ diff --git a/aircox/serializers.py b/aircox/serializers.py index 505d1fd..906fa79 100644 --- a/aircox/serializers.py +++ b/aircox/serializers.py @@ -1,6 +1,6 @@ from rest_framework import serializers -from .models import Diffusion, Log +from .models import Diffusion, Log, Sound __all__ = ['LogInfo', 'LogInfoSerializer'] @@ -53,3 +53,18 @@ class LogInfoSerializer(serializers.Serializer): cover = serializers.URLField(required=False) +class SoundSerializer(serializers.ModelSerializer): + # serializers.HyperlinkedIdentityField(view_name='sound', format='html') + + class Meta: + model = Sound + fields = ['pk', 'name', 'path', 'program', 'episode', 'embed', 'type', + 'duration', 'mtime', 'is_good_quality', 'is_public'] + + def get_field_names(self, *args): + names = super().get_field_names(*args) + if not self.context['request'].user.is_staff and self.instance \ + and not self.instance.is_public: + names.remove('path') + return names + diff --git a/aircox/static/aircox/admin.css b/aircox/static/aircox/admin.css index 866e617..d682736 100644 --- a/aircox/static/aircox/admin.css +++ b/aircox/static/aircox/admin.css @@ -207,6 +207,97 @@ ul.menu-list li { fieldset[disabled] .pagination-ellipsis { cursor: not-allowed; } +.dropdown { + display: inline-flex; + position: relative; + vertical-align: top; } + .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu { + display: block; } + .dropdown.is-right .dropdown-menu { + left: auto; + right: 0; } + .dropdown.is-up .dropdown-menu { + bottom: 100%; + padding-bottom: 4px; + padding-top: initial; + top: auto; } + +.dropdown-menu { + display: none; + left: 0; + min-width: 12rem; + padding-top: 4px; + position: absolute; + top: 100%; + z-index: 20; } + +.dropdown-content { + background-color: white; + border-radius: 4px; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + padding-bottom: 0.5rem; + padding-top: 0.5rem; } + +.dropdown-item { + color: #4a4a4a; + display: block; + font-size: 0.875rem; + line-height: 1.5; + padding: 0.375rem 1rem; + position: relative; } + +a.dropdown-item, +button.dropdown-item { + padding-right: 3rem; + text-align: left; + white-space: nowrap; + width: 100%; } + a.dropdown-item:hover, + button.dropdown-item:hover { + background-color: whitesmoke; + color: #0a0a0a; } + a.dropdown-item.is-active, + button.dropdown-item.is-active { + background-color: #3273dc; + color: #fff; } + +.dropdown-divider { + background-color: #dbdbdb; + border: none; + display: block; + height: 1px; + margin: 0.5rem 0; } + +.autocomplete { + position: relative; } + .autocomplete .dropdown-menu { + display: block; + min-width: 100%; + max-width: 100%; } + .autocomplete .dropdown-menu.is-opened-top { + top: auto; + bottom: 100%; } + .autocomplete .dropdown-content { + overflow: auto; + max-height: 200px; } + .autocomplete .dropdown-item { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .autocomplete .dropdown-item.is-hovered { + background: whitesmoke; + color: #0a0a0a; } + .autocomplete .dropdown-item.is-disabled { + opacity: 0.5; + cursor: not-allowed; } + .autocomplete.is-small { + border-radius: 2px; + font-size: 0.75rem; } + .autocomplete.is-medium { + font-size: 1.25rem; } + .autocomplete.is-large { + font-size: 1.5rem; } + /*! bulma.io v0.7.5 | MIT License | github.com/jgthms/bulma */ @keyframes spinAround { from { @@ -7177,6 +7268,9 @@ label.panel-block { .is-borderless { border: none; } +.has-text-nowrap { + white-space: nowrap; } + .has-background-transparent { background-color: transparent; } @@ -7208,6 +7302,18 @@ a.navbar-item.is-active { margin: 0em; padding: 0em; } +.navbar.toolbar { + margin: 1em 0em; + background-color: transparent; + margin-bottom: 1em; } + .navbar.toolbar .title { + padding-right: 2em; + margin-right: 1em; + border-right: 1px #b5b5b5 solid; + font-size: 1.25rem; + color: #7a7a7a; + font-weight: 300; } + .card .title { padding: 0.2em; font-size: 1.25rem; @@ -7230,18 +7336,6 @@ a.navbar-item.is-active { padding: 0.1em; font-size: 0.8em; } -.filters { - margin: 1em 0em; - background-color: transparent; - margin-bottom: 1em; } - .filters .title { - padding-right: 2em; - margin-right: 1em; - border-right: 1px #b5b5b5 solid; - font-size: 1.25rem; - color: #7a7a7a; - font-weight: 300; } - .page > .cover { float: right; max-width: 45%; } diff --git a/aircox/static/aircox/admin.js b/aircox/static/aircox/admin.js index 4138e99..ce089d1 100644 --- a/aircox/static/aircox/admin.js +++ b/aircox/static/aircox/admin.js @@ -218,11 +218,47 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /*!******************************!*\ !*** ./assets/public/app.js ***! \******************************/ -/*! exports provided: app, default */ +/*! exports provided: appBaseConfig, setAppConfig, getAppConfig, loadApp */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"app\", function() { return app; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n\n\n\nvar app = null;\n/* harmony default export */ __webpack_exports__[\"default\"] = (app);\n\nfunction loadApp() {\n app = new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n el: '#app',\n delimiters: [ '[[', ']]' ],\n })\n}\n\nwindow.addEventListener('load', loadApp);\n\n\n\n\n\n//# sourceURL=webpack:///./assets/public/app.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appBaseConfig\", function() { return appBaseConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setAppConfig\", function() { return setAppConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAppConfig\", function() { return getAppConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadApp\", function() { return loadApp; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n\n\n\nconst appBaseConfig = {\n el: '#app',\n delimiters: ['[[', ']]'],\n}\n\n/**\n * Application config for the main application instance\n */\nvar appConfig = {};\n\nfunction setAppConfig(config) {\n for(var member in appConfig) delete appConfig[member];\n return Object.assign(appConfig, config)\n}\n\nfunction getAppConfig(config) {\n if(config instanceof Function)\n config = config()\n config = config == null ? appConfig : config;\n return {...appBaseConfig, ...config}\n}\n\n\n/**\n * Create Vue application at window 'load' event and return a Promise\n * resolving to the created app.\n *\n * config: defaults to appConfig (checked when window is loaded)\n */\nfunction loadApp(config=null) {\n return new Promise(function(resolve, reject) {\n window.addEventListener('load', function() {\n try {\n config = getAppConfig(config)\n const el = document.querySelector(config.el)\n if(!el) {\n reject(`Error: missing element ${config.el}`);\n return;\n }\n\n resolve(new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"](config))\n }\n catch(error) { reject(error) }\n })\n })\n}\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?"); /***/ }), @@ -234,7 +270,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (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 _liveInfo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./liveInfo */ \"./assets/public/liveInfo.js\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles.scss */ \"./assets/public/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _player_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./player.vue */ \"./assets/public/player.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\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-player', _player_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n\n\nwindow.aircox = {\n app: _app__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n LiveInfo: _liveInfo__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n}\n\n\n\n//# sourceURL=webpack:///./assets/public/index.js?"); +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 _styles_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./styles.scss */ \"./assets/public/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _player_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./player.vue */ \"./assets/public/player.vue\");\n/* harmony import */ var _autocomplete_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./autocomplete.vue */ \"./assets/public/autocomplete.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\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-player', _player_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"])\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-autocomplete', _autocomplete_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n\n\nwindow.aircox = {\n // main application\n app: null,\n\n // main application config\n appConfig: {},\n\n // player application\n playerApp: null,\n\n // player component\n get player() {\n return this.playerApp && this.playerApp.$refs.player\n }\n};\n\n\nObject(_app__WEBPACK_IMPORTED_MODULE_3__[\"loadApp\"])({el: '#player'}).then(app => { window.aircox.playerApp = app },\n () => undefined)\nObject(_app__WEBPACK_IMPORTED_MODULE_3__[\"loadApp\"])(() => window.aircox.appConfig ).then(app => { window.aircox.app = app },\n () => undefined)\n\n\n\n\n//# sourceURL=webpack:///./assets/public/index.js?"); /***/ }), @@ -309,6 +345,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n\n\nc /***/ }), +/***/ "./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/player.vue?vue&type=script&lang=js&": /*!*************************************************************************************************************!*\ !*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/player.vue?vue&type=script&lang=js& ***! @@ -333,6 +381,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ }), +/***/ "./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/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& ***! diff --git a/aircox/static/aircox/main.css b/aircox/static/aircox/main.css index 1198314..9748e9a 100644 --- a/aircox/static/aircox/main.css +++ b/aircox/static/aircox/main.css @@ -189,6 +189,97 @@ fieldset[disabled] .pagination-ellipsis { cursor: not-allowed; } +.dropdown { + display: inline-flex; + position: relative; + vertical-align: top; } + .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu { + display: block; } + .dropdown.is-right .dropdown-menu { + left: auto; + right: 0; } + .dropdown.is-up .dropdown-menu { + bottom: 100%; + padding-bottom: 4px; + padding-top: initial; + top: auto; } + +.dropdown-menu { + display: none; + left: 0; + min-width: 12rem; + padding-top: 4px; + position: absolute; + top: 100%; + z-index: 20; } + +.dropdown-content { + background-color: white; + border-radius: 4px; + box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + padding-bottom: 0.5rem; + padding-top: 0.5rem; } + +.dropdown-item { + color: #4a4a4a; + display: block; + font-size: 0.875rem; + line-height: 1.5; + padding: 0.375rem 1rem; + position: relative; } + +a.dropdown-item, +button.dropdown-item { + padding-right: 3rem; + text-align: left; + white-space: nowrap; + width: 100%; } + a.dropdown-item:hover, + button.dropdown-item:hover { + background-color: whitesmoke; + color: #0a0a0a; } + a.dropdown-item.is-active, + button.dropdown-item.is-active { + background-color: #3273dc; + color: #fff; } + +.dropdown-divider { + background-color: #dbdbdb; + border: none; + display: block; + height: 1px; + margin: 0.5rem 0; } + +.autocomplete { + position: relative; } + .autocomplete .dropdown-menu { + display: block; + min-width: 100%; + max-width: 100%; } + .autocomplete .dropdown-menu.is-opened-top { + top: auto; + bottom: 100%; } + .autocomplete .dropdown-content { + overflow: auto; + max-height: 200px; } + .autocomplete .dropdown-item { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .autocomplete .dropdown-item.is-hovered { + background: whitesmoke; + color: #0a0a0a; } + .autocomplete .dropdown-item.is-disabled { + opacity: 0.5; + cursor: not-allowed; } + .autocomplete.is-small { + border-radius: 2px; + font-size: 0.75rem; } + .autocomplete.is-medium { + font-size: 1.25rem; } + .autocomplete.is-large { + font-size: 1.5rem; } + /*! bulma.io v0.7.5 | MIT License | github.com/jgthms/bulma */ @keyframes spinAround { from { @@ -7159,6 +7250,9 @@ label.panel-block { .is-borderless { border: none; } +.has-text-nowrap { + white-space: nowrap; } + .has-background-transparent { background-color: transparent; } @@ -7190,6 +7284,18 @@ a.navbar-item.is-active { margin: 0em; padding: 0em; } +.navbar.toolbar { + margin: 1em 0em; + background-color: transparent; + margin-bottom: 1em; } + .navbar.toolbar .title { + padding-right: 2em; + margin-right: 1em; + border-right: 1px #b5b5b5 solid; + font-size: 1.25rem; + color: #7a7a7a; + font-weight: 300; } + .card .title { padding: 0.2em; font-size: 1.25rem; @@ -7212,18 +7318,6 @@ a.navbar-item.is-active { padding: 0.1em; font-size: 0.8em; } -.filters { - margin: 1em 0em; - background-color: transparent; - margin-bottom: 1em; } - .filters .title { - padding-right: 2em; - margin-right: 1em; - border-right: 1px #b5b5b5 solid; - font-size: 1.25rem; - color: #7a7a7a; - font-weight: 300; } - .page > .cover { float: right; max-width: 45%; } diff --git a/aircox/static/aircox/main.js b/aircox/static/aircox/main.js index 4b6d3c3..e1c6635 100644 --- a/aircox/static/aircox/main.js +++ b/aircox/static/aircox/main.js @@ -159,11 +159,47 @@ /*!******************************!*\ !*** ./assets/public/app.js ***! \******************************/ -/*! exports provided: app, default */ +/*! exports provided: appBaseConfig, setAppConfig, getAppConfig, loadApp */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"app\", function() { return app; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n\n\n\nvar app = null;\n/* harmony default export */ __webpack_exports__[\"default\"] = (app);\n\nfunction loadApp() {\n app = new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n el: '#app',\n delimiters: [ '[[', ']]' ],\n })\n}\n\nwindow.addEventListener('load', loadApp);\n\n\n\n\n\n//# sourceURL=webpack:///./assets/public/app.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appBaseConfig\", function() { return appBaseConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setAppConfig\", function() { return setAppConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAppConfig\", function() { return getAppConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadApp\", function() { return loadApp; });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.browser.js\");\n\n\n\nconst appBaseConfig = {\n el: '#app',\n delimiters: ['[[', ']]'],\n}\n\n/**\n * Application config for the main application instance\n */\nvar appConfig = {};\n\nfunction setAppConfig(config) {\n for(var member in appConfig) delete appConfig[member];\n return Object.assign(appConfig, config)\n}\n\nfunction getAppConfig(config) {\n if(config instanceof Function)\n config = config()\n config = config == null ? appConfig : config;\n return {...appBaseConfig, ...config}\n}\n\n\n/**\n * Create Vue application at window 'load' event and return a Promise\n * resolving to the created app.\n *\n * config: defaults to appConfig (checked when window is loaded)\n */\nfunction loadApp(config=null) {\n return new Promise(function(resolve, reject) {\n window.addEventListener('load', function() {\n try {\n config = getAppConfig(config)\n const el = document.querySelector(config.el)\n if(!el) {\n reject(`Error: missing element ${config.el}`);\n return;\n }\n\n resolve(new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"](config))\n }\n catch(error) { reject(error) }\n })\n })\n}\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?"); /***/ }), @@ -175,7 +211,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (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 _liveInfo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./liveInfo */ \"./assets/public/liveInfo.js\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./styles.scss */ \"./assets/public/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _player_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./player.vue */ \"./assets/public/player.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\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-player', _player_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n\n\nwindow.aircox = {\n app: _app__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n LiveInfo: _liveInfo__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n}\n\n\n\n//# sourceURL=webpack:///./assets/public/index.js?"); +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 _styles_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./styles.scss */ \"./assets/public/styles.scss\");\n/* harmony import */ var _styles_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_styles_scss__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _player_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./player.vue */ \"./assets/public/player.vue\");\n/* harmony import */ var _autocomplete_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./autocomplete.vue */ \"./assets/public/autocomplete.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\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-player', _player_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"])\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].component('a-autocomplete', _autocomplete_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n\n\nwindow.aircox = {\n // main application\n app: null,\n\n // main application config\n appConfig: {},\n\n // player application\n playerApp: null,\n\n // player component\n get player() {\n return this.playerApp && this.playerApp.$refs.player\n }\n};\n\n\nObject(_app__WEBPACK_IMPORTED_MODULE_3__[\"loadApp\"])({el: '#player'}).then(app => { window.aircox.playerApp = app },\n () => undefined)\nObject(_app__WEBPACK_IMPORTED_MODULE_3__[\"loadApp\"])(() => window.aircox.appConfig ).then(app => { window.aircox.app = app },\n () => undefined)\n\n\n\n\n//# sourceURL=webpack:///./assets/public/index.js?"); /***/ }), @@ -238,6 +274,18 @@ eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./asse /***/ }), +/***/ "./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/player.vue?vue&type=script&lang=js&": /*!*************************************************************************************************************!*\ !*** ./node_modules/vue-loader/lib??vue-loader-options!./assets/public/player.vue?vue&type=script&lang=js& ***! @@ -250,6 +298,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ }), +/***/ "./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/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& ***! diff --git a/aircox/static/aircox/vendor.js b/aircox/static/aircox/vendor.js index 614ee84..598a0f5 100644 --- a/aircox/static/aircox/vendor.js +++ b/aircox/static/aircox/vendor.js @@ -22,6 +22,160 @@ eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node /***/ }), +/***/ "./node_modules/buefy/dist/components/autocomplete/index.js": +/*!******************************************************************!*\ + !*** ./node_modules/buefy/dist/components/autocomplete/index.js ***! + \******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/*! Buefy v0.7.10 | MIT License | github.com/buefy/buefy */\n!(function(t,e){if(true)module.exports=e();else { var i, n; }})(\"undefined\"!=typeof self?self:this,(function(){return (function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=269)})([(function(t,e){t.exports=function(t,e,n,i,r){var o,s=t=t||{},u=typeof t.default;\"object\"!==u&&\"function\"!==u||(o=t,s=t.default);var a=\"function\"==typeof s?s.options:s;e&&(a.render=e.render,a.staticRenderFns=e.staticRenderFns),i&&(a._scopeId=i);var c;if(r?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},a._ssrRegister=c):n&&(c=n),c){var l=a.functional,f=l?a.render:a.beforeCreate;l?a.render=function(t,e){return c.call(e),f(t,e)}:a.beforeCreate=f?[].concat(f,c):[c]}return{esModule:o,exports:s,options:a}}}),(function(t,e,n){t.exports=!n(7)((function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}))}),(function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)}),(function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)}),(function(t,e,n){var i=n(10),r=n(20),o=n(15),s=Object.defineProperty;e.f=n(1)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}}),(function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}}),(function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}}),(function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}}),(function(t,e,n){\"use strict\";var i={defaultContainerElement:null,defaultIconPack:\"mdi\",defaultIconComponent:null,defaultDialogConfirmText:null,defaultDialogCancelText:null,defaultSnackbarDuration:3500,defaultSnackbarPosition:null,defaultToastDuration:2e3,defaultToastPosition:null,defaultNotificationDuration:2e3,defaultNotificationPosition:null,defaultTooltipType:\"is-primary\",defaultTooltipAnimated:!1,defaultInputAutocomplete:\"on\",defaultDateFormatter:null,defaultDateParser:null,defaultDateCreator:null,defaultDayNames:null,defaultMonthNames:null,defaultFirstDayOfWeek:null,defaultUnselectableDaysOfWeek:null,defaultTimeFormatter:null,defaultTimeParser:null,defaultModalCanCancel:[\"escape\",\"x\",\"outside\",\"button\"],defaultModalScroll:null,defaultDatepickerMobileNative:!0,defaultTimepickerMobileNative:!0,defaultNoticeQueue:!0,defaultInputHasCounter:!0,defaultUseHtml5Validation:!0,defaultDropdownMobileModal:!0,defaultFieldLabelPosition:null,defaultDatepickerYearsRange:[-100,3],defaultDatepickerNearbyMonthDays:!0,defaultDatepickerNearbySelectableMonthDays:!1};e.a=i}),(function(t,e,n){var i=n(4),r=n(14);t.exports=n(1)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}}),(function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}}),(function(t,e,n){var i=n(36),r=n(28);t.exports=function(t){return i(r(t))}}),(function(t,e,n){\"use strict\";n.d(e,\"c\",(function(){return i})),n.d(e,\"a\",(function(){return r})),n.d(e,\"b\",(function(){return o}));var i=function(t){\"undefined\"!=typeof window&&window.Vue&&window.Vue.use(t)},r=function(t,e){t.component(e.name,e)},o=function(t,e,n){t.prototype[e]=n}}),(function(t,e,n){var i=n(26)(\"wks\"),r=n(17),o=n(2).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i}),(function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}}),(function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}}),(function(t,e,n){var i=n(2),r=n(3),o=n(29),s=n(9),u=n(6),a=function(t,e,n){var c,l,f,d=t&a.F,p=t&a.G,h=t&a.S,v=t&a.P,y=t&a.B,m=t&a.W,w=p?r:r[e]||(r[e]={}),g=w.prototype,b=p?i:h?i[e]:(i[e]||{}).prototype;p&&(n=e);for(c in n)(l=!d&&b&&void 0!==b[c])&&u(w,c)||(f=l?b[c]:n[c],w[c]=p&&\"function\"!=typeof b[c]?n[c]:y&&l?o(f,i):m&&b[c]==f?(function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e})(f):v&&\"function\"==typeof f?o(Function.call,f):f,v&&((w.virtual||(w.virtual={}))[c]=f,t&a.R&&g&&!g[c]&&s(g,c,f)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a}),(function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}}),(function(t,e,n){\"use strict\";e.__esModule=!0;var i=n(42),r=(function(t){return t&&t.__esModule?t:{default:t}})(i);e.default=function(t,e,n){return e in t?(0,r.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}}),(function(t,e){t.exports=!0}),(function(t,e,n){t.exports=!n(1)&&!n(7)((function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a}))}),(function(t,e,n){var i=n(5),r=n(2).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}}),(function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}}),(function(t,e,n){var i=n(0)(n(46),n(47),null,null,null);t.exports=i.exports}),(function(t,e,n){var i=n(34),r=n(27);t.exports=Object.keys||function(t){return i(t,r)}}),(function(t,e){e.f={}.propertyIsEnumerable}),(function(t,e,n){var i=n(3),r=n(2),o=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:i.version,mode:n(19)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})}),(function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")}),(function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}}),(function(t,e,n){var i=n(32);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}}),(function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}}),(function(t,e,n){var i=n(26)(\"keys\"),r=n(17);t.exports=function(t){return i[t]||(i[t]=r(t))}}),(function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}}),(function(t,e){e.f=Object.getOwnPropertySymbols}),(function(t,e,n){var i=n(6),r=n(11),o=n(48)(!1),s=n(31)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,c=[];for(n in u)n!=s&&i(u,n)&&c.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(c,n)||c.push(n));return c}}),(function(t,e,n){var i=n(2),r=n(3),o=n(19),s=n(40),u=n(4).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});\"_\"==t.charAt(0)||t in e||u(e,t,{value:s.f(t)})}}),(function(t,e,n){var i=n(30);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}}),(function(t,e,n){t.exports={default:n(57),__esModule:!0}}),(function(t,e){t.exports={}}),(function(t,e,n){var i=n(4).f,r=n(6),o=n(13)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}}),(function(t,e,n){e.f=n(13)}),(function(t,e,n){var i=n(22),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}}),(function(t,e,n){t.exports={default:n(43),__esModule:!0}}),(function(t,e,n){n(44);var i=n(3).Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}}),(function(t,e,n){var i=n(16);i(i.S+i.F*!n(1),\"Object\",{defineProperty:n(4).f})}),(function(t,e,n){\"use strict\";var i=n(8);e.a={props:{size:String,expanded:Boolean,loading:Boolean,rounded:Boolean,icon:String,iconPack:String,autocomplete:String,maxlength:[Number,String],useHtml5Validation:{type:Boolean,default:function(){return i.a.defaultUseHtml5Validation}},validationMessage:String},data:function(){return{isValid:!0,isFocused:!1,newIconPack:this.iconPack||i.a.defaultIconPack}},computed:{parentField:function(){for(var t=this.$parent,e=0;e<3;e++)t&&!t.$data._isField&&(t=t.$parent);return t},statusType:function(){if(this.parentField&&this.parentField.newType){if(\"string\"==typeof this.parentField.newType)return this.parentField.newType;for(var t in this.parentField.newType)if(this.parentField.newType[t])return t}},statusMessage:function(){if(this.parentField)return this.parentField.newMessage},iconSize:function(){switch(this.size){case\"is-small\":return this.size;case\"is-medium\":return;case\"is-large\":return\"mdi\"===this.newIconPack?\"is-medium\":\"\"}}},methods:{focus:function(){var t=this;void 0!==this.$data._elementRef&&this.$nextTick((function(){var e=t.$el.querySelector(t.$data._elementRef);e&&e.focus()}))},onBlur:function(t){this.isFocused=!1,this.$emit(\"blur\",t),this.checkHtml5Validity()},onFocus:function(t){this.isFocused=!0,this.$emit(\"focus\",t)},checkHtml5Validity:function(){var t=this;if(this.useHtml5Validation&&void 0!==this.$refs[this.$data._elementRef]){var e=this.$el.querySelector(this.$data._elementRef),n=null,i=null,r=!0;return e.checkValidity()||(n=\"is-danger\",i=this.validationMessage||e.validationMessage,r=!1),this.isValid=r,this.$nextTick((function(){t.parentField&&(t.parentField.type||(t.parentField.newType=n),t.parentField.message||(t.parentField.newMessage=i))})),this.isValid}}}}}),(function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(8);e.default={name:\"BIcon\",props:{type:[String,Object],pack:String,icon:String,size:String,customSize:String,customClass:String,both:Boolean},computed:{newIcon:function(){return\"mdi\"===this.newPack?this.newPack+\"-\"+this.icon:this.addFAPrefix(this.getEquivalentIconOf(this.icon))},newPack:function(){return this.pack||i.a.defaultIconPack},newType:function(){if(this.type){var t=[];if(\"string\"==typeof this.type)t=this.type.split(\"-\");else for(var e in this.type)if(this.type[e]){t=e.split(\"-\");break}if(!(t.length<=1))return\"has-text-\"+t[1]}},newCustomSize:function(){return this.customSize||this.customSizeByPack},customSizeByPack:function(){var t=\"mdi\"===this.newPack?\"mdi-24px\":this.addFAPrefix(\"lg\"),e=\"mdi\"===this.newPack?\"mdi-36px\":this.addFAPrefix(\"2x\"),n=\"mdi\"===this.newPack?\"mdi-48px\":this.addFAPrefix(\"3x\");switch(this.size){case\"is-small\":return;case\"is-medium\":return e;case\"is-large\":return n;default:return t}},useIconComponent:function(){return i.a.defaultIconComponent}},methods:{addFAPrefix:function(t){return this.useIconComponent?t:\"fa-\"+t},getEquivalentIconOf:function(t){if(!this.both)return t;switch(t){case\"check\":return\"check\";case\"information\":return\"info-circle\";case\"check-circle\":return\"check-circle\";case\"alert\":return\"exclamation-triangle\";case\"alert-circle\":return\"exclamation-circle\";case\"arrow-up\":return\"arrow-up\";case\"chevron-right\":return\"angle-right\";case\"chevron-left\":return\"angle-left\";case\"chevron-down\":return\"angle-down\";case\"eye\":return\"eye\";case\"eye-off\":return\"eye-slash\";case\"menu-down\":return\"caret-down\";case\"menu-up\":return\"caret-up\";default:return t}}}}}),(function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"icon\",class:[t.newType,t.size]},[t.useIconComponent?n(t.useIconComponent,{tag:\"component\",class:[t.customClass],attrs:{icon:[t.newPack,t.newIcon],size:t.newCustomSize}}):n(\"i\",{class:[t.newPack,t.newIcon,t.newCustomSize,t.customClass]})],1)},staticRenderFns:[]}}),(function(t,e,n){var i=n(11),r=n(41),o=n(49);t.exports=function(t){return function(e,n,s){var u,a=i(e),c=r(a.length),l=o(s,c);if(t&&n!=n){for(;c>l;)if((u=a[l++])!=u)return!0}else for(;c>l;l++)if((t||l in a)&&a[l]===n)return t||l||0;return!t&&-1}}}),(function(t,e,n){var i=n(22),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}}),(function(t,e,n){var i=n(34),r=n(27).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}}),(function(t,e,n){\"use strict\";function i(t,e){return e.split(\".\").reduce((function(t,e){return t[e]}),t)}function r(t,e,n){if(!t)return-1;if(!n||\"function\"!=typeof n)return t.indexOf(e);for(var i=0;idocument.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}}),(function(t,e,n){var i=n(28);t.exports=function(t){return Object(i(t))}}),(function(t,e,n){var i=n(4),r=n(10),o=n(24);t.exports=n(1)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}}),(function(t,e,n){var i=n(2).document;t.exports=i&&i.documentElement}),(function(t,e,n){n(58),n(64),n(65),n(66),t.exports=n(3).Symbol}),(function(t,e,n){\"use strict\";var i=n(2),r=n(6),o=n(1),s=n(16),u=n(52),a=n(59).KEY,c=n(7),l=n(26),f=n(39),d=n(17),p=n(13),h=n(40),v=n(35),y=n(60),m=n(61),w=n(10),g=n(5),b=n(11),x=n(15),S=n(14),_=n(53),k=n(62),O=n(63),P=n(4),V=n(24),T=O.f,C=P.f,F=k.f,A=i.Symbol,I=i.JSON,M=I&&I.stringify,j=p(\"_hidden\"),$=p(\"toPrimitive\"),E={}.propertyIsEnumerable,D=l(\"symbol-registry\"),L=l(\"symbols\"),N=l(\"op-symbols\"),R=Object.prototype,B=\"function\"==typeof A,H=i.QObject,z=!H||!H.prototype||!H.prototype.findChild,q=o&&c((function(){return 7!=_(C({},\"a\",{get:function(){return C(this,\"a\",{value:7}).a}})).a}))?function(t,e,n){var i=T(R,e);i&&delete R[e],C(t,e,n),i&&t!==R&&C(R,e,i)}:C,W=function(t){var e=L[t]=_(A.prototype);return e._k=t,e},G=B&&\"symbol\"==typeof A.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof A},U=function(t,e,n){return t===R&&U(N,e,n),w(t),e=x(e,!0),w(n),r(L,e)?(n.enumerable?(r(t,j)&&t[j][e]&&(t[j][e]=!1),n=_(n,{enumerable:S(0,!1)})):(r(t,j)||C(t,j,S(1,{})),t[j][e]=!0),q(t,e,n)):C(t,e,n)},J=function(t,e){w(t);for(var n,i=y(e=b(e)),r=0,o=i.length;o>r;)U(t,n=i[r++],e[n]);return t},K=function(t,e){return void 0===e?_(t):J(_(t),e)},Y=function(t){var e=E.call(this,t=x(t,!0));return!(this===R&&r(L,t)&&!r(N,t))&&(!(e||!r(this,t)||!r(L,t)||r(this,j)&&this[j][t])||e)},Q=function(t,e){if(t=b(t),e=x(e,!0),t!==R||!r(L,e)||r(N,e)){var n=T(t,e);return!n||!r(L,e)||r(t,j)&&t[j][e]||(n.enumerable=!0),n}},X=function(t){for(var e,n=F(b(t)),i=[],o=0;n.length>o;)r(L,e=n[o++])||e==j||e==a||i.push(e);return i},Z=function(t){for(var e,n=t===R,i=F(n?N:b(t)),o=[],s=0;i.length>s;)!r(L,e=i[s++])||n&&!r(R,e)||o.push(L[e]);return o};B||(A=function(){if(this instanceof A)throw TypeError(\"Symbol is not a constructor!\");var t=d(arguments.length>0?arguments[0]:void 0),e=function(n){this===R&&e.call(N,n),r(this,j)&&r(this[j],t)&&(this[j][t]=!1),q(this,t,S(1,n))};return o&&z&&q(R,t,{configurable:!0,set:e}),W(t)},u(A.prototype,\"toString\",(function(){return this._k})),O.f=Q,P.f=U,n(50).f=k.f=X,n(25).f=Y,n(33).f=Z,o&&!n(19)&&u(R,\"propertyIsEnumerable\",Y,!0),h.f=function(t){return W(p(t))}),s(s.G+s.W+s.F*!B,{Symbol:A});for(var tt=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),et=0;tt.length>et;)p(tt[et++]);for(var nt=V(p.store),it=0;nt.length>it;)v(nt[it++]);s(s.S+s.F*!B,\"Symbol\",{for:function(t){return r(D,t+=\"\")?D[t]:D[t]=A(t)},keyFor:function(t){if(!G(t))throw TypeError(t+\" is not a symbol!\");for(var e in D)if(D[e]===t)return e},useSetter:function(){z=!0},useSimple:function(){z=!1}}),s(s.S+s.F*!B,\"Object\",{create:K,defineProperty:U,defineProperties:J,getOwnPropertyDescriptor:Q,getOwnPropertyNames:X,getOwnPropertySymbols:Z}),I&&s(s.S+s.F*(!B||c((function(){var t=A();return\"[null]\"!=M([t])||\"{}\"!=M({a:t})||\"{}\"!=M(Object(t))}))),\"JSON\",{stringify:function(t){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=e=i[1],(g(e)||void 0!==t)&&!G(t))return m(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),i[1]=e,M.apply(I,i)}}),A.prototype[$]||n(9)(A.prototype,$,A.prototype.valueOf),f(A,\"Symbol\"),f(Math,\"Math\",!0),f(i.JSON,\"JSON\",!0)}),(function(t,e,n){var i=n(17)(\"meta\"),r=n(5),o=n(6),s=n(4).f,u=0,a=Object.isExtensible||function(){return!0},c=!n(7)((function(){return a(Object.preventExtensions({}))})),l=function(t){s(t,i,{value:{i:\"O\"+ ++u,w:{}}})},f=function(t,e){if(!r(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!o(t,i)){if(!a(t))return\"F\";if(!e)return\"E\";l(t)}return t[i].i},d=function(t,e){if(!o(t,i)){if(!a(t))return!0;if(!e)return!1;l(t)}return t[i].w},p=function(t){return c&&h.NEED&&a(t)&&!o(t,i)&&l(t),t},h=t.exports={KEY:i,NEED:!1,fastKey:f,getWeak:d,onFreeze:p}}),(function(t,e,n){var i=n(24),r=n(33),o=n(25);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var s,u=n(t),a=o.f,c=0;u.length>c;)a.call(t,s=u[c++])&&e.push(s);return e}}),(function(t,e,n){var i=n(30);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}}),(function(t,e,n){var i=n(11),r=n(50).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(t){try{return r(t)}catch(t){return s.slice()}};t.exports.f=function(t){return s&&\"[object Window]\"==o.call(t)?u(t):r(i(t))}}),(function(t,e,n){var i=n(25),r=n(14),o=n(11),s=n(15),u=n(6),a=n(20),c=Object.getOwnPropertyDescriptor;e.f=n(1)?c:function(t,e){if(t=o(t),e=s(e,!0),a)try{return c(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}}),(function(t,e){}),(function(t,e,n){n(35)(\"asyncIterator\")}),(function(t,e,n){n(35)(\"observable\")}),(function(t,e,n){\"use strict\";var i=n(19),r=n(16),o=n(52),s=n(9),u=n(38),a=n(75),c=n(39),l=n(76),f=n(13)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),p=function(){return this};t.exports=function(t,e,n,h,v,y,m){a(n,e,h);var w,g,b,x=function(t){if(!d&&t in O)return O[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+\" Iterator\",_=\"values\"==v,k=!1,O=t.prototype,P=O[f]||O[\"@@iterator\"]||v&&O[v],V=P||x(v),T=v?_?x(\"entries\"):V:void 0,C=\"Array\"==e?O.entries||P:P;if(C&&(b=l(C.call(new t)))!==Object.prototype&&b.next&&(c(b,S,!0),i||\"function\"==typeof b[f]||s(b,f,p)),_&&P&&\"values\"!==P.name&&(k=!0,V=function(){return P.call(this)}),i&&!m||!d&&!k&&O[f]||s(O,f,V),u[e]=V,u[S]=p,v)if(w={values:_?V:x(\"values\"),keys:y?V:x(\"keys\"),entries:T},m)for(g in w)g in O||o(O,g,w[g]);else r(r.P+r.F*(d||k),e,w);return w}}),(function(t,e,n){var i=n(0)(n(78),n(79),null,null,null);t.exports=i.exports}),(function(t,e,n){\"use strict\";var i=n(74)(!0);n(67)(String,\"String\",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})}))}),,,(function(t,e,n){n(81);for(var i=n(2),r=n(9),o=n(38),s=n(13)(\"toStringTag\"),u=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),a=0;a=c?t?\"\":void 0:(o=u.charCodeAt(a),o<55296||o>56319||a+1===c||(s=u.charCodeAt(a+1))<56320||s>57343?t?u.charAt(a):o:t?u.slice(a,a+2):s-56320+(o-55296<<10)+65536)}}}),(function(t,e,n){\"use strict\";var i=n(53),r=n(14),o=n(39),s={};n(9)(s,n(13)(\"iterator\"),(function(){return this})),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}}),(function(t,e,n){var i=n(6),r=n(54),o=n(31)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}}),(function(t,e,n){var i=n(30),r=n(13)(\"toStringTag\"),o=\"Arguments\"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),r))?n:o?i(e):\"Object\"==(u=i(e))&&\"function\"==typeof e.callee?\"Arguments\":u}}),(function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(18),r=n.n(i),o=n(23),s=n.n(o),u=n(8),a=n(45);e.default={name:\"BInput\",components:r()({},s.a.name,s.a),mixins:[a.a],inheritAttrs:!1,props:{value:[Number,String],type:{type:String,default:\"text\"},passwordReveal:Boolean,hasCounter:{type:Boolean,default:function(){return u.a.defaultInputHasCounter}},customClass:{type:String,default:\"\"}},data:function(){return{newValue:this.value,newType:this.type,newAutocomplete:this.autocomplete||u.a.defaultInputAutocomplete,isPasswordVisible:!1,_elementRef:\"textarea\"===this.type?\"textarea\":\"input\"}},computed:{computedValue:{get:function(){return this.newValue},set:function(t){this.newValue=t,this.$emit(\"input\",t),!this.isValid&&this.checkHtml5Validity()}},rootClasses:function(){return[this.iconPosition,this.size,{\"is-expanded\":this.expanded,\"is-loading\":this.loading,\"is-clearfix\":!this.hasMessage}]},inputClasses:function(){return[this.statusType,this.size,{\"is-rounded\":this.rounded}]},hasIconRight:function(){return this.passwordReveal||this.loading||this.statusType},iconPosition:function(){return this.icon&&this.hasIconRight?\"has-icons-left has-icons-right\":!this.icon&&this.hasIconRight?\"has-icons-right\":this.icon?\"has-icons-left\":void 0},statusTypeIcon:function(){switch(this.statusType){case\"is-success\":return\"check\";case\"is-danger\":return\"alert-circle\";case\"is-info\":return\"information\";case\"is-warning\":return\"alert\"}},hasMessage:function(){return!!this.statusMessage},passwordVisibleIcon:function(){return this.isPasswordVisible?\"eye-off\":\"eye\"},valueLength:function(){return\"string\"==typeof this.computedValue?this.computedValue.length:\"number\"==typeof this.computedValue?this.computedValue.toString().length:0}},watch:{value:function(t){this.newValue=t}},methods:{togglePasswordVisibility:function(){var t=this;this.isPasswordVisible=!this.isPasswordVisible,this.newType=this.isPasswordVisible?\"text\":\"password\",this.$nextTick((function(){t.$refs.input.focus()}))},onInput:function(t){var e=this;this.$nextTick((function(){t.target&&(e.computedValue=t.target.value)}))}}}}),(function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"control\",class:t.rootClasses},[\"textarea\"!==t.type?n(\"input\",t._b({ref:\"input\",staticClass:\"input\",class:[t.inputClasses,t.customClass],attrs:{type:t.newType,autocomplete:t.newAutocomplete,maxlength:t.maxlength},domProps:{value:t.computedValue},on:{input:t.onInput,blur:t.onBlur,focus:t.onFocus}},\"input\",t.$attrs,!1)):n(\"textarea\",t._b({ref:\"textarea\",staticClass:\"textarea\",class:[t.inputClasses,t.customClass],attrs:{maxlength:t.maxlength},domProps:{value:t.computedValue},on:{input:t.onInput,blur:t.onBlur,focus:t.onFocus}},\"textarea\",t.$attrs,!1)),t._v(\" \"),t.icon?n(\"b-icon\",{staticClass:\"is-left\",attrs:{icon:t.icon,pack:t.iconPack,size:t.iconSize}}):t._e(),t._v(\" \"),t.loading||!t.passwordReveal&&!t.statusType?t._e():n(\"b-icon\",{staticClass:\"is-right\",class:{\"is-clickable\":t.passwordReveal},attrs:{icon:t.passwordReveal?t.passwordVisibleIcon:t.statusTypeIcon,pack:t.iconPack,size:t.iconSize,type:t.passwordReveal?\"is-primary\":t.statusType,both:\"\"},nativeOn:{click:function(e){t.togglePasswordVisibility(e)}}}),t._v(\" \"),t.maxlength&&t.hasCounter&&\"number\"!==t.type?n(\"small\",{staticClass:\"help counter\",class:{\"is-invisible\":!t.isFocused}},[t._v(\"\\n \"+t._s(t.valueLength)+\" / \"+t._s(t.maxlength)+\"\\n \")]):t._e()],1)},staticRenderFns:[]}}),(function(t,e,n){t.exports={default:n(84),__esModule:!0}}),(function(t,e,n){\"use strict\";var i=n(82),r=n(83),o=n(38),s=n(11);t.exports=n(67)(Array,\"Array\",(function(t,e){this._t=s(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])}),\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")}),(function(t,e){t.exports=function(){}}),(function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}}),(function(t,e,n){n(72),n(69),t.exports=n(85)}),(function(t,e,n){var i=n(10),r=n(73);t.exports=n(3).getIterator=function(t){var e=r(t);if(\"function\"!=typeof e)throw TypeError(t+\" is not iterable!\");return i(e.call(t))}}),,,,,,,,,,,,,,,,,,,(function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(115),o=i(r),s=n(37),u=i(s),a=\"function\"==typeof u.default&&\"symbol\"==typeof o.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof u.default&&t.constructor===u.default&&t!==u.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof u.default&&\"symbol\"===a(o.default)?function(t){return void 0===t?\"undefined\":a(t)}:function(t){return t&&\"function\"==typeof u.default&&t.constructor===u.default&&t!==u.default.prototype?\"symbol\":void 0===t?\"undefined\":a(t)}}),(function(t,e,n){var i=n(0)(n(114),n(117),null,null,null);t.exports=i.exports}),,,,,,,,,(function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(104),r=n.n(i),o=n(80),s=n.n(o),u=n(18),a=n.n(u),c=n(51),l=n(45),f=n(68),d=n.n(f);e.default={name:\"BAutocomplete\",components:a()({},d.a.name,d.a),mixins:[l.a],inheritAttrs:!1,props:{value:[Number,String],data:{type:Array,default:function(){return[]}},field:{type:String,default:\"value\"},keepFirst:Boolean,clearOnSelect:Boolean,openOnFocus:Boolean,customFormatter:Function},data:function(){return{selected:null,hovered:null,isActive:!1,newValue:this.value,newAutocomplete:this.autocomplete||\"off\",isListInViewportVertically:!0,hasFocus:!1,_isAutocomplete:!0,_elementRef:\"input\"}},computed:{whiteList:function(){var t=[];if(t.push(this.$refs.input.$el.querySelector(\"input\")),t.push(this.$refs.dropdown),void 0!==this.$refs.dropdown){var e=this.$refs.dropdown.querySelectorAll(\"*\"),n=!0,i=!1,r=void 0;try{for(var o,u=s()(e);!(n=(o=u.next()).done);n=!0){var a=o.value;t.push(a)}}catch(t){i=!0,r=t}finally{try{!n&&u.return&&u.return()}finally{if(i)throw r}}}return t},hasDefaultSlot:function(){return!!this.$scopedSlots.default},hasEmptySlot:function(){return!!this.$slots.empty},hasHeaderSlot:function(){return!!this.$slots.header},hasFooterSlot:function(){return!!this.$slots.footer}},watch:{isActive:function(t){var e=this;t?this.calcDropdownInViewportVertical():(this.$nextTick((function(){return e.setHovered(null)})),setTimeout((function(){e.calcDropdownInViewportVertical()}),100))},newValue:function(t){this.$emit(\"input\",t);var e=this.getValue(this.selected);e&&e!==t&&this.setSelected(null,!1),!this.hasFocus||this.openOnFocus&&!t||(this.isActive=!!t)},value:function(t){this.newValue=t,!this.isValid&&this.$refs.input.checkHtml5Validity()},data:function(t){this.keepFirst&&this.selectFirstOption(t)}},methods:{setHovered:function(t){void 0!==t&&(this.hovered=t)},setSelected:function(t){var e=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];void 0!==t&&(this.selected=t,this.$emit(\"select\",this.selected),null!==this.selected&&(this.newValue=this.clearOnSelect?\"\":this.getValue(this.selected)),n&&this.$nextTick((function(){e.isActive=!1})))},selectFirstOption:function(t){var e=this;this.$nextTick((function(){t.length?(e.openOnFocus||\"\"!==e.newValue&&e.hovered!==t[0])&&e.setHovered(t[0]):e.setHovered(null)}))},enterPressed:function(){null!==this.hovered&&this.setSelected(this.hovered)},tabPressed:function(){if(null===this.hovered)return void(this.isActive=!1);this.setSelected(this.hovered)},clickedOutside:function(t){this.whiteList.indexOf(t.target)<0&&(this.isActive=!1)},getValue:function(t){if(t)return void 0!==this.customFormatter?this.customFormatter(t):\"object\"===(void 0===t?\"undefined\":r()(t))?Object(c.a)(t,this.field):t},calcDropdownInViewportVertical:function(){var t=this;this.$nextTick((function(){if(void 0!==t.$refs.dropdown){var e=t.$refs.dropdown.getBoundingClientRect();t.isListInViewportVertically=e.top>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)}}))},keyArrows:function(t){var e=\"down\"===t?1:-1;if(this.isActive){var n=this.data.indexOf(this.hovered)+e;n=n>this.data.length-1?this.data.length:n,n=n<0?0:n,this.setHovered(this.data[n]);var i=this.$refs.dropdown.querySelector(\".dropdown-content\"),r=i.querySelectorAll(\"a.dropdown-item:not(.is-disabled)\")[n];if(!r)return;var o=i.scrollTop,s=i.scrollTop+i.clientHeight-r.clientHeight;r.offsetTop=s&&(i.scrollTop=r.offsetTop-i.clientHeight+r.clientHeight)}else this.isActive=!0},focused:function(t){this.getValue(this.selected)===this.newValue&&this.$el.querySelector(\"input\").select(),this.openOnFocus&&(this.isActive=!0,this.keepFirst&&this.selectFirstOption(this.data)),this.hasFocus=!0,this.$emit(\"focus\",t)},onBlur:function(t){this.hasFocus=!1,this.$emit(\"blur\",t)},onInput:function(t){var e=this.getValue(this.selected);e&&e===this.newValue||this.$emit(\"typing\",this.newValue)}},created:function(){\"undefined\"!=typeof window&&(document.addEventListener(\"click\",this.clickedOutside),window.addEventListener(\"resize\",this.calcDropdownInViewportVertical))},beforeDestroy:function(){\"undefined\"!=typeof window&&(document.removeEventListener(\"click\",this.clickedOutside),window.removeEventListener(\"resize\",this.calcDropdownInViewportVertical))}}}),(function(t,e,n){t.exports={default:n(116),__esModule:!0}}),(function(t,e,n){n(69),n(72),t.exports=n(40).f(\"iterator\")}),(function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"autocomplete control\",class:{\"is-expanded\":t.expanded}},[n(\"b-input\",t._b({ref:\"input\",attrs:{type:\"text\",size:t.size,loading:t.loading,rounded:t.rounded,icon:t.icon,\"icon-pack\":t.iconPack,maxlength:t.maxlength,autocomplete:t.newAutocomplete,\"use-html5-validation\":t.useHtml5Validation},on:{input:t.onInput,focus:t.focused,blur:t.onBlur},nativeOn:{keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key))return null;e.preventDefault(),t.isActive=!1},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"tab\",9,e.key))return null;t.tabPressed(e)},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"enter\",13,e.key))return null;e.preventDefault(),t.enterPressed(e)},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key))return null;e.preventDefault(),t.keyArrows(\"up\")},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key))return null;e.preventDefault(),t.keyArrows(\"down\")}]},model:{value:t.newValue,callback:function(e){t.newValue=e},expression:\"newValue\"}},\"b-input\",t.$attrs,!1)),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isActive&&(t.data.length>0||t.hasEmptySlot||t.hasHeaderSlot),expression:\"isActive && (data.length > 0 || hasEmptySlot || hasHeaderSlot)\"}],ref:\"dropdown\",staticClass:\"dropdown-menu\",class:{\"is-opened-top\":!t.isListInViewportVertically}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isActive,expression:\"isActive\"}],staticClass:\"dropdown-content\"},[t.hasHeaderSlot?n(\"div\",{staticClass:\"dropdown-item\"},[t._t(\"header\")],2):t._e(),t._v(\" \"),t._l(t.data,(function(e,i){return n(\"a\",{key:i,staticClass:\"dropdown-item\",class:{\"is-hovered\":e===t.hovered},on:{click:function(n){t.setSelected(e)}}},[t.hasDefaultSlot?t._t(\"default\",null,{option:e,index:i}):n(\"span\",[t._v(\"\\n \"+t._s(t.getValue(e,!0))+\"\\n \")])],2)})),t._v(\" \"),0===t.data.length&&t.hasEmptySlot?n(\"div\",{staticClass:\"dropdown-item is-disabled\"},[t._t(\"empty\")],2):t._e(),t._v(\" \"),t.hasFooterSlot?n(\"div\",{staticClass:\"dropdown-item\"},[t._t(\"footer\")],2):t._e()],2)])])],1)},staticRenderFns:[]}}),,,,,,,,,,(function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(105),r=n.n(i),o=n(12);n.d(e,\"Autocomplete\",(function(){return r.a}));var s={install:function(t){Object(o.a)(t,r.a)}};Object(o.c)(s),e.default=s}),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,(function(t,e,n){t.exports=n(127)})])}));\n\n//# sourceURL=webpack:///./node_modules/buefy/dist/components/autocomplete/index.js?"); + +/***/ }), + +/***/ "./node_modules/buefy/dist/components/button/index.js": +/*!************************************************************!*\ + !*** ./node_modules/buefy/dist/components/button/index.js ***! + \************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/*! Buefy v0.7.10 | MIT License | github.com/buefy/buefy */\n!(function(e,t){if(true)module.exports=t();else { var r, n; }})(\"undefined\"!=typeof self?self:this,(function(){return (function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=270)})({0:function(e,t){e.exports=function(e,t,n,r,o){var i,u=e=e||{},a=typeof e.default;\"object\"!==a&&\"function\"!==a||(i=e,u=e.default);var c=\"function\"==typeof u?u.options:u;t&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns),r&&(c._scopeId=r);var s;if(o?(s=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=s):n&&(s=n),s){var l=c.functional,f=l?c.render:c.beforeCreate;l?c.render=function(e,t){return s.call(t),f(e,t)}:c.beforeCreate=f?[].concat(f,s):[s]}return{esModule:i,exports:u,options:c}}},1:function(e,t,n){e.exports=!n(7)((function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}))},10:function(e,t,n){var r=n(5);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},12:function(e,t,n){\"use strict\";n.d(t,\"c\",(function(){return r})),n.d(t,\"a\",(function(){return o})),n.d(t,\"b\",(function(){return i}));var r=function(e){\"undefined\"!=typeof window&&window.Vue&&window.Vue.use(e)},o=function(e,t){e.component(t.name,t)},i=function(e,t,n){e.prototype[t]=n}},128:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(129),o=n.n(r),i=n(12);n.d(t,\"Button\",(function(){return o.a}));var u={install:function(e){Object(i.a)(e,o.a)}};Object(i.c)(u),t.default=u},129:function(e,t,n){var r=n(0)(n(130),n(131),null,null,null);e.exports=r.exports},130:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(18),o=n.n(r),i=n(23),u=n.n(i);t.default={name:\"BButton\",components:o()({},u.a.name,u.a),inheritAttrs:!1,props:{type:[String,Object],size:String,label:String,iconPack:String,iconLeft:String,iconRight:String,rounded:Boolean,loading:Boolean,outlined:Boolean,inverted:Boolean,focused:Boolean,active:Boolean,hovered:Boolean,selected:Boolean,nativeType:{type:String,default:\"button\",validator:function(e){return[\"button\",\"submit\",\"reset\"].indexOf(e)>=0}},tag:{type:String,default:\"button\",validator:function(e){return[\"button\",\"a\",\"input\",\"router-link\",\"nuxt-link\",\"n-link\",\"NuxtLink\",\"NLink\"].indexOf(e)>=0}}},computed:{iconSize:function(){return this.size&&\"is-medium\"!==this.size?\"is-large\"===this.size?\"is-medium\":this.size:\"is-small\"}}}},131:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.tag,e._b({tag:\"component\",staticClass:\"button\",class:[e.size,e.type,{\"is-rounded\":e.rounded,\"is-loading\":e.loading,\"is-outlined\":e.outlined,\"is-inverted\":e.inverted,\"is-focused\":e.focused,\"is-active\":e.active,\"is-hovered\":e.hovered,\"is-selected\":e.selected}],attrs:{type:e.nativeType},on:{click:function(t){e.$emit(\"click\",t)}}},\"component\",e.$attrs,!1),[e.iconLeft?n(\"b-icon\",{attrs:{pack:e.iconPack,icon:e.iconLeft,size:e.iconSize}}):e._e(),e._v(\" \"),e.label?n(\"span\",[e._v(e._s(e.label))]):e.$slots.default?n(\"span\",[e._t(\"default\")],2):e._e(),e._v(\" \"),e.iconRight?n(\"b-icon\",{attrs:{pack:e.iconPack,icon:e.iconRight,size:e.iconSize}}):e._e()],1)},staticRenderFns:[]}},14:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},15:function(e,t,n){var r=n(5);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&\"function\"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if(\"function\"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&\"function\"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError(\"Can't convert object to primitive value\")}},16:function(e,t,n){var r=n(2),o=n(3),i=n(29),u=n(9),a=n(6),c=function(e,t,n){var s,l,f,d=e&c.F,p=e&c.G,v=e&c.S,h=e&c.P,m=e&c.B,y=e&c.W,b=p?o:o[t]||(o[t]={}),x=b.prototype,g=p?r:v?r[t]:(r[t]||{}).prototype;p&&(n=t);for(s in n)(l=!d&&g&&void 0!==g[s])&&a(b,s)||(f=l?g[s]:n[s],b[s]=p&&\"function\"!=typeof g[s]?n[s]:m&&l?i(f,r):y&&g[s]==f?(function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t})(f):h&&\"function\"==typeof f?i(Function.call,f):f,h&&((b.virtual||(b.virtual={}))[s]=f,e&c.R&&x&&!x[s]&&u(x,s,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},18:function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(42),o=(function(e){return e&&e.__esModule?e:{default:e}})(r);t.default=function(e,t,n){return t in e?(0,o.default)(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},2:function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},20:function(e,t,n){e.exports=!n(1)&&!n(7)((function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a}))},21:function(e,t,n){var r=n(5),o=n(2).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},23:function(e,t,n){var r=n(0)(n(46),n(47),null,null,null);e.exports=r.exports},270:function(e,t,n){e.exports=n(128)},29:function(e,t,n){var r=n(32);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},3:function(e,t){var n=e.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},32:function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},4:function(e,t,n){var r=n(10),o=n(20),i=n(15),u=Object.defineProperty;t.f=n(1)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return u(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},42:function(e,t,n){e.exports={default:n(43),__esModule:!0}},43:function(e,t,n){n(44);var r=n(3).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},44:function(e,t,n){var r=n(16);r(r.S+r.F*!n(1),\"Object\",{defineProperty:n(4).f})},46:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(8);t.default={name:\"BIcon\",props:{type:[String,Object],pack:String,icon:String,size:String,customSize:String,customClass:String,both:Boolean},computed:{newIcon:function(){return\"mdi\"===this.newPack?this.newPack+\"-\"+this.icon:this.addFAPrefix(this.getEquivalentIconOf(this.icon))},newPack:function(){return this.pack||r.a.defaultIconPack},newType:function(){if(this.type){var e=[];if(\"string\"==typeof this.type)e=this.type.split(\"-\");else for(var t in this.type)if(this.type[t]){e=t.split(\"-\");break}if(!(e.length<=1))return\"has-text-\"+e[1]}},newCustomSize:function(){return this.customSize||this.customSizeByPack},customSizeByPack:function(){var e=\"mdi\"===this.newPack?\"mdi-24px\":this.addFAPrefix(\"lg\"),t=\"mdi\"===this.newPack?\"mdi-36px\":this.addFAPrefix(\"2x\"),n=\"mdi\"===this.newPack?\"mdi-48px\":this.addFAPrefix(\"3x\");switch(this.size){case\"is-small\":return;case\"is-medium\":return t;case\"is-large\":return n;default:return e}},useIconComponent:function(){return r.a.defaultIconComponent}},methods:{addFAPrefix:function(e){return this.useIconComponent?e:\"fa-\"+e},getEquivalentIconOf:function(e){if(!this.both)return e;switch(e){case\"check\":return\"check\";case\"information\":return\"info-circle\";case\"check-circle\":return\"check-circle\";case\"alert\":return\"exclamation-triangle\";case\"alert-circle\":return\"exclamation-circle\";case\"arrow-up\":return\"arrow-up\";case\"chevron-right\":return\"angle-right\";case\"chevron-left\":return\"angle-left\";case\"chevron-down\":return\"angle-down\";case\"eye\":return\"eye\";case\"eye-off\":return\"eye-slash\";case\"menu-down\":return\"caret-down\";case\"menu-up\":return\"caret-up\";default:return e}}}}},47:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"span\",{staticClass:\"icon\",class:[e.newType,e.size]},[e.useIconComponent?n(e.useIconComponent,{tag:\"component\",class:[e.customClass],attrs:{icon:[e.newPack,e.newIcon],size:e.newCustomSize}}):n(\"i\",{class:[e.newPack,e.newIcon,e.newCustomSize,e.customClass]})],1)},staticRenderFns:[]}},5:function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},6:function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},7:function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},8:function(e,t,n){\"use strict\";var r={defaultContainerElement:null,defaultIconPack:\"mdi\",defaultIconComponent:null,defaultDialogConfirmText:null,defaultDialogCancelText:null,defaultSnackbarDuration:3500,defaultSnackbarPosition:null,defaultToastDuration:2e3,defaultToastPosition:null,defaultNotificationDuration:2e3,defaultNotificationPosition:null,defaultTooltipType:\"is-primary\",defaultTooltipAnimated:!1,defaultInputAutocomplete:\"on\",defaultDateFormatter:null,defaultDateParser:null,defaultDateCreator:null,defaultDayNames:null,defaultMonthNames:null,defaultFirstDayOfWeek:null,defaultUnselectableDaysOfWeek:null,defaultTimeFormatter:null,defaultTimeParser:null,defaultModalCanCancel:[\"escape\",\"x\",\"outside\",\"button\"],defaultModalScroll:null,defaultDatepickerMobileNative:!0,defaultTimepickerMobileNative:!0,defaultNoticeQueue:!0,defaultInputHasCounter:!0,defaultUseHtml5Validation:!0,defaultDropdownMobileModal:!0,defaultFieldLabelPosition:null,defaultDatepickerYearsRange:[-100,3],defaultDatepickerNearbyMonthDays:!0,defaultDatepickerNearbySelectableMonthDays:!1};t.a=r},9:function(e,t,n){var r=n(4),o=n(14);e.exports=n(1)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}}})}));\n\n//# sourceURL=webpack:///./node_modules/buefy/dist/components/button/index.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/_Symbol.js": +/*!****************************************!*\ + !*** ./node_modules/lodash/_Symbol.js ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_Symbol.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/_baseGetTag.js": +/*!********************************************!*\ + !*** ./node_modules/lodash/_baseGetTag.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var Symbol = __webpack_require__(/*! ./_Symbol */ \"./node_modules/lodash/_Symbol.js\"),\n getRawTag = __webpack_require__(/*! ./_getRawTag */ \"./node_modules/lodash/_getRawTag.js\"),\n objectToString = __webpack_require__(/*! ./_objectToString */ \"./node_modules/lodash/_objectToString.js\");\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_baseGetTag.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/_freeGlobal.js": +/*!********************************************!*\ + !*** ./node_modules/lodash/_freeGlobal.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/lodash/_freeGlobal.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/_getRawTag.js": +/*!*******************************************!*\ + !*** ./node_modules/lodash/_getRawTag.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var Symbol = __webpack_require__(/*! ./_Symbol */ \"./node_modules/lodash/_Symbol.js\");\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_getRawTag.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/_objectToString.js": +/*!************************************************!*\ + !*** ./node_modules/lodash/_objectToString.js ***! + \************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_objectToString.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/_root.js": +/*!**************************************!*\ + !*** ./node_modules/lodash/_root.js ***! + \**************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ \"./node_modules/lodash/_freeGlobal.js\");\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/_root.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/debounce.js": +/*!*****************************************!*\ + !*** ./node_modules/lodash/debounce.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\"),\n now = __webpack_require__(/*! ./now */ \"./node_modules/lodash/now.js\"),\n toNumber = __webpack_require__(/*! ./toNumber */ \"./node_modules/lodash/toNumber.js\");\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/debounce.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/isObject.js": +/*!*****************************************!*\ + !*** ./node_modules/lodash/isObject.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/isObject.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/isObjectLike.js": +/*!*********************************************!*\ + !*** ./node_modules/lodash/isObjectLike.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +eval("/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/isObjectLike.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/isSymbol.js": +/*!*****************************************!*\ + !*** ./node_modules/lodash/isSymbol.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ \"./node_modules/lodash/_baseGetTag.js\"),\n isObjectLike = __webpack_require__(/*! ./isObjectLike */ \"./node_modules/lodash/isObjectLike.js\");\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/isSymbol.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/now.js": +/*!************************************!*\ + !*** ./node_modules/lodash/now.js ***! + \************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var root = __webpack_require__(/*! ./_root */ \"./node_modules/lodash/_root.js\");\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/now.js?"); + +/***/ }), + +/***/ "./node_modules/lodash/toNumber.js": +/*!*****************************************!*\ + !*** ./node_modules/lodash/toNumber.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +eval("var isObject = __webpack_require__(/*! ./isObject */ \"./node_modules/lodash/isObject.js\"),\n isSymbol = __webpack_require__(/*! ./isSymbol */ \"./node_modules/lodash/isSymbol.js\");\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n//# sourceURL=webpack:///./node_modules/lodash/toNumber.js?"); + +/***/ }), + /***/ "./node_modules/process/browser.js": /*!*****************************************!*\ !*** ./node_modules/process/browser.js ***! diff --git a/aircox/templates/admin/base.html b/aircox/templates/admin/base.html index 3eb3808..83ea901 100644 --- a/aircox/templates/admin/base.html +++ b/aircox/templates/admin/base.html @@ -1,9 +1,10 @@ -{% load i18n static %} +{% load i18n static aircox_admin %} {% get_current_language as LANGUAGE_CODE %}{% get_current_language_bidi as LANGUAGE_BIDI %} {% block title %}{% endblock %} + @@ -67,7 +68,10 @@ @@ -121,7 +125,7 @@
{% block pretitle %}{% endblock %} - {% block content_title %}{% if title %}

{{ title }}

{% endif %}{% endblock %} + {% block content_title %}{% if title %}

{{ title }}

{% endif %}{% endblock %} {% block content %} {% block object-tools %}{% endblock %} {{ content }} diff --git a/aircox/templates/aircox/base.html b/aircox/templates/aircox/base.html index c427aa5..93cb189 100644 --- a/aircox/templates/aircox/base.html +++ b/aircox/templates/aircox/base.html @@ -93,7 +93,7 @@ Blocks: {% block main %} {% if has_filters %} - @@ -132,8 +132,8 @@ Blocks:

- {% include "aircox/player.html" %} +
{% include "aircox/player.html" %}
diff --git a/aircox/templates/aircox/home.html b/aircox/templates/aircox/home.html index 67be545..7b5cbbe 100644 --- a/aircox/templates/aircox/home.html +++ b/aircox/templates/aircox/home.html @@ -38,7 +38,9 @@ Context:

{% trans "Last publications" %}

+{% with has_headline=True %} {{ block.super }} +{% endwith %} {% endblock %} diff --git a/aircox/templates/aircox/player.html b/aircox/templates/aircox/player.html index af9e755..272d884 100644 --- a/aircox/templates/aircox/player.html +++ b/aircox/templates/aircox/player.html @@ -16,7 +16,7 @@