PATH:
home
/
lab2454c
/
vaultchip.com
/
platform
/
core
/
media
/
resources
/
assets
/
js
/
App
/
Services
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 ? '<i class="' + value.icon + '"></i>' : '') .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); } }
[+]
..
[-] MediaService.js
[edit]
[-] ContextMenuService.js
[edit]
[-] UploadService.js
[edit]
[-] ActionsService.js
[edit]
[-] DownloadService.js
[edit]
[-] FolderService.js
[edit]
[-] MessageService.js
[edit]