PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 2.1.2
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v2.1.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 7 years ago media.js 7 years ago sweetalert.all.min.js 7 years ago
media.js
93 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, _);