Files
2024-07-16 13:57:46 +00:00

74 lines
3.6 KiB
JavaScript

(function ($) {
if (typeof ajaxurl === "undefined") {
ajaxurl = wpmf.vars.ajaxurl;
}
$(document).ready(function () {
if (typeof wp !== "undefined") {
if (wp.media && $('body.upload-php table.media').length === 0) {
if (wp.media.view.AttachmentFilters === undefined || wp.media.view.AttachmentsBrowser === undefined)
return;
/* Create display own media filter */
var wpmffilterDisplayMedia = function () {
//=========================================================================
wp.media.view.AttachmentFilters['wpmf_filter_display_media'] = wp.media.view.AttachmentFilters.extend({
className: 'wpmf-filter-display-media attachment-filters',
id: 'wpmf-display-media-filters',
createFilters: function () {
var filters = {};
filters['yes'] = {
text: 'Yes',
props: {
wpmf_display_media: 'yes'
}
};
filters.all = {
text: 'No',
props: {
wpmf_display_media: 'no'
},
priority: 10
};
this.filters = filters;
}
});
/* backup the method */
var orig = wp.media.view.AttachmentsBrowser;
/* render filter */
wp.media.view.AttachmentsBrowser = wp.media.view.AttachmentsBrowser.extend({
createToolbar: function () {
// call the original method
orig.prototype.createToolbar.apply(this, arguments);
this.toolbar.set('displaymediatags', new wp.media.view.AttachmentFilters['wpmf_filter_display_media']({
controller: this.controller,
model: this.collection.props,
priority: -80
}).render());
}
});
//=========================================================================
};
if (typeof wpmf.vars.wpmf_role !== 'undefined') {
if (wpmf.vars.wpmf_role === 'administrator') {
wpmffilterDisplayMedia();
}
}
} else {
/* table page */
if (typeof wpmf.l18n.no_media_label === "undefined")
wpmf.l18n.no_media_label = 'No';
if (typeof wpmf.l18n.yes_media_label === "undefined")
wpmf.l18n.yes_media_label = 'Yes';
var filter_displaymedia = '<select name="wpmf-display-media-filters" id="wpmf-display-media-filters" class="wpmf-filter-display-media attachment-filters">';
filter_displaymedia += '<option value="all" selected>' + wpmf.l18n.no_media_label + '</option>';
filter_displaymedia += '<option value="yes" selected>' + wpmf.l18n.yes_media_label + '</option>';
filter_displaymedia += '</select>';
$('.wpmf-categories').after(filter_displaymedia);
}
}
});
}(jQuery));