mirror of https://github.com/requarks/wiki
parent
7fde587a6c
commit
5efa0abe62
@ -1,181 +0,0 @@
|
||||
<template lang="pug">
|
||||
q-dialog(ref='dialogRef', @hide='onDialogHide')
|
||||
q-card(style='min-width: 850px;')
|
||||
q-card-section.card-header
|
||||
q-icon(name='img:/_assets/icons/fluent-down.svg', left, size='sm')
|
||||
span {{t(`admin.locale.downloadTitle`)}}
|
||||
q-card-section.q-pa-none
|
||||
q-table.no-border-radius(
|
||||
:data='state.locales'
|
||||
:columns='headers'
|
||||
row-name='code'
|
||||
flat
|
||||
hide-bottom
|
||||
:rows-per-page-options='[0]'
|
||||
:loading='state.loading > 0'
|
||||
)
|
||||
template(v-slot:body-cell-code='props')
|
||||
q-td(:props='props')
|
||||
q-chip(
|
||||
square
|
||||
color='teal'
|
||||
text-color='white'
|
||||
dense
|
||||
): span.text-caption {{props.value}}
|
||||
template(v-slot:body-cell-name='props')
|
||||
q-td(:props='props')
|
||||
strong {{props.value}}
|
||||
template(v-slot:body-cell-isRTL='props')
|
||||
q-td(:props='props')
|
||||
q-icon(
|
||||
v-if='props.value'
|
||||
name='las la-check'
|
||||
color='brown'
|
||||
size='xs'
|
||||
)
|
||||
template(v-slot:body-cell-availability='props')
|
||||
q-td(:props='props')
|
||||
q-circular-progress(
|
||||
size='md'
|
||||
show-value
|
||||
:value='props.value'
|
||||
:thickness='0.1'
|
||||
:color='props.value <= 33 ? `negative` : (props.value <= 66) ? `warning` : `positive`'
|
||||
) {{ props.value }}%
|
||||
template(v-slot:body-cell-isInstalled='props')
|
||||
q-td(:props='props')
|
||||
q-spinner(
|
||||
v-if='props.row.isDownloading'
|
||||
color='primary'
|
||||
size='20px'
|
||||
:thickness='2'
|
||||
)
|
||||
q-btn(
|
||||
v-else-if='props.value && props.row.installDate < props.row.updatedAt'
|
||||
flat
|
||||
round
|
||||
dense
|
||||
@click='download(props.row)'
|
||||
icon='las la-redo-alt'
|
||||
color='accent'
|
||||
)
|
||||
q-btn(
|
||||
v-else-if='props.value'
|
||||
flat
|
||||
round
|
||||
dense
|
||||
@click='download(props.row)'
|
||||
icon='las la-check-circle'
|
||||
color='positive'
|
||||
)
|
||||
q-btn(
|
||||
v-else
|
||||
flat
|
||||
round
|
||||
dense
|
||||
@click='download(props.row)'
|
||||
icon='las la-cloud-download-alt'
|
||||
color='primary'
|
||||
)
|
||||
q-card-actions.card-actions
|
||||
q-space
|
||||
q-btn.acrylic-btn(
|
||||
flat
|
||||
:label='t(`common.actions.close`)'
|
||||
color='grey'
|
||||
padding='xs md'
|
||||
@click='onDialogCancel'
|
||||
)
|
||||
|
||||
q-inner-loading(:showing='state.loading > 0')
|
||||
q-spinner(color='accent', size='lg')
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useDialogPluginComponent, useQuasar } from 'quasar'
|
||||
import { reactive, ref } from 'vue'
|
||||
|
||||
import { useAdminStore } from '../stores/admin'
|
||||
|
||||
// EMITS
|
||||
|
||||
defineEmits([
|
||||
...useDialogPluginComponent.emits
|
||||
])
|
||||
|
||||
// QUASAR
|
||||
|
||||
const { dialogRef, onDialogHide, onDialogOK, onDialogCancel } = useDialogPluginComponent()
|
||||
const $q = useQuasar()
|
||||
|
||||
// STORES
|
||||
|
||||
const adminStore = useAdminStore()
|
||||
|
||||
// I18N
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
// DATA
|
||||
|
||||
const state = reactive({
|
||||
locales: [],
|
||||
loading: 0
|
||||
})
|
||||
|
||||
const headers = [
|
||||
{
|
||||
label: t('admin.locale.code'),
|
||||
align: 'left',
|
||||
field: 'code',
|
||||
name: 'code',
|
||||
sortable: true,
|
||||
style: 'width: 90px'
|
||||
},
|
||||
{
|
||||
label: t('admin.locale.name'),
|
||||
align: 'left',
|
||||
field: 'name',
|
||||
name: 'name',
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
label: t('admin.locale.nativeName'),
|
||||
align: 'left',
|
||||
field: 'nativeName',
|
||||
name: 'nativeName',
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
label: t('admin.locale.rtl'),
|
||||
align: 'center',
|
||||
field: 'isRTL',
|
||||
name: 'isRTL',
|
||||
sortable: false,
|
||||
style: 'width: 10px'
|
||||
},
|
||||
{
|
||||
label: t('admin.locale.availability'),
|
||||
align: 'center',
|
||||
field: 'availability',
|
||||
name: 'availability',
|
||||
sortable: false,
|
||||
style: 'width: 120px'
|
||||
},
|
||||
{
|
||||
label: t('admin.locale.download'),
|
||||
align: 'center',
|
||||
field: 'isInstalled',
|
||||
name: 'isInstalled',
|
||||
sortable: false,
|
||||
style: 'width: 100px'
|
||||
}
|
||||
]
|
||||
|
||||
// METHODS
|
||||
|
||||
async function download (lc) {
|
||||
|
||||
}
|
||||
</script>
|
Loading…
Reference in new issue