PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 2.2
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v2.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 / media.js
folders / assets / js Last commit date
custom.js 6 years ago media.js 6 years ago sweetalert.all.min.js 7 years ago
media.js
136 lines
1 (function() {
2 var MediaLibraryOrganizerTaxonomyFilter = wp.media.view.AttachmentFilters.extend({
3 id: 'media-attachment-taxonomy-filter',
4 createFilters: function() {
5 var filters = {};
6 _.each(folders_media_options.terms || {}, function(term, index) {
7 filters[index] = {
8 text: term.name + ' (' + term.count + ')',
9 props: {
10 'media_folder': term.slug
11 }
12 };
13 });
14 filters.all = {
15 text: 'Select a folder >>',
16 props: {
17 'media_folder': ''
18 },
19 priority: 10
20 };
21 filters.unassigned = {
22 text: '(Unassigned)',
23 props: {
24 'media_folder': "-1"
25 },
26 priority: 10
27 };
28 this.filters = filters;
29 }
30 });
31
32 var AttachmentsBrowser = wp.media.view.AttachmentsBrowser;
33 wp.media.view.AttachmentsBrowser = wp.media.view.AttachmentsBrowser.extend({
34 createToolbar: function() {
35 AttachmentsBrowser.prototype.createToolbar.call(this);
36 this.toolbar.set('MediaLibraryOrganizerTaxonomyFilter', new MediaLibraryOrganizerTaxonomyFilter({
37 controller: this.controller,
38 model: this.collection.props,
39 priority: -75
40 }).render());
41 }
42 });
43
44 var Query = wp.media.model.Query;
45 _.extend(Query, {
46 get: (function() {
47 var queries = [];
48 return function(props, options) {
49 var args = {},
50 orderby = Query.orderby,
51 defaults = Query.defaultProps,
52 query,
53 cache = false; // Always disable query
54 delete props.query;
55 delete props.cache;
56 _.defaults(props, defaults);
57
58 _.each(['include', 'exclude'], function(prop) {
59 if (props[prop] && !_.isArray(props[prop])) {
60 props[prop] = [props[prop]];
61 }
62 });
63 _.each(props, function(value, prop) {
64 if (_.isNull(value)) {
65 return;
66 }
67 args[Query.propmap[prop] || prop] = value;
68 });
69 _.defaults(args, Query.defaultArgs);
70 args.orderby = orderby.valuemap[props.orderby] || props.orderby;
71 // Disable query caching
72 cache = false;
73 // Search the query cache for a matching query.
74 if (cache) {
75 query = _.find(queries, function(query) {
76 return _.isEqual(query.args, args);
77 });
78 } else {
79 queries = [];
80 }
81 // Otherwise, create a new query and add it to the cache.
82 if (!query) {
83 query = new Query([], _.extend(options || {}, {
84 props: props,
85 args: args
86 }));
87 queries.push(query);
88 }
89 return query;
90 };
91 }())
92 });
93 })(jQuery, _);
94
95 var selectedFolderMediaId = -1;
96
97 jQuery(document).on("change", ".folder_for_media", function(){
98 selectedFolderMediaId = $(this).val();
99 });
100
101
102 var wp = window.wp;
103 //Upload on page Media Library (upload.php)
104 if (typeof wp !== 'undefined' && typeof wp.Uploader === 'function') {
105 jQuery.extend(wp.Uploader.prototype, {
106 progress: function () {
107 },
108 init: function () {
109 if (this.uploader) {
110 this.uploader.bind('FileFiltered', function (up, file) {
111 });
112 this.uploader.bind('BeforeUpload', function (uploader, file) {
113 var folder_id = selectedFolderMediaId;
114 var params = uploader.settings.multipart_params;
115 folder_id = parseInt(folder_id);
116 if (folder_id > 0) {
117 params.folder_for_media = folder_id;
118 }
119 });
120 this.uploader.bind('UploadComplete', function (up, files) {
121 selectedFolderMediaId = -1;
122 });
123 this.uploader.bind('UploadComplete', function (up, files) {
124 var wp_media = window.wp;
125
126 if( wp_media.media.frame.content.get() !== null) {
127 wp_media.media.frame.content.get().collection.props.set({ignore: (+ new Date())});
128 wp_media.media.frame.content.get().options.selection.reset();
129 } else {
130 wp_media.media.frame.library.props.set ({ignore: (+ new Date())});
131 }
132 });
133 }
134 }
135 });
136 }