/home/techb158/immovalet.com/platform/core/media/resources/assets/js/App/Services
Edit: /home/techb158/immovalet.com/platform/core/media/resources/assets/js/App/Services/MediaService.js (5353B)
import {RecentItems} from '../Config/MediaConfig';
import {Helpers} from '../Helpers/Helpers';
import {MessageService} from './MessageService';
import {ActionsService} from './ActionsService';
import {ContextMenuService} from './ContextMenuService';
import {MediaList} from '../Views/MediaList';
import {MediaDetails} from '../Views/MediaDetails';
export class MediaService {
constructor() {
this.MediaList = new MediaList();
this.MediaDetails = new MediaDetails();
this.breadcrumbTemplate = $('#rv_media_breadcrumb_item').html();
}
getMedia(reload = false, is_popup = false, load_more_file = false) {
if (typeof RV_MEDIA_CONFIG.pagination != 'undefined') {
if (RV_MEDIA_CONFIG.pagination.in_process_get_media) {
return;
} else {
RV_MEDIA_CONFIG.pagination.in_process_get_media = true;
}
}
let _self = this;
_self.getFileDetails({
icon: 'far fa-image',
nothing_selected: '',
});
let params = Helpers.getRequestParams();
if (params.view_in === 'recent') {
params.recent_items = RecentItems;
}
if (is_popup === true) {
params.is_popup = true;
} else {
params.is_popup = undefined;
}
params.onSelectFiles = undefined;
if (typeof params.search != 'undefined' && params.search != '' && typeof params.selected_file_id != 'undefined') {
params.selected_file_id = undefined;
}
params.load_more_file = load_more_file;
if (typeof RV_MEDIA_CONFIG.pagination != 'undefined') {
params.paged = RV_MEDIA_CONFIG.pagination.paged;
params.posts_per_page = RV_MEDIA_CONFIG.pagination.posts_per_page;
}
$.ajax({
url: RV_MEDIA_URL.get_media,
type: 'GET',
data: params,
dataType: 'json',
beforeSend: () => {
Helpers.showAjaxLoading();
},
success: res => {
_self.MediaList.renderData(res.data, reload, load_more_file);
_self.renderBreadcrumbs(res.data.breadcrumbs);
MediaService.refreshFilter();
ActionsService.renderActions();
if (typeof RV_MEDIA_CONFIG.pagination != 'undefined') {
if (typeof RV_MEDIA_CONFIG.pagination.paged != 'undefined') {
RV_MEDIA_CONFIG.pagination.paged += 1;
}
if (typeof RV_MEDIA_CONFIG.pagination.in_process_get_media != 'undefined') {
RV_MEDIA_CONFIG.pagination.in_process_get_media = false;
}
if (typeof RV_MEDIA_CONFIG.pagination.posts_per_page != 'undefined' && (res.data.files.length + res.data.folders.length) < RV_MEDIA_CONFIG.pagination.posts_per_page && typeof RV_MEDIA_CONFIG.pagination.has_more != 'undefined') {
RV_MEDIA_CONFIG.pagination.has_more = false;
}
}
},
complete: () => {
Helpers.hideAjaxLoading();
},
error: data => {
MessageService.handleError(data);
}
});
}
getFileDetails(data) {
this.MediaDetails.renderData(data);
}
renderBreadcrumbs(breadcrumbItems) {
let _self = this;
let $breadcrumbContainer = $('.rv-media-breadcrumb .breadcrumb');
$breadcrumbContainer.find('li').remove();
_.each(breadcrumbItems, (value) => {
let template = _self.breadcrumbTemplate;
template = template
.replace(/__name__/gi, value.name || '')
.replace(/__icon__/gi, value.icon ? '
' : '')
.replace(/__folderId__/gi, value.id || 0);
$breadcrumbContainer.append($(template));
});
$('.rv-media-container').attr('data-breadcrumb-count', _.size(breadcrumbItems));
}
static refreshFilter() {
let $rvMediaContainer = $('.rv-media-container');
let viewIn = Helpers.getRequestParams().view_in;
if (viewIn !== 'all_media' && !Helpers.getRequestParams().folder_id) {
$('.rv-media-actions .btn:not([data-type="refresh"]):not(label)').addClass('disabled');
$rvMediaContainer.attr('data-allow-upload', 'false');
} else {
$('.rv-media-actions .btn:not([data-type="refresh"]):not(label)').removeClass('disabled');
$rvMediaContainer.attr('data-allow-upload', 'true');
}
$('.rv-media-actions .btn.js-rv-media-change-filter-group').removeClass('disabled');
let $empty_trash_btn = $('.rv-media-actions .btn[data-action="empty_trash"]');
if (viewIn === 'trash') {
$empty_trash_btn.removeClass('hidden').removeClass('disabled');
if (!_.size(Helpers.getItems())) {
$empty_trash_btn.addClass('hidden').addClass('disabled');
}
} else {
$empty_trash_btn.addClass('hidden');
}
ContextMenuService.destroyContext();
ContextMenuService.initContext();
$rvMediaContainer.attr('data-view-in', viewIn);
}
}