import { computed, defineComponent, onMounted, PropType, ref, watch } from 'vue' import { CMyFieldDb } from '@/components/CMyFieldDb' import { CTitleBanner } from '@/components/CTitleBanner' import { CProfile } from '@/components/CProfile' import { CDateTime } from '@/components/CDateTime' import { CMyPage } from '@/components/CMyPage' import { CMyFieldRec } from '@/components/CMyFieldRec' import { CAccomodation } from '@/components/CAccomodation' import { tools } from '@store/Modules/tools' import { useUserStore } from '@store/UserStore' import { useGlobalStore } from '@store/globalStore' import { useI18n } from '@/boot/i18n' import { toolsext } from '@store/Modules/toolsext' import { useQuasar } from 'quasar' import { costanti } from '@costanti' import { IColGridTable, IImgGallery, IUserFields } from 'model' import { shared_consts } from '@/common/shared_vuejs' import { colCitys, fieldsTable } from '@store/Modules/fieldsTable' import { useRoute } from 'vue-router' import { useNotifStore } from '@store/NotifStore' export default defineComponent({ name: 'CMyCardPopup', components: { CProfile, CTitleBanner, CMyFieldDb, CDateTime, CMyPage, CMyFieldRec, CAccomodation }, props: { table: { type: String, required: true, }, prop_myrec: { type: Object as PropType, required: false, default: null, }, idRec: { type: String, required: false, default: '' }, nopopup: { type: Boolean, required: false, default: false }, }, setup(props) { const userStore = useUserStore() const notifStore = useNotifStore() const globalStore = useGlobalStore() const $q = useQuasar() const $route = useRoute() const { t } = useI18n() const showPic = ref(false) const myrec = ref({}) const col = ref({}) const idnotif = computed(() => $route.query.idnotif ? $route.query.idnotif.toString() : '') function profile() { return userStore.my.profile } function load() { // Carica il profilo di quest'utente if (props.idRec) { userStore.loadGeneric(props.table, props.idRec, idnotif.value).then((ris) => { myrec.value = ris notifStore.setAsRead(idnotif.value) }) } else { myrec.value = props.prop_myrec } col.value = fieldsTable.getArrColsByTable(props.table) } watch(() => props.idRec, (to: any, from: any) => { load() }) function mounted() { load() } function getlinkpage() { return self.location.host + tools.getPathByTable(props.table, myrec.value._id) } function condividipag() { const mystr = getlinkpage() tools.copyStringToClipboard($q, mystr, true) tools.sendMsgTelegramCmd($q, t, shared_consts.MsgTeleg.SHARE_TEXT, false, mystr) return true } function showBadge() { if (shared_consts.TABLES_SHOW_ADTYPE.includes(props.table)) { return true } return false } onMounted(mounted) return { profile, tools, costanti, myrec, shared_consts, globalStore, showPic, userStore, t, fieldsTable, colCitys, toolsext, col, condividipag, showBadge, getlinkpage, } } })