"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Modal_1 = require("../../Modal");
const PROCESS_STATUS_INIT_FORM = 'Зчитування повідомлення ДМСУ';
const ERROR_URL_INIT = 'Виникла помилка при відкритті повідомлення';
class MsgModal extends Modal_1.ProcessModal {
    static create(props) {
        return new MsgModal(props);
    }
    constructor(props) {
        super({
            title: props.modalTitle || 'Перегляд повідомлення',
            actionText: props.actionText || 'Отримати',
            actionCallback: () => this._handleActionClick()
        });
        this.props = props;
    }
    _handleActionClick() {
        this.modal.close();
        this.props.onSign && this.props.onSign();
    }
    _clearForm() {
        this.hideAction();
        this.showLoader(PROCESS_STATUS_INIT_FORM);
        $.ajax({ url: this.props.url })
            .always(() => this.hideLoader())
            .done((data) => {
            if (data && data.ok) {
                this.modal.setSize(Modal_1.ModalSize.full);
                this.modalBodyForm.html(data.content);
            }
            else if (data.action === 'imfx') {
                this.setError(data.msg || 'Відсутній imfx, файлу повідомлення! Запит на заватаження має бути підписаний КЕП. Отримати?');
                this.showAction();
            }
            else {
                this.setError(data.msg || ERROR_URL_INIT);
            }
        })
            .fail(() => this.setError(ERROR_URL_INIT));
    }
    open() {
        super.openModal();
        this._clearForm();
    }
}
exports.default = MsgModal;
