import { mapState } from "pinia"; export const link_types = [ { id: 1, label: "تصویر" }, { id: 2, label: "فایل" }, { id: 3, label: "آپارات" }, { id: 4, label: "سایر" }, ]; export const all_statuses = [ { id: 0, label: "مشخص نشده" }, { id: 1, label: "نیازمند تکمیل" }, { id: 2, label: "نیازمند تناسب سنجی" }, { id: 3, label: "تکمیل اولیه" }, { id: 4, label: "در مرحله داوری" }, { id: 5, label: "منتظر تایید" }, { id: 6, label: "تایید" }, ]; export const commonMixin = { computed: { ...mapState(useCommonStore, ["mediaAssetsUrl","userPermisionGetter"]), canCreateInShowPage() {}, canDeleteInShowPage() {}, canCreateProperty() { const permission = this.$route.meta.parent + "-properties_create"; const canCreate = this.userPermisionGetter?.includes(permission); return canCreate; }, updateKey() { const permission = this.$route.name + "-properties_update"; return this.userPermisionGetter?.includes(permission); }, canDeleteProperty() { return this.userPermisionGetter?.includes( this.$route.meta.parent + "-properties_delete" ); }, }, methods: { getStatusTitle(state_id = undefined) { if (state_id in this.all_statuses) return this.all_statuses[state_id].label; else return "نامعین"; }, getEntityName(type_id) { if (!type_id) return "نامشخص"; if (type_id == 1) return "'گفتگو'"; if (type_id == 2) return "مساله"; else if (type_id == 3) return "پاسخ"; else if (type_id == 4) return "معیار"; return "نامعین"; }, getEntityTitle(type_id) { if (!type_id) return "نامشخص"; if (type_id == 1) return "'گفتگوهای'"; else if (type_id == 2) return "مسائل"; else if (type_id == 3) return "پاسخهای"; else if (type_id == 4) return "معیارهای"; return "نامعین"; }, getEntityKey(type_id) { if (!type_id) return "نامشخص"; if (type_id == 1) return "'گفتگوهای'"; else if (type_id == 2) return "issue"; else if (type_id == 3) return "answer"; else if (type_id == 4) return "crition"; return "نامعین"; }, getEntityTypeId(key) { if (key == "talk") return 1; else if (key == "issue") return 2; else if (key == "issues") return 2; else if (key == "answer") return 3; else if (key == "crition") return 4; else if (key == "critions") return 4; return 0; }, getRelationTypeId(key) { if (key == "answer") return 1; }, relationType(relationTypeId) { switch (parseInt(relationTypeId)) { case 8: return "جزئی از"; case 9: return "هم افزا با"; case 10: return "مغایر با"; default: return "جزئی از"; } }, getFilePath(file, isThumb = false) { if (isThumb && file && file.startsWith("media/images/")) file = file.replace("media/images/", "media/images/thumbnail/"); return this.mediaAssetsUrl + file; }, getFileExtension(filename) { return filename?.split(".").pop(); }, isImage(fileName) { return ["jpg", "jpeg", "png", "webp"].includes( this.getFileExtension(fileName) ); }, isImageLinkType(type) { return type == this.link_types[0].label; }, isFileLinkType(type) { return type == this.link_types[1].label; }, isAparatLinkType(type) { return type == this.link_types[2].label; }, getAparatIframe(url) { var html = '
'; var id = url.split("/").pop(); html = html.replace("{{id-aparat}}", id); return html; }, }, };