PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 2.3.4
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v2.3.4
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 spectrum.min.js 6 years ago
custom.js
1680 lines
1 var defaultFolderHtml;
2 var folderID = 0;
3 var fileAddUpdateStatus = "add";
4 var fileFolderID = 0;
5 var folderNameDynamic = "";
6 var totalFolders = -1;
7 var isKeyActive = 0;
8 var folderLimitation = 10;
9 var nonce = "";
10 var folderId = 0;
11 var fID = 0;
12 var folderCurrentURL = wcp_settings.page_url;
13 var activeRecordID = "";
14 var folderIDs = "";
15 var isMultipleRemove = false;
16 var isItFromMedia = false;
17
18 var listFolderString = "<li class='grid-view' data-id='__folder_id__' id='folder___folder_id__'>" +
19 "<div class='folder-item is-folder' data-id='__folder_id__'>" +
20 "<a title='__folder_name__' id='folder_view___folder_id__'" +
21 "class='folder-view __append_class__ has-new-folder'" +
22 "data-id='__folder_id__'>" +
23 "<span class='folder item-name'><span id='wcp_folder_text___folder_id__'" +
24 "class='folder-title'>__folder_name__</span></span>" +
25 "</a>" +
26 "</div>" +
27 "</li>";
28
29 jQuery(document).ready(function(){
30 jQuery(document).on("click", ".form-cancel-btn", function(){
31 jQuery(".folder-popup-form").hide();
32 });
33 jQuery(document).on("click", ".folder-popup-form", function (e) {
34 jQuery(".folder-popup-form").hide();
35 });
36 jQuery(document).on("click", ".popup-form-content", function (e) {
37 e.stopPropagation();
38 });
39 jQuery(document).on("submit", "#save-folder-form", function(e){
40 e.stopPropagation();
41 e.preventDefault();
42
43 folderNameDynamic = jQuery("#add-update-folder-name").val();
44
45 if(jQuery.trim(folderNameDynamic) == "") {
46 jQuery(".folder-form-errors").addClass("active");
47 jQuery("#add-update-folder-name").focus();
48 } else {
49 jQuery("#save-folder-data").html('<span class="dashicons dashicons-update"></span>');
50 jQuery("#add-update-folder").addClass("disabled");
51
52 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;
53 if(isItFromMedia) {
54 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;
55 }
56
57 jQuery.ajax({
58 url: wcp_settings.ajax_url,
59 data: ajax_url,
60 method: 'post',
61 success: function (res) {
62 result = jQuery.parseJSON(res);
63 if (result.status == '1') {
64 jQuery("#space_" + result.parent_id).append(result.term_data);
65 jQuery("#wcp_folder_" + result.parent_id).addClass("active has-sub-tree");
66 isKeyActive = parseInt(result.is_key_active);
67 totalFolders = parseInt(result.folders);
68 jQuery("#current-folder").text(totalFolders);
69 if (totalFolders > folderLimitation) {
70 folderLimitation = totalFolders;
71 }
72 jQuery("#total-folder").text(folderLimitation);
73 checkForExpandCollapse();
74 add_menu_to_list();
75 jQuery(".folder-popup-form").hide();
76 jQuery(".folder-popup-form").removeClass("disabled");
77 ajaxAnimation();
78 if(jQuery("#media-attachment-taxonomy-filter").length) {
79 fileFolderID = result.term_id;
80 resetMediaData(0);
81 }
82 } else {
83 jQuery(".folder-popup-form").hide();
84 jQuery(".folder-popup-form").removeClass("disabled");
85 jQuery("#error-folder-popup-message").html(result.message);
86 jQuery("#error-folder-popup").show();
87 }
88 }
89 });
90 }
91 return false;
92 });
93 jQuery(document).on("submit", "#update-folder-form", function(e){
94 e.stopPropagation();
95 e.preventDefault();
96
97 folderNameDynamic = jQuery("#update-folder-item-name").val();
98
99 if(jQuery.trim(folderNameDynamic) == "") {
100 jQuery(".folder-form-errors").addClass("active");
101 jQuery("#update-folder-item-name").focus();
102 } else {
103 jQuery("#update-folder-data").html('<span class="dashicons dashicons-update"></span>');
104 jQuery("#update-folder-item").addClass("disabled");
105
106 nonce = jQuery.trim(jQuery("#wcp_folder_" + fileFolderID).data("rename"));
107 parentID = jQuery("#wcp_folder_" + fileFolderID).closest("li.route").data("folder-id");
108 if (parentID == undefined) {
109 parentID = 0;
110 }
111 jQuery.ajax({
112 url: wcp_settings.ajax_url,
113 data: "parent_id=" + parentID + "&nonce=" + nonce + "&type=" + wcp_settings.post_type + "&action=wcp_update_folder&term_id=" + fileFolderID + "&name=" + folderNameDynamic,
114 method: 'post',
115 success: function (res) {
116 result = jQuery.parseJSON(res);
117 if (result.status == '1') {
118 jQuery("#wcp_folder_" + result.id + " > h3 > .title-text").text(result.term_title);
119 jQuery("#wcp_folder_" + result.id + " > h3").attr("title", result.term_title);
120 add_menu_to_list();
121 jQuery(".folder-popup-form").hide();
122 jQuery(".folder-popup-form").removeClass("disabled");
123 ajaxAnimation();
124 if(jQuery("#media-attachment-taxonomy-filter").length) {
125 resetMediaData(0)
126 }
127 } else {
128 jQuery(".folder-popup-form").hide();
129 jQuery(".folder-popup-form").removeClass("disabled");
130 jQuery("#error-folder-popup-message").html(result.message);
131 jQuery("#error-folder-popup").show();
132 }
133 }
134 });
135 }
136 return false;
137 });
138 jQuery(document).on("click", "#remove-folder-item", function (e){
139 e.stopPropagation();
140 jQuery(".folder-popup-form").addClass("disabled");
141 jQuery("#remove-folder-item").html('<span class="dashicons dashicons-update"></span>');
142 nonce = jQuery.trim(jQuery("#wcp_folder_"+fileFolderID).data("delete"));
143 if(isMultipleRemove) {
144 removeMultipleFolderItems();
145 } else {
146 jQuery.ajax({
147 url: wcp_settings.ajax_url,
148 data: "type=" + wcp_settings.post_type + "&action=wcp_remove_folder&term_id=" + fileFolderID + "&nonce=" + nonce,
149 method: 'post',
150 success: function (res) {
151 res = jQuery.parseJSON(res);
152 if (res.status == '1') {
153 jQuery("#wcp_folder_" + fileFolderID).remove();
154 jQuery("#folder_" + fileFolderID).remove();
155 isKeyActive = parseInt(res.is_key_active);
156 totalFolders = parseInt(res.folders);
157 jQuery("#current-folder").text(totalFolders);
158 if (totalFolders > folderLimitation) {
159 folderLimitation = totalFolders;
160 }
161 jQuery("#total-folder").text(folderLimitation);
162 add_menu_to_list();
163 ajaxAnimation();
164 jQuery(".folder-popup-form").hide();
165 jQuery(".folder-popup-form").removeClass("disabled");
166 resetMediaAndPosts();
167
168 if (activeRecordID == fileFolderID) {
169 jQuery(".header-posts").trigger("click");
170 }
171 } else {
172 jQuery(".folder-popup-form").hide();
173 jQuery(".folder-popup-form").removeClass("disabled");
174 jQuery("#error-folder-popup-message").html(res.message);
175 jQuery("#error-folder-popup").show();
176 }
177 }
178 });
179 }
180 });
181 });
182
183 function removeMultipleFolderItems() {
184 if(jQuery("#folder-hide-show-checkbox").is(":checked")) {
185 if(jQuery("#custom-menu input.checkbox:checked").length > 0) {
186 var folderIDs = "";
187 var activeItemDeleted = false;
188 jQuery("#custom-menu input.checkbox:checked").each(function(){
189 folderIDs += jQuery(this).val()+",";
190 if(jQuery(this).closest("li.route").hasClass("active-item")) {
191 activeItemDeleted = true;
192 }
193 });
194 jQuery(".form-loader-count").css("width", "100%");
195 jQuery.ajax({
196 url: wcp_settings.ajax_url,
197 data: "type=" + wcp_settings.post_type + "&action=wcp_remove_muliple_folder&term_id=" + folderIDs,
198 method: 'post',
199 success: function (res) {
200 res = jQuery.parseJSON(res);
201 jQuery(".form-loader-count").css("width", "0px");
202 if (res.status == '1') {
203 isKeyActive = parseInt(res.is_key_active);
204 totalFolders = parseInt(res.folders);
205 jQuery("#current-folder").text(totalFolders);
206 if (totalFolders > folderLimitation) {
207 folderLimitation = totalFolders;
208 }
209
210 jQuery("#custom-menu input.checkbox:checked").each(function(){
211 jQuery("#wcp_folder_"+jQuery(this).val()).closest("li.route").remove();
212 jQuery("#space"+jQuery(this).val()).remove();
213 });
214
215 jQuery("#total-folder").text(folderLimitation);
216 // add_menu_to_list();
217 ajaxAnimation();
218 jQuery(".folder-popup-form").hide();
219 jQuery(".folder-popup-form").removeClass("disabled");
220 resetMediaAndPosts();
221
222 ajaxAnimation();
223
224 check_for_sub_menu();
225
226 if(!jQuery("#wcp_folder_"+activeRecordID).length) {
227 jQuery(".header-posts a").trigger("click");
228 activeRecordID = 0;
229 }
230 }
231 jQuery("#folder-hide-show-checkbox").attr("checked", false);
232 jQuery("#custom-menu input.checkbox").attr("checked", false);
233 jQuery("#custom-menu").removeClass("show-folder-checkbox");
234 }
235 });
236 } else {
237
238 }
239 }
240 }
241
242 function triggerInlineUpdate() {
243 add_active_item_to_list();
244
245 jQuery(".form-loader-count").css("width", "0");
246 if(typeof inlineEditPost == "object") {
247 jQuery("#the-list").on("click",".editinline",function(){jQuery(this).attr("aria-expanded","true"),inlineEditPost.edit(this)});
248 jQuery(document).on("click", ".inline-edit-save .save", function(){
249 var thisID = jQuery(this).closest("tr").attr("id");
250 thisID = thisID.replace("edit-","");
251 inlineEditPost.save(thisID);
252 });
253 jQuery(document).on("click", ".inline-edit-save .cancel", function(){
254 var thisID = jQuery(this).closest("tr").attr("id");
255 thisID = thisID.replace("edit-","");
256 inlineEditPost.revert(thisID);
257 });
258 }
259 }
260
261 function ajaxAnimation() {
262 jQuery(".folder-loader-ajax").addClass("active");
263 jQuery(".folder-loader-ajax img").removeClass("active");
264 jQuery(".folder-loader-ajax svg#successAnimation").addClass("active").addClass("animated");
265 setTimeout(function(){
266 jQuery(".folder-loader-ajax").removeClass("active");
267 jQuery(".folder-loader-ajax img").addClass("active");
268 jQuery(".folder-loader-ajax svg#successAnimation").removeClass("active").removeClass("animated");
269 }, 2000);
270 }
271
272 function addFolder() {
273 if(isKeyActive == 0 && totalFolders >= folderLimitation) {
274 jQuery("#folder-limitation-message").html("You've reached the "+totalFolders+" folder limitation!");
275 jQuery("#no-more-folder-credit").show();
276 return false;
277 }
278 folderOrder = jQuery("#space_"+fileFolderID+" > li").length+1;
279 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=";
280
281 jQuery("#add-update-folder-title").text("Add Folder");
282 jQuery("#save-folder-data").text("Submit");
283 jQuery(".folder-form-errors").removeClass("active");
284 jQuery("#add-update-folder-name").val("");
285 jQuery("#add-update-folder").removeClass("disabled");
286 jQuery("#add-update-folder").show();
287 jQuery("#add-update-folder-name").focus();
288 }
289
290 function updateFolder() {
291 folderName = jQuery.trim(jQuery("#wcp_folder_"+fileFolderID+" > h3 > .title-text").text());
292 parentID = jQuery("#wcp_folder_"+fileFolderID).closest("li.route").data("folder-id");
293 if(parentID == undefined) {
294 parentID = 0;
295 }
296
297 jQuery("#update-folder-data").text("Submit");
298 jQuery(".folder-form-errors").removeClass("active");
299 jQuery("#update-folder-item-name").val(folderName);
300 jQuery("#update-folder-item").removeClass("disabled");
301 jQuery("#update-folder-item").show();
302 jQuery("#update-folder-item-name").focus();
303 }
304
305 function removeFolderFromID(popup_type) {
306 var removeMessage = "Are you sure you want to delete the selected folder?";
307 var removeNotice = "Items in the folder will not be deleted.";
308 isMultipleRemove = false;
309 if(popup_type == 1) {
310 if(jQuery("#folder-hide-show-checkbox").is(":checked")) {
311 isMultipleRemove = true;
312 if(jQuery("#custom-menu input.checkbox:checked").length == 0) {
313 jQuery(".folder-popup-form").hide();
314 jQuery(".folder-popup-form").removeClass("disabled");
315 jQuery("#error-folder-popup-message").html("Please select at least one folder to delete");
316 jQuery("#error-folder-popup").show();
317 return;
318 } else {
319 if(jQuery("#custom-menu input.checkbox:checked").length > 1) {
320 removeMessage = "Are you sure you want to delete the selected folders?";
321 removeNotice = "Items in the selected folders will not be deleted.";
322 }
323
324 // var totalItems = 0;
325 // jQuery("#custom-menu input.checkbox:checked").each(function(){
326 // if(jQuery(this).closest("h3.title").find(".total-count").length) {
327 // totalItems += parseInt(jQuery(this).closest("h3.title").find(".total-count").text());
328 // }
329 // });
330 }
331 }
332 }
333 jQuery(".folder-popup-form").hide();
334 jQuery(".folder-popup-form").removeClass("disabled");
335 jQuery("#remove-folder-item").text("Yes, Delete it!");
336 jQuery("#remove-folder-message").text(removeMessage);
337 jQuery("#remove-folder-notice").text(removeNotice);
338 jQuery("#confirm-remove-folder").show();
339 jQuery("#remove-folder-item").focus();
340 }
341
342 function resetMediaAndPosts() {
343 if(folderIDs != "" && (jQuery("#custom-menu li.active-item").length > 0 || activeRecordID == "-1")) {
344 if(jQuery("#media-attachment-taxonomy-filter").length) {
345 folderIDs = folderIDs.split(",");
346 for (var i = 0; i < folderIDs.length; i++) {
347 if(folderIDs[i] != "") {
348 jQuery(".attachments-browser li[data-id='"+folderIDs[i]+"']").remove();
349 }
350 }
351 }
352 folderIDs = "";
353 }
354 if(jQuery("#media-attachment-taxonomy-filter").length) {
355 resetMediaData(0);
356 } else {
357 jQuery.ajax({
358 url: wcp_settings.ajax_url,
359 data: "type=" + wcp_settings.post_type + "&action=get_folders_default_list",
360 method: 'post',
361 success: function (res) {
362 res = jQuery.parseJSON(res);
363 // jQuery("#custom-menu > ul#space_0").html(res.data);
364 jQuery(".header-posts .total-count").text(res.total_items);
365 jQuery(".un-categorised-items .total-count").text(res.empty_items);
366
367 for (i = 0; i < res.taxonomies.length; i++) {
368 if(!jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").length) {
369 jQuery("#title_"+res.taxonomies[i].term_id+" .star-icon").before("<span class='total-count'></span>");
370 }
371 jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").text(parseInt(res.taxonomies[i].count));
372 }
373
374 jQuery("#custom-menu .total-count").each(function(){
375 if(parseInt(jQuery(this).text()) == 0) {
376 jQuery(this).remove();
377 }
378 });
379 }
380 });
381 jQuery(".folder-loader-ajax").addClass("active");
382 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", false, function (res) {
383 if (!jQuery(".tree-structure").length) {
384 //jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
385 }
386 add_active_item_to_list();
387 add_menu_to_list();
388 // triggerInlineUpdate();
389 });
390 }
391 }
392
393 function add_active_item_to_list() {
394 folderId = 0;
395 if(jQuery(".active-item").length) {
396 folderId = jQuery(".active-item").data("folder-id");
397 if(folderId == undefined) {
398 folderId = 0;
399 }
400 }
401 console.log("folderId: "+folderId);
402 jQuery(".tree-structure ul").html("");
403 jQuery("#space_"+folderId).children().each(function(){
404 fID = jQuery(this).data("folder-id");
405 fName = jQuery(this).find("h3.title:first .title-text").text()
406 liHtml = listFolderString.replace(/__folder_id__/g,fID);
407 liHtml = liHtml.replace(/__folder_name__/g,fName);
408 selectedClass = jQuery(this).hasClass("is-high")?"is-high":"";
409 liHtml = liHtml.replace(/__append_class__/g,selectedClass);
410 jQuery(".tree-structure ul").append(liHtml);
411 });
412
413 apply_animation_height();
414 }
415
416 document.onkeydown = function(evt) {
417 evt = evt || window.event;
418 var isEscape = false;
419 if ("key" in evt) {
420 isEscape = (evt.key === "Escape" || evt.key === "Esc");
421 } else {
422 isEscape = (evt.keyCode === 27);
423 }
424 if (isEscape) {
425 jQuery(".folder-popup-form").hide();
426 }
427 };
428
429 jQuery(window).load(function(){
430 add_active_item_to_list();
431 });
432
433 function add_menu_to_list() {
434
435 add_active_item_to_list();
436
437 //apply_animation_height();
438 }
439
440 function apply_animation_height() {
441 if(jQuery(".tree-structure-content .tree-structure li").length == 0) {
442 jQuery(".tree-structure-content").hide();
443 } else {
444 jQuery(".tree-structure-content").show();
445 oldHeight = jQuery(".tree-structure-content .tree-structure").height();
446 jQuery(".tree-structure-content .tree-structure").height("auto");
447 if(jQuery(".tree-structure-content .tree-structure").height() > 56) {
448 jQuery(".folders-toggle-button").show();
449 } else {
450 jQuery(".folders-toggle-button").hide();
451 }
452 newHeight = jQuery(".tree-structure-content .tree-structure").height();
453 jQuery(".tree-structure-content .tree-structure").attr("data-height", newHeight);
454
455 if(jQuery(".tree-structure-content").hasClass("active")) {
456 jQuery(".tree-structure-content .tree-structure").height(newHeight);
457 jQuery(".tree-structure-content .tree-structure").attr("data-height", newHeight);
458 } else {
459 jQuery(".tree-structure-content .tree-structure").height(oldHeight);
460 }
461 }
462 }
463
464 jQuery(document).ready(function(){
465
466 wcp_settings.folder_width = parseInt(wcp_settings.folder_width);
467
468 apply_animation_height();
469
470 jQuery(document).on("click", ".folders-toggle-button", function(){
471
472 dbStatus = 'show';
473 if(jQuery(".tree-structure-content").hasClass("active")) {
474 jQuery(".tree-structure-content .tree-structure").animate({
475 height: '55px'
476 }, 100, function(){
477 jQuery(".tree-structure-content").removeClass("active");
478 });
479 dbStatus = 'hide';
480 } else {
481 newHeight = parseInt(jQuery(".tree-structure-content .tree-structure").attr("data-height"));
482 jQuery(".tree-structure-content .tree-structure").animate({
483 height: newHeight
484 }, 100, function(){
485 jQuery(".tree-structure-content").addClass("active");
486 });
487 }
488
489 jQuery.ajax({
490 url: wcp_settings.ajax_url,
491 data: "type=" + wcp_settings.post_type + "&action=wcp_hide_folders&status=" + dbStatus +"&nonce="+wcp_settings.nonce,
492 method: 'post',
493 success: function (res) {
494 setStickyHeaderForMedia();
495 }
496 });
497 });
498
499 if(wcp_settings.can_manage_folder == "0") {
500 jQuery(".wcp-custom-form a:not(.pink)").addClass("button-disabled");
501 }
502
503 isKeyActive = parseInt(wcp_settings.is_key_active);
504 totalFolders = parseInt(wcp_settings.folders);
505
506 if(wcp_settings.post_type == "attachment") {
507 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>');
508
509 add_menu_to_list();
510
511 apply_animation_height();
512 }
513
514 calcWidth(jQuery('#title_0'));
515
516 jQuery("#cancel-button").click(function(){
517 jQuery(".wcp-form-data").hide();
518 });
519
520
521 jQuery(document).on("click", "h3.title", function(e) {
522 e.stopPropagation();
523 jQuery(".un-categorised-items").removeClass("active-item");
524 jQuery(".header-posts a").removeClass("active-item");
525 activeRecordID = jQuery(this).closest("li.route").data("folder-id");
526 if(!jQuery("#media-attachment-taxonomy-filter").length) {
527 folderCurrentURL = wcp_settings.page_url + jQuery(this).closest("li.route").data("slug");
528 jQuery(".form-loader-count").css("width", "100%");
529 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
530
531 if (!jQuery(".tree-structure").length) {
532 //jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
533 }
534
535 //add_menu_to_list();
536 triggerInlineUpdate();
537 });
538 } else {
539 var thisIndex = jQuery(this).closest("li.route").data("folder-id");
540 jQuery("#media-attachment-taxonomy-filter").val(thisIndex);
541 jQuery("#media-attachment-taxonomy-filter").trigger("change");
542 if(jQuery(this).hasClass("is-new-item")) {
543 thisSlug = jQuery(this).closest("li.route").data("slug");
544 }
545 //add_menu_to_list();
546 }
547 add_active_item_to_list();
548 });
549
550
551 jQuery(".tree-structure a").livequery(function(){
552 jQuery(this).click(function(){
553 fID = jQuery(this).data("id");
554 jQuery("#title_"+fID).trigger("click");
555 });
556 });
557
558 jQuery(".wcp-parent > span").click(function(e){
559 activeRecordID = "";
560 jQuery(".wcp-container .route").removeClass("active-item");
561 if(!jQuery("#media-attachment-taxonomy-filter").length) {
562 folderCurrentURL = wcp_settings.page_url;
563 jQuery(".form-loader-count").css("width", "100%");
564 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
565
566 if (!jQuery(".tree-structure").length) {
567 //jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
568 }
569
570 triggerInlineUpdate();
571 });
572 } else {
573 jQuery("#media-attachment-taxonomy-filter").val("all");
574 jQuery("#media-attachment-taxonomy-filter").trigger("change");
575 }
576 add_active_item_to_list();
577 });
578 jQuery("h3.title").livequery(function(){
579 jQuery(this).droppable({
580 accept: ".wcp-move-file, .wcp-move-multiple, .attachments-browser li.attachment",
581 hoverClass: 'wcp-drop-hover',
582 classes: {
583 "ui-droppable-active": "ui-state-highlight"
584 },
585 drop: function( event, ui ) {
586 folderID = jQuery(this).closest("li.route").data('folder-id');
587 if ( ui.draggable.hasClass( 'wcp-move-multiple' ) ) {
588 if(jQuery(".wp-list-table input:checked").length) {
589 chkStr = "";
590 jQuery(".wp-list-table input:checked").each(function(){
591 chkStr += jQuery(this).val()+",";
592 });
593 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
594 jQuery.ajax({
595 url: wcp_settings.ajax_url,
596 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,
597 method: 'post',
598 success: function (res) {
599 res = jQuery.parseJSON(res);
600 if(res.status == "1") {
601 resetMediaAndPosts();
602 ajaxAnimation();
603 } else {
604 jQuery(".folder-popup-form").hide();
605 jQuery(".folder-popup-form").removeClass("disabled");
606 jQuery("#error-folder-popup-message").html(res.message);
607 jQuery("#error-folder-popup").show()
608 }
609 }
610 });
611 }
612 } else if( ui.draggable.hasClass( 'wcp-move-file' ) ){
613 postID = ui.draggable[0].attributes['data-id'].nodeValue;
614 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
615 jQuery.ajax({
616 url: wcp_settings.ajax_url,
617 data: "post_id=" + postID + "&type=" + wcp_settings.post_type + "&action=wcp_change_post_folder&folder_id=" + folderID+"&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
618 method: 'post',
619 success: function (res) {
620 res = jQuery.parseJSON(res);
621 if(res.status == "1") {
622 // window.location.reload();
623 resetMediaAndPosts();
624 ajaxAnimation();
625 } else {
626 jQuery(".folder-popup-form").hide();
627 jQuery(".folder-popup-form").removeClass("disabled");
628 jQuery("#error-folder-popup-message").html(res.message);
629 jQuery("#error-folder-popup").show()
630 }
631 }
632 });
633 } else if (ui.draggable.hasClass('attachment')) {
634 chkStr = ui.draggable[0].attributes['data-id'].nodeValue;
635 nonce = jQuery.trim(jQuery("#wcp_folder_" + folderID).data("nonce"));
636 if (jQuery(".attachments-browser li.attachment.selected").length > 1) {
637 chkStr = "";
638 jQuery(".attachments-browser li.attachment.selected").each(function () {
639 chkStr += jQuery(this).data("id") + ",";
640 });
641 }
642 folderIDs = chkStr;
643 jQuery.ajax({
644 url: wcp_settings.ajax_url,
645 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,
646 method: 'post',
647 success: function (res) {
648 // window.location.reload();
649 resetMediaAndPosts();
650 ajaxAnimation();
651 }
652 });
653 }
654 }
655 });
656 });
657
658 jQuery(".attachments-browser li.attachment").livequery(function () {
659 jQuery(this).draggable({
660 revert: "invalid",
661 containment: "document",
662 helper: function (event, ui) {
663 jQuery(".selected-items").remove();
664 selectedItems = jQuery(".attachments-browser li.attachment.selected").length;
665 selectedItems = (selectedItems == 0 || selectedItems == 1) ? "1 Item" : selectedItems + " Items";
666 return jQuery("<div class='selected-items'><span class='total-post-count'>" + selectedItems + " Selected</span></div>");
667 },
668 start: function( event, ui){
669 jQuery("body").addClass("no-hover-css");
670 },
671 cursor: "move",
672 cursorAt: {
673 left: 0,
674 top: 0
675 },
676 stop: function( event, ui ) {
677 jQuery(".selected-items").remove();
678 jQuery("body").removeClass("no-hover-css");
679 }
680 });
681 });
682
683 jQuery(".media-button").livequery(function () {
684 jQuery(this).click(function () {
685 if (jQuery(".delete-selected-button").hasClass("hidden")) {
686 //jQuery(".attachments-browser li.attachment").draggable("disable");
687 } else {
688 // jQuery(".attachments-browser li.attachment").draggable("enable");
689 }
690 });
691 });
692
693 jQuery(".header-posts").click(function(){
694 activeRecordID = "";
695 jQuery(".wcp-container .route").removeClass("active-item");
696 jQuery(".un-categorised-items").removeClass("active-item");
697 jQuery(".header-posts a").addClass("active-item");
698 if(!jQuery("#media-attachment-taxonomy-filter").length) {
699 folderCurrentURL = wcp_settings.page_url;
700 jQuery(".form-loader-count").css("width", "100%");
701 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
702
703 if (!jQuery(".tree-structure").length) {
704 //jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
705 }
706 add_active_item_to_list();
707 triggerInlineUpdate();
708 });
709 } else {
710 activeRecordID = "";
711 jQuery("#media-attachment-taxonomy-filter").val("all");
712 jQuery("#media-attachment-taxonomy-filter").trigger("change");
713 add_active_item_to_list();
714 }
715 });
716
717 jQuery(".un-categorised-items").click(function(){
718 activeRecordID = "-1";
719 jQuery(".wcp-container .route").removeClass("active-item");
720 jQuery(".header-posts a").removeClass("active-item");
721 jQuery(".un-categorised-items").addClass("active-item");
722 if(!jQuery("#media-attachment-taxonomy-filter").length) {
723 folderCurrentURL = wcp_settings.page_url+"-1";
724 jQuery(".form-loader-count").css("width", "100%");
725 jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
726
727 if (!jQuery(".tree-structure").length) {
728 //jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
729 }
730 add_active_item_to_list();
731 triggerInlineUpdate();
732 });
733 } else {
734 jQuery("#media-attachment-taxonomy-filter").val("unassigned");
735 jQuery("#media-attachment-taxonomy-filter").trigger("change");
736 add_active_item_to_list();
737 }
738 });
739
740 jQuery(".un-categorised-items").livequery(function () {
741 jQuery(this).droppable({
742 accept: ".wcp-move-file, .wcp-move-multiple, .attachments-browser li.attachment",
743 hoverClass: 'wcp-hover-list',
744 classes: {
745 "ui-droppable-active": "ui-state-highlight"
746 },
747 drop: function (event, ui) {
748 folderID = -1;
749 nonce = wcp_settings.nonce;
750 if (ui.draggable.hasClass('wcp-move-multiple')) {
751 if (jQuery(".wp-list-table input:checked").length) {
752 chkStr = "";
753 jQuery(".wp-list-table input:checked").each(function () {
754 chkStr += jQuery(this).val() + ",";
755 });
756 jQuery.ajax({
757 url: wcp_settings.ajax_url,
758 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,
759 method: 'post',
760 success: function (res) {
761 //window.location.reload();
762 resetMediaAndPosts();
763 ajaxAnimation();
764 }
765 });
766 }
767 } else if (ui.draggable.hasClass('wcp-move-file')) {
768 postID = ui.draggable[0].attributes['data-id'].nodeValue;
769 jQuery.ajax({
770 url: wcp_settings.ajax_url,
771 data: "post_id=" + postID + "&type=" + wcp_settings.post_type + "&action=wcp_remove_post_folder&folder_id=" + folderID + "&nonce=" + nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
772 method: 'post',
773 success: function (res) {
774 //window.location.reload();
775 resetMediaAndPosts();
776 ajaxAnimation();
777 }
778 });
779 } else if (ui.draggable.hasClass('attachment')) {
780 chkStr = ui.draggable[0].attributes['data-id'].nodeValue;
781 if (jQuery(".attachments-browser li.attachment.selected").length > 1) {
782 chkStr = "";
783 jQuery(".attachments-browser li.attachment.selected").each(function () {
784 chkStr += jQuery(this).data("id") + ",";
785 });
786 }
787 folderIDs = chkStr;
788 jQuery.ajax({
789 url: wcp_settings.ajax_url,
790 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,
791 method: 'post',
792 success: function (res) {
793 // window.location.reload();
794 resetMediaAndPosts();
795 ajaxAnimation();
796 }
797 });
798 }
799 }
800 });
801 });
802
803
804 jQuery(".wcp-hide-show-buttons .toggle-buttons").click(function(){
805 var folderStatus = "show";
806 if(jQuery(this).hasClass("hide-folders")) {
807 folderStatus = "hide";
808 }
809 jQuery(".wcp-hide-show-buttons .toggle-buttons").toggleClass("active");
810 nonce = wcp_settings.nonce;
811 if(folderStatus == "show") {
812 jQuery("#wcp-content").addClass("no-transition");
813 jQuery("#wcp-content").removeClass("hide-folders-area");
814 if(wcp_settings.isRTL == "1") {
815 jQuery("#wpcontent").css("padding-right", (wcp_settings.folder_width + 20) + "px");
816 jQuery("#wpcontent").css("padding-left", "0px");
817 } else {
818 jQuery("#wpcontent").css("padding-left", (wcp_settings.folder_width + 20) + "px");
819 }
820 setTimeout(function(){
821 jQuery("#wcp-content").removeClass("no-transition");
822 }, 250);
823 } else {
824 jQuery("#wcp-content").addClass("hide-folders-area");
825 if(wcp_settings.isRTL == "1") {
826 jQuery("#wpcontent").css("padding-right", "20px");
827 jQuery("#wpcontent").css("padding-left", "0px");
828 } else {
829 jQuery("#wpcontent").css("padding-left", "20px");
830 }
831 }
832
833 jQuery.ajax({
834 url: wcp_settings.ajax_url,
835 data: "type=" + wcp_settings.post_type + "&action=wcp_change_folder_display_status&status=" + folderStatus +"&nonce="+nonce,
836 method: 'post',
837 success: function (res) {
838 setStickyHeaderForMedia();
839 }
840 });
841 });
842
843 jQuery(".tree-structure .folder-item").livequery(function(){
844 jQuery(this).droppable({
845 accept: ".wcp-move-file, .wcp-move-multiple, .attachments-browser li.attachment",
846 hoverClass: 'wcp-drop-hover-list',
847 classes: {
848 "ui-droppable-active": "ui-state-highlight"
849 },
850 drop: function( event, ui ) {
851 jQuery("body").removeClass("no-hover-css");
852 folderID = jQuery(this).data('id');
853 if ( ui.draggable.hasClass( 'wcp-move-multiple' ) ) {
854 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
855 if(jQuery(".wp-list-table input:checked").length) {
856 chkStr = "";
857 jQuery(".wp-list-table input:checked").each(function(){
858 chkStr += jQuery(this).val()+",";
859 });
860 jQuery.ajax({
861 url: wcp_settings.ajax_url,
862 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,
863 method: 'post',
864 success: function (res) {
865 // window.location.reload();
866 resetMediaAndPosts();
867 ajaxAnimation();
868 }
869 });
870 }
871 } else if ( ui.draggable.hasClass( 'wcp-move-file' ) ) {
872 postID = ui.draggable[0].attributes['data-id'].nodeValue;
873 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
874 jQuery.ajax({
875 url: wcp_settings.ajax_url,
876 data: "post_id=" + postID + "&type=" + wcp_settings.post_type + "&action=wcp_change_post_folder&folder_id=" + folderID + "&nonce="+nonce+"&status="+wcp_settings.taxonomy_status+"&taxonomy="+activeRecordID,
877 method: 'post',
878 success: function (res) {
879 // window.location.reload();
880 resetMediaAndPosts();
881 ajaxAnimation();
882 }
883 });
884 } else if( ui.draggable.hasClass( 'attachment' ) ){
885 chkStr = ui.draggable[0].attributes['data-id'].nodeValue;
886 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
887 if(jQuery(".attachments-browser li.attachment.selected").length > 1) {
888 chkStr = "";
889 jQuery(".attachments-browser li.attachment.selected").each(function(){
890 chkStr += jQuery(this).data("id")+",";
891 });
892 }
893 jQuery.ajax({
894 url: wcp_settings.ajax_url,
895 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,
896 method: 'post',
897 success: function (res) {
898 // window.location.reload();
899 resetMediaAndPosts();
900 ajaxAnimation();
901 }
902 });
903 }
904 }
905 });
906 });
907
908 jQuery("#expand-collapse-list").click(function(e){
909 e.stopPropagation();
910 statusType = 0;
911 if(jQuery(this).hasClass("all-open")) {
912 jQuery(this).removeClass("all-open");
913 jQuery(".has-sub-tree").removeClass("active");
914 statusType = 0;
915 jQuery(this).attr("data-tooltip","Expand");
916 } else {
917 jQuery(this).addClass("all-open");
918 statusType = 1;
919 jQuery(".has-sub-tree").addClass("active");
920 jQuery(this).attr("data-tooltip","Collapse");
921 }
922 folderIDs = "";
923 jQuery(".has-sub-tree").each(function(){
924 folderIDs += jQuery(this).data("folder-id")+",";
925 });
926 if(folderIDs != "") {
927 jQuery(".form-loader-count").css("width","100%");
928 nonce = wcp_settings.nonce;
929 jQuery.ajax({
930 url: wcp_settings.ajax_url,
931 data: "type=" + wcp_settings.post_type + "&action=wcp_change_all_status&status=" + statusType + "&folders="+folderIDs+"&nonce="+nonce,
932 method: 'post',
933 success: function (res) {
934 jQuery(".form-loader-count").css("width","0");
935 // add_menu_to_list();
936 res = jQuery.parseJSON(res);
937 if(res.status == "0") {
938 jQuery(".folder-popup-form").hide();
939 jQuery(".folder-popup-form").removeClass("disabled");
940 jQuery("#error-folder-popup-message").html(res.message);
941 jQuery("#error-folder-popup").show();
942 window.location.reload(true);
943 }
944 }
945 });
946 }
947 });
948
949 resizeDirection = (wcp_settings.isRTL == "1" || wcp_settings.isRTL == 1)?"w":"e";
950 jQuery(".wcp-content").resizable( {
951 resizeHeight: false,
952 handles: resizeDirection,
953 minWidth: 315,
954 maxWidth: 500,
955 resize: function( e, ui ) {
956 if(wcp_settings.isRTL == "1") {
957 jQuery("#wpcontent").css("padding-right", (ui.size.width + 20) + "px");
958 jQuery("#wpcontent").css("padding-left", "0px");
959 } else {
960 jQuery("#wpcontent").css("padding-left", (ui.size.width + 20) + "px");
961 }
962 newWidth = ui.size.width - 40;
963 cssString = "";
964 classString = "";
965 for(i=0; i<=15; i++) {
966 classString += " .space > .route >";
967 currentWidth = newWidth - (13+(20*i));
968 cssString += "#custom-menu > "+classString+" .title { width: "+currentWidth+"px !important; } ";
969 setStickyHeaderForMedia();
970 }
971 jQuery("#wcp-custom-style").html("<style>"+cssString+"</style>");
972 },
973 stop: function( e, ui ) {
974 nonce = wcp_settings.nonce;
975 wcp_settings.folder_width = ui.size.width;
976 jQuery.ajax({
977 url: wcp_settings.ajax_url,
978 data: "type=" + wcp_settings.post_type + "&action=wcp_change_post_width&width=" + ui.size.width+"&nonce="+nonce,
979 method: 'post',
980 success: function (res) {
981 setStickyHeaderForMedia();
982 }
983 });
984 }
985 });
986
987 jQuery(".wcp-move-file").livequery(function(){
988 jQuery(this).draggable({
989 revert: "invalid",
990 containment: "document",
991 helper: "clone",
992 cursor: "move",
993 start: function( event, ui){
994 jQuery(this).closest("td").addClass("wcp-draggable");
995 jQuery("body").addClass("no-hover-css");
996 },
997 stop: function( event, ui ) {
998 jQuery(this).closest("td").removeClass("wcp-draggable");
999 jQuery("body").removeClass("no-hover-css");
1000 }
1001 });
1002 });
1003
1004 jQuery(".wcp-move-multiple").livequery(function(){
1005 jQuery(this).draggable({
1006 // /*cancel: "a.ui-icon",*/
1007 // revert: "invalid",
1008 // containment: "document",
1009 // helper: "clone",
1010 // cursor: "move",
1011 // start: function( event, ui){
1012 // jQuery("body").addClass("no-hover-css");
1013 // },
1014 // stop: function( event, ui ) {
1015 // jQuery("body").removeClass("no-hover-css");
1016 // }
1017 revert: "invalid",
1018 containment: "document",
1019 helper: function (event, ui) {
1020 jQuery(".selected-items").remove();
1021 selectedItems = jQuery("#the-list th input:checked").length;
1022 if(selectedItems > 0) {
1023 selectedItems = (selectedItems == 0 || selectedItems == 1) ? "1 Item" : selectedItems + " Items";
1024 return jQuery("<div class='selected-items'><span class='total-post-count'>" + selectedItems + " Selected</span></div>");
1025 } else {
1026 return jQuery("<div class='selected-items'><span class='total-post-count'>Select Items to move</span></div>");
1027 }
1028 },
1029 start: function( event, ui){
1030 jQuery("body").addClass("no-hover-css");
1031 },
1032 cursor: "move",
1033 cursorAt: {
1034 left: 0,
1035 top: 0
1036 },
1037 stop: function( event, ui ) {
1038 jQuery(".selected-items").remove();
1039 jQuery("body").removeClass("no-hover-css");
1040 }
1041 });
1042 });
1043
1044 jQuery("h3.title").livequery(function(){
1045 jQuery(this).on("contextmenu",function(e) {
1046 e.preventDefault();
1047 if(wcp_settings.can_manage_folder == 0) {
1048 return;
1049 }
1050 isHigh = jQuery(this).closest("li.route").hasClass("is-high");
1051 jQuery(".dynamic-menu").remove();
1052 jQuery(".active-menu").removeClass("active-menu");
1053 menuHtml = "<div class='dynamic-menu'><ul>" +
1054 "<li class='new-folder'><a href='javascript:;'><span class='folder-icon-create_new_folder'></span> New Folder</a></li>" +
1055 "<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>" +
1056 "<li class='mark-folder'><a href='javascript:;'><span class='folder-icon-star_rate'></span>" + ((isHigh) ? " Remove Star" : "Add a Star") + "</a></li>" +
1057 "<li class='remove-folder'><a href='javascript:;'><span class='folder-icon-delete'></span> Delete</a></li>" +
1058 "</ul></div>";
1059 jQuery(this).after(menuHtml);
1060 jQuery(this).parents("li.route").addClass("active-menu");
1061 return false;
1062 });
1063 });
1064
1065 jQuery("body").click(function(){
1066 jQuery(".dynamic-menu").remove();
1067 jQuery(".active-menu").removeClass("active-menu");
1068 });
1069
1070 jQuery(".dynamic-menu").livequery(function(){
1071 jQuery(this).click(function(e){
1072 e.stopPropagation();
1073 });
1074 });
1075
1076 jQuery(".rename-folder").livequery(function(){
1077 jQuery(this).click(function(e){
1078 e.stopPropagation();
1079 fileFolderID = jQuery(this).closest("li.route").data("folder-id");
1080 updateFolder();
1081 // add_menu_to_list();
1082 });
1083 });
1084
1085 jQuery(".mark-folder").livequery(function(){
1086 jQuery(this).click(function(e){
1087 e.stopPropagation();
1088 folderID = jQuery(this).closest("li.route").data("folder-id");
1089 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("star"));
1090 jQuery(".form-loader-count").css("width","100%");
1091 jQuery(".dynamic-menu").remove();
1092 jQuery(".active-menu").removeClass("active-menu");
1093 jQuery.ajax({
1094 url: wcp_settings.ajax_url,
1095 data: "term_id=" + folderID + "&type=" + wcp_settings.post_type + "&action=wcp_mark_un_mark_folder&nonce="+nonce,
1096 method: 'post',
1097 cache: false,
1098 success: function (res) {
1099 res = jQuery.parseJSON(res);
1100 jQuery(".form-loader-count").css("width","0%");
1101 if (res.status == '1') {
1102 if(res.marked == '1') {
1103 jQuery("#wcp_folder_"+res.id).addClass("is-high");
1104 } else {
1105 jQuery("#wcp_folder_"+res.id).removeClass("is-high");
1106 }
1107 add_menu_to_list();
1108 ajaxAnimation();
1109 } else {
1110 jQuery(".folder-popup-form").hide();
1111 jQuery(".folder-popup-form").removeClass("disabled");
1112 jQuery("#error-folder-popup-message").html(res.message);
1113 jQuery("#error-folder-popup").show();
1114 }
1115 }
1116 });
1117 });
1118 });
1119
1120 /* Add new folder */
1121 jQuery(".new-folder").livequery(function(){
1122 jQuery(this).click(function(e) {
1123 e.stopPropagation();
1124 jQuery(".active-menu").removeClass("active-menu");
1125 fileFolderID = jQuery(this).closest("li.route").data("folder-id");
1126 jQuery(".dynamic-menu").remove();
1127 jQuery(".active-menu").removeClass("active-menu");
1128 isItFromMedia = false;
1129 addFolder();
1130 add_menu_to_list();
1131 });
1132 });
1133
1134 jQuery(".cancel-button").livequery(function(){
1135 jQuery(this).click(function(e){
1136 e.stopPropagation();
1137 jQuery(".form-li").remove();
1138 });
1139 });
1140
1141
1142
1143 jQuery("#add-new-folder").livequery(function(){
1144 jQuery(this).click(function() {
1145 if(jQuery("#custom-menu li.active-item").length) {
1146 fileFolderID = jQuery("#custom-menu li.active-item").data("folder-id");
1147 } else {
1148 fileFolderID = 0;
1149 }
1150 isItFromMedia = false;
1151 addFolder();
1152 //add_menu_to_list();
1153 });
1154 });
1155
1156 jQuery("#inline-update").click(function(){
1157 if(jQuery("#custom-menu li.active-item").length) {
1158 fileFolderID = jQuery("#custom-menu li.active-item").data("folder-id");
1159 updateFolder();
1160 //add_menu_to_list();
1161 }
1162 });
1163
1164 jQuery("#inline-remove").click(function(){
1165 if(jQuery("#custom-menu li.active-item").length) {
1166 fileFolderID = jQuery("#custom-menu li.active-item").data("folder-id");
1167 removeFolderFromID(1);
1168 jQuery(".dynamic-menu").remove();
1169 jQuery(".active-menu").removeClass("active-menu");
1170 } else {
1171 if(jQuery("#folder-hide-show-checkbox").is(":checked")) {
1172 //removeMultipleFolderItems();
1173 jQuery(".dynamic-menu").remove();
1174 removeFolderFromID(1);
1175 }
1176 }
1177 });
1178
1179 if(wcp_settings.can_manage_folder == "1") {
1180 jQuery('.space').livequery(function(){
1181 jQuery(this).sortable({
1182 placeholder: "ui-state-highlight",
1183 connectWith:'.space',
1184 tolerance:'intersect',
1185 over:function(event,ui){
1186
1187 },
1188 update: function( event, ui ) {
1189 thisId = ui.item.context.attributes['data-folder-id'].nodeValue;
1190 orderString = "";
1191 jQuery(this).children().each(function(){
1192 if(jQuery(this).hasClass("route")) {
1193 orderString += jQuery(this).data("folder-id")+",";
1194 }
1195 });
1196 if(orderString != "") {
1197 jQuery(".form-loader-count").css("width","100%");
1198 jQuery.ajax({
1199 url: wcp_settings.ajax_url,
1200 data: "term_ids=" + orderString + "&action=wcp_save_folder_order&type=" + wcp_settings.post_type+"&nonce="+wcp_settings.nonce,
1201 method: 'post',
1202 success: function (res) {
1203 res = jQuery.parseJSON(res);
1204 if (res.status == '1') {
1205 jQuery("#wcp_folder_parent").html(res.options);
1206 jQuery(".form-loader-count").css("width", "0");
1207 add_menu_to_list();
1208 resetMediaAndPosts();
1209 ajaxAnimation();
1210 } else {
1211 jQuery(".folder-popup-form").hide();
1212 jQuery(".folder-popup-form").removeClass("disabled");
1213 jQuery("#error-folder-popup-message").html(res.message);
1214 jQuery("#error-folder-popup").show();
1215 window.location.reload(true);
1216 }
1217 }
1218 });
1219 }
1220 },
1221 receive: function (event, ui) {
1222 calcWidth(jQuery(this).siblings('.title'));
1223 check_for_sub_menu();
1224 jQuery(this).closest("li.route").addClass("active");
1225 jQuery(this).closest("li.route").find("ul.ui-sortable:first-child > li").slideDown();
1226 parentId = jQuery(this).closest("li.route").data("folder-id");
1227 thisId = ui.item.context.attributes['data-folder-id'].nodeValue;
1228 if(parentId == undefined) {
1229 parentId = 0;
1230 }
1231 orderString = "";
1232 if(jQuery("#wcp_folder_"+parentId+" .ui-sortable li").length) {
1233 jQuery("#wcp_folder_"+parentId+" .ui-sortable li").each(function(){
1234 orderString += jQuery(this).data("folder-id")+",";
1235 });
1236 } else if(parentId == 0) {
1237 jQuery("#custom-menu > ul.space > li").each(function(){
1238 orderString += jQuery(this).data("folder-id")+",";
1239 });
1240 }
1241 jQuery(".form-loader-count").css("width","100%");
1242 nonce = jQuery.trim(jQuery("#wcp_folder_"+thisId).data("nonce"));
1243 jQuery.ajax({
1244 url: wcp_settings.ajax_url,
1245 data: "term_id=" + thisId + "&action=wcp_update_parent_information&parent_id=" + parentId+"&type=" + wcp_settings.post_type+"&nonce="+nonce,
1246 method: 'post',
1247 success: function (res) {
1248 jQuery(".form-loader-count").css("width","0%");
1249 res = jQuery.parseJSON(res);
1250 if(res.status == 0) {
1251 jQuery(".folder-popup-form").hide();
1252 jQuery(".folder-popup-form").removeClass("disabled");
1253 jQuery("#error-folder-popup-message").html(res.message);
1254 jQuery("#error-folder-popup").show();
1255 } else {
1256 add_menu_to_list();
1257 ajaxAnimation();
1258 }
1259 }
1260 });
1261 }
1262 });
1263 jQuery(this).disableSelection();
1264 });
1265 }
1266 jQuery(".update-inline-record").livequery(function(){
1267 jQuery(this).click(function(e){
1268 e.stopPropagation();
1269 isHigh = jQuery(this).closest("li.route").hasClass("is-high");
1270 jQuery(".dynamic-menu").remove();
1271 jQuery(".active-menu").removeClass("active-menu");
1272 menuHtml = "<div class='dynamic-menu'><ul>" +
1273 "<li class='new-folder'><a href='javascript:;'><span class='folder-icon-create_new_folder'></span> New Folder</a></li>" +
1274 "<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>" +
1275 "<li class='mark-folder'><a href='javascript:;'><span class='folder-icon-star_rate'></span>" + ((isHigh) ? " Remove Star" : "Add a Star") + "</a></li>" +
1276 "<li class='remove-folder'><a href='javascript:;'><span class='folder-icon-delete'></span> Delete</a></li>" +
1277 "</ul></div>";
1278 jQuery(this).closest("h3.title").after(menuHtml);
1279 jQuery(this).parents("li.route").addClass("active-menu");
1280 });
1281 });
1282 //check_for_sub_menu();
1283 //jQuery(".has-sub-tree:first").addClass("active");
1284 jQuery(".nav-icon").livequery(function(){
1285 jQuery(this).click(function(){
1286 folderID = jQuery(this).closest("li.route").data("folder-id");
1287 if(jQuery("#wcp_folder_"+folderID).hasClass("active")) {
1288 folderStatus = 0;
1289 } else {
1290 folderStatus = 1;
1291 }
1292 jQuery(".form-loader-count").css("width","100%");
1293 nonce = jQuery.trim(jQuery("#wcp_folder_"+folderID).data("nonce"));
1294 checkForExpandCollapse();
1295 jQuery.ajax({
1296 url: wcp_settings.ajax_url,
1297 data: "is_active=" + folderStatus + "&action=save_wcp_folder_state&term_id=" + folderID+"&nonce="+nonce,
1298 method: 'post',
1299 success: function (res) {
1300 jQuery(".form-loader-count").css("width","0");
1301 res = jQuery.parseJSON(res);
1302 if(res.status == "0") {
1303 jQuery(".folder-popup-form").hide();
1304 jQuery(".folder-popup-form").removeClass("disabled");
1305 jQuery("#error-folder-popup-message").html(res.message);
1306 jQuery("#error-folder-popup").show();
1307 } else {
1308 if(jQuery("#wcp_folder_"+folderID).hasClass("active")) {
1309 jQuery("#wcp_folder_"+folderID).removeClass("active");
1310 jQuery("#wcp_folder_"+folderID).find("ul.ui-sortable:first-child > li").slideUp();
1311 folderStatus = 0;
1312 } else {
1313 jQuery("#wcp_folder_"+folderID).addClass("active");
1314 jQuery("#wcp_folder_"+folderID).find("ul.ui-sortable:first-child > li").slideDown();
1315 folderStatus = 1;
1316 }
1317 // add_menu_to_list();
1318 ajaxAnimation();
1319 }
1320 }
1321 });
1322 });
1323 });
1324 jQuery("#custom-menu .ui-icon, #custom-menu h3").livequery(function(){
1325 jQuery(this).click(function(){
1326 jQuery("#custom-menu .active-item").removeClass("active-item");
1327 jQuery(this).closest(".route").addClass("active-item");
1328 // add_menu_to_list();
1329 });
1330 });
1331 jQuery(".remove-folder").livequery(function(){
1332 jQuery(this).click(function() {
1333 folderID = jQuery(this).closest("li.route").data("folder-id");
1334 fileFolderID = folderID;
1335 removeFolderFromID(0);
1336 jQuery(".dynamic-menu").remove();
1337 jQuery(".active-menu").removeClass("active-menu");
1338 });
1339 });
1340 jQuery(".wcp-parent .fa-caret-right").livequery(function(){
1341 jQuery(this).click(function() {
1342 autoStatus = 1;
1343 if (jQuery(this).closest(".wcp-parent").hasClass("active")) {
1344 jQuery(this).closest(".wcp-parent").removeClass("active");
1345 jQuery("#custom-menu").removeClass("active");
1346 autoStatus = 0;
1347 } else {
1348 jQuery(this).closest(".wcp-parent").addClass("active");
1349 jQuery("#custom-menu").addClass("active");
1350 }
1351 jQuery(".form-loader-count").css("width","100%");
1352 // add_menu_to_list();
1353 jQuery.ajax({
1354 url: wcp_settings.ajax_url,
1355 data: "type=" + wcp_settings.post_type + "&action=wcp_save_parent_data&is_active=" + autoStatus+"&nonce="+wcp_settings.nonce,
1356 method: 'post',
1357 success: function (res) {
1358 jQuery(".form-loader-count").css("width","0%");
1359 res = jQuery.parseJSON(res);
1360 if (res.status == '1') {
1361 jQuery(".folder-popup-form").hide();
1362 jQuery(".folder-popup-form").removeClass("disabled");
1363 jQuery("#error-folder-popup-message").html(res.message);
1364 jQuery("#error-folder-popup").show();
1365 }
1366 }
1367 });
1368 });
1369 });
1370 jQuery(document).on("click","#folder-hide-show-checkbox",function(){
1371 if(jQuery(this).is(":checked")) {
1372 jQuery("#custom-menu").addClass("show-folder-checkbox");
1373 } else {
1374 jQuery("#custom-menu input.checkbox").attr("checked", false);
1375 jQuery("#custom-menu").removeClass("show-folder-checkbox");
1376 }
1377 });
1378 jQuery("input.checkbox").click(function(e){
1379 e.stopPropagation();
1380 e.stopImmediatePropagation();
1381 });
1382 jQuery("input.checkbox").livequery(function(){
1383 jQuery(this).click(function(e){
1384 e.stopPropagation();
1385 e.stopImmediatePropagation();
1386 });
1387 });
1388 checkForExpandCollapse();
1389
1390 //setCustomScrollForFolder();
1391 });
1392
1393 jQuery(window).resize(function(){
1394 //setCustomScrollForFolder();
1395 apply_animation_height();
1396 });
1397
1398
1399
1400 function setCustomScrollForFolder() {
1401 contentHeight = jQuery(window).height() - jQuery("#wpadminbar").height() - jQuery(".sticky-wcp-custom-form").height() - 30;
1402 if(jQuery("#custom-scroll-menu").hasClass("mCustomScrollbar")) {
1403 jQuery("#custom-scroll-menu").mCustomScrollbar('destroy');
1404 }
1405
1406 jQuery("#custom-scroll-menu").mCustomScrollbar({
1407 axis:"y",
1408 scrollButtons:{enable:true},
1409 setHeight: contentHeight,
1410 theme:"3d",
1411 scrollbarPosition:"outside"
1412 });
1413 }
1414
1415 function checkForExpandCollapse() {
1416 // add_menu_to_list();
1417 currentStatus = true;
1418 if((jQuery("#custom-menu .has-sub-tree").length == jQuery("#custom-menu .has-sub-tree.active").length) && jQuery("#custom-menu .has-sub-tree").length) {
1419 jQuery("#expand-collapse-list").addClass("all-open");
1420 jQuery("#expand-collapse-list").attr("data-tooltip","Collapse");
1421 } else {
1422 jQuery("#expand-collapse-list").removeClass("all-open");
1423 jQuery("#expand-collapse-list").attr("data-tooltip","Expand");
1424 }
1425 }
1426
1427 function check_for_sub_menu() {
1428 jQuery("#custom-menu li.route").removeClass("has-sub-tree");
1429 jQuery("#custom-menu li.route").each(function(){
1430 if(jQuery(this).find("ul.ui-sortable li").length) {
1431 jQuery(this).addClass("has-sub-tree");
1432 if(jQuery(this).find("ul.ui-sortable:first").is(":hidden")) {
1433 jQuery(this).removeClass("is-hidden");
1434 } else {
1435 jQuery(this).addClass("is-hidden")
1436 }
1437 } else {
1438 jQuery(this).removeClass("active");
1439 }
1440 });
1441 }
1442
1443 //recursively calculate the Width all titles
1444 function calcWidth(obj){
1445 var titles =
1446 jQuery(obj).siblings('.space').children('.route').children('.title');
1447 jQuery(titles).each(function(index, element){
1448 var pTitleWidth = parseInt(jQuery(obj).css('width'));
1449 var leftOffset = parseInt(jQuery(obj).siblings('.space').css('margin-left'));
1450 var newWidth = pTitleWidth - leftOffset;
1451 if (jQuery(obj).attr('id') == 'title_0'){
1452 newWidth = newWidth - 10;
1453 }
1454 jQuery(element).css({
1455 'width': newWidth
1456 });
1457 calcWidth(element);
1458 });
1459
1460 }
1461
1462 /* code for sticky menu for media screen*/
1463
1464 if(wcp_settings.post_type == "attachment") {
1465
1466 jQuery(window).load(function() {
1467 jQuery("button.button.media-button.select-mode-toggle-button").after("<button class='button organize-button'>Bulk Organize</button>");
1468 jQuery(".media-toolbar-secondary").append("<span class='media-info-message'>Drag and drop your media files to the relevant folders</span>");
1469 jQuery(".delete-selected-button").before("<button type='button' class='button button-primary select-all-item-btn'>Select All</button>")
1470 if(jQuery(".wcp-custom-form").length) {
1471 if (wp.Uploader !== undefined) {
1472 wp.Uploader.queue.on('reset', function () {
1473 resetMediaData(1);
1474 });
1475 }
1476 jQuery(document).ajaxComplete(function(ev, jqXHR, settings) {
1477 actionName = settings.data;
1478 if (typeof actionName != "undefined") {
1479 if (actionName.length && actionName.indexOf("action=delete-post&id=") == 0) {
1480 resetMediaData(0);
1481 }
1482 }
1483 });
1484 }
1485 setTimeout(function(){
1486 docReferrar = document.referrer;
1487 if(docReferrar.indexOf("wp-admin/upload.php") != -1) {
1488 mediaMode = getCookie("media-select-mode");
1489 if (mediaMode == "on") {
1490 jQuery("button.button.media-button.select-mode-toggle-button").trigger("click");
1491 jQuery(".attachments-browser li.attachment").draggable("enable");
1492
1493 if (jQuery(".media-frame").hasClass("mode-select")) {
1494 jQuery(".media-info-message").addClass("active");
1495 } else {
1496 jQuery(".media-info-message").removeClass("active");
1497 }
1498 }
1499 } else {
1500 eraseCookie("media-select-mode");
1501 }
1502 resetMediaData(0);
1503 }, 1000);
1504 });
1505
1506 function resetMediaData(loadData) {
1507 jQuery.ajax({
1508 url: wcp_settings.ajax_url,
1509 data: "type=" + wcp_settings.post_type + "&action=wcp_get_default_list&active_id="+activeRecordID,
1510 method: 'post',
1511 success: function (res) {
1512 res = jQuery.parseJSON(res);
1513 // jQuery("#custom-menu > ul#space_0").html(res.data);
1514 jQuery(".header-posts .total-count").text(res.total_items);
1515 jQuery(".un-categorised-items .total-count").text(res.empty_items);
1516 selectedVal = jQuery("#media-attachment-taxonomy-filter").val();
1517 if(selectedVal != "all" && loadData == 1) {
1518 var wp1 = parent.wp;
1519 wp1.media.frame.setState('insert');
1520 if (wp1.media.frame.content.get() !== null) {
1521 wp1.media.frame.content.get().collection.props.set({ignore: (+new Date())});
1522 wp1.media.frame.content.get().options.selection.reset();
1523 } else {
1524 wp1.media.frame.library.props.set({ignore: (+new Date())});
1525 }
1526 }
1527 if(res.taxonomies.length) {
1528 if(jQuery("#media-attachment-taxonomy-filter").length) {
1529 folders_media_options.terms = res.taxonomies;
1530 var selectedDD = jQuery("#media-attachment-taxonomy-filter");
1531 selectedDD.html("<option value='all'>All Folders</option><option value='unassigned'>(Unassigned)</option>");
1532 for (i = 0; i < res.taxonomies.length; i++) {
1533 selectedDD.append("<option value='" + res.taxonomies[i].term_id + "'>" + res.taxonomies[i].name + " (" + res.taxonomies[i].count + ")</option>");
1534 }
1535 selectedDD.val(selectedVal);
1536 }
1537 if(jQuery("select.folder_for_media").length) {
1538 selectedVal = jQuery("select.folder_for_media").val();
1539 jQuery("select.folder_for_media option:not(:first-child):not(:last-child)").remove();
1540 for (i = 0; i < res.taxonomies.length; i++) {
1541 jQuery("select.folder_for_media option:last-child").before("<option value='" + res.taxonomies[i].term_id + "'>" + res.taxonomies[i].name +"</option>");
1542 }
1543 if(selectedVal != "") {
1544 jQuery(".folder_for_media").val(selectedVal);
1545 }
1546 }
1547 for (i = 0; i < res.taxonomies.length; i++) {
1548 if(!jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").length) {
1549 jQuery("#title_"+res.taxonomies[i].term_id+" .star-icon").before("<span class='total-count'></span>");
1550 }
1551 jQuery("#title_"+res.taxonomies[i].term_id+" .total-count").text(parseInt(res.taxonomies[i].count));
1552 }
1553
1554 jQuery("#custom-menu .total-count").each(function(){
1555 if(parseInt(jQuery(this).text()) == 0) {
1556 jQuery(this).remove();
1557 }
1558 });
1559 }
1560 if(activeRecordID != "") {
1561 jQuery("#wcp_folder_"+activeRecordID).addClass("active-item");
1562 }
1563
1564 if(isItFromMedia) {
1565 jQuery("#title_"+fileFolderID).trigger("click");
1566 isItFromMedia = false;
1567 }
1568 }
1569 });
1570 }
1571
1572 function setMediaBoxWidth() {
1573 jQuery(".media-frame-content .media-toolbar").width(jQuery(".media-frame-content").width() - 20);
1574 }
1575
1576 setMediaBoxWidth();
1577
1578 jQuery(window).resize(function(){
1579 setMediaBoxWidth();
1580 });
1581
1582 jQuery(document).ready(function(){
1583
1584 });
1585
1586 jQuery(document).on("click", ".button.organize-button", function(){
1587 if(!jQuery(".media-frame").hasClass("mode-select")) {
1588 setCookie("media-select-mode", "on", 7);
1589 } else {
1590 eraseCookie("media-select-mode");
1591 }
1592 jQuery("button.button.media-button.select-mode-toggle-button").trigger("click");
1593 if(jQuery(".media-frame").hasClass("mode-select")) {
1594 jQuery(".media-info-message").addClass("active");
1595 jQuery(".select-all-item-btn").addClass("active");
1596 } else {
1597 jQuery(".media-info-message").removeClass("active");
1598 jQuery(".select-all-item-btn").removeClass("active");
1599 }
1600 });
1601
1602 jQuery(document).on("click", ".select-mode-toggle-button", function(){
1603 setTimeout(function() {
1604 if(!jQuery(".media-frame").hasClass("mode-select")) {
1605 setCookie("media-select-mode", "off", -1);
1606 }
1607 if(jQuery(".media-frame").hasClass("mode-select")) {
1608 jQuery(".media-info-message").addClass("active");
1609 jQuery(".select-all-item-btn").addClass("active");
1610 } else {
1611 jQuery(".media-info-message").removeClass("active");
1612 jQuery(".select-all-item-btn").removeClass("active");
1613 }
1614 }, 10);
1615 });
1616
1617 jQuery(document).on("click", ".select-all-item-btn", function(){
1618 jQuery("ul.attachments li:not(.selected)").trigger("click");
1619 });
1620
1621 jQuery(document).on("change", ".folder_for_media", function(){
1622 if(jQuery(this).val() == "add-folder") {
1623 fileFolderID = 0;
1624 isItFromMedia = true;
1625 addFolder();
1626 // jQuery(".add-new-folder").trigger("click");
1627 //jQuery(this).val("-1");
1628 }
1629 });
1630
1631 function setCookie(name,value,days) {
1632 var expires = "";
1633 if (days) {
1634 var date = new Date();
1635 date.setTime(date.getTime() + (days*24*60*60*1000));
1636 expires = "; expires=" + date.toUTCString();
1637 }
1638 document.cookie = name + "=" + (value || "") + expires + "; path=/";
1639 }
1640 function getCookie(name) {
1641 var nameEQ = name + "=";
1642 var ca = document.cookie.split(';');
1643 for(var i=0;i < ca.length;i++) {
1644 var c = ca[i];
1645 while (c.charAt(0)==' ') c = c.substring(1,c.length);
1646 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1647 }
1648 return null;
1649 }
1650
1651
1652 function eraseCookie(name) {
1653 document.cookie = name+'=; Max-Age=-99999999;';
1654 }
1655
1656 function setStickyHeaderForMedia() {
1657 if(!jQuery(".media-position").length) {
1658 jQuery(".media-frame-content .media-toolbar").before("<div class='media-position'></div>")
1659 }
1660
1661 if(jQuery(".media-position").length) {
1662 setMediaBoxWidth();
1663
1664 thisPosition = jQuery(".media-position").offset().top - jQuery(window).scrollTop();
1665 if(thisPosition <= 32) {
1666 jQuery(".media-frame-content .media-toolbar").addClass("sticky-media");
1667 jQuery(".media-position").height(jQuery(".media-frame-content .media-toolbar").outerHeight());
1668 } else {
1669 jQuery(".media-frame-content .media-toolbar").removeClass("sticky-media");
1670 jQuery(".media-position").height(1);
1671 }
1672 }
1673 }
1674
1675 jQuery(window).scroll(function(){
1676 setStickyHeaderForMedia()
1677 });
1678 } else {
1679 function setStickyHeaderForMedia() {}
1680 }