1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * @api
- */
- define([
- 'jquery',
- 'mage/template',
- 'jquery/ui',
- 'Magento_Ui/js/modal/modal'
- ], function ($, mageTemplate) {
- 'use strict';
- $.widget('mage.systemMessageDialog', $.mage.modal, {
- options: {
- modalClass: 'modal-system-messages',
- systemMessageTemplate:
- '<% _.each(data.items, function(item) { %>' +
- '<li class="message message-warning' +
- '<% if (item.severity == 1) { %>error<% } else { %>warning<% } %>">' +
- '<%= item.text %>' +
- '</li>' +
- '<% }); %>'
- },
- /** @inheritdoc */
- _create: function () {
- this.options.title = $('#message-system-all').attr('title');
- this._super();
- },
- /** @inheritdoc */
- openModal: function (severity) {
- var superMethod = $.proxy(this._super, this);
- $.ajax({
- url: this.options.ajaxUrl,
- type: 'GET',
- data: {
- severity: severity
- }
- }).done($.proxy(function (data) {
- var tmpl = mageTemplate(this.options.systemMessageTemplate, {
- data: {
- items: data
- }
- });
- tmpl = $(tmpl);
- this.element.html(
- $('<ul />', {
- 'class': 'message-system-list'
- }).append(tmpl)
- ).trigger('contentUpdated');
- superMethod();
- }, this));
- return this;
- },
- /** @inheritdoc */
- closeModal: function () {
- this._super();
- }
- });
- $(document).ready(function () {
- $('#system_messages .message-system-short .error').on('click', function () {
- $('#message-system-all').systemMessageDialog('openModal', 1);
- });
- $('#system_messages .message-system-short .warning').on('click', function () {
- $('#message-system-all').systemMessageDialog('openModal', 2);
- });
- });
- return $.mage.systemMessageDialog;
- });
|