diff --git a/assets/css/scorm.scss b/assets/css/scorm.scss index 4151d29c9c..199ceafed1 100644 --- a/assets/css/scorm.scss +++ b/assets/css/scorm.scss @@ -727,7 +727,7 @@ See https://support.chamilo.org/issues/6976 @apply bg-no-repeat bg-transparent bg-left; a.items-list { - @apply py-3 pr-4 relative + @apply py-4 pr-10 relative after:block after:absolute after:bottom-0 after:left-0 after:right-0 after:mr-4 after:border-b after:border-gray-25 ; } diff --git a/assets/vue/services/messagereluser.js b/assets/vue/services/messagereluser.js index d5eab8fd60..d1d2403e6e 100644 --- a/assets/vue/services/messagereluser.js +++ b/assets/vue/services/messagereluser.js @@ -1,3 +1,15 @@ -import makeService from './api'; +import makeService from "./api" +import baseService from "./baseService" -export default makeService('message_rel_users'); +/** + * @param {string} iri + * @param {Object} params + * @returns {Promise} + */ +async function update(iri, params) { + return await baseService.put(iri, params) +} + +export default makeService("message_rel_users", { + update, +}) diff --git a/assets/vue/views/message/MessageShow.vue b/assets/vue/views/message/MessageShow.vue index b766613d79..fcd0ebcf09 100644 --- a/assets/vue/views/message/MessageShow.vue +++ b/assets/vue/views/message/MessageShow.vue @@ -148,6 +148,7 @@ import BaseAutocomplete from "../../components/basecomponents/BaseAutocomplete.v import { useFormatDate } from "../../composables/formatDate" import { useMessageRelUserStore } from "../../store/messageRelUserStore" import messageTagService from "../../services/messageTagService" +import messageRelUserService from "../../services/messagereluser" import { useSecurityStore } from "../../store/securityStore" import BaseCard from "../../components/basecomponents/BaseCard.vue" import MessageCommunicationParty from "./MessageCommunicationParty.vue" @@ -186,11 +187,8 @@ store.dispatch("message/load", id).then((responseItem) => { // Change to read. if (myReceiver.value && false === myReceiver.value.read) { - store - .dispatch("messagereluser/update", { - "@id": myReceiver.value["@id"], - read: true, - }) + messageRelUserService + .update(myReceiver.value["@id"], { read: true }) .then(() => messageRelUserStore.findUnreadCount()) } }) @@ -213,11 +211,7 @@ function getTagIndex(tag) { return myReceiver.value.tags.findIndex((receiverTag) => receiverTag["@id"] === tag["@id"]) } -function mapTagsToIds() { - return myReceiver.value.tags.map((receiverTag) => receiverTag["@id"]) -} - -async function onRemoveTagFromMessage(tag) { +function onRemoveTagFromMessage(tag) { const index = getTagIndex(tag) if (index < 0) { @@ -226,12 +220,12 @@ async function onRemoveTagFromMessage(tag) { myReceiver.value.tags.splice(index, 1) - const newTagIds = mapTagsToIds() - - await store.dispatch("messagereluser/update", { - "@id": myReceiver.value["@id"], - tags: newTagIds, - }) + messageRelUserService + .update(myReceiver.value["@id"], { + tags: myReceiver.value.tags, + }) + .then(({ tags: newTagList }) => (myReceiver.value.tags = newTagList)) + .catch((e) => console.log(e)) } function reply() { @@ -264,36 +258,28 @@ async function onSearchTags(query) { } async function onItemSelect({ value }) { - const newTag = computed(() => store.state.messagetag.created) - if (!value["@id"]) { - try { - await store.dispatch("messagetag/create", { - user: securityStore.user["@id"], - tag: value.tag, - }) - } catch (e) { - return - } + myReceiver.value.tags.push({ + user: securityStore.user["@id"], + tag: value.tag, + }) } else { const existingIndex = getTagIndex(value) >= 0 if (existingIndex) { return } - } - - foundTag.value = "" - - if (myReceiver.value && newTag.value) { - myReceiver.value.tags.push(newTag.value) - const newTagIds = mapTagsToIds() + myReceiver.value.tags.push(value) + } - await store.dispatch("messagereluser/update", { - "@id": myReceiver.value["@id"], - tags: newTagIds, + messageRelUserService + .update(myReceiver.value["@id"], { + tags: myReceiver.value.tags, }) - } + .then(({ tags: newTagList }) => (myReceiver.value.tags = newTagList)) + .catch((e) => console.log(e)) + + foundTag.value = "" } diff --git a/assets/vue/views/userreluser/UserRelUserAdd.vue b/assets/vue/views/userreluser/UserRelUserAdd.vue index a4869bdb53..a0b796a8e6 100644 --- a/assets/vue/views/userreluser/UserRelUserAdd.vue +++ b/assets/vue/views/userreluser/UserRelUserAdd.vue @@ -37,7 +37,7 @@