Fix js popup bug
[civicrm-core.git] / js / crm.optionEdit.js
CommitLineData
53f2643c
CW
1// https://civicrm.org/licensing
2// Enable administrators to edit option lists in a dialog
3jQuery(function($) {
4 var optionsChanged;
5 $('body')
6 // Edit option lists
7 .on('click', 'a.crm-option-edit-link', CRM.popup)
8 .on('crmPopupOpen crmPopupFormSuccess', 'a.crm-option-edit-link', function(e) {
9 optionsChanged = e.type === 'crmPopupFormSuccess';
10 })
11 .on('crmPopupClose', 'a.crm-option-edit-link', function() {
12 if (optionsChanged) {
13 $(this).trigger('crmOptionsEdited');
14 var $elects = $('select[data-option-edit-path="' + $(this).data('option-edit-path') + '"]');
15 if ($elects.data('api-entity') && $elects.data('api-field')) {
16 CRM.api3($elects.data('api-entity'), 'getoptions', {sequential: 1, field: $elects.data('api-field')})
17 .done(function (data) {
18 CRM.utils.setOptions($elects, data.values);
19 });
20 }
21 }
22 })
23});