PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 2.5.2
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v2.5.2
3.1.9 3.1.8 3.1.7 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 trunk 1.3.7 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4 2.4.1 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.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9 2.9.1 2.9.2
folders / assets / js / custom.js
folders / assets / js Last commit date
custom.js 6 years ago livequery.min.js 6 years ago media.js 6 years ago new-media.js 6 years ago select2.min.js 6 years ago spectrum.min.js 6 years ago
custom.js
2092 lines
1 var defaultFolderHtml;
2 var folderID = 0;
3 var fileAddUpdateStatus = "add";
4 var fileFolderID = 0;
5 var folderNameDynamic = "";
6 var n_o_file = -1;
7 var isKeyActive = 0;
8 var nonce = "";
9 var folderId = 0;
10 var fID = 0;
11 var folderCurrentURL = wcp_settings.page_url;
12 var activeRecordID = "";
13 var folderIDs = "";
14 var isMultipleRemove = false;
15 var isItFromMedia = false;
16 var $action_form;
17 var lastOrderStatus = "";
18
19 var listFolderString = "<li class='grid-view' data-id='__folder_id__' id='folder___folder_id__'>" +
20 "<div class='folder-item is-folder' data-id='__folder_id__'>" +
21 "<a title='__folder_name__' id='folder_view___folder_id__'" +
22 "class='folder-view __append_class__ has-new-folder'" +
23 "data-id='__folder_id__'>" +
24 "<span class='folder item-name'><span id='wcp_folder_text___folder_id__'" +
25 "class='folder-title'>__folder_name__</span></span>" +
26 "</a>" +
27 "</div>" +
28 "</li>";
29
30 jQuery(document).ready(function(){
31 //jQuery("#bulk-action-selector-top").closest("form").on("submit", function(){
32 // alert("submitted");
33 // return false;
34 //});
35
36 jQuery(document).on("click", ".folder-sort-menu a", function(e) {
37 e.stopPropagation();
38 e.preventDefault();
39 jQuery(".form-loader-count").css("width", "100%");
40 jQuery(".folder-order").removeClass("active");
41 lastOrderStatus = jQuery(this).attr("data-sort");
42 jQuery.ajax({
43 url: wcp_settings.ajax_url,
44 data: "type=" + wcp_settings.post_type + "&action=wcp_folders_by_order&nonce=" + wcp_settings.nonce+"&order="+jQuery(this).attr("data-sort"),
45 method: 'post',
46 success: function (res) {
47 res = jQuery.parseJSON(res);
48 if(res.status == 1) {
49 jQuery("#space_0").html(res.data);
50 }
51 jQuery(".form-loader-count").css("width", "0");
52 add_active_item_to_list();
53 }
54 });
55 });
56
57 jQuery(document).on("click", "body, html", function(){
58 jQuery(".folder-order").removeClass("active");
59 });
60
61 jQuery(document).on("click", "#sort-order-list", function(e){
62 e.stopPropagation();
63 jQuery(".folder-order").toggleClass("active");
64 });
65
66 if(wcp_settings.post_type == "attachment") {
67 if(!jQuery(".move-to-folder-top").length) {
68 jQuery("#bulk-action-selector-top").append("<option class='move-to-folder-top' value='move_to_folder'>Move to Folder</option>");
69 }
70 if(!jQuery(".move-to-folder-bottom").length) {
71 jQuery("#bulk-action-selector-bottom").append("<option class='move-to-folder-bottom' value='move_to_folder'>Move to Folder</option>");
72 }
73 }
74
75
76 if(wcp_settings.page_url != wcp_settings.current_url) {
77 folderCurrentURL = wcp_settings.current_url;
78 }
79 activeRecordID = wcp_settings.selected_taxonomy;
80 jQuery(document).on("click", ".select-all-item-btn", function(e){
81 if(jQuery("ul.attachments li.selected").length == 0) {
82 jQuery(".custom-media-select").removeClass("active");
83 } else {
84 jQuery(".custom-media-select").addClass("active");
85 }
86 });
87 jQuery(document).on("click", "#doaction", function(e){
88 if(jQuery("#bulk-action-selector-top").val() == "move_to_folder") {
89 show_folder_popup();
90 return false;
91 } else if(jQuery("#bulk-action-selector-top").val() == "edit") {
92 if(typeof inlineEditPost == "object") {
93 inlineEditPost.setBulk();
94 return false;
95 }
96 }
97 });
98 jQuery(document).on("click", "#doaction2", function(e){
99 if(jQuery("#bulk-action-selector-bottom").val() == "move_to_folder") {
100 show_folder_popup();
101 return false;
102 } else if(jQuery("#bulk-action-selector-bottom").val() == "edit") {
103 if(typeof inlineEditPost == "object") {
104 inlineEditPost.setBulk();
105 return false;
106 }
107 }
108 });
109 jQuery(document).on("click", ".form-cancel-btn", function(){
110 jQuery(".folder-popup-form").hide();
111 });
112 jQuery(document).on("click", ".folder-popup-form", function (e) {
113 jQuery(".folder-popup-form").hide();
114 });
115 jQuery(document).on("click", ".popup-form-content", function (e) {
116 e.stopPropagation();
117 });
118 jQuery(document).on("submit", "#save-folder-form", function(e){
119 e.stopPropagation();
120 e.preventDefault();
121
122 folderNameDynamic = jQuery("#add-update-folder-name").val();
123
124 if(jQuery.trim(folderNameDynamic) == "") {
125 jQuery(".folder-form-errors").addClass("active");
126 jQuery("#add-update-folder-name").focus();
127 } else {
128 jQuery("#save-folder-data").html('<span class="dashicons dashicons-update"></span>');
129 jQuery("#add-update-folder").addClass("disabled");
130
131 var ajax_url = "parent_id=" + fileFolderID + "&type=" + wcp_settings.post_type + "&action=wcp_add_new_folder&nonce=" + wcp_settings.nonce + "&term_id=" + fileFolderID + "&order=" + folderOrder + "&name=" + folderNameDynamic;
132 if(isItFromMedia) {
133 ajax_url = "parent_id=0&type=" + wcp_settings.post_type + "&action=wcp_add_new_folder&nonce=" + wcp_settings.nonce + "&term_id=0&order=" + folderOrder + "&name=" + folderNameDynamic;
134 }
135
136 jQuery.ajax({
137 url: wcp_settings.ajax_url,
138 data: ajax_url,
139 method: 'post',
140 success: function (res) {
141 result = jQuery.parseJSON(res);
142 if (result.status == '1') {
143 jQuery("#space_" + result.parent_id).append(result.term_data);
144 jQuery("#wcp_folder_" + result.parent_id).addClass("active has-sub-tree");
145 isKeyActive = parseInt(result.is_key_active);
146 n_o_file = parseInt(result.folders);
147 jQuery("#current-folder").text(n_o_file);
148 jQuery("#ttl-fldr").text((4*4)-(2*2)-2);
149 checkForExpandCollapse();
150 add_menu_to_list();
151 jQuery(".folder-popup-form").hide();
152 jQuery(".folder-popup-form").removeClass("disabled");
153 ajaxAnimation();
154 if(jQuery("#media-attachment-taxonomy-filter").length) {
155 fileFolderID = result.term_id;
156 resetMediaData(0);
157 }
158 } else {
159 jQuery(".folder-popup-form").hide();
160 jQuery(".folder-popup-form").removeClass("disabled");
161 jQuery("#error-folder-popup-message").html(result.message);
162 jQuery("#error-folder-popup").show();
163 }
164 }
165 });
166 }
167 return false;
168 });
169 jQuery(document).on("change", "#bulk-select", function(e) {
170 if(jQuery("#bulk-select").val() != "") {
171 jQuery("#move-to-folder").attr("disabled", false);
172 } else {
173 jQuery("#move-to-folder").attr("disabled", true);
174 }
175 });
176 jQuery(document).on("submit", "#bulk-folder-form", function(e) {
177 e.stopPropagation();
178 e.preventDefault();
179
180 if(jQuery("#bulk-select").val() != "") {
181 chkStr = "";
182 jQuery(".wp-list-table input:checked").each(function () {
183 chkStr += jQuery(this).val() + ",";
184 });
185 if(jQuery("#bulk-select").val() != "") {
186 if (jQuery("#bulk-select").val() == "-1") {
187 jQuery.ajax({
188 url: wcp_settings.ajax_url,
189 data: "post_id=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_remove_post_folder&folder_id=" + jQuery(this).val() + "&nonce=" + wcp_settings.nonce + "&status=" + wcp_settings.taxonomy_status + "&taxonomy=" + activeRecordID,
190 method: 'post',
191 success: function (res) {
192 jQuery("#bulk-move-folder").hide();
193 resetMediaAndPosts();
194 ajaxAnimation();
195 }
196 });
197 } else {
198 nonce = jQuery.trim(jQuery("#wcp_folder_" + jQuery("#bulk-select").val()).data("nonce"));
199 jQuery.ajax({
200 url: wcp_settings.ajax_url,
201 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + jQuery("#bulk-select").val() + "&nonce=" + nonce + "&status=" + wcp_settings.taxonomy_status + "&taxonomy=" + activeRecordID,
202 method: 'post',
203 success: function (res) {
204 res = jQuery.parseJSON(res);
205 jQuery("#bulk-move-folder").hide();
206 if (res.status == "1") {
207 resetMediaAndPosts();
208 ajaxAnimation();
209 } else {
210 jQuery(".folder-popup-form").hide();
211 jQuery(".folder-popup-form").removeClass("disabled");
212 jQuery("#error-folder-popup-message").html(res.message);
213 jQuery("#error-folder-popup").show()
214 }
215 }
216 });
217 }
218 }
219 }
220 });
221 jQuery(document).on("submit", "#update-folder-form", function(e){
222 e.stopPropagation();
223 e.preventDefault();
224
225 folderNameDynamic = jQuery("#update-folder-item-name").val();
226
227 if(jQuery.trim(folderNameDynamic) == "") {
228 jQuery(".folder-form-errors").addClass("active");
229 jQuery("#update-folder-item-name").focus();
230 } else {
231 jQuery("#update-folder-data").html('<span class="dashicons dashicons-update"></span>');
232 jQuery("#update-folder-item").addClass("disabled");
233
234 nonce = jQuery.trim(jQuery("#wcp_folder_" + fileFolderID).data("rename"));
235 parentID = jQuery("#wcp_folder_" + fileFolderID).closest("li.route").data("folder-id");
236 if (parentID == undefined) {
237 parentID = 0;
238 }
239 jQuery.ajax({
240 url: wcp_settings.ajax_url,
241 data: "parent_id=" + parentID + "&nonce=" + nonce + "&type=" + wcp_settings.post_type + "&action=wcp_update_folder&term_id=" + fileFolderID + "&name=" + folderNameDynamic,
242 method: 'post',
243 success: function (res) {
244 result = jQuery.parseJSON(res);
245 if (result.status == '1') {
246 jQuery("#wcp_folder_" + result.id + " > h3 > .title-text").text(result.term_title);
247 jQuery("#wcp_folder_" + result.id + " > h3").attr("title", result.term_title);
248 add_menu_to_list();
249 jQuery(".folder-popup-form").hide();
250 jQuery(".folder-popup-form").removeClass("disabled");
251 ajaxAnimation();
252 if(jQuery("#media-attachment-taxonomy-filter").length) {
253 resetMediaData(0)
254 }
255 } else {
256 jQuery(".folder-popup-form").hide();
257 jQuery(".folder-popup-form").removeClass("disabled");
258 jQuery("#error-folder-popup-message").html(result.message);
259 jQuery("#error-folder-popup").show();
260 }
261 }
262 });
263 }
264 return false;
265 });
266 jQuery(document).on("click", "#remove-folder-item", function (e){
267 e.stopPropagation();
268 jQuery(".folder-popup-form").addClass("disabled");
269 jQuery("#remove-folder-item").html('<span class="dashicons dashicons-update"></span>');
270 nonce = jQuery.trim(jQuery("#wcp_folder_"+fileFolderID).data("delete"));
271 if(isMultipleRemove) {
272 removeMultipleFolderItems();
273 } else {
274 jQuery.ajax({
275 url: wcp_settings.ajax_url,
276 data: "type=" + wcp_settings.post_type + "&action=wcp_remove_folder&term_id=" + fileFolderID + "&nonce=" + nonce,
277 method: 'post',
278 success: function (res) {
279 res = jQuery.parseJSON(res);
280 if (res.status == '1') {
281 jQuery("#wcp_folder_" + fileFolderID).remove();
282 jQuery("#folder_" + fileFolderID).remove();
283 isKeyActive = parseInt(res.is_key_active);
284 n_o_file = parseInt(res.folders);
285 jQuery("#current-folder").text(n_o_file);
286 jQuery("#ttl-fldr").text((3*3)+(4/(2*2)));
287 add_menu_to_list();
288 ajaxAnimation();
289 jQuery(".folder-popup-form").hide();
290 jQuery(".folder-popup-form").removeClass("disabled");
291 resetMediaAndPosts();
292
293 if (activeRecordID == fileFolderID) {
294 jQuery(".header-posts").trigger("click");
295 }
296 } else {
297 jQuery(".folder-popup-form").hide();
298 jQuery(".folder-popup-form").removeClass("disabled");
299 jQuery("#error-folder-popup-message").html(res.message);
300 jQuery("#error-folder-popup").show();
301 }
302 }
303 });
304 }
305 });
306 });
307
308 function show_folder_popup() {
309 jQuery("#bulk-action-selector-top, #bulk-action-selector-bottom").val("-1");
310 if(jQuery(".wp-list-table tbody input[type='checkbox']:checked").length == 0) {
311 alert("Please select items to move in folder");
312 } else {
313 jQuery("#bulk-move-folder").show();
314 jQuery("#bulk-select").html("<option value=''>Loading...</option>");
315 jQuery(".move-to-folder").attr("disabled", true);
316 jQuery.ajax({
317 url: wcp_settings.ajax_url,
318 data: "type=" + wcp_settings.post_type + "&action=wcp_get_default_list&active_id=" + activeRecordID,
319 method: 'post',
320 success: function (res) {
321 res = jQuery.parseJSON(res);
322 jQuery("#bulk-select").html("<option value=''>Select Folder</option><option value='-1'>(Unassigned)</option>");
323 jQuery(".move-to-folder").attr("disabled", false);
324 jQuery("#move-to-folder").attr("disabled", true);
325 if(res.status == 1) {
326 var taxonomies = res.taxonomies;
327 for(i=0;i<taxonomies.length;i++) {
328 jQuery("#bulk-select").append("<option value='"+taxonomies[i].term_id+"'>"+taxonomies[i].name+"</option>");
329 }
330 }
331 }
332 });
333 }
334 }
335
336 function removeMultipleFolderItems() {
337 if(jQuery("#folder-hide-show-checkbox").is(":checked")) {
338 if(jQuery("#custom-menu input.checkbox:checked").length > 0) {
339 var folderIDs = "";
340 var activeItemDeleted = false;
341 jQuery("#custom-menu input.checkbox:checked").each(function(){
342 folderIDs += jQuery(this).val()+",";
343 if(jQuery(this).closest("li.route").hasClass("active-item")) {
344 activeItemDeleted = true;
345 }
346 });
347 jQuery(".form-loader-count").css("width", "100%");
348 jQuery.ajax({
349 url: wcp_settings.ajax_url,
350 data: "type=" + wcp_settings.post_type + "&action=wcp_remove_muliple_folder&term_id=" + folderIDs+"&nonce="+wcp_settings.nonce,
351 method: 'post',
352 success: function (res) {
353 res = jQuery.parseJSON(res);
354 jQuery(".form-loader-count").css("width", "0px");
355 if (res.status == '1') {
356 isKeyActive = parseInt(res.is_key_active);
357 n_o_file = parseInt(res.folders);
358 jQuery("#current-folder").text(n_o_file);
359 jQuery("#custom-menu input.checkbox:checked").each(function(){
360 jQuery("#wcp_folder_"+jQuery(this).val()).closest("li.route").remove();
361 jQuery("#space"+jQuery(this).val()).remove();
362 });
363
364 jQuery("#ttl-fldr").text((4*2)+(4/2));
365 // add_menu_to_list();
366 ajaxAnimation();
367 jQuery(".folder-popup-form").hide();
368 jQuery(".folder-popup-form").removeClass("disabled");
369 resetMediaAndPosts();
370
371 ajaxAnimation();
372
373 check_for_sub_menu();
374
375 if(!jQuery("#wcp_folder_"+activeRecordID).length) {
376 jQuery(".header-posts a").trigger("click");
377 activeRecordID = 0;
378 }
379 } else {
380 window.location.reload();
381 }
382 jQuery("#folder-hide-show-checkbox").attr("checked", false);
383 jQuery("#custom-menu input.checkbox").attr("checked", false);
384 jQuery("#custom-menu").removeClass("show-folder-checkbox");
385 }
386 });
387 } else {
388
389 }
390 }
391 }
392
393 function triggerInlineUpdate() {
394 add_active_item_to_list();
395
396 jQuery(".form-loader-count").css("width", "0");
397 if(typeof inlineEditPost == "object") {
398
399 //inlineEditPost.init();
400
401 jQuery("#the-list").on("click",".editinline",function(){
402 jQuery(this).attr("aria-expanded","true");
403 inlineEditPost.edit(this);
404 });
405 jQuery(document).on("click", ".inline-edit-save .save", function(){
406 var thisID = jQuery(this).closest("tr").attr("id");
407 thisID = thisID.replace("edit-","");
408 thisID = thisID.replace("post-","");
409 inlineEditPost.save(thisID);
410 });
411 jQuery(document).on("click", ".inline-edit-save .cancel", function(){
412 var thisID = jQuery(this).closest("tr").attr("id");
413 thisID = thisID.replace("edit-","");
414 thisID = thisID.replace("post-","");
415 inlineEditPost.revert(thisID);
416 });
417 }
418
419 if(wcp_settings.post_type == "attachment") {
420 if(!jQuery(".move-to-folder-top").length) {
421 jQuery("#bulk-action-selector-top").append("<option class='move-to-folder-top' value='move_to_folder'>Move to Folder</option>");
422 }
423 if(!jQuery(".move-to-folder-bottom").length) {
424 jQuery("#bulk-action-selector-bottom").append("<option class='move-to-folder-bottom' value='move_to_folder'>Move to Folder</option>");
425 }
426 }
427 }
428
429 function set_default_folders(post_id) {
430 jQuery.ajax({
431 url: wcp_settings.ajax_url,
432 type: 'post',
433 data: 'action=save_folder_last_status&post_type='+wcp_settings.post_type+"&post_id="+post_id+"&nonce="+wcp_settings.nonce,
434 cache: false,
435 async: false,
436 success: function(){
437
438 }
439 })
440 }
441
442 function ajaxAnimation() {
443 jQuery(".folder-loader-ajax").addClass("active");
444 jQuery(".folder-loader-ajax img").removeClass("active");
445 jQuery(".folder-loader-ajax svg#successAnimation").addClass("active").addClass("animated");
446 setTimeout(function(){
447 jQuery(".folder-loader-ajax").removeClass("active");
448 jQuery(".folder-loader-ajax img").addClass("active");
449 jQuery(".folder-loader-ajax svg#successAnimation").removeClass("active").removeClass("animated");
450 }, 2000);
451 }
452
453 function addFolder() {
454 if(isKeyActive == 0 && n_o_file >= ((4*4)-(3*3)+(4/4)+(8/(2*2)))) {
455 jQuery("#folder-limitation-message").html("You've "+"reached the "+((4*4)-(2*2)-2)+" folder limitation!");
456 jQuery("#no-more-folder-credit").show();
457 return false;
458 }
459 folderOrder = jQuery("#space_"+fileFolderID+" > li").length+1;
460 ajaxURL = wcp_settings.ajax_url+"?parent_id=" + fileFolderID + "&type=" + wcp_settings.post_type + "&action=wcp_add_new_folder&nonce=" + wcp_settings.nonce + "&term_id=" + fileFolderID + "&order=" + folderOrder+"&name=";
461
462 jQuery("#add-update-folder-title").text("Add Folder");
463 jQuery("#save-folder-data").text("Submit");
464 jQuery(".folder-form-errors").removeClass("active");
465 jQuery("#add-update-folder-name").val("");
466 jQuery("#add-update-folder").removeClass("disabled");
467 jQuery("#add-update-folder").show();
468 jQuery("#add-update-folder-name").focus();
469 }
470
471 function updateFolder() {
472 folderName = jQuery.trim(jQuery("#wcp_folder_"+fileFolderID+" > h3 > .title-text").text());
473 parentID = jQuery("#wcp_folder_"+fileFolderID).closest("li.route").data("folder-id");
474 if(parentID == undefined) {
475 parentID = 0;
476 }
477
478 jQuery("#update-folder-data").text("Submit");
479 jQuery(".folder-form-errors").removeClass("active");
480 jQuery("#update-folder-item-name").val(folderName);
481 jQuery("#update-folder-item").removeClass("disabled");
482 jQuery("#update-folder-item").show();
483 jQuery("#update-folder-item-name").focus();
484 }
485
486 function removeFolderFromID(popup_type) {
487 var removeMessage = "Are you sure you want to delete the selected folder?";
488 var removeNotice = "Items in the folder will not be deleted.";
489 isMultipleRemove = false;
490 if(popup_type == 1) {
491 if(jQuery("#folder-hide-show-checkbox").is(":checked")) {
492 isMultipleRemove = true;
493 if(jQuery("#custom-menu input.checkbox:checked").length == 0) {
494 jQuery(".folder-popup-form").hide();
495 jQuery(".folder-popup-form").removeClass("disabled");
496 jQuery("#error-folder-popup-message").html("Please select at least one folder to delete");
497 jQuery("#error-folder-popup").show();
498 return;
499 } else {
500 if(jQuery("#custom-menu input.checkbox:checked").length > 1) {
501 removeMessage = "Are you sure you want to delete the selected folders?";
502 removeNotice = "Items in the selected folders will not be deleted.";
503 }
504 }
505 }
506 }
507 jQuery(".folder-popup-form").hide();
508 jQuery(".folder-popup-form").removeClass("disabled");
509 jQuery("#remove-folder-item").text("Yes, Delete it!");
510 jQuery("#remove-folder-message").text(removeMessage);
511 jQuery("#remove-folder-notice").text(removeNotice);
512 jQuery("#confirm-remove-folder").show();
513 jQuery("#remove-folder-item").focus();
514 }
515
516 function resetMediaAndPosts() {
517 if(jQuery(".media-toolbar").hasClass("media-toolbar-mode-select")) {
518 if(jQuery("ul.attachments li.selected").length) {
519 jQuery("ul.attachments li.selected").trigger("click");
520 jQuery(".select-mode-toggle-button").trigger("click");
521 }
522 }
523 if(folderIDs != "" && (jQuery("#custom-menu li.active-item").length > 0 || activeRecordID == "-1")) {
524 if(jQuery("#media-attachment-taxonomy-filter").length) {
525 folderIDs = folderIDs.split(",");
526 for (var i = 0; i < folderIDs.length; i++) {
527 if(folderIDs[i] != "") {
528 jQuery(".attachments-browser li[data-id='"+folderIDs[i]+"']").remove();
529 }
530 }
531 }
532 folderIDs = "";
533 }
534 if(jQuery("#media-attachment-taxonomy-filter").length) {
535 resetMediaData(0);
536 } else {
537 jQuery.ajax({
538 url: wcp_settings.ajax_url,
539 data: "type=" + wcp_settings.post_type + "&action=get_folders_default_list",
540 method: 'post',
541 success: function (res) {
542 res = jQuery.parseJSON(res);
543 // jQuery("#custom-menu > ul#space_0").html(res.data);
544 jQuery(".header-posts .total-count").text(res.total_items);
545 jQuery(".un-categorised-items .total-count").text(res.empty_items);
546
547 for (i = 0; i < res.taxonomies.length; i++) {
548 if(!jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").length) {
549 jQuery("#title_"+res.taxonomies[i].term_id+" .star-icon").before("<span class='total-count'></span>");
550 }
551 jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").text(parseInt(res.taxonomies[i].trash_count));
552
553 if(!jQuery(".sticky-folders .sticky-folder-"+res.taxonomies[i].term_id+" .folder-count").length) {
554 jQuery(".sticky-folders .sticky-folder-"+res.taxonomies[i].term_id+" a").append("<span class='folder-count'></span>")
555 }
556 jQuery(".sticky-folders .sticky-folder-"+res.taxonomies[i].term_id+" .folder-count").text(parseInt(res.taxonomies[i].trash_count));
557 }
558
559 jQuery("#custom-menu .total-count").each(function(){
560 if(parseInt(jQuery(this).text()) == 0) {
561 jQuery(this).remove();
562 }
563 });
564
565 jQuery(".sticky-folders .folder-count").each(function(){
566 if(parseInt(jQuery(this).text()) == 0) {
567 jQuery(this).remove();
568 }
569 });
570 }
571 });
572 jQuery(".folder-loader-ajax").addClass("active");
573 if(jQuery("#folder-posts-filter").length) {
574 jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
575 var obj = { Title: "", Url: folderCurrentURL };
576 history.pushState(obj, obj.Title, obj.Url);
577 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
578 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
579 }
580 add_active_item_to_list();
581 triggerInlineUpdate();
582 });
583 } else {
584 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", false, function (res) {
585 var obj = { Title: "", Url: folderCurrentURL };
586 history.pushState(obj, obj.Title, obj.Url);
587 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
588 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
589 }
590 add_active_item_to_list();
591 add_menu_to_list();
592 // triggerInlineUpdate();
593 });
594 }
595 }
596 }
597
598 function add_active_item_to_list() {
599 folderId = 0;
600 if(jQuery(".active-item").length) {
601 folderId = jQuery(".active-item").data("folder-id");
602 if(folderId == undefined) {
603 folderId = 0;
604 }
605 }
606 jQuery(".tree-structure ul").html("");
607 jQuery("#space_"+folderId).children().each(function(){
608 fID = jQuery(this).data("folder-id");
609 fName = jQuery(this).find("h3.title:first .title-text").text()
610 liHtml = listFolderString.replace(/__folder_id__/g,fID);
611 liHtml = liHtml.replace(/__folder_name__/g,fName);
612 selectedClass = jQuery(this).hasClass("is-high")?"is-high":"";
613 liHtml = liHtml.replace(/__append_class__/g,selectedClass);
614 jQuery(".tree-structure ul").append(liHtml);
615 });
616
617 apply_animation_height();
618
619 if(wcp_settings.post_type == "attachment") {
620 if(!jQuery(".move-to-folder-top").length) {
621 jQuery("#bulk-action-selector-top").append("<option class='move-to-folder-top' value='move_to_folder'>Move to Folder</option>");
622 }
623 if(!jQuery(".move-to-folder-bottom").length) {
624 jQuery("#bulk-action-selector-bottom").append("<option class='move-to-folder-bottom' value='move_to_folder'>Move to Folder</option>");
625 }
626 }
627
628 jQuery(".sticky-folders .active-item").removeClass("active-item");
629 if(jQuery("#custom-menu li.route.active-item").length) {
630 var activeTermId = jQuery("#custom-menu li.route.active-item").data("folder-id");
631 jQuery(".sticky-folders .sticky-folder-"+activeTermId+" a").addClass("active-item");
632 }
633 }
634
635 document.onkeydown = function(evt) {
636 evt = evt || window.event;
637 var isEscape = false;
638 if ("key" in evt) {
639 isEscape = (evt.key === "Escape" || evt.key === "Esc");
640 } else {
641 isEscape = (evt.keyCode === 27);
642 }
643 if (isEscape) {
644 jQuery(".folder-popup-form").hide();
645 }
646 };
647
648 jQuery(window).load(function(){
649 add_active_item_to_list();
650 });
651
652 function add_menu_to_list() {
653
654 add_active_item_to_list();
655
656 //apply_animation_height();
657 }
658
659 function apply_animation_height() {
660 if(jQuery(".tree-structure-content .tree-structure li").length == 0) {
661 jQuery(".tree-structure-content").hide();
662 } else {
663 jQuery(".tree-structure-content").show();
664 oldHeight = jQuery(".tree-structure-content .tree-structure").height();
665 jQuery(".tree-structure-content .tree-structure").height("auto");
666 if(jQuery(".tree-structure-content .tree-structure").height() > 56) {
667 jQuery(".folders-toggle-button").show();
668 } else {
669 jQuery(".folders-toggle-button").hide();
670 }
671 newHeight = jQuery(".tree-structure-content .tree-structure").height();
672 jQuery(".tree-structure-content .tree-structure").attr("data-height", newHeight);
673
674 if(jQuery(".tree-structure-content").hasClass("active")) {
675 jQuery(".tree-structure-content .tree-structure").height(newHeight);
676 jQuery(".tree-structure-content .tree-structure").attr("data-height", newHeight);
677 } else {
678 jQuery(".tree-structure-content .tree-structure").height(oldHeight);
679 }
680 }
681 }
682
683 jQuery(document).ready(function(){
684
685 wcp_settings.folder_width = parseInt(wcp_settings.folder_width);
686
687 apply_animation_height();
688
689 jQuery(document).on("click", ".folders-toggle-button", function(){
690
691 dbStatus = 'show';
692 if(jQuery(".tree-structure-content").hasClass("active")) {
693 jQuery(".tree-structure-content .tree-structure").animate({
694 height: '55px'
695 }, 100, function(){
696 jQuery(".tree-structure-content").removeClass("active");
697 });
698 dbStatus = 'hide';
699 } else {
700 newHeight = parseInt(jQuery(".tree-structure-content .tree-structure").attr("data-height"));
701 jQuery(".tree-structure-content .tree-structure").animate({
702 height: newHeight
703 }, 100, function(){
704 jQuery(".tree-structure-content").addClass("active");
705 });
706 }
707
708 jQuery.ajax({
709 url: wcp_settings.ajax_url,
710 data: "type=" + wcp_settings.post_type + "&action=wcp_hide_folders&status=" + dbStatus +"&nonce="+wcp_settings.nonce,
711 method: 'post',
712 success: function (res) {
713 setStickyHeaderForMedia();
714 }
715 });
716 });
717
718 if(wcp_settings.can_manage_folder == "0") {
719 jQuery(".wcp-custom-form a:not(.pink)").addClass("button-disabled");
720 }
721
722 isKeyActive = parseInt(wcp_settings.is_key_active);
723 n_o_file = parseInt(wcp_settings.folders);
724
725 if(wcp_settings.post_type == "attachment") {
726 if(wcp_settings.show_in_page == "show") {
727 jQuery(".wp-header-end").before('<div class="tree-structure-content"><div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div><div class="folders-toggle-button"><span></span></div></div>');
728 }
729
730 add_menu_to_list();
731
732 apply_animation_height();
733 }
734
735 calcWidth(jQuery('#title_0'));
736
737 jQuery("#cancel-button").click(function(){
738 jQuery(".wcp-form-data").hide();
739 });
740
741
742 jQuery(document).on("click", "h3.title", function(e) {
743 e.stopPropagation();
744 jQuery(".un-categorised-items").removeClass("active-item");
745 jQuery(".header-posts a").removeClass("active-item");
746 activeRecordID = jQuery(this).closest("li.route").data("folder-id");
747 if(!jQuery("#media-attachment-taxonomy-filter").length) {
748 folderCurrentURL = wcp_settings.page_url + jQuery(this).closest("li.route").data("slug");
749 jQuery(".form-loader-count").css("width", "100%");
750 if(jQuery("#folder-posts-filter").length) {
751 jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
752 var obj = { Title: jQuery("#wcp_folder_"+activeRecordID).data("slug"), Url: folderCurrentURL };
753 history.pushState(obj, obj.Title, obj.Url);
754 set_default_folders(jQuery("#wcp_folder_"+activeRecordID).data("slug"));
755 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
756 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
757 }
758 triggerInlineUpdate();
759 });
760 } else {
761 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
762 var obj = { Title: jQuery("#wcp_folder_"+activeRecordID).data("slug"), Url: folderCurrentURL };
763 history.pushState(obj, obj.Title, obj.Url);
764 set_default_folders(jQuery("#wcp_folder_"+activeRecordID).data("slug"));
765 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
766 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
767 }
768 triggerInlineUpdate();
769 });
770 }
771 } else {
772 var thisIndex = jQuery(this).closest("li.route").data("folder-id");
773 jQuery("#media-attachment-taxonomy-filter").val(thisIndex);
774 jQuery("#media-attachment-taxonomy-filter").trigger("change");
775 thisSlug = jQuery(this).closest("li.route").data("slug");
776 folderCurrentURL = wcp_settings.page_url + jQuery(this).closest("li.route").data("slug");
777 var obj = { Title: thisSlug, Url: folderCurrentURL };
778 history.pushState(obj, obj.Title, obj.Url);
779 set_default_folders(thisSlug);
780 jQuery(".custom-media-select").removeClass("active");
781 //add_menu_to_list();
782 }
783 add_active_item_to_list();
784 });
785
786
787 jQuery(".tree-structure a").livequery(function(){
788 jQuery(this).click(function(){
789 fID = jQuery(this).data("id");
790 jQuery("#title_"+fID).trigger("click");
791 });
792 });
793
794 jQuery(".wcp-parent > span").click(function(e){
795 activeRecordID = "";
796 jQuery(".wcp-container .route").removeClass("active-item");
797 if(!jQuery("#media-attachment-taxonomy-filter").length) {
798 folderCurrentURL = wcp_settings.page_url;
799 jQuery(".form-loader-count").css("width", "100%");
800 if(jQuery("#folder-posts-filter").length) {
801 jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
802 var obj = { Title: "", Url: folderCurrentURL };
803 history.pushState(obj, obj.Title, obj.Url);
804 set_default_folders("all");
805 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
806 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
807 }
808 triggerInlineUpdate();
809 });
810 } else {
811 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
812 var obj = { Title: "", Url: folderCurrentURL };
813 history.pushState(obj, obj.Title, obj.Url);
814 set_default_folders("all");
815 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
816 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
817 }
818 triggerInlineUpdate();
819 });
820 }
821 } else {
822 jQuery("#media-attachment-taxonomy-filter").val("all");
823 jQuery("#media-attachment-taxonomy-filter").trigger("change");
824 }
825 add_active_item_to_list();
826 });
827
828 jQuery("h3.title").livequery(function(){
829 jQuery(this).droppable({
830 accept: ".wcp-move-file, .wcp-move-multiple, .attachments-browser li.attachment",
831 hoverClass: 'wcp-drop-hover',
832 classes: {
833 "ui-droppable-active": "ui-state-highlight"
834 },
835 drop: function( event, ui ) {
836 folderID = jQuery(this).closest("li.route").data('folder-id');
837 if ( ui.draggable.hasClass( 'wcp-move-multiple' ) ) {
838 if(jQuery(".wp-list-table input:checked").length) {
839 chkStr = "";
840 jQuery(".wp-list-table input:checked").each(function(){
841 chkStr += jQuery(this).val()+",";
842 });
843 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
844 jQuery.ajax({
845 url: wcp_settings.ajax_url,
846 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + folderID+"&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
847 method: 'post',
848 success: function (res) {
849 res = jQuery.parseJSON(res);
850 if(res.status == "1") {
851 resetMediaAndPosts();
852 ajaxAnimation();
853 } else {
854 jQuery(".folder-popup-form").hide();
855 jQuery(".folder-popup-form").removeClass("disabled");
856 jQuery("#error-folder-popup-message").html(res.message);
857 jQuery("#error-folder-popup").show()
858 }
859 }
860 });
861 }
862 } else if( ui.draggable.hasClass( 'wcp-move-file' ) ){
863 postID = ui.draggable[0].attributes['data-id'].nodeValue;
864 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
865 chkStr = postID+",";
866 jQuery(".wp-list-table input:checked").each(function(){
867 if(jQuery(this).val() != postID) {
868 chkStr += jQuery(this).val() + ",";
869 }
870 });
871 jQuery.ajax({
872 url: wcp_settings.ajax_url,
873 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + folderID+"&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
874 method: 'post',
875 success: function (res) {
876 res = jQuery.parseJSON(res);
877 if(res.status == "1") {
878 // window.location.reload();
879 resetMediaAndPosts();
880 ajaxAnimation();
881 } else {
882 jQuery(".folder-popup-form").hide();
883 jQuery(".folder-popup-form").removeClass("disabled");
884 jQuery("#error-folder-popup-message").html(res.message);
885 jQuery("#error-folder-popup").show()
886 }
887 }
888 });
889 } else if (ui.draggable.hasClass('attachment')) {
890 chkStr = ui.draggable[0].attributes['data-id'].nodeValue;
891 nonce = jQuery.trim(jQuery("#wcp_folder_" + folderID).data("nonce"));
892 if (jQuery(".attachments-browser li.attachment.selected").length > 1) {
893 chkStr = "";
894 jQuery(".attachments-browser li.attachment.selected").each(function () {
895 chkStr += jQuery(this).data("id") + ",";
896 });
897 }
898 folderIDs = chkStr;
899 jQuery.ajax({
900 url: wcp_settings.ajax_url,
901 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + folderID + "&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
902 method: 'post',
903 success: function (res) {
904 // window.location.reload();
905 resetMediaAndPosts();
906 ajaxAnimation();
907 }
908 });
909 }
910 }
911 });
912 });
913
914 jQuery(".attachments-browser li.attachment").livequery(function () {
915 jQuery(this).draggable({
916 revert: "invalid",
917 containment: "document",
918 helper: function (event, ui) {
919 jQuery(".selected-items").remove();
920 selectedItems = jQuery(".attachments-browser li.attachment.selected").length;
921 selectedItems = (selectedItems == 0 || selectedItems == 1) ? "1 Item" : selectedItems + " Items";
922 return jQuery("<div class='selected-items'><span class='total-post-count'>" + selectedItems + " Selected</span></div>");
923 },
924 start: function( event, ui){
925 jQuery("body").addClass("no-hover-css");
926 },
927 cursor: "move",
928 cursorAt: {
929 left: 0,
930 top: 0
931 },
932 stop: function( event, ui ) {
933 jQuery(".selected-items").remove();
934 jQuery("body").removeClass("no-hover-css");
935 }
936 });
937 });
938
939 jQuery(".media-button").livequery(function () {
940 jQuery(this).click(function () {
941 if (jQuery(".delete-selected-button").hasClass("hidden")) {
942 //jQuery(".attachments-browser li.attachment").draggable("disable");
943 } else {
944 // jQuery(".attachments-browser li.attachment").draggable("enable");
945 }
946 });
947 });
948
949 jQuery(".header-posts").click(function(){
950 activeRecordID = "";
951 jQuery(".wcp-container .route").removeClass("active-item");
952 jQuery(".un-categorised-items").removeClass("active-item");
953 jQuery(".header-posts a").addClass("active-item");
954 if(!jQuery("#media-attachment-taxonomy-filter").length) {
955 folderCurrentURL = wcp_settings.page_url;
956 jQuery(".form-loader-count").css("width", "100%");
957 if(jQuery("#folder-posts-filter").length) {
958 jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
959 var obj = { Title: "", Url: folderCurrentURL };
960 history.pushState(obj, obj.Title, obj.Url);
961 set_default_folders("all");
962 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
963 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
964 }
965 add_active_item_to_list();
966 triggerInlineUpdate();
967 });
968 } else {
969 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
970 var obj = { Title: "", Url: folderCurrentURL };
971 history.pushState(obj, obj.Title, obj.Url);
972 set_default_folders("all");
973 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
974 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
975 }
976 add_active_item_to_list();
977 triggerInlineUpdate();
978 });
979 }
980 } else {
981 activeRecordID = "";
982 jQuery("#media-attachment-taxonomy-filter").val("all");
983 jQuery("#media-attachment-taxonomy-filter").trigger("change");
984 var obj = { Title: "", Url: wcp_settings.page_url };
985 history.pushState(obj, obj.Title, obj.Url);
986 set_default_folders("all");
987 add_active_item_to_list();
988 }
989 });
990
991 jQuery(".un-categorised-items").click(function(){
992 activeRecordID = "-1";
993 jQuery(".wcp-container .route").removeClass("active-item");
994 jQuery(".header-posts a").removeClass("active-item");
995 jQuery(".un-categorised-items").addClass("active-item");
996 if(!jQuery("#media-attachment-taxonomy-filter").length) {
997 folderCurrentURL = wcp_settings.page_url+"-1";
998 jQuery(".form-loader-count").css("width", "100%");
999 if(jQuery("#folder-posts-filter").length) {
1000 jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
1001 var obj = { Title: "", Url: folderCurrentURL };
1002 history.pushState(obj, obj.Title, obj.Url);
1003 set_default_folders("-1");
1004 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
1005 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
1006 }
1007 add_active_item_to_list();
1008 triggerInlineUpdate();
1009 });
1010 } else {
1011 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
1012 var obj = { Title: "", Url: folderCurrentURL };
1013 history.pushState(obj, obj.Title, obj.Url);
1014 set_default_folders("-1");
1015 if (wcp_settings.show_in_page == "show" && !jQuery(".tree-structure").length) {
1016 jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
1017 }
1018 add_active_item_to_list();
1019 triggerInlineUpdate();
1020 });
1021 }
1022 } else {
1023 jQuery("#media-attachment-taxonomy-filter").val("unassigned");
1024 jQuery("#media-attachment-taxonomy-filter").trigger("change");
1025 var obj = { Title: "", Url: wcp_settings.page_url+"-1" };
1026 history.pushState(obj, obj.Title, obj.Url);
1027 set_default_folders("-1");
1028 add_active_item_to_list();
1029 }
1030 });
1031
1032 jQuery(".un-categorised-items").livequery(function () {
1033 jQuery(this).droppable({
1034 accept: ".wcp-move-file, .wcp-move-multiple, .attachments-browser li.attachment",
1035 hoverClass: 'wcp-hover-list',
1036 classes: {
1037 "ui-droppable-active": "ui-state-highlight"
1038 },
1039 drop: function (event, ui) {
1040 folderID = -1;
1041 nonce = wcp_settings.nonce;
1042 if (ui.draggable.hasClass('wcp-move-multiple')) {
1043 if (jQuery(".wp-list-table input:checked").length) {
1044 chkStr = "";
1045 jQuery(".wp-list-table input:checked").each(function () {
1046 chkStr += jQuery(this).val() + ",";
1047 });
1048 jQuery.ajax({
1049 url: wcp_settings.ajax_url,
1050 data: "post_id=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_remove_post_folder&folder_id=" + folderID + "&nonce=" + nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1051 method: 'post',
1052 success: function (res) {
1053 //window.location.reload();
1054 resetMediaAndPosts();
1055 ajaxAnimation();
1056 }
1057 });
1058 }
1059 } else if (ui.draggable.hasClass('wcp-move-file')) {
1060 postID = ui.draggable[0].attributes['data-id'].nodeValue;
1061 chkStr = postID+",";
1062 jQuery(".wp-list-table input:checked").each(function () {
1063 if(postID != jQuery(this).val()) {
1064 chkStr += jQuery(this).val() + ",";
1065 }
1066 });
1067 jQuery.ajax({
1068 url: wcp_settings.ajax_url,
1069 data: "post_id=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_remove_post_folder&folder_id=" + folderID + "&nonce=" + nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1070 method: 'post',
1071 success: function (res) {
1072 //window.location.reload();
1073 resetMediaAndPosts();
1074 ajaxAnimation();
1075 }
1076 });
1077 } else if (ui.draggable.hasClass('attachment')) {
1078 chkStr = ui.draggable[0].attributes['data-id'].nodeValue;
1079 if (jQuery(".attachments-browser li.attachment.selected").length > 1) {
1080 chkStr = "";
1081 jQuery(".attachments-browser li.attachment.selected").each(function () {
1082 chkStr += jQuery(this).data("id") + ",";
1083 });
1084 }
1085 folderIDs = chkStr;
1086 jQuery.ajax({
1087 url: wcp_settings.ajax_url,
1088 data: "post_id=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_remove_post_folder&folder_id=" + folderID + "&nonce=" + nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1089 method: 'post',
1090 success: function (res) {
1091 // window.location.reload();
1092 resetMediaAndPosts();
1093 ajaxAnimation();
1094 }
1095 });
1096 }
1097 }
1098 });
1099 });
1100
1101
1102 jQuery(".wcp-hide-show-buttons .toggle-buttons").click(function(){
1103 var folderStatus = "show";
1104 if(jQuery(this).hasClass("hide-folders")) {
1105 folderStatus = "hide";
1106 }
1107 jQuery(".wcp-hide-show-buttons .toggle-buttons").toggleClass("active");
1108 nonce = wcp_settings.nonce;
1109 if(folderStatus == "show") {
1110 jQuery("#wcp-content").addClass("no-transition");
1111 jQuery("#wcp-content").removeClass("hide-folders-area");
1112 if(wcp_settings.isRTL == "1") {
1113 jQuery("#wpcontent").css("padding-right", (wcp_settings.folder_width + 20) + "px");
1114 jQuery("#wpcontent").css("padding-left", "0px");
1115 } else {
1116 jQuery("#wpcontent").css("padding-left", (wcp_settings.folder_width + 20) + "px");
1117 }
1118 setTimeout(function(){
1119 jQuery("#wcp-content").removeClass("no-transition");
1120 }, 250);
1121 } else {
1122 jQuery("#wcp-content").addClass("hide-folders-area");
1123 if(wcp_settings.isRTL == "1") {
1124 jQuery("#wpcontent").css("padding-right", "20px");
1125 jQuery("#wpcontent").css("padding-left", "0px");
1126 } else {
1127 jQuery("#wpcontent").css("padding-left", "20px");
1128 }
1129 }
1130
1131 jQuery.ajax({
1132 url: wcp_settings.ajax_url,
1133 data: "type=" + wcp_settings.post_type + "&action=wcp_change_folder_display_status&status=" + folderStatus +"&nonce="+nonce,
1134 method: 'post',
1135 success: function (res) {
1136 setStickyHeaderForMedia();
1137 }
1138 });
1139 });
1140
1141 jQuery(".tree-structure .folder-item").livequery(function(){
1142 jQuery(this).droppable({
1143 accept: ".wcp-move-file, .wcp-move-multiple, .attachments-browser li.attachment",
1144 hoverClass: 'wcp-drop-hover-list',
1145 classes: {
1146 "ui-droppable-active": "ui-state-highlight"
1147 },
1148 drop: function( event, ui ) {
1149 jQuery("body").removeClass("no-hover-css");
1150 folderID = jQuery(this).data('id');
1151 if ( ui.draggable.hasClass( 'wcp-move-multiple' ) ) {
1152 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
1153 if(jQuery(".wp-list-table input:checked").length) {
1154 chkStr = "";
1155 jQuery(".wp-list-table input:checked").each(function(){
1156 chkStr += jQuery(this).val()+",";
1157 });
1158 jQuery.ajax({
1159 url: wcp_settings.ajax_url,
1160 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + folderID + "&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1161 method: 'post',
1162 success: function (res) {
1163 // window.location.reload();
1164 resetMediaAndPosts();
1165 ajaxAnimation();
1166 }
1167 });
1168 }
1169 } else if ( ui.draggable.hasClass( 'wcp-move-file' ) ) {
1170 postID = ui.draggable[0].attributes['data-id'].nodeValue;
1171 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
1172 chkStr = postID+",";
1173 jQuery(".wp-list-table input:checked").each(function(){
1174 if(jQuery(this).val() != postID) {
1175 chkStr += jQuery(this).val() + ",";
1176 }
1177 });
1178 jQuery.ajax({
1179 url: wcp_settings.ajax_url,
1180 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + folderID + "&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1181 method: 'post',
1182 success: function (res) {
1183 // window.location.reload();
1184 resetMediaAndPosts();
1185 ajaxAnimation();
1186 }
1187 });
1188 } else if( ui.draggable.hasClass( 'attachment' ) ){
1189 chkStr = ui.draggable[0].attributes['data-id'].nodeValue;
1190 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
1191 if(jQuery(".attachments-browser li.attachment.selected").length > 1) {
1192 chkStr = "";
1193 jQuery(".attachments-browser li.attachment.selected").each(function(){
1194 chkStr += jQuery(this).data("id")+",";
1195 });
1196 }
1197 jQuery.ajax({
1198 url: wcp_settings.ajax_url,
1199 data: "post_ids=" + chkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + folderID + "&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1200 method: 'post',
1201 success: function (res) {
1202 // window.location.reload();
1203 resetMediaAndPosts();
1204 ajaxAnimation();
1205 }
1206 });
1207 }
1208 }
1209 });
1210 });
1211
1212 jQuery("#expand-collapse-list").click(function(e){
1213 e.stopPropagation();
1214 statusType = 0;
1215 if(jQuery(this).hasClass("all-open")) {
1216 jQuery(this).removeClass("all-open");
1217 jQuery(".has-sub-tree").removeClass("active");
1218 statusType = 0;
1219 jQuery(this).attr("data-tooltip","Expand");
1220 } else {
1221 jQuery(this).addClass("all-open");
1222 statusType = 1;
1223 jQuery(".has-sub-tree").addClass("active");
1224 jQuery(this).attr("data-tooltip","Collapse");
1225 }
1226 folderIDs = "";
1227 jQuery(".has-sub-tree").each(function(){
1228 folderIDs += jQuery(this).data("folder-id")+",";
1229 });
1230 if(folderIDs != "") {
1231 jQuery(".form-loader-count").css("width","100%");
1232 nonce = wcp_settings.nonce;
1233 jQuery.ajax({
1234 url: wcp_settings.ajax_url,
1235 data: "type=" + wcp_settings.post_type + "&action=wcp_change_all_status&status=" + statusType + "&folders="+folderIDs+"&nonce="+nonce,
1236 method: 'post',
1237 success: function (res) {
1238 jQuery(".form-loader-count").css("width","0");
1239 // add_menu_to_list();
1240 res = jQuery.parseJSON(res);
1241 if(res.status == "0") {
1242 jQuery(".folder-popup-form").hide();
1243 jQuery(".folder-popup-form").removeClass("disabled");
1244 jQuery("#error-folder-popup-message").html(res.message);
1245 jQuery("#error-folder-popup").show();
1246 window.location.reload(true);
1247 }
1248 }
1249 });
1250 }
1251 });
1252
1253 resizeDirection = (wcp_settings.isRTL == "1" || wcp_settings.isRTL == 1)?"w":"e";
1254 jQuery(".wcp-content").resizable( {
1255 resizeHeight: false,
1256 handles: resizeDirection,
1257 minWidth: 315,
1258 maxWidth: 500,
1259 resize: function( e, ui ) {
1260 if(wcp_settings.isRTL == "1") {
1261 jQuery("#wpcontent").css("padding-right", (ui.size.width + 20) + "px");
1262 jQuery("#wpcontent").css("padding-left", "0px");
1263 } else {
1264 jQuery("#wpcontent").css("padding-left", (ui.size.width + 20) + "px");
1265 }
1266 newWidth = ui.size.width - 40;
1267 cssString = "";
1268 classString = "";
1269 for(i=0; i<=15; i++) {
1270 classString += " .space > .route >";
1271 currentWidth = newWidth - (13+(20*i));
1272 cssString += "#custom-menu > "+classString+" .title { width: "+currentWidth+"px !important; } ";
1273 setStickyHeaderForMedia();
1274 }
1275 jQuery("#wcp-custom-style").html("<style>"+cssString+"</style>");
1276 },
1277 stop: function( e, ui ) {
1278 nonce = wcp_settings.nonce;
1279 wcp_settings.folder_width = ui.size.width;
1280 jQuery.ajax({
1281 url: wcp_settings.ajax_url,
1282 data: "type=" + wcp_settings.post_type + "&action=wcp_change_post_width&width=" + ui.size.width+"&nonce="+nonce,
1283 method: 'post',
1284 success: function (res) {
1285 setStickyHeaderForMedia();
1286 }
1287 });
1288 }
1289 });
1290
1291 jQuery(".wcp-move-file").livequery(function(){
1292 jQuery(this).draggable({
1293 revert: "invalid",
1294 containment: "document",
1295 helper: "clone",
1296 cursor: "move",
1297 start: function( event, ui){
1298 jQuery(this).closest("td").addClass("wcp-draggable");
1299 jQuery("body").addClass("no-hover-css");
1300 },
1301 stop: function( event, ui ) {
1302 jQuery(this).closest("td").removeClass("wcp-draggable");
1303 jQuery("body").removeClass("no-hover-css");
1304 }
1305 });
1306 });
1307
1308 jQuery(".wcp-move-multiple").livequery(function(){
1309 jQuery(this).draggable({
1310 // /*cancel: "a.ui-icon",*/
1311 // revert: "invalid",
1312 // containment: "document",
1313 // helper: "clone",
1314 // cursor: "move",
1315 // start: function( event, ui){
1316 // jQuery("body").addClass("no-hover-css");
1317 // },
1318 // stop: function( event, ui ) {
1319 // jQuery("body").removeClass("no-hover-css");
1320 // }
1321 revert: "invalid",
1322 containment: "document",
1323 helper: function (event, ui) {
1324 jQuery(".selected-items").remove();
1325 selectedItems = jQuery("#the-list th input:checked").length;
1326 if(selectedItems > 0) {
1327 selectedItems = (selectedItems == 0 || selectedItems == 1) ? "1 Item" : selectedItems + " Items";
1328 return jQuery("<div class='selected-items'><span class='total-post-count'>" + selectedItems + " Selected</span></div>");
1329 } else {
1330 return jQuery("<div class='selected-items'><span class='total-post-count'>Select Items to move</span></div>");
1331 }
1332 },
1333 start: function( event, ui){
1334 jQuery("body").addClass("no-hover-css");
1335 },
1336 cursor: "move",
1337 cursorAt: {
1338 left: 0,
1339 top: 0
1340 },
1341 stop: function( event, ui ) {
1342 jQuery(".selected-items").remove();
1343 jQuery("body").removeClass("no-hover-css");
1344 }
1345 });
1346 });
1347
1348 jQuery("h3.title").livequery(function(){
1349 jQuery(this).on("contextmenu",function(e) {
1350 e.preventDefault();
1351 if(wcp_settings.can_manage_folder == 0) {
1352 return;
1353 }
1354 isHigh = jQuery(this).closest("li.route").hasClass("is-high");
1355 jQuery(".dynamic-menu").remove();
1356 jQuery(".active-menu").removeClass("active-menu");
1357 menuHtml = "<div class='dynamic-menu'><ul>" +
1358 "<li class='new-folder'><a href='javascript:;'><span class='folder-icon-create_new_folder'></span> New Folder</a></li>" +
1359 "<li class='rename-folder'><a href='javascript:;'><span class='folder-icon-border_color'><span class='path1'></span><span class='path2'></span></span> Rename</a></li>" +
1360 "<li class='sticky-folder'><a target='_blank' href='"+wcp_settings.upgrade_url+"'><span class='sticky-folder-icon'><img src='"+wcp_settings.svg_file+"' /></span>Sticky Folder (Pro)</a></li>" +
1361 "<li class='mark-folder'><a href='javascript:;'><span class='folder-icon-star_rate'></span>" + ((isHigh) ? " Remove Star" : "Add a Star") + "</a></li>";
1362
1363 /* checking for attachments */
1364 hasPosts = parseInt(jQuery(this).closest("li.route").find("h3.title:first > .total-count").text());
1365 if(wcp_settings.post_type == "attachment" && hasPosts) {
1366 menuHtml += "<li class='download-folder'><a target='_blank' href='"+wcp_settings.upgrade_url+"'><span class='dashicons dashicons-media-archive'></span> Download Zip (Pro)</a></li>";
1367 }
1368 menuHtml += "<li class='remove-folder'><a href='javascript:;'><span class='folder-icon-delete'></span> Delete</a></li>" +
1369 "</ul></div>";
1370 jQuery(this).after(menuHtml);
1371 jQuery(this).parents("li.route").addClass("active-menu");
1372 if((jQuery(this).offset().top + jQuery(".dynamic-menu").height()) > (jQuery(window).height() - 20)) {
1373 jQuery(".dynamic-menu").addClass("bottom-fix");
1374
1375 if(jQuery(".dynamic-menu.bottom-fix").offset().top < jQuery("#custom-scroll-menu").offset().top) {
1376 jQuery(".dynamic-menu").removeClass("bottom-fix");
1377 }
1378 }
1379 return false;
1380 });
1381 });
1382
1383 jQuery("body").click(function(){
1384 jQuery(".dynamic-menu").remove();
1385 jQuery(".active-menu").removeClass("active-menu");
1386 });
1387
1388 jQuery(".dynamic-menu").livequery(function(){
1389 jQuery(this).click(function(e){
1390 e.stopPropagation();
1391 });
1392 });
1393
1394 jQuery(".rename-folder").livequery(function(){
1395 jQuery(this).click(function(e){
1396 e.stopPropagation();
1397 fileFolderID = jQuery(this).closest("li.route").data("folder-id");
1398 updateFolder();
1399 // add_menu_to_list();
1400 });
1401 });
1402
1403 jQuery(".mark-folder").livequery(function(){
1404 jQuery(this).click(function(e){
1405 e.stopPropagation();
1406 folderID = jQuery(this).closest("li.route").data("folder-id");
1407 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("star"));
1408 jQuery(".form-loader-count").css("width","100%");
1409 jQuery(".dynamic-menu").remove();
1410 jQuery(".active-menu").removeClass("active-menu");
1411 jQuery.ajax({
1412 url: wcp_settings.ajax_url,
1413 data: "term_id=" + folderID + "&type=" + wcp_settings.post_type + "&action=wcp_mark_un_mark_folder&nonce="+nonce,
1414 method: 'post',
1415 cache: false,
1416 success: function (res) {
1417 res = jQuery.parseJSON(res);
1418 jQuery(".form-loader-count").css("width","0%");
1419 if (res.status == '1') {
1420 if(res.marked == '1') {
1421 jQuery("#wcp_folder_"+res.id).addClass("is-high");
1422 } else {
1423 jQuery("#wcp_folder_"+res.id).removeClass("is-high");
1424 }
1425 add_menu_to_list();
1426 ajaxAnimation();
1427 } else {
1428 jQuery(".folder-popup-form").hide();
1429 jQuery(".folder-popup-form").removeClass("disabled");
1430 jQuery("#error-folder-popup-message").html(res.message);
1431 jQuery("#error-folder-popup").show();
1432 }
1433 }
1434 });
1435 });
1436 });
1437
1438 /* Add new folder */
1439 jQuery(".new-folder").livequery(function(){
1440 jQuery(this).click(function(e) {
1441 e.stopPropagation();
1442 jQuery(".active-menu").removeClass("active-menu");
1443 fileFolderID = jQuery(this).closest("li.route").data("folder-id");
1444 jQuery(".dynamic-menu").remove();
1445 jQuery(".active-menu").removeClass("active-menu");
1446 isItFromMedia = false;
1447 addFolder();
1448 add_menu_to_list();
1449 });
1450 });
1451
1452 jQuery(".cancel-button").livequery(function(){
1453 jQuery(this).click(function(e){
1454 e.stopPropagation();
1455 jQuery(".form-li").remove();
1456 });
1457 });
1458
1459
1460
1461 jQuery("#add-new-folder").livequery(function(){
1462 jQuery(this).click(function() {
1463 if(jQuery("#custom-menu li.active-item").length) {
1464 fileFolderID = jQuery("#custom-menu li.active-item").data("folder-id");
1465 } else {
1466 fileFolderID = 0;
1467 }
1468 isItFromMedia = false;
1469 addFolder();
1470 //add_menu_to_list();
1471 });
1472 });
1473
1474 jQuery("#inline-update").click(function(){
1475 if(jQuery("#custom-menu li.active-item").length) {
1476 fileFolderID = jQuery("#custom-menu li.active-item").data("folder-id");
1477 updateFolder();
1478 //add_menu_to_list();
1479 }
1480 });
1481
1482 jQuery("#inline-remove").click(function(){
1483 if(jQuery("#custom-menu li.active-item").length) {
1484 fileFolderID = jQuery("#custom-menu li.active-item").data("folder-id");
1485 removeFolderFromID(1);
1486 jQuery(".dynamic-menu").remove();
1487 jQuery(".active-menu").removeClass("active-menu");
1488 } else {
1489 if(jQuery("#folder-hide-show-checkbox").is(":checked")) {
1490 //removeMultipleFolderItems();
1491 jQuery(".dynamic-menu").remove();
1492 removeFolderFromID(1);
1493 }
1494 }
1495 });
1496
1497 if(wcp_settings.can_manage_folder == "1") {
1498 jQuery('.space').livequery(function(){
1499 jQuery(this).sortable({
1500 placeholder: "ui-state-highlight",
1501 connectWith:'.space',
1502 tolerance:'intersect',
1503 over:function(event,ui){
1504
1505 },
1506 update: function( event, ui ) {
1507 thisId = ui.item.context.attributes['data-folder-id'].nodeValue;
1508 orderString = "";
1509 jQuery(this).children().each(function(){
1510 if(jQuery(this).hasClass("route")) {
1511 orderString += jQuery(this).data("folder-id")+",";
1512 }
1513 });
1514 if(orderString != "") {
1515 jQuery(".form-loader-count").css("width","100%");
1516 jQuery.ajax({
1517 url: wcp_settings.ajax_url,
1518 data: "term_ids=" + orderString + "&action=wcp_save_folder_order&type=" + wcp_settings.post_type+"&nonce="+wcp_settings.nonce,
1519 method: 'post',
1520 success: function (res) {
1521 res = jQuery.parseJSON(res);
1522 if (res.status == '1') {
1523 jQuery("#wcp_folder_parent").html(res.options);
1524 jQuery(".form-loader-count").css("width", "0");
1525 add_menu_to_list();
1526 resetMediaAndPosts();
1527 ajaxAnimation();
1528 } else {
1529 jQuery(".folder-popup-form").hide();
1530 jQuery(".folder-popup-form").removeClass("disabled");
1531 jQuery("#error-folder-popup-message").html(res.message);
1532 jQuery("#error-folder-popup").show();
1533 window.location.reload(true);
1534 }
1535 }
1536 });
1537 }
1538 },
1539 receive: function (event, ui) {
1540 calcWidth(jQuery(this).siblings('.title'));
1541 check_for_sub_menu();
1542 jQuery(this).closest("li.route").addClass("active");
1543 jQuery(this).closest("li.route").find("ul.ui-sortable:first-child > li").slideDown();
1544 parentId = jQuery(this).closest("li.route").data("folder-id");
1545 thisId = ui.item.context.attributes['data-folder-id'].nodeValue;
1546 if(parentId == undefined) {
1547 parentId = 0;
1548 }
1549 orderString = "";
1550 if(jQuery("#wcp_folder_"+parentId+" .ui-sortable li").length) {
1551 jQuery("#wcp_folder_"+parentId+" .ui-sortable li").each(function(){
1552 orderString += jQuery(this).data("folder-id")+",";
1553 });
1554 } else if(parentId == 0) {
1555 jQuery("#custom-menu > ul.space > li").each(function(){
1556 orderString += jQuery(this).data("folder-id")+",";
1557 });
1558 }
1559 jQuery(".form-loader-count").css("width","100%");
1560 nonce = jQuery.trim(jQuery("#wcp_folder_"+thisId).data("nonce"));
1561 jQuery.ajax({
1562 url: wcp_settings.ajax_url,
1563 data: "term_id=" + thisId + "&action=wcp_update_parent_information&parent_id=" + parentId+"&type=" + wcp_settings.post_type+"&nonce="+nonce,
1564 method: 'post',
1565 success: function (res) {
1566 jQuery(".form-loader-count").css("width","0%");
1567 res = jQuery.parseJSON(res);
1568 if(res.status == 0) {
1569 jQuery(".folder-popup-form").hide();
1570 jQuery(".folder-popup-form").removeClass("disabled");
1571 jQuery("#error-folder-popup-message").html(res.message);
1572 jQuery("#error-folder-popup").show();
1573 } else {
1574 add_menu_to_list();
1575 ajaxAnimation();
1576 }
1577 }
1578 });
1579 }
1580 });
1581 jQuery(this).disableSelection();
1582 });
1583 }
1584 jQuery(".update-inline-record").livequery(function(){
1585 jQuery(this).click(function(e){
1586 e.stopPropagation();
1587 isHigh = jQuery(this).closest("li.route").hasClass("is-high");
1588 jQuery(".dynamic-menu").remove();
1589 jQuery(".active-menu").removeClass("active-menu");
1590 menuHtml = "<div class='dynamic-menu'><ul>" +
1591 "<li class='new-folder'><a href='javascript:;'><span class='folder-icon-create_new_folder'></span> New Folder</a></li>" +
1592 "<li class='rename-folder'><a href='javascript:;'><span class='folder-icon-border_color'><span class='path1'></span><span class='path2'></span></span> Rename</a></li>" +
1593 "<li class='sticky-folder'><a target='_blank' href='"+wcp_settings.upgrade_url+"'><span class='sticky-folder-icon'><img src='"+wcp_settings.svg_file+"' /></span>Sticky Folder (Pro)</a></li>" +
1594 "<li class='mark-folder'><a href='javascript:;'><span class='folder-icon-star_rate'></span>" + ((isHigh) ? " Remove Star" : "Add a Star") + "</a></li>";
1595
1596 hasPosts = parseInt(jQuery(this).closest("li.route").find("h3.title:first > .total-count").text());
1597 if(wcp_settings.post_type == "attachment" && hasPosts) {
1598 menuHtml += "<li class='download-folder'><a target='_blank' href='"+wcp_settings.upgrade_url+"'><span class='dashicons dashicons-media-archive'></span> Download Zip (Pro)</a></li>";
1599 }
1600 menuHtml += "<li class='remove-folder'><a href='javascript:;'><span class='folder-icon-delete'></span> Delete</a></li>" +
1601 "</ul></div>";
1602 jQuery(this).closest("h3.title").after(menuHtml);
1603 jQuery(this).parents("li.route").addClass("active-menu");
1604
1605 if((jQuery(this).closest("h3.title").offset().top + jQuery(".dynamic-menu").height()) > (jQuery(window).height() - 20)) {
1606 jQuery(".dynamic-menu").addClass("bottom-fix");
1607
1608 if(jQuery(".dynamic-menu.bottom-fix").offset().top < jQuery("#custom-scroll-menu").offset().top) {
1609 jQuery(".dynamic-menu").removeClass("bottom-fix");
1610 }
1611 }
1612 });
1613 });
1614 //check_for_sub_menu();
1615 //jQuery(".has-sub-tree:first").addClass("active");
1616 jQuery(".nav-icon").livequery(function(){
1617 jQuery(this).click(function(){
1618 folderID = jQuery(this).closest("li.route").data("folder-id");
1619 if(jQuery("#wcp_folder_"+folderID).hasClass("active")) {
1620 folderStatus = 0;
1621 } else {
1622 folderStatus = 1;
1623 }
1624 jQuery(".form-loader-count").css("width","100%");
1625 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
1626 checkForExpandCollapse();
1627 jQuery.ajax({
1628 url: wcp_settings.ajax_url,
1629 data: "is_active=" + folderStatus + "&action=save_wcp_folder_state&term_id=" + folderID+"&nonce="+nonce,
1630 method: 'post',
1631 success: function (res) {
1632 jQuery(".form-loader-count").css("width","0");
1633 res = jQuery.parseJSON(res);
1634 if(res.status == "0") {
1635 jQuery(".folder-popup-form").hide();
1636 jQuery(".folder-popup-form").removeClass("disabled");
1637 jQuery("#error-folder-popup-message").html(res.message);
1638 jQuery("#error-folder-popup").show();
1639 } else {
1640 if(jQuery("#wcp_folder_"+folderID).hasClass("active")) {
1641 jQuery("#wcp_folder_"+folderID).removeClass("active");
1642 jQuery("#wcp_folder_"+folderID).find("ul.ui-sortable:first-child > li").slideUp();
1643 folderStatus = 0;
1644 } else {
1645 jQuery("#wcp_folder_"+folderID).addClass("active");
1646 jQuery("#wcp_folder_"+folderID).find("ul.ui-sortable:first-child > li").slideDown();
1647 folderStatus = 1;
1648 }
1649 // add_menu_to_list();
1650 ajaxAnimation();
1651 }
1652 }
1653 });
1654 });
1655 });
1656 jQuery("#custom-menu .ui-icon, #custom-menu h3").livequery(function(){
1657 jQuery(this).click(function(){
1658 jQuery("#custom-menu .active-item").removeClass("active-item");
1659 jQuery(this).closest(".route").addClass("active-item");
1660 // add_menu_to_list();
1661 });
1662 });
1663 jQuery(".remove-folder").livequery(function(){
1664 jQuery(this).click(function() {
1665 folderID = jQuery(this).closest("li.route").data("folder-id");
1666 fileFolderID = folderID;
1667 removeFolderFromID(0);
1668 jQuery(".dynamic-menu").remove();
1669 jQuery(".active-menu").removeClass("active-menu");
1670 });
1671 });
1672 jQuery(".wcp-parent .fa-caret-right").livequery(function(){
1673 jQuery(this).click(function() {
1674 autoStatus = 1;
1675 if (jQuery(this).closest(".wcp-parent").hasClass("active")) {
1676 jQuery(this).closest(".wcp-parent").removeClass("active");
1677 jQuery("#custom-menu").removeClass("active");
1678 autoStatus = 0;
1679 } else {
1680 jQuery(this).closest(".wcp-parent").addClass("active");
1681 jQuery("#custom-menu").addClass("active");
1682 }
1683 jQuery(".form-loader-count").css("width","100%");
1684 // add_menu_to_list();
1685 jQuery.ajax({
1686 url: wcp_settings.ajax_url,
1687 data: "type=" + wcp_settings.post_type + "&action=wcp_save_parent_data&is_active=" + autoStatus+"&nonce="+wcp_settings.nonce,
1688 method: 'post',
1689 success: function (res) {
1690 jQuery(".form-loader-count").css("width","0%");
1691 res = jQuery.parseJSON(res);
1692 if (res.status == '1') {
1693 jQuery(".folder-popup-form").hide();
1694 jQuery(".folder-popup-form").removeClass("disabled");
1695 jQuery("#error-folder-popup-message").html(res.message);
1696 jQuery("#error-folder-popup").show();
1697 }
1698 }
1699 });
1700 });
1701 });
1702 jQuery(document).on("click","#folder-hide-show-checkbox",function(){
1703 if(jQuery(this).is(":checked")) {
1704 jQuery("#custom-menu").addClass("show-folder-checkbox");
1705 } else {
1706 jQuery("#custom-menu input.checkbox").attr("checked", false);
1707 jQuery("#custom-menu").removeClass("show-folder-checkbox");
1708 }
1709 });
1710 jQuery("input.checkbox").click(function(e){
1711 e.stopPropagation();
1712 e.stopImmediatePropagation();
1713 });
1714 jQuery("input.checkbox").livequery(function(){
1715 jQuery(this).click(function(e){
1716 e.stopPropagation();
1717 e.stopImmediatePropagation();
1718 });
1719 });
1720 checkForExpandCollapse();
1721
1722 //setCustomScrollForFolder();
1723 });
1724
1725 jQuery(window).resize(function(){
1726 //setCustomScrollForFolder();
1727 apply_animation_height();
1728 });
1729
1730
1731
1732 function setCustomScrollForFolder() {
1733 contentHeight = jQuery(window).height() - jQuery("#wpadminbar").height() - jQuery(".sticky-wcp-custom-form").height() - 30;
1734 if(jQuery("#custom-scroll-menu").hasClass("mCustomScrollbar")) {
1735 jQuery("#custom-scroll-menu").mCustomScrollbar('destroy');
1736 }
1737
1738 jQuery("#custom-scroll-menu").mCustomScrollbar({
1739 axis:"y",
1740 scrollButtons:{enable:true},
1741 setHeight: contentHeight,
1742 theme:"3d",
1743 scrollbarPosition:"outside"
1744 });
1745 }
1746
1747 function checkForExpandCollapse() {
1748 // add_menu_to_list();
1749 currentStatus = true;
1750 if((jQuery("#custom-menu .has-sub-tree").length == jQuery("#custom-menu .has-sub-tree.active").length) && jQuery("#custom-menu .has-sub-tree").length) {
1751 jQuery("#expand-collapse-list").addClass("all-open");
1752 jQuery("#expand-collapse-list").attr("data-tooltip","Collapse");
1753 } else {
1754 jQuery("#expand-collapse-list").removeClass("all-open");
1755 jQuery("#expand-collapse-list").attr("data-tooltip","Expand");
1756 }
1757 }
1758
1759 function check_for_sub_menu() {
1760 jQuery("#custom-menu li.route").removeClass("has-sub-tree");
1761 jQuery("#custom-menu li.route").each(function(){
1762 if(jQuery(this).find("ul.ui-sortable li").length) {
1763 jQuery(this).addClass("has-sub-tree");
1764 if(jQuery(this).find("ul.ui-sortable:first").is(":hidden")) {
1765 jQuery(this).removeClass("is-hidden");
1766 } else {
1767 jQuery(this).addClass("is-hidden")
1768 }
1769 } else {
1770 jQuery(this).removeClass("active");
1771 }
1772 });
1773 }
1774
1775 //recursively calculate the Width all titles
1776 function calcWidth(obj){
1777 var titles =
1778 jQuery(obj).siblings('.space').children('.route').children('.title');
1779 jQuery(titles).each(function(index, element){
1780 var pTitleWidth = parseInt(jQuery(obj).css('width'));
1781 var leftOffset = parseInt(jQuery(obj).siblings('.space').css('margin-left'));
1782 var newWidth = pTitleWidth - leftOffset;
1783 if (jQuery(obj).attr('id') == 'title_0'){
1784 newWidth = newWidth - 10;
1785 }
1786 jQuery(element).css({
1787 'width': newWidth
1788 });
1789 calcWidth(element);
1790 });
1791
1792 }
1793
1794
1795 jQuery(window).load(function() {
1796 if(jQuery("#posts-filter").length) {
1797 jQuery("#posts-filter").wrap("<div id='folder-posts-filter'></div>");
1798 }
1799 });
1800 /* code for sticky menu for media screen*/
1801
1802 if(wcp_settings.post_type == "attachment") {
1803
1804 jQuery(window).load(function() {
1805 jQuery("button.button.media-button.select-mode-toggle-button").after("<button class='button organize-button'>Bulk Organize</button>");
1806 jQuery(".media-toolbar-secondary").append("<span class='media-info-message'>Drag and drop your media files to the relevant folders</span>");
1807 jQuery(".delete-selected-button").before("<button type='button' class='button button-primary select-all-item-btn'>Select All</button>");
1808 jQuery(".media-toolbar-secondary").after("<div class='custom-media-select'>Move Selected files to: <select class='media-select-folder'></select></div>");
1809 jQuery(".media-toolbar").append("<div style='clear:both;'></div><div class='media-folder-loader'><span>Uploading files</span> <span id='current_upload_files'></span>/<span id='total_upload_files'></span><div class='folder-progress'><div class='folder-meter orange-bg'><span></span></div></div></div>");
1810 if(jQuery(".wcp-custom-form").length) {
1811 if (wp.Uploader !== undefined) {
1812 wp.Uploader.queue.on('reset', function () {
1813 resetMediaData(1);
1814 });
1815 }
1816 jQuery(document).ajaxComplete(function(ev, jqXHR, settings) {
1817 actionName = settings.data;
1818 if (typeof actionName != "undefined") {
1819 if (actionName.length && actionName.indexOf("action=delete-post&id=") == 0) {
1820 resetMediaData(0);
1821 }
1822 }
1823 });
1824 }
1825 setTimeout(function(){
1826 docReferrar = document.referrer;
1827 if(docReferrar.indexOf("wp-admin/upload.php") != -1) {
1828 mediaMode = getCookie("media-select-mode");
1829 if (mediaMode == "on") {
1830 jQuery("button.button.media-button.select-mode-toggle-button").trigger("click");
1831 //jQuery(".attachments-browser li.attachment").draggable("enable");
1832
1833 if (jQuery(".media-frame").hasClass("mode-select")) {
1834 jQuery(".media-info-message").addClass("active");
1835 } else {
1836 jQuery(".media-info-message, .custom-media-select").removeClass("active");
1837 }
1838 }
1839 } else {
1840 eraseCookie("media-select-mode");
1841 }
1842 resetMediaData(1);
1843 }, 1000);
1844
1845 jQuery(document).on("click", ".attachments-browser ul.attachments .thumbnail", function(){
1846 if(jQuery(".media-toolbar").hasClass("media-toolbar-mode-select")) {
1847 if(jQuery("ul.attachments li.selected").length == 0) {
1848 jQuery(".custom-media-select").removeClass("active");
1849 } else {
1850 jQuery(".custom-media-select").addClass("active");
1851 }
1852 }
1853 });
1854
1855 jQuery(document).on("change", ".media-select-folder", function(){
1856 if(jQuery(this).val() != "") {
1857 var checkStr = "";
1858 jQuery(".attachments-browser li.attachment.selected").each(function(){
1859 checkStr += jQuery(this).attr("data-id")+",";
1860 });
1861 if(jQuery(this).val() == "-1") {
1862 jQuery.ajax({
1863 url: wcp_settings.ajax_url,
1864 data: "post_id=" + checkStr + "&type=" + wcp_settings.post_type + "&action=wcp_remove_post_folder&folder_id=" + jQuery(this).val() + "&nonce=" + wcp_settings.nonce +"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
1865 method: 'post',
1866 success: function (res) {
1867 resetMediaAndPosts();
1868 ajaxAnimation();
1869 }
1870 });
1871 } else {
1872 nonce = jQuery.trim(jQuery("#wcp_folder_" + jQuery(this).val()).data("nonce"));
1873 jQuery.ajax({
1874 url: wcp_settings.ajax_url,
1875 data: "post_ids=" + checkStr + "&type=" + wcp_settings.post_type + "&action=wcp_change_multiple_post_folder&folder_id=" + jQuery(this).val() + "&nonce=" + nonce + "&status=" + wcp_settings.taxonomy_status + "&taxonomy=" + activeRecordID,
1876 method: 'post',
1877 success: function (res) {
1878 res = jQuery.parseJSON(res);
1879 jQuery("#bulk-move-folder").hide();
1880 if (res.status == "1") {
1881 resetMediaAndPosts();
1882 ajaxAnimation();
1883 } else {
1884 jQuery(".folder-popup-form").hide();
1885 jQuery(".folder-popup-form").removeClass("disabled");
1886 jQuery("#error-folder-popup-message").html(res.message);
1887 jQuery("#error-folder-popup").show()
1888 }
1889 }
1890 });
1891 }
1892 }
1893 });
1894 });
1895
1896 function resetMediaData(loadData) {
1897 jQuery.ajax({
1898 url: wcp_settings.ajax_url,
1899 data: "type=" + wcp_settings.post_type + "&action=wcp_get_default_list&active_id="+activeRecordID,
1900 method: 'post',
1901 success: function (res) {
1902 res = jQuery.parseJSON(res);
1903 // jQuery("#custom-menu > ul#space_0").html(res.data);
1904 jQuery(".header-posts .total-count").text(res.total_items);
1905 jQuery(".un-categorised-items .total-count").text(res.empty_items);
1906 selectedVal = jQuery("#media-attachment-taxonomy-filter").val();
1907 if(selectedVal != "all" && loadData == 1) {
1908 var wp1 = parent.wp;
1909 if(wp1.media != undefined) {
1910 wp1.media.frame.setState('insert');
1911 if (wp1.media.frame.content.get() !== null) {
1912 wp1.media.frame.content.get().collection.props.set({ignore: (+new Date())});
1913 wp1.media.frame.content.get().options.selection.reset();
1914 } else {
1915 wp1.media.frame.library.props.set({ignore: (+new Date())});
1916 }
1917 }
1918 }
1919 if(res.taxonomies.length) {
1920 if(jQuery("#media-attachment-taxonomy-filter").length) {
1921 folders_media_options.terms = res.taxonomies;
1922 var selectedDD = jQuery("#media-attachment-taxonomy-filter");
1923 selectedDD.html("<option value='all'>All Folders</option><option value='unassigned'>(Unassigned)</option>");
1924 jQuery(".media-select-folder").html("<option value=''>Select Folder</option><option value='-1'>(Unassigned)</option>");
1925 for (i = 0; i < res.taxonomies.length; i++) {
1926 selectedDD.append("<option value='" + res.taxonomies[i].term_id + "'>" + res.taxonomies[i].name + " (" + res.taxonomies[i].trash_count + ")</option>");
1927 jQuery(".media-select-folder").append("<option value='" + res.taxonomies[i].term_id + "'>" + res.taxonomies[i].name + " (" + res.taxonomies[i].trash_count + ")</option>");
1928
1929 jQuery("#title_"+res.taxonomies[i].term_id).attr("title", res.taxonomies[i].term_name);
1930 jQuery("#title_"+res.taxonomies[i].term_id+" .title-text").html(res.taxonomies[i].term_name);
1931 }
1932 selectedDD.val(selectedVal);
1933 jQuery(".media-select-folder").val("");
1934 }
1935 if(jQuery("select.folder_for_media").length) {
1936 selectedVal = jQuery("select.folder_for_media").val();
1937 jQuery("select.folder_for_media option:not(:first-child):not(:last-child)").remove();
1938 for (i = 0; i < res.taxonomies.length; i++) {
1939 jQuery("select.folder_for_media option:last-child").before("<option value='" + res.taxonomies[i].term_id + "'>" + res.taxonomies[i].name +"</option>");
1940 }
1941 if(selectedVal != "") {
1942 jQuery(".folder_for_media").val(selectedVal);
1943 }
1944 }
1945 for (i = 0; i < res.taxonomies.length; i++) {
1946 if(!jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").length) {
1947 jQuery("#title_"+res.taxonomies[i].term_id+" .star-icon").before("<span class='total-count'></span>");
1948 }
1949 jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").text(parseInt(res.taxonomies[i].trash_count));
1950
1951 if(!jQuery(".sticky-folders .sticky-folder-"+res.taxonomies[i].term_id+" .folder-count").length) {
1952 jQuery(".sticky-folders .sticky-folder-"+res.taxonomies[i].term_id+" a").append("<span class='folder-count'></span>")
1953 }
1954 jQuery(".sticky-folders .sticky-folder-"+res.taxonomies[i].term_id+" .folder-count").text(parseInt(res.taxonomies[i].trash_count));
1955
1956 jQuery("#title_"+res.taxonomies[i].term_id).attr("title", res.taxonomies[i].term_name);
1957 jQuery("#title_"+res.taxonomies[i].term_id+" .title-text").html(res.taxonomies[i].term_name);
1958 }
1959
1960 jQuery("#custom-menu .total-count").each(function(){
1961 if(parseInt(jQuery(this).text()) == 0) {
1962 jQuery(this).remove();
1963 }
1964 });
1965
1966 jQuery(".sticky-folders .folder-count").each(function(){
1967 if(parseInt(jQuery(this).text()) == 0) {
1968 jQuery(this).remove();
1969 }
1970 });
1971 }
1972 if(activeRecordID != "") {
1973 jQuery("#wcp_folder_"+activeRecordID).addClass("active-item");
1974 }
1975
1976 if(isItFromMedia) {
1977 jQuery("#title_"+fileFolderID).trigger("click");
1978 isItFromMedia = false;
1979 }
1980 }
1981 });
1982 }
1983
1984 function setMediaBoxWidth() {
1985 jQuery(".media-frame-content .media-toolbar").width(jQuery(".media-frame-content").width() - 20);
1986 }
1987
1988 setMediaBoxWidth();
1989
1990 jQuery(window).resize(function(){
1991 setMediaBoxWidth();
1992 });
1993
1994 jQuery(document).ready(function(){
1995
1996 });
1997
1998 jQuery(document).on("click", ".button.organize-button", function(){
1999 if(!jQuery(".media-frame").hasClass("mode-select")) {
2000 setCookie("media-select-mode", "on", 7);
2001 } else {
2002 eraseCookie("media-select-mode");
2003 }
2004 jQuery("button.button.media-button.select-mode-toggle-button").trigger("click");
2005 if(jQuery(".media-frame").hasClass("mode-select")) {
2006 jQuery(".media-info-message").addClass("active");
2007 jQuery(".select-all-item-btn").addClass("active");
2008 } else {
2009 jQuery(".media-info-message, .custom-media-select").removeClass("active");
2010 jQuery(".select-all-item-btn").removeClass("active");
2011 }
2012 });
2013
2014 jQuery(document).on("click", ".select-mode-toggle-button", function(){
2015 setTimeout(function() {
2016 if(!jQuery(".media-frame").hasClass("mode-select")) {
2017 setCookie("media-select-mode", "off", -1);
2018 }
2019 if(jQuery(".media-frame").hasClass("mode-select")) {
2020 jQuery(".media-info-message").addClass("active");
2021 jQuery(".select-all-item-btn").addClass("active");
2022 } else {
2023 jQuery(".media-info-message, .custom-media-select").removeClass("active");
2024 jQuery(".select-all-item-btn").removeClass("active");
2025 }
2026 }, 10);
2027 });
2028
2029 jQuery(document).on("click", ".select-all-item-btn", function(){
2030 jQuery("ul.attachments li:not(.selected)").trigger("click");
2031 });
2032
2033 jQuery(document).on("change", ".folder_for_media", function(){
2034 if(jQuery(this).val() == "add-folder") {
2035 fileFolderID = 0;
2036 isItFromMedia = true;
2037 addFolder();
2038 // jQuery(".add-new-folder").trigger("click");
2039 //jQuery(this).val("-1");
2040 }
2041 });
2042
2043 function setCookie(name,value,days) {
2044 var expires = "";
2045 if (days) {
2046 var date = new Date();
2047 date.setTime(date.getTime() + (days*24*60*60*1000));
2048 expires = "; expires=" + date.toUTCString();
2049 }
2050 document.cookie = name + "=" + (value || "") + expires + "; path=/";
2051 }
2052 function getCookie(name) {
2053 var nameEQ = name + "=";
2054 var ca = document.cookie.split(';');
2055 for(var i=0;i < ca.length;i++) {
2056 var c = ca[i];
2057 while (c.charAt(0)==' ') c = c.substring(1,c.length);
2058 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
2059 }
2060 return null;
2061 }
2062
2063
2064 function eraseCookie(name) {
2065 document.cookie = name+'=; Max-Age=-99999999;';
2066 }
2067
2068 function setStickyHeaderForMedia() {
2069 if(!jQuery(".media-position").length) {
2070 jQuery(".media-frame-content .media-toolbar").before("<div class='media-position'></div>")
2071 }
2072
2073 if(jQuery(".media-position").length) {
2074 setMediaBoxWidth();
2075
2076 thisPosition = jQuery(".media-position").offset().top - jQuery(window).scrollTop();
2077 if(thisPosition <= 32) {
2078 jQuery(".media-frame-content .media-toolbar").addClass("sticky-media");
2079 jQuery(".media-position").height(jQuery(".media-frame-content .media-toolbar").outerHeight());
2080 } else {
2081 jQuery(".media-frame-content .media-toolbar").removeClass("sticky-media");
2082 jQuery(".media-position").height(1);
2083 }
2084 }
2085 }
2086
2087 jQuery(window).scroll(function(){
2088 setStickyHeaderForMedia()
2089 });
2090 } else {
2091 function setStickyHeaderForMedia() {}
2092 }