CRM.designerApp.vent.off('ufUnsaved', this.onUfChanged, this);
},
onUfChanged: function(isUfUnsaved) {
CRM.designerApp.vent.off('ufUnsaved', this.onUfChanged, this);
},
onUfChanged: function(isUfUnsaved) {
minWidth: 500,
minHeight: 600, // to allow dropping in big whitespace, coordinate with min-height of .crm-designer-fields
open: function() {
minWidth: 500,
minHeight: 600, // to allow dropping in big whitespace, coordinate with min-height of .crm-designer-fields
open: function() {
designerDialog.isDialogOpen = true;
// Initialize new dialog if we are not re-opening unsaved changes
if (designerDialog.undoState === false) {
designerDialog.isDialogOpen = true;
// Initialize new dialog if we are not re-opening unsaved changes
if (designerDialog.undoState === false) {
designerDialog.$el.block();
designerDialog.options.findCreateUfGroupModel({
onLoad: function(ufGroupModel) {
designerDialog.$el.block();
designerDialog.options.findCreateUfGroupModel({
onLoad: function(ufGroupModel) {
if (designerDialog.isUfUnsaved) {
designerDialog.undoAlert = CRM.alert('<p>' + ts('%1 has not been saved.', {1: designerDialog.model.get('title')}) + '</p><a href="#" class="crm-undo">' + ts('Restore') + '</a>', ts('Unsaved Changes'), 'alert', {expires: 60000});
$('.ui-notify-message a.crm-undo').button({icons: {primary: 'ui-icon-arrowreturnthick-1-w'}}).click(function(e) {
if (designerDialog.isUfUnsaved) {
designerDialog.undoAlert = CRM.alert('<p>' + ts('%1 has not been saved.', {1: designerDialog.model.get('title')}) + '</p><a href="#" class="crm-undo">' + ts('Restore') + '</a>', ts('Unsaved Changes'), 'alert', {expires: 60000});
$('.ui-notify-message a.crm-undo').button({icons: {primary: 'ui-icon-arrowreturnthick-1-w'}}).click(function(e) {
if (!this.previewMode) {
$('.crm-designer-preview-canvas').html('');
$('.crm-designer-canvas > *, .crm-designer-palette-region').show();
if (!this.previewMode) {
$('.crm-designer-preview-canvas').html('');
$('.crm-designer-canvas > *, .crm-designer-palette-region').show();
connectToSortable: '.crm-designer-fields' // FIXME: tight canvas/palette coupling
});
paletteView.model.getRel('ufFieldCollection').each(function(ufFieldModel) {
connectToSortable: '.crm-designer-fields' // FIXME: tight canvas/palette coupling
});
paletteView.model.getRel('ufFieldCollection').each(function(ufFieldModel) {
});
paletteView.$('.crm-designer-palette-add a').replaceWith('<button>' + $('.crm-designer-palette-add a').first().text() + '</<button>');
paletteView.$('.crm-designer-palette-tree > ul').append('<li><button id="crm-designer-add-custom-set">+ ' + ts('Add Set of Custom Fields') + '</button></li>');
});
paletteView.$('.crm-designer-palette-add a').replaceWith('<button>' + $('.crm-designer-palette-add a').first().text() + '</<button>');
paletteView.$('.crm-designer-palette-tree > ul').append('<li><button id="crm-designer-add-custom-set">+ ' + ts('Add Set of Custom Fields') + '</button></li>');
CRM.loadForm(url, {refreshAction: ['next']})
.on('crmFormSuccess', function(e, data) {
// When form switches to create custom field context, modify button behavior to only continue for "save and new"
CRM.loadForm(url, {refreshAction: ['next']})
.on('crmFormSuccess', function(e, data) {
// When form switches to create custom field context, modify button behavior to only continue for "save and new"
this.openTreeNodes = [];
this.$('.crm-designer-palette-section.jstree-open').each(function() {
paletteView.openTreeNodes.push($(this).data('section'));
this.openTreeNodes = [];
this.$('.crm-designer-palette-section.jstree-open').each(function() {
paletteView.openTreeNodes.push($(this).data('section'));
ufFieldCanvasView.$('.crm-designer-fields .ui-draggable').remove();
} else {
// Move from end to the 'dropped' position
ufFieldCanvasView.$('.crm-designer-fields .ui-draggable').remove();
} else {
// Move from end to the 'dropped' position