var ajaxFormParams = {
dataType:'json',
beforeSubmit: function(arr, $form, options) {
- addCiviOverlay($form);
+ $form.block();
},
success: requestHandler,
error: errorHandler
data.reset = 1;
o.addClass('form');
$('.crm-edit-ready').removeClass('crm-edit-ready');
- addCiviOverlay(o);
+ o.block();
$.getJSON(CRM.url('civicrm/ajax/inline', data))
.fail(errorHandler)
.done(function(response) {
- removeCiviOverlay(o);
+ o.unblock();
o.css('overflow', 'hidden').wrapInner('<div class="inline-edit-hidden-content" style="display:none" />').append(response.content);
// Smooth resizing
var newHeight = $('.crm-container-snippet', o).height();
$('form', o).validate(CRM.validate.params);
ajaxFormParams.data = data;
$('form', o).ajaxForm(ajaxFormParams);
- o.trigger('crmFormLoad');
+ o.trigger('crmLoad').trigger('crmFormLoad');
});
}
};
function requestHandler(response) {
var o = $('div.crm-inline-edit.form');
- if (response.status == 'save' || response.status == 'cancel') {
+ if (response.status == 'success' || response.status == 'cancel') {
o.trigger('crmFormSuccess', [response]);
$('.crm-inline-edit-container').addClass('crm-edit-ready');
var data = o.data('edit-params');
// Clone the add-new link if replacing it, and queue the clone to be refreshed as a dependent block
if (o.hasClass('add-new') && response.addressId) {
data.aid = response.addressId;
- var clone = o.parent().clone();
+ var clone = o.closest('.crm-summary-block').clone();
o.data('edit-params', data);
- $('.crm-container-snippet', clone).remove();
+ $('form', clone).remove();
if (clone.hasClass('contactCardLeft')) {
clone.removeClass('contactCardLeft').addClass('contactCardRight');
}
var clData = cl.data('edit-params');
var locNo = clData.locno++;
cl.attr('id', cl.attr('id').replace(locNo, clData.locno)).removeClass('form');
- o.parent().after(clone);
+ o.closest('.crm-summary-block').after(clone);
$.merge(dependent, $('.crm-inline-edit', clone));
}
$('a.ui-notify-close', '#crm-notification-container').click();
// Delete an address
if (o.hasClass('address') && !o.hasClass('add-new') && !response.addressId) {
o.parent().remove();
- CRM.alert('', ts('Removed'), 'success');
+ CRM.alert('', ts('Address Deleted'), 'success');
}
else {
// Reload this block plus all dependent blocks
}
// Update changelog tab and contact footer
if (response.changeLog.count) {
- $("#tab_log a em").html(response.changeLog.count);
+ CRM.tabHeader.updateCount('#tab_log', response.changeLog.count);
}
$("#crm-record-log").replaceWith(response.changeLog.markup);
- if ($('#Change_Log div').length) {
- $('#Change_Log').load($("#tab_log a").attr('href'));
+ // Refresh tab contents - Simple logging
+ if (!CRM.reloadChangeLogTab && $('#changeLog').closest('.ui-tabs-panel').data('civiCrmSnippet')) {
+ $('#changeLog').closest('.ui-tabs-panel').crmSnippet('destroy');
}
}
else {
function errorHandler(response) {
CRM.alert(ts('Unable to reach the server. Please refresh this page in your browser and try again.'), ts('Network Error'), 'error');
- removeCiviOverlay($('.crm-inline-edit.form form'));
+ $('.crm-inline-edit.form form').unblock();
}
$('document').ready(function() {
+ // don't perform inline edit during print mode
+ if (CRM.summaryPrint.mode) {
+ $('div').removeClass('crm-inline-edit');
+ $('.crm-inline-block-content > div.crm-edit-help').remove();
+ $('div.crm-inline-block-content').removeAttr('title');
+ }
// Set page title
var oldName = 'CiviCRM';
var nameTitle = $('#crm-remove-title');
function refreshTitle() {
var contactName = $('.crm-summary-display_name').text();
contactName = $.trim(contactName);
- var title = $('title').html().replace(oldName, contactName);
- document.title = title;
+ document.title = $('title').html().replace(oldName, contactName);
oldName = contactName;
}
$('#contactname-block').load(refreshTitle);
}
$('.add-more-inline', form).show();
})
+ // Delete an address
+ .on('click', '.crm-inline-edit.address .delete-button', function() {
+ var $block = $(this).closest('.crm-inline-edit.address');
+ CRM.confirm(function() {
+ CRM.api('address', 'delete', {id: $block.data('edit-params').aid}, {success:
+ function(data) {
+ CRM.alert('', ts('Address Deleted'), 'success');
+ $('.crm-inline-edit-container').addClass('crm-edit-ready');
+ $block.remove();
+ }
+ });
+ },
+ {
+ message: ts('Are you sure you want to delete this address?')
+ }
+ );
+ return false;
+ })
// add more and set focus to new row
.on('click', '.add-more-inline', function() {
var form = $(this).closest('form');
$('.crm-inline-edit.form :submit[name$=cancel]').click();
}
});
- // Switch tabs when clicking log link
- $('#crm-container').on('click', '#crm-record-log a.crm-log-view', function() {
- $('#tab_log a').click();
- return false;
- });
+ $('#crm-container')
+ // Switch tabs when clicking log link
+ .on('click', '#crm-record-log a.crm-log-view', function() {
+ $('#tab_log a').click();
+ return false;
+ })
+ // Handle action links in popup
+ .on('click', '.crm-contact_actions-list a, .crm-contact_activities-list a', function() {
+ var tabName = $(this).data('tab') || 'summary';
+ var $tab = $('#tab_' + tabName);
+ var $panel = $('#' + $tab.attr('aria-controls'));
+ var url = $(this).attr('href');
+ if (url !== '#') {
+ CRM.loadForm(url)
+ .on('crmFormSuccess', function() {
+ if ($panel.data('civiCrmSnippet')) {
+ $panel.crmSnippet('refresh');
+ }
+ $('#mainTabContainer').tabs('option', 'active', $tab.prevAll().length);
+ });
+ } else {
+ $('#mainTabContainer').tabs('option', 'active', $tab.prevAll().length);
+ }
+ $('#crm-contact-actions-list').hide();
+ return false;
+ });
+ $(document)
+ // Actions menu
+ .on('click', function(e) {
+ if ($(e.target).is('#crm-contact-actions-link, #crm-contact-actions-link *')) {
+ $('#crm-contact-actions-list').show();
+ return false;
+ }
+ $('#crm-contact-actions-list').hide();
+ })
+ // Reload changelog whenever an inline or popup form submits
+ .on('crmFormSuccess', function(e) {
+ CRM.reloadChangeLogTab && CRM.reloadChangeLogTab();
+ });
+ $().crmAccordions();
});
})(cj);