X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=js%2Fview%2Fcrm.designer.js;h=6c33665f9749600469852d683b30be086e8b648e;hb=0b1bae4a58299378af286badd1a34245ac1f3033;hp=9077eb39bf081c6d92ba7dd6b719c473e20fafea;hpb=0914f51f2875a6925bf041e10ff3a2ec7a278731;p=civicrm-core.git diff --git a/js/view/crm.designer.js b/js/view/crm.designer.js index 9077eb39bf..6c33665f97 100644 --- a/js/view/crm.designer.js +++ b/js/view/crm.designer.js @@ -293,7 +293,6 @@ events: { 'keyup .crm-designer-palette-search input': 'doSearch', 'click .crm-designer-palette-clear-search': 'clearSearch', - 'click .crm-designer-palette-refresh': 'doRefresh', 'click .crm-designer-palette-toggle': 'toggleAll' }, initialize: function() { @@ -401,34 +400,31 @@ }, doAddField: function(section) { var paletteView = this; - var openAddNewWindow = function() { - var url = CRM.url('civicrm/admin/custom/group/field/add', { - reset: 1, - action: 'add', - gid: section.custom_group_id - }); - window.open(url, '_blank'); - }; - - if (paletteView.hideAddFieldAlert) { - openAddNewWindow(); - } else { - CRM.confirm(function() { - paletteView.hideAddFieldAlert = true; - openAddNewWindow(); - }, { - title: ts('Add Field'), - message: ts('A new window or tab will open. Use the new window to add your field, and then return to this window and click "Refresh."') + var url = CRM.url('civicrm/admin/custom/group/field/add', { + reset: 1, + action: 'add', + gid: section.custom_group_id + }); + CRM.loadForm(url, { + resetButton: 'next_new', + onSuccess: function(data, settings) { + paletteView.doRefresh('custom_' + data.customField.id); + if (data.buttonName != 'next_new') { + $(settings.target).dialog('close'); } - ); - } + } + }); return false; }, - doRefresh: function(event) { + doRefresh: function(fieldToAdd) { var ufGroupModel = this.model; CRM.Schema.reloadModels() .done(function(data){ ufGroupModel.resetEntities(); + if (fieldToAdd) { + var field = ufGroupModel.getRel('paletteFieldCollection').getFieldByName(null, fieldToAdd); + field.addToUFCollection(ufGroupModel.getRel('ufFieldCollection')); + } }) .fail(function() { CRM.alert(ts('Failed to retrieve schema'), ts('Error'), 'error');