var Swal;
Espo.loader.requirePromise('swal').then((sw)=> { Swal = sw });

define('custom:views/Opportunity/edit', ['views/edit'], (EditRecordView) => {
    // Definição da classe de teste
    class OpportunityModal {
        constructor(){
            console.log('Construtor OpportunityModal')
        } 
        ModalTest(afterRenderModel) {
            Swal.fire({
                title: 'Atenção!',
                html:
                    '<div style="text-align: left;">' +
                    `${afterRenderModel.cid}` +
                    '</div>',
                icon: "info",
                iconColor: '#007b78',
                width: '47rem',
                showConfirmButton: true,
                confirmButtonColor: '#007b78',
                confirmButtonText: 'Ok',
                allowOutsideClick: false,
                allowEscapeKey: false,
                allowEnterKey: false,
            });
        }
    }
    return class extends EditRecordView {
        // O método setup chama o método 'setup' que é definida através da super classe 'EditRecordView'
        setup() {
            super.setup();
        }

        afterRender() {
            super.afterRender();
            console.log('edit.js outside record')
            var inserted = false;
            var afterRenderModel = this;

            // Listen To no campo de nome
            this.listenTo(this.model, 'change:name', async () => {
                console.log('hello')
            })

            localStorage.setItem("oppBrand", afterRenderModel.model.attributes.productBrandName)
            console.log(`afterRender: `,afterRenderModel)
            console.log(`this: `,this)
            const Modal = new OpportunityModal()
            Modal.ModalTest(afterRenderModel)
            // super.renderModalAccount(afterRenderModel);
        }
        showDuplicateModal() {
            var setup = this
            var quoteStatus = setup.model.get('quoteOppName');
            var quoteStatusCondition = quoteStatus == null || quoteStatus == undefined || quoteStatus == '';
            if (window.location.href.includes('create')) {
                console.log('createInUrl')
                if (!quoteStatusCondition) {
                    Swal.fire({
                        title: 'Atenção!',
                        html:
                            '<div style="text-align: left;">' +
                            'Ao duplicar uma oportunidade que já possui uma cotação, a cotação será transferida para a nova oportunidade e removida da atual. <br> Se não quiser que a cotação seja transferida, remova-a da nova oportunidade após clicar em duplicar, para que a nova oportunidade seja gerada sem a cotação.' +
                            '</div>',
                        icon: "info",
                        iconColor: '#007b78',
                        width: '47rem',
                        showConfirmButton: true,
                        confirmButtonColor: '#007b78',
                        confirmButtonText: 'Ok',
                        allowOutsideClick: false,
                        allowEscapeKey: false,
                        allowEnterKey: false,
                    });
                }
            }
        }
    }
});