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