integrate statistics

This commit is contained in:
bkfox
2024-04-12 15:48:55 +02:00
parent 7841fed17d
commit 0ee72f30c5
35 changed files with 348 additions and 83 deletions

View File

@ -15,6 +15,13 @@ const App = {
computed: {
player() { return window.aircox.player; },
},
methods: {
deleteElements(sel) {
for(var el of document.querySelectorAll(sel))
el.parentNode.removeChild(el)
}
}
}
export const PlayerApp = {

View File

@ -70,11 +70,11 @@ export default {
method: this.method,
body: JSON.stringify(this.item.data),
})
this.promise = fetch(this.url, options).then(data => {
const response = data.json();
this.promise = fetch(this.url, options).then(data => data.text()).then(data => {
data = data && JSON.parse(data) || null
this.promise = null;
this.$emit('done', response)
return response
this.$emit('done', data)
return data
}, data => { this.promise = null; return data })
return this.promise
},

View File

@ -5,7 +5,7 @@
</template>
<script>
const splitReg = new RegExp(',\\s*', 'g');
const splitReg = new RegExp(',\\s*|\\s+', 'g');
export default {
data() {
@ -22,7 +22,8 @@ export default {
for(var item of items)
if(item.value)
for(var tag of item.value.split(splitReg))
counts[tag.trim()] = (counts[tag.trim()] || 0) + 1;
if(tag.trim())
counts[tag.trim()] = (counts[tag.trim()] || 0) + 1;
this.counts = counts;
},

View File

@ -34,11 +34,12 @@ export default base
export const admin = {
...base,
AStatistics, AStreamer, ATrackListEditor
ATrackListEditor
}
export const dashboard = {
...base,
AActionButton, AFileUpload, ASelectFile, AModal,
AFormSet, ATrackListEditor, ASoundListEditor
AFormSet, ATrackListEditor, ASoundListEditor,
AStatistics, AStreamer,
}

View File

@ -141,7 +141,7 @@ export default class PageLoad {
let submit = event.type == 'submit';
let target = submit || event.target.tagName == 'A'
? event.target : event.target.closest('a');
if(!target || target.hasAttribute('target'))
if(!target || target.hasAttribute('target') || target.data.forceReload)
return;
let url = submit ? target.getAttribute('action') || ''

View File

@ -123,8 +123,15 @@
.main-color { color: var(--main-color); }
.secondary-color { color: var(--secondary-color); }
.bg-main { background-color: var(--main-color); }
.bg-main-light { background-color: var(--main-color-light); }
.bg-secondary { background-color: var(--secondary-color); }
.bg-secondary-light { background-color: var(--secondary-color-light); }
.bg-transparent { background-color: transparent; }
.border-bottom-main { border-bottom: 1px solid var(--main-color); }
.border-bottom-secondary { border-bottom: 1px solid var(--secondary-color); }
.is-success {
background-color: v.$green !important;
border-color: v.$green-dark !important;