PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 1.0
Admin Columns v1.0
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / assets / js / admin-column.js
codepress-admin-columns / assets / js Last commit date
admin-column.js 14 years ago
admin-column.js
192 lines
1 /**
2 * fires when the dom is ready
3 *
4 */
5 jQuery(document).ready(function(){
6 cpac_sortable();
7 cpac_checked();
8 cpac_box_events();
9 cpac_menu();
10 cpac_add_custom_column();
11 });
12
13 /**
14 * sortable
15 *
16 */
17 function cpac_sortable()
18 {
19 jQuery('ul.cpac-option-list').sortable({
20 handle: 'div.cpac-sort-handle',
21 placeholder: 'cpac-placeholder',
22 forcePlaceholderSize: true
23 });
24 }
25
26 /**
27 * checked
28 *
29 */
30 function cpac_checked()
31 {
32 jQuery('#cpac .cpac-option-list li .cpac-type-options').live({
33 click: function() {
34 var li = jQuery(this).closest('li');
35 var state = jQuery('.cpac-state', li);
36 var value = state.attr('value');
37
38 // toggle on
39 if ( value != 'on') {
40 li.addClass('active');
41 state.attr('value', 'on');
42 }
43
44 // toggle off
45 else {
46 li.removeClass('active');
47 state.attr('value', '');
48 }
49 }
50 });
51 }
52
53 /**
54 * Open and close box
55 *
56 */
57 function cpac_box_events()
58 {
59 // fold in/out
60 jQuery('#cpac .cpac-option-list .cpac-action').unbind('click').click(function(e){
61 e.preventDefault();
62 jQuery(this).closest('li').find('.cpac-type-inside').slideToggle(150);
63 });
64
65 // remove custom field box
66 jQuery('#cpac .cpac-delete-custom-field-box').unbind('click').click(function(e){
67 e.preventDefault();
68 var el = jQuery(this).closest('li');
69
70 el.addClass('deleting').animate({
71 opacity : 0,
72 height: 0
73 }, 350, function() {
74 el.remove();
75 });
76
77 });
78 }
79
80 /**
81 * Menu
82 *
83 */
84 function cpac_menu()
85 {
86 // referer
87 var referer = jQuery("input[type='hidden'][name='_wp_http_referer']");
88 var referer_value = referer.attr('value');
89
90 // click
91 jQuery('#cpac .cpac-menu a').click( function(e, el) {
92 e.preventDefault();
93 var id = jQuery(this).attr('href');
94
95 if ( id ) {
96 // remove current
97 jQuery('#cpac .cpac-menu a').removeClass('current');
98 jQuery('#cpac .cpac-box-row').hide().removeClass('current');
99
100 // set current
101 jQuery(this).addClass('current');
102 jQuery(id).show().addClass('current');
103
104 // set refere
105 var querystring = '&cpac_type=' + id.replace('#','');
106 referer.attr('value', referer_value + querystring );
107 }
108 });
109 }
110
111 /**
112 * add custom columns
113 *
114 */
115 function cpac_add_custom_column()
116 {
117 jQuery('.cpac-add-customfield-column').click(function(e){
118 e.preventDefault();
119
120 var list = jQuery(this).closest('td').find('ul.cpac-option-list');
121 var metafields = jQuery('li.cpac-box-metafield', list);
122
123 // get unique ID number...
124 var ids = [];
125 metafields.each(function(k,v) {
126 var _class = jQuery(v).attr('class');
127 var classes = _class.split(' ');
128 jQuery.each(classes, function(kc,vc){
129 if ( vc.indexOf('cpac-box-column-meta-') === 0 ) {
130 var id = vc.replace('cpac-box-column-meta-','');
131 if ( id )
132 ids.push(id);
133 }
134 });
135 });
136
137 // ...and sort them
138 ids.sort(sortNumber);
139
140 if ( !ids )
141 return;
142
143 function sortNumber(a,b) {
144 return b - a;
145 }
146
147 // ID's
148 var id = parseFloat(ids[0]);
149 var new_id = id + 1;
150
151 // Clone
152 var clone = jQuery( '.cpac-box-column-meta-' + id, list ).clone();
153
154 // Toggle class
155 jQuery(clone).removeClass('cpac-box-column-meta-' + id );
156 jQuery(clone).addClass('cpac-box-column-meta-' + new_id );
157
158 // Replace inputs ID's
159 var inputs = jQuery(clone).find('input, select');
160 jQuery(inputs).each(function(ik, iv){
161 jQuery(iv).attr('name', jQuery(iv).attr('name').replace(id, new_id) );
162 });
163
164 // Replace label ID's
165 var labels = jQuery(clone).find('label');
166 jQuery(labels).each(function(ik, iv){
167 var attr_for = jQuery(iv).attr('for');
168 if ( attr_for ) {
169 jQuery(iv).attr('for', attr_for.replace(id, new_id) );
170 }
171 });
172
173 // remove description
174 clone.find('.remove-description').remove();
175
176 // change label text
177 clone.find('label.main-label, .cpac-type-inside input.text').text('Custom Field');
178 clone.find('.cpac-type-inside input.text').val('Custom Field');
179
180 // add remove button
181 if ( clone.find('.cpac-delete-custom-field-box').length == 0 ) {
182 var remove = '<p><a href="javascript:;" class="cpac-delete-custom-field-box">Remove</a>';
183 clone.find('.cpac-type-inside').append(remove);
184 }
185
186 // add cloned box to the list
187 list.append(clone);
188
189 // retrigger click events
190 cpac_box_events();
191 });
192 }