Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/assets/vue/mixins/CreateMixin.js

64 lines
1.6 KiB

import NotificationMixin from "./NotificationMixin"
import { formatDateTime } from "../utils/dates"
export default {
mixins: [NotificationMixin],
methods: {
formatDateTime,
onCreated(item) {
let message
if (item["resourceNode"]) {
message =
this.$i18n && this.$i18n.t
? this.$t("{resource} created", { resource: item["resourceNode"].title })
: `${item["resourceNode"].title} created`
} else {
message =
this.$i18n && this.$i18n.t ? this.$t("{resource} created", { resource: item.title }) : `${item.title} created`
}
this.showMessage(message)
let folderParams = this.$route.query
this.$router.push({
name: `${this.$options.servicePrefix}List`,
params: { id: item["@id"] },
query: folderParams,
})
},
onSendForm() {
const createForm = this.$refs.createForm
createForm.v$.$touch()
if (!createForm.v$.$invalid) {
this.create(createForm.v$.item.$model)
}
},
onSendFormData() {
const createForm = this.$refs.createForm
createForm.v$.$touch()
if (!createForm.v$.$invalid) {
this.createWithFormData(createForm.v$.item.$model)
}
},
resetForm() {
this.$refs.createForm.$v.$reset()
this.item = {}
},
},
watch: {
created(created) {
console.log("CreateMixin.js::created")
console.log(created)
if (!created) {
return
}
this.onCreated(created)
},
error(message) {
message && this.showError(message)
},
},
}