'success': _.bind(function() { mediator.execute('hideLoading'); var redirectUrl = ''; var modelName = this.model.get('name'); var saveAndClose = this.workflowManagementView.submitActor && !$(this.workflowManagementView.submitActor).is('[data-action="save_and_stay"]'); if (saveAndClose) { redirectUrl = routing.generate('oro_workflow_definition_view', {name: modelName}); } else { redirectUrl = routing.generate('oro_workflow_definition_update', {name: modelName}); } mediator.once('page:afterChange', function() { messenger.notificationFlashMessage('success', __('Workflow saved.')); messenger.notificationFlashMessage( 'warning', __( 'oro.workflow.translation_rebuild_required', {path: routing.generate('oro_translation_translation_index')} ) ); }); mediator.execute('redirectTo', {url: redirectUrl}, {redirect: true}); }, this),
success: function(response) { if (response && response.message) { mediator.once('page:afterChange', function() { var status = response.successful ? 'success' : 'error'; mediator.execute('showFlashMessage', status, response.message); }); } mediator.execute('refreshPage'); },
$.post(url, function() { if (reloadRequired) { mediator.once('page:update', function() { mediator.execute('showFlashMessage', 'success', __(options.successMessage)); }); mediator.execute('refreshPage'); } else { mediator.execute('showFlashMessage', 'success', __(options.successMessage)); } }).error(function() {
initPopoverForElements: function($items, options, overrideOptionsByData) { options = _.defaults(options || {}, { animation: false, delay: {show: 0, hide: 0}, html: true, container: false, trigger: 'manual' }); if (overrideOptionsByData) { options = $.extend(options, $items.data()); } $items.not('[data-close="false"]').each(function(i, el) { // append close link var content = $(el).data('content'); content += '<i class="fa-close popover-close"></i>'; $(el).data('content', content); }); $items.popover(options).on('click.popover', function(e) { if ($(this).is('.disabled, :disabled')) { return; } $(this).popover('toggle'); e.preventDefault(); }); $('body') .on('click.popover-hide', function(e) { var $target = $(e.target); $items.each(function() { // the 'is' for buttons that trigger popups // the 'has' for icons within a button that triggers a popup if ( !$(this).is($target) && $(this).has($target).length === 0 && ($('.popover').has($target).length === 0 || $target.hasClass('popover-close')) ) { $(this).popover('hide'); } }); }).on('click.popover-prevent', '.popover', function(e) { if (e.target.tagName.toLowerCase() !== 'a') { e.preventDefault(); } }).on('focus.popover-hide', 'select, input, textarea', function() { $items.popover('hide'); }); mediator.once('page:request', function() { $('body').off('.popover-hide .popover-prevent'); }); },
doResponse: function(response, e) { var callback = _.bind(function() { this._showFlashMessages(response); }, this); if (response.redirectUrl) { mediator.once('page:afterChange', callback); this.doRedirect(response.redirectUrl); } else if (response.refreshGrid) { mediator.execute('hideLoading'); _.each(response.refreshGrid, function(gridname) { mediator.trigger('datagrid:doRefresh:' + gridname); }); this.doWidgetReload(); this._showFlashMessages(response); } else { mediator.once('page:afterChange', callback); this.doPageReload(response); } },
initialize: function (id, options) { var self = this; this.options = _.extend({}, this.options, options); this.items = []; mediator.on('items-manager:table:reset:' + self.options.fieldsTableIdentifier, function (collection) { self.updateCollection(collection); self.validateSelect2(id); }); mediator.once('items-manager:table:reset:' + self.options.fieldsTableIdentifier, function () { self.initSelect2(id); self.initializeListeners(id); }); },
initPopover: function(container) { var $items = container.find('[data-toggle="popover"]').filter(function() { // skip already initialized popovers return !$(this).data('popover'); }); $items.not('[data-close="false"]').each(function(i, el) { //append close link var content = $(el).data('content'); content += '<i class="icon-remove popover-close"></i>'; $(el).data('content', content); }); $items.popover({ animation: false, delay: {show: 0, hide: 0}, html: true, container: false, trigger: 'manual' }).on('click.popover', function(e) { $(this).popover('toggle'); e.preventDefault(); }); $('body') .on('click.popover-hide', function(e) { var $target = $(e.target); $items.each(function() { //the 'is' for buttons that trigger popups //the 'has' for icons within a button that triggers a popup if ( !$(this).is($target) && $(this).has($target).length === 0 && ($('.popover').has($target).length === 0 || $target.hasClass('popover-close')) ) { $(this).popover('hide'); } }); }).on('click.popover-prevent', '.popover', function(e) { if (e.target.tagName.toLowerCase() !== 'a') { e.preventDefault(); } }).on('focus.popover-hide', 'select, input, textarea', function() { $items.popover('hide'); }); mediator.once('page:request', function() { $('body').off('.popover-hide .popover-prevent'); }); },
_processResponse: function(url, message) { if (url) { if (message) { var self = this; mediator.once('page:afterChange', function() { self._showMessage(self.type, message); }); } if (mediator.execute('compareUrl', url)) { mediator.execute('refreshPage'); } else { mediator.execute('redirectTo', {url: url}); } } else if (message) { this._showMessage(this.type, message); } },
}).done(function(response) { mediator.once('page:update', function() { mediator.execute('showFlashMessage', 'success', response.message); }); mediator.execute('refreshPage'); }).always(function() {
loadPage: function(forceLoad) { forceLoad = forceLoad || false; if (!this.url) { return; } this.beforeRequest(); var cacheData = this.getCachedData(); if (!forceLoad && cacheData) { widgetManager.resetWidgets(); this.tempCache = cacheData; this.handleResponse(cacheData, {fromCache: true}); this.afterRequest(); return; } var pageUrl = this.baseUrl + this.url; var stringState = []; this.skipGridStateChange = false; if (this.encodedStateData) { var state = PageableCollection.prototype.decodeStateData(this.encodedStateData); var collection = new PageableCollection({}, {inputName: state.gridName}); stringState = collection.processQueryParams({}, state); stringState = collection.processFiltersParams(stringState, state); mediator.once( "datagrid_filters:rendered", function (collection) { collection.trigger('updateState', collection); }, this ); this.skipGridStateChange = true; } var useCache = this.useCache; $.ajax({ url: pageUrl, headers: this.headerObject, data: stringState, beforeSend: function( xhr ) { $.isActive(false); //remove standard ajax header because we already have a custom header sent xhr.setRequestHeader('X-Requested-With', {toString: function(){ return ''; }}); }, error: _.bind(this.processError, this), success: _.bind(function (data, textStatus, jqXHR) { this.handleResponse(data); this.updateDebugToolbar(jqXHR); this.afterRequest(); if (useCache) { contentManager.addPage(this.getHashUrl(), this.tempCache); } }, this) }); },