

import Ajax from "../../../components/ajax.js";
import ajax from "../../../components/ajax.js"

class ErrorPresupuestoForm {
    constructor(domItem) {
        this.item = domItem
        this.form = this.item.find("#error-presupuesto-form")
        this.inputPresupuestoUserId = this.item.find("#presupuesto-user-id")
        this.inputDatos = this.item.find("#datos-presupuesto")
        this.inputError = this.item.find("#error-presupuesto-text")
        this.inputComments = this.item.find("#comments-presupuesto")
        this.errorPresupuestoId = this.item.find("#error-presupuesto-id").attr("value")
        this.updateBtnIcon = this.item.find(".button-update-comment")
        this.checkVisto = this.item.find("#error-presupuesto-visto")
        this.loader = this.item.find("#update-button-loader")
        this.btnIcon = this.item.find("#update-button-icon")

    }
    init() {
        this.item.on("click",".button-update-comment",this.handlePostErrorPresupuesto.bind(this))
        this.handleGetErrorPresupuesto()
    }
    handleGetErrorPresupuesto()
    {
        const ajax = new Ajax(
            `/configuracion/errores-presupuesto/get/${this.errorPresupuestoId}`,
            null,
            null,
            this.handleGetErrorPresupuestoSuccess.bind(this),
            this.handleGetErrorPresupuestoError.bind(this)
        )
        ajax.get()
    }
    handleGetErrorPresupuestoSuccess(data){
        const dataJson = JSON.parse(data.data.datos_presupuesto)
        const error = data.data.error
        this.inputPresupuestoUserId.val(data.data.presupuestoUser)
        this.inputDatos.val(JSON.stringify(dataJson,null,4))
        this.inputError.val(error)
        this.inputComments.val(data.data.comment)
        this.updateBtnIcon.prop("disabled",false)
        this.checkVisto.prop("checked",parseInt(data.data.visto) == 1 ? true : false)
        this.setLoader(false)

    }
    setLoader(state = true){
        this.loader.prop("hidden",!state)
        this.btnIcon.prop("hidden",state)
    }
    handleGetErrorPresupuestoError(){}
    handlePostErrorPresupuesto()
    {
        let data =  
        {
            "comments" : this.inputComments.val()
        }
        this.updateBtnIcon.prop("disabled",true)
        this.setLoader()
        const ajax = new Ajax(
            `/configuracion/errores-presupuesto/edit/${this.errorPresupuestoId}`,
            data,
            null,
            this.handlePostErrorPresupuestoSuccess.bind(this),
            this.handlePostErrorPresupuestoError.bind(this)
        )
        ajax.post()
    }
    handlePostErrorPresupuestoSuccess(){
        
        this.handleGetErrorPresupuesto()
    }
    handlePostErrorPresupuestoError(error){} 


}

export default ErrorPresupuestoForm;