reply comment on 360 working

This commit is contained in:
isUnknown 2024-12-20 12:36:21 +01:00
parent d727f1a1af
commit f790653fcf
8 changed files with 38 additions and 18 deletions

View file

@ -121,7 +121,9 @@ dayjs.locale("fr");
const { user } = useUserStore();
const { page } = usePageStore();
const dialog = useDialogStore();
const { comments, openedFile, draftComment } = storeToRefs(useDialogStore());
const { comments, openedFile, draftComment, activeTracks } = storeToRefs(
useDialogStore()
);
const api = useApiStore();
const openedComment = ref(null);
@ -170,7 +172,7 @@ function handleSubmit(event = null) {
const date = dayjs().format();
const newComment = {
dialogUri: route.fullPath,
fileName: openedFile ? openedFile.value.name : false,
fileName: openedFile.value ? openedFile.value.name : false,
userUuid: user.uuid,
text: draftComment.value.text,
date,
@ -192,6 +194,10 @@ function handleSubmit(event = null) {
async function replyComment(newComment) {
newComment.parentId = openedComment.value.id;
const matchFileParentUri = openedComment.value.location.file.url.match(
/projects\/.*?(?=\/[^/]+\/[^/]+$)/
);
newComment.fileParentUri = matchFileParentUri ? matchFileParentUri[0] : null;
const newFile = await api.replyComment(newComment);
resetDraftComment();
isAddOpen.value = false;
@ -292,6 +298,12 @@ function prepareDraftCommentInImage(event) {
function openComment(comment) {
openedComment.value = comment;
if (activeTracks?.value.length === 1) {
openedFile.value = activeTracks.value[0].files.find(
(file) => file.uuid === openedComment.value.location.file.uuid
);
}
}
</script>

View file

@ -53,7 +53,9 @@ import Interactive360 from "./Interactive360.vue";
import { useDialogStore } from "../../../stores/dialog";
const { page } = storeToRefs(usePageStore());
const { isCommentsOpen, isCommentPanelEnabled } = storeToRefs(useDialogStore());
const { isCommentsOpen, isCommentPanelEnabled, activeTracks } = storeToRefs(
useDialogStore()
);
const tracks = computed(
() =>
@ -75,7 +77,7 @@ watch(isCompareModeEnabled, (newValue) => {
}
});
const activeTracks = ref([tracks.value[0]]);
activeTracks.value = [tracks.value[0]];
function getFrontViewUrl(track) {
if (track.files.length > 1) {

View file

@ -5,7 +5,7 @@
class="drag-zone"
:class="{ grabbing: isDragToRotateEnabled }"
></div>
<img :src="currentFile.url" alt="" width="500" height="500" />
<img :src="openedFile.url" alt="" width="500" height="500" />
</figure>
<div
id="helper"

View file

@ -37,9 +37,11 @@ import { storeToRefs } from "pinia";
import { useDialogStore } from "../../../stores/dialog";
const { step } = useVirtualSampleStore();
const { openedFile } = storeToRefs(useDialogStore());
const { openedFile, activeTracks } = storeToRefs(useDialogStore());
const activeTab = ref(Object.keys(step.files.static)[0]);
activeTracks.value = [];
watch(
activeTab,
(newVal) => {