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