mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
send direct message to client users from presupuesto,facturas or pedido forms
This commit is contained in:
@ -7,6 +7,8 @@ class Alert {
|
||||
this.icon = this.item.find(".icon-alert")
|
||||
this.iconSuccess = "ti-circle-check"
|
||||
this.iconError = "ti-exclamation-mark"
|
||||
this.iconInfo = "ti-question-mark"
|
||||
|
||||
|
||||
|
||||
|
||||
@ -14,6 +16,7 @@ class Alert {
|
||||
setIcon(iconClass){
|
||||
this.icon.removeClass(this.iconSuccess)
|
||||
this.icon.removeClass(this.iconError)
|
||||
this.icon.removeClass(this.iconInfo)
|
||||
this.icon.addClass(iconClass)
|
||||
}
|
||||
setAsError() {
|
||||
@ -24,16 +27,25 @@ class Alert {
|
||||
}
|
||||
setAsSuccess() {
|
||||
this.item.removeClass("alert-danger")
|
||||
this.item.removeClass("alert-warning")
|
||||
this.item.removeClass("alert-info")
|
||||
this.item.addClass("alert-success")
|
||||
this.setIcon(this.iconSuccess)
|
||||
}
|
||||
setAsWarning() {
|
||||
this.item.removeClass("alert-success")
|
||||
this.item.removeClass("alert-danger")
|
||||
this.item.removeClass("alert-info")
|
||||
this.item.addClass("alert-warning")
|
||||
this.setIcon(this.iconError)
|
||||
|
||||
}
|
||||
setAsInfo() {
|
||||
this.item.removeClass("alert-*")
|
||||
this.item.removeClass("alert-success")
|
||||
this.item.removeClass("alert-danger")
|
||||
this.item.addClass("alert-warning")
|
||||
this.item.addClass("alert-info")
|
||||
this.setIcon(this.iconInfo)
|
||||
}
|
||||
show() {
|
||||
this.item.removeClass("d-none")
|
||||
@ -48,6 +60,16 @@ class Alert {
|
||||
this.body.append(content)
|
||||
}
|
||||
setErrors() { }
|
||||
reset(){
|
||||
this.item.removeClass("alert-success")
|
||||
this.item.removeClass("alert-danger")
|
||||
this.item.removeClass("alert-warning")
|
||||
this.item.removeClass("alert-info")
|
||||
this.item.setContent("")
|
||||
this.item.setHeadingTitle("")
|
||||
this.item.hide()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export default Alert;
|
||||
@ -0,0 +1,85 @@
|
||||
import Ajax from "../ajax.js";
|
||||
import Modal from "../modal.js"
|
||||
import ClassSelect from "../select2.js";
|
||||
import Alert from "../alerts/alert.js";
|
||||
|
||||
class ModalDirectMessageClient {
|
||||
constructor(model="presupuesto",domItem = null) {
|
||||
this.item = domItem
|
||||
this.modal = new Modal(domItem)
|
||||
this.alert = new Alert(this.item.find("#alertDirectMessage"))
|
||||
this.modelId = this.item.data("id");
|
||||
this.selectItem = this.item.find("#select-clients")
|
||||
this.model = model
|
||||
this.selectClientUser = new ClassSelect(this.selectItem,`/chat/direct/client/users/select/${this.model}/${this.modelId}`,"Seleccione contacto",true)
|
||||
this.messageInput = this.item.find("#new-direct-message-cliente-text")
|
||||
this.title = this.item.find("#new-direct-message-cliente-title")
|
||||
this.btnSubmitMessage = this.item.find("#submit-new-direct-message-client")
|
||||
}
|
||||
init() {
|
||||
this.selectClientUser.init()
|
||||
this.modal.item.on("hidden.bs.modal",this.reset_close.bind(this))
|
||||
this.modal.item.on("shown.bs.modal",this.reset_show.bind(this))
|
||||
this.btnSubmitMessage.on("click",this._handleStoreChatDirectMessage.bind(this))
|
||||
}
|
||||
reset(){
|
||||
this.messageInput.val("")
|
||||
this.title.val("")
|
||||
this.selectClientUser.reset();
|
||||
}
|
||||
reset_close(){
|
||||
this.messageInput.val("")
|
||||
this.title.val("")
|
||||
this.selectClientUser.reset();
|
||||
this.alert.hide()
|
||||
this.alert.setHeadingTitle("")
|
||||
this.alert.setContent("")
|
||||
this.alert.setAsSuccess()
|
||||
}
|
||||
reset_show(){
|
||||
this.messageInput.val("")
|
||||
this.title.val("")
|
||||
this.selectClientUser.reset();
|
||||
this.alert.hide()
|
||||
this.alert.setHeadingTitle("")
|
||||
this.alert.setContent("")
|
||||
this.alert.setAsSuccess()
|
||||
}
|
||||
_handleStoreChatDirectMessage() {
|
||||
const data = { "message": this.messageInput.val(), "title": this.title.val() , "users" : this.selectClientUser.getVal() }
|
||||
if (data.message) {
|
||||
const ajax = new Ajax(
|
||||
`/messages/direct`,
|
||||
data,
|
||||
null,
|
||||
this._handleStoreNewDirectMessageSuccess.bind(this),
|
||||
this._handleStoreNewDirectMessageError.bind(this)
|
||||
)
|
||||
ajax.post()
|
||||
}else{
|
||||
this.alert.show()
|
||||
this.alert.setAsWarning()
|
||||
this.alert.setHeadingTitle("Tienes que añadir un mensaje")
|
||||
}
|
||||
}
|
||||
_handleStoreNewDirectMessageSuccess(response) {
|
||||
try {
|
||||
this.alert.setAsSuccess()
|
||||
this.alert.setHeadingTitle(response.message)
|
||||
this.alert.setContent(response.message)
|
||||
this.alert.show()
|
||||
} catch (error) {
|
||||
} finally {
|
||||
this.reset()
|
||||
}
|
||||
|
||||
}
|
||||
_handleStoreNewDirectMessageError(error){
|
||||
this.alert.setHeadingTitle(error.message)
|
||||
this.alert.setAsError()
|
||||
this.alert.setContent(JSON.stringify(error.errors))
|
||||
this.alert.show()
|
||||
}
|
||||
}
|
||||
|
||||
export default ModalDirectMessageClient
|
||||
@ -1,5 +1,6 @@
|
||||
import Chat from '../components/chat.js'
|
||||
import InternalMessages from "../components/internalMessagesSection.js"
|
||||
import ModalDirectMessageClient from '../components/modals/modalDirectMessageClient.js'
|
||||
|
||||
$(document).ready(() => {
|
||||
let chat = new Chat($("#chat-factura"))
|
||||
@ -9,5 +10,9 @@ $(document).ready(() => {
|
||||
let internalMessages = new InternalMessages($("#internal_messages_chat"))
|
||||
internalMessages.init()
|
||||
}
|
||||
|
||||
let modalDirectMessageClient = new ModalDirectMessageClient("factura", $("#modalNewDirectMessageClient"))
|
||||
modalDirectMessageClient.init()
|
||||
$("#direct-message-cliente").on("click",() => {
|
||||
modalDirectMessageClient.modal.show()
|
||||
})
|
||||
})
|
||||
@ -1,5 +1,6 @@
|
||||
import Chat from '../components/chat.js'
|
||||
import InternalMessages from "../components/internalMessagesSection.js"
|
||||
import ModalDirectMessageClient from '../components/modals/modalDirectMessageClient.js'
|
||||
|
||||
$(document).ready(() => {
|
||||
let chat = new Chat($("#chat-pedido"))
|
||||
@ -9,5 +10,10 @@ $(document).ready(() => {
|
||||
let internalMessages = new InternalMessages($("#internal_messages_chat"))
|
||||
internalMessages.init()
|
||||
}
|
||||
let modalDirectMessageClient = new ModalDirectMessageClient("pedido", $("#modalNewDirectMessageClient"))
|
||||
modalDirectMessageClient.init()
|
||||
$("#direct-message-cliente").on("click",() => {
|
||||
modalDirectMessageClient.modal.show()
|
||||
})
|
||||
|
||||
})
|
||||
@ -1,13 +1,18 @@
|
||||
import Chat from '../components/chat.js'
|
||||
import InternalMessages from "../components/internalMessagesSection.js"
|
||||
|
||||
$(document).ready(() => {
|
||||
import ModalDirectMessageClient from '../components/modals/modalDirectMessageClient.js'
|
||||
$(function () {
|
||||
let chat = new Chat($("#chat-presupuesto"))
|
||||
chat.init()
|
||||
chat.initPresupuesto()
|
||||
if($("#internal_messages_chat").length > 0){
|
||||
let internalMessages = new InternalMessages($("#internal_messages_chat"))
|
||||
internalMessages.init()
|
||||
if ($("#internal_messages_chat").length > 0) {
|
||||
let internalMessages = new InternalMessages($("#internal_messages_chat"))
|
||||
internalMessages.init()
|
||||
let modalDirectMessageClient = new ModalDirectMessageClient("presupuesto", $("#modalNewDirectMessageClient"))
|
||||
modalDirectMessageClient.init()
|
||||
$("#direct-message-cliente").on("click",() => {
|
||||
modalDirectMessageClient.modal.show()
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user