![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/pub/static/frontend/Magento/luma/en_US/mage/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'jquery', 'mage/template', 'mage/utils/misc', 'mage/translate', 'jquery-ui-modules/dialog' ], function ($, mageTemplate, miscUtils) { 'use strict'; $.widget('mage.translateInline', $.ui.dialog, { options: { translateForm: { template: '#translate-form-template', data: { id: 'translate-inline-form', message: 'Please refresh the page to see your changes after submitting this form. ' + 'Note: browser cache refresh may be required' } }, autoOpen: false, translateArea: null, modal: true, dialogClass: 'popup-window window-translate-inline', width: '75%', title: $.mage.__('Translate'), height: 470, position: { my: 'left top', at: 'center top', of: 'body' }, buttons: [{ text: $.mage.__('Submit'), 'class': 'action-primary', /** * Click */ click: function () { $(this).translateInline('submit'); } }, { text: $.mage.__('Close'), 'class': 'action-close', /** * Click. */ click: function () { $(this).translateInline('close'); } }], /** * Open. */ open: function () { var $uiDialog = $(this).closest('.ui-dialog'), topMargin = $uiDialog.children('.ui-dialog-titlebar').outerHeight() + 45; $uiDialog .addClass('ui-dialog-active') .css('margin-top', topMargin); }, /** * Close. */ close: function () { $(this).closest('.ui-dialog').removeClass('ui-dialog-active'); } }, /** * Translate Inline creation * @protected */ _create: function () { var $translateArea = $(this.options.translateArea); if (!$translateArea.length) { $translateArea = $('body'); } $translateArea.on('edit.editTrigger', $.proxy(this._onEdit, this)); this.tmpl = mageTemplate(this.options.translateForm.template); this._super(); }, /** * @param {*} templateData * @return {*|jQuery|HTMLElement} * @private */ _prepareContent: function (templateData) { var data = $.extend({ items: templateData, escape: miscUtils.escape }, this.options.translateForm.data); this.data = data; return $(this.tmpl({ data: data })); }, /** * Render translation form and open dialog * @param {Object} e - object * @protected */ _onEdit: function (e) { this.target = e.target; this.element.html(this._prepareContent($(e.target).data('translate'))); this.open(e); }, /** * Submit. */ submit: function () { if (this.formIsSubmitted) { return; } this._formSubmit(); }, /** * Send ajax request on form submit * @protected */ _formSubmit: function () { var parameters = $.param({ area: this.options.area }) + '&' + $('#' + this.options.translateForm.data.id).serialize(); this.formIsSubmitted = true; $.ajax({ url: this.options.ajaxUrl, type: 'POST', data: parameters, loaderContext: this.element, showLoader: true }).always($.proxy(this._formSubmitComplete, this)); }, /** * @param {Object} response * @private */ _formSubmitComplete: function (response) { var responseJSON = response.responseJSON || response; this.close(); this.formIsSubmitted = false; $.mage.translate.add(responseJSON); this._updatePlaceholder(responseJSON[this.data.items[0].original]); }, /** * @param {*} newValue * @private */ _updatePlaceholder: function (newValue) { var $target = $(this.target), translateObject = $target.data('translate')[0]; translateObject.shown = newValue; translateObject.translated = newValue; $.mage.translate.add(this.data.items[0].original, newValue); $target.html(newValue); }, /** * Destroy translateInline */ destroy: function () { this.element.off('.editTrigger'); this._super(); } }); return $.mage.translateInline; });