Files
salvato.newfreeplanet/src/rootgen/admin/userPanel/userPanel.ts
paoloar77 4cde86c113 - Refused User
- Report User
- Unblock User
- refresh tables when an action (setFriends and setGroups) occurred.
- fix duplicate call of loadsite
2022-08-08 16:34:30 +02:00

153 lines
3.8 KiB
TypeScript
Executable File

import { defineComponent, onMounted, ref } from 'vue'
import { computed } from 'vue'
import { CMyPage } from '@/components/CMyPage'
import { CCopyBtn } from '@/components/CCopyBtn'
import { CKeyAndValue } from '@/components/CKeyAndValue'
import { CGridTableRec } from '@/components/CGridTableRec'
import { tools } from '@store/Modules/tools'
import { static_data } from '@/db/static_data'
import { fieldsTable } from '@src/store/Modules/fieldsTable'
import { shared_consts } from '@/common/shared_vuejs'
import { DefaultProfile, useUserStore } from '@store/UserStore'
import { costanti } from '@costanti'
import { useQuasar } from 'quasar'
import { useNotifStore } from '@store/NotifStore'
import { INotif } from 'model'
import { IUserFields } from '@model/UserStore'
import { useI18n } from '@/boot/i18n'
import MixinUsers from '@/mixins/mixin-users'
export default defineComponent({
name: 'userPanel',
components: { CMyPage, CKeyAndValue, CCopyBtn },
setup() {
const arrfilterand: any = ref([])
const $q = useQuasar()
const search = ref('')
const colVisib = ref('')
const mycolumns = ref([])
const myuser = ref(<IUserFields>{_id: '', username: '', name: '', surname: '', profile: DefaultProfile})
const risultato = ref('')
const mynotif = ref('')
const title = ref('')
const notifdirtype = ref(1)
const notifidtype = ref(1)
const listnotif = ref(<any>[])
const listnotiftype = ref(<any>[])
const { t } = useI18n();
const listnotifid = computed(() => {
if (notifdirtype.value) {
const mylist: any = shared_consts.TypeNotifs_Arr.find((rec: any) => rec.value === notifdirtype.value)
if (mylist) {
for (const rec of mylist.list) {
rec.label = t(rec.labeltrans)
}
}
return mylist.list
}
return []
})
const userStore = useUserStore()
const notifStore = useNotifStore()
const { getMyUsername } = MixinUsers()
async function mounted() {
//
search.value = tools.getCookie(tools.COOK_SEARCH + 'searchpanel')
await refresh()
listnotif.value = shared_consts.UsersNotif_Adv_List
for (const rec of listnotif.value) {
rec.label = t(rec.labeltrans)
}
listnotiftype.value = shared_consts.TypeNotifs_Arr
for (const rec of listnotiftype.value) {
rec.label = t(rec.labeltrans)
}
}
function changeCol(newval: any) {
//
}
async function refresh() {
if (!!search.value)
myuser.value = await userStore.loadUserPanel(search.value)
else
myuser.value = {_id: '', username: '', name: '', surname: '', profile: DefaultProfile}
}
function db_fieldsTable() {
return fieldsTable
}
async function doSearch() {
tools.setCookie(tools.COOK_SEARCH + 'searchpanel', search.value)
await refresh()
}
async function exportListaEmail() {
risultato.value = await tools.exportListaEmail()
tools.copyStringToClipboard($q, risultato.value, false)
}
async function sendNotifToUser() {
if (!!myuser.value) {
const notif: INotif = {
typedir: notifdirtype.value,
typeid: notifidtype.value,
sender: userStore.my.username,
dest: myuser.value.username,
descr: mynotif.value,
title: title.value,
}
await notifStore.SendNotifEvent(notif)
}
}
onMounted(mounted)
return {
arrfilterand,
fieldsTable,
search,
tools,
shared_consts,
doSearch,
changeCol,
myuser,
refresh,
mycolumns,
colVisib,
exportListaEmail,
sendNotifToUser,
risultato,
mynotif,
title,
notifdirtype,
notifidtype,
listnotif,
listnotiftype,
listnotifid,
getMyUsername,
}
}
})