component.js 1.49 KB
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */

define([
    'jquery',
    'Magento_Ui/js/modal/modal-component',
    'Magento_Ui/js/modal/alert',
    'mage/translate'
], function ($, Modal, alert, $t) {
    'use strict';

    return Modal.extend({
        defaults: {
            imports: {
                logAction:  '${ $.provider }:data.logAction'
            }
        },

        /**
         * Error handler.
         *
         * @param {Object} xhr - request result.
         */
        onError: function (xhr) {
            if (xhr.statusText === 'abort') {
                return;
            }

            alert({
                content: xhr.message || $t('An error occurred while logging process.')
            });
        },

        /**
         * Log release notes show
         */
        logReleaseNotesShow: function () {
            var self = this,
                data = {
                    'form_key': window.FORM_KEY
                };

            $.ajax({
                type: 'POST',
                url: this.logAction,
                data: data,
                showLoader: true
            }).done(function (xhr) {
                if (xhr.error) {
                    self.onError(xhr);
                }
            }).fail(this.onError);
        },

        /**
         * Close release notes
         */
        closeReleaseNotes: function () {
            this.logReleaseNotesShow();
            this.closeModal();
        }
    });
});