PluginProbe ʕ •ᴥ•ʔ
Nested Pages / trunk
Nested Pages vtrunk
3.2.14 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 trunk 1.0 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.3.0 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.2 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.3.1 1.6.3.2 1.6.4 1.6.5 1.6.5.1 1.6.5.2 1.6.6 1.6.7 1.6.8 1.7.0 1.7.1 2.0.1 2.0.2 2.0.3 2.0.4 3.0.1 3.0.10 3.0.11 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.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.21 3.1.22 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7
wp-nested-pages / assets / js / lib / nestedpages.move-post.js
wp-nested-pages / assets / js / lib Last commit date
jquery.mjs.nestedSortable.js 4 years ago jquery.ui.touch-punch.min.js 11 years ago nestedpages-factory.js 3 years ago nestedpages.bulk-actions.js 4 years ago nestedpages.check-all.js 9 years ago nestedpages.clone.js 3 years ago nestedpages.confirm-delete.js 8 years ago nestedpages.dropdowns.js 8 years ago nestedpages.formatter.js 3 years ago nestedpages.hidden-item-count.js 9 years ago nestedpages.manual-sync.js 9 years ago nestedpages.menu-links.js 3 years ago nestedpages.menu-search.js 1 year ago nestedpages.menu-toggle.js 8 years ago nestedpages.modals.js 8 years ago nestedpages.move-post.js 8 years ago nestedpages.nesting.js 3 years ago nestedpages.new-post.js 6 years ago nestedpages.page-toggle.js 4 years ago nestedpages.post-search.js 9 years ago nestedpages.quickedit-link.js 8 years ago nestedpages.quickedit-post.js 3 years ago nestedpages.settings-admin-customization.js 6 years ago nestedpages.settings-reset.js 6 years ago nestedpages.settings.js 3 years ago nestedpages.sync-menu-setting.js 8 years ago nestedpages.tabs.js 6 years ago nestedpages.trash-with-children.js 6 years ago nestedpages.trash.js 8 years ago nestedpages.userprefs-reset.js 7 years ago nestedpages.wpml.js 8 years ago
nestedpages.move-post.js
93 lines
1 var NestedPages = NestedPages || {};
2
3 /**
4 * Move a Post Up or Down in the list
5 * @package Nested Pages
6 * @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
7 */
8 NestedPages.MovePost = function()
9 {
10 var plugin = this;
11 var $ = jQuery;
12
13 plugin.formatter = new NestedPages.Formatter;
14 plugin.nesting = new NestedPages.Nesting;
15 plugin.activeRow;
16
17 plugin.selectors = {
18 moveToTop : 'data-push-to-top',
19 moveToBottom : 'data-push-to-bottom'
20 }
21
22 plugin.bindEvents = function()
23 {
24 $(document).ready(function(){
25 plugin.disableTopOnFirst();
26 plugin.disableBottomOnLast();
27 });
28 $(document).on('click', '[' + plugin.selectors.moveToTop + ']', function(e){
29 e.preventDefault();
30 if ( $(this).hasClass('disabled') ) return;
31 plugin.activeRow = $(this).closest(NestedPages.selectors.rows);
32 plugin.moveToTop();
33 });
34 $(document).on('click', '[' + plugin.selectors.moveToBottom + ']', function(e){
35 e.preventDefault();
36 if ( $(this).hasClass('disabled') ) return;
37 plugin.activeRow = $(this).closest(NestedPages.selectors.rows);
38 plugin.moveToBottom();
39 });
40 }
41
42 /**
43 * Move a post to the top of its list
44 */
45 plugin.moveToTop = function()
46 {
47 var parent = $(plugin.activeRow).parent(NestedPages.selectors.lists);
48 var first = $(parent).find(NestedPages.selectors.rows).first();
49 $(plugin.activeRow).insertBefore(first);
50 plugin.formatter.setBorders();
51 $(document).click(); // Close Dropdowns
52 plugin.nesting.syncNesting();
53 plugin.disableTopOnFirst();
54 plugin.disableBottomOnLast();
55 }
56
57 /**
58 * Move a post to the bottom of its list
59 */
60 plugin.moveToBottom = function()
61 {
62 var parent = $(plugin.activeRow).parent(NestedPages.selectors.lists);
63 var last = $(parent).children(NestedPages.selectors.rows).last();
64 $(plugin.activeRow).insertAfter(last);
65 plugin.formatter.setBorders();
66 $(document).click(); // Close Dropdowns
67 plugin.nesting.syncNesting();
68 plugin.disableTopOnFirst();
69 plugin.disableBottomOnLast();
70 }
71
72 plugin.disableTopOnFirst = function()
73 {
74 var lists = $(NestedPages.selectors.lists);
75 $.each(lists, function(){
76 $(this).find('[' + plugin.selectors.moveToTop + ']').removeClass('disabled');
77 var first = $(this).find(NestedPages.selectors.rows).first();
78 $(first).find('[' + plugin.selectors.moveToTop + ']').addClass('disabled');
79 });
80 }
81
82 plugin.disableBottomOnLast = function()
83 {
84 var lists = $(NestedPages.selectors.lists);
85 $.each(lists, function(){
86 $(this).find('[' + plugin.selectors.moveToBottom + ']').removeClass('disabled');
87 var last = $(this).find(NestedPages.selectors.rows).last();
88 $(last).find('[' + plugin.selectors.moveToBottom + ']').addClass('disabled');
89 });
90 }
91
92 return plugin.bindEvents();
93 }