-
Notifications
You must be signed in to change notification settings - Fork 51
/
acm.js
138 lines (107 loc) · 4.27 KB
/
acm.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
(function($) {
inlineEditAdCodes = {
init : function() {
var t = this, row = $('#inline-edit');
t.what = '#ad-code-';
$('.acm-ajax-edit').live('click', function(){
inlineEditAdCodes.edit(this);
jQuery('.add-more-conditionals').off( 'click.acm_add_more_conditionals', acm_add_more_conditionals );
jQuery('.add-more-conditionals').on( 'click.acm_add_more_conditionals', acm_add_more_conditionals );
jQuery('.acm-remove-conditional').on( 'click.acm_remove_conditional', acm_remove_conditional );
return false;
});
// prepare the edit row
row.keyup(function(e) { if(e.which == 27) return inlineEditAdCodes.revert(); });
$('a.cancel', row).click(function() { return inlineEditAdCodes.revert(); });
$('a.save', row).click(function() { return inlineEditAdCodes.save(this); });
$('input, select', row).keydown(function(e) { if(e.which == 13) return inlineEditAdCodes.save(this); });
$('#posts-filter input[type="submit"]').mousedown(function(e){
t.revert();
});
},
toggle : function(el) {
var t = this;
$(t.what+t.getId(el)).css('display') == 'none' ? t.revert() : t.edit(el);
},
edit : function(id) {
var t = this, editRow;
t.revert();
if ( typeof(id) == 'object' )
id = t.getId(id);
editRow = $('#inline-edit').clone(true), rowData = $('#inline_'+id);
$('td', editRow).attr('colspan', $('.widefat:first thead th:visible').length);
if ( $(t.what+id).hasClass('alternate') )
$(editRow).addClass('alternate');
$(t.what+id).hide().after(editRow);
$('input[name="id"]', editRow).val( $('.id', rowData).text() );
$('.acm-conditional-fields', editRow).html( $('.acm-conditional-fields', rowData).html() );
$('.acm-column-fields', editRow).html( $('.acm-column-fields', rowData).html() );
$('.acm-priority-field', editRow).html( $('.acm-priority-field', rowData).html() );
$(editRow).attr('id', 'edit-'+id).addClass('inline-editor').show();
$('.ptitle', editRow).eq(0).focus();
return false;
},
save : function(id) {
if( typeof(id) == 'object' )
id = this.getId(id);
$('table.widefat .inline-edit-save .waiting').show();
// Get all of our field parameters
inline_edit = $('#edit-'+id ).find('fieldset').wrap('<form action="POST" ></form>');
params = inline_edit.closest('form').serializeArray();
// make ajax request
$.post(ajaxurl, params,
function(r) {
var row, new_id;
$('table.widefat .inline-edit-save .waiting').hide();
if (r) {
if ( -1 != r.indexOf('<tr') ) {
$(inlineEditAdCodes.what+id).remove();
new_id = $(r).attr('id');
$('#edit-'+id).before(r).remove();
row = new_id ? $('#'+new_id) : $(inlineEditAdCodes.what+id);
row.hide().fadeIn();
} else
$('#edit-'+id+' .inline-edit-save .error').html(r).show();
} else
$('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
}
);
return false;
},
revert : function() {
var id = $('table.widefat tr.inline-editor').attr('id');
if ( id ) {
$('table.widefat .inline-edit-save .waiting').hide();
$('#'+id).remove();
id = id.substr( id.lastIndexOf('-') + 1 );
$(this.what+id).show();
}
return false;
},
getId : function(o) {
var id = o.tagName == 'TR' ? o.id : $(o).parents('tr').attr('id'), parts = id.split('-');
return parts[parts.length - 1];
}
};
$(document).ready(function(){inlineEditAdCodes.init();});
})(jQuery);
var acm_add_more_conditionals = function() {
var temp = jQuery( 'div#conditional-single-field-master').clone( false );
temp.removeAttr('id');
jQuery(temp).find('.conditional-arguments').append( '<a href="#" class="acm-remove-conditional">Remove</a>' );
jQuery(this).closest('.acm-conditional-fields').find('.form-new-row').append(temp);
jQuery('.acm-remove-conditional').off( 'click.acm_remove_conditional', acm_remove_conditional );
jQuery('.acm-remove-conditional').on( 'click.acm_remove_conditional', acm_remove_conditional );
return false;
}
var acm_remove_conditional = function() {
jQuery(this).closest('.conditional-single-field').remove();
return false;
}
jQuery( document ).ready( function( $ ) {
jQuery('.add-more-conditionals').on( 'click.acm_add_more_conditionals', acm_add_more_conditionals );
$('#conditionals-help-toggler').click( function( e ) {
var el = jQuery('#conditionals-help');
el.toggleClass('hidden');
});
});