define([ 'jquery', 'lodash', 'backbone', 'modules/bbx/functions', 'modules/media/functions', 'modules/media/model', 'text!/templates/' + BBX.userLang + '/media/MediaView.html', 'text!/templates/' + BBX.userLang + '/media/MessageRequest.html', 'text!/templates/' + BBX.userLang + '/media/MediaDropMessage.html', 'text!/templates/' + BBX.userLang + '/media/BackToSearch.html', 'text!/templates/' + BBX.userLang + '/media/MucuaHasFile.html', ], function($, _, Backbone, BBXFunctions, MediaFunctions, MediaModel, MediaViewTpl, MessageRequestTpl, MediaDropMessageTpl, BackToSearchTpl, MucuaHasFileTpl){ var MediaView = Backbone.View.extend({ render: function(uuid){ console.log("view media " + uuid); var config = BBX.config, media = '', url = config.apiUrl + '/' + config.repository + '/' + config.mucua + '/media/' + uuid, urlWhereis = config.apiUrl + '/' + config.repository + '/' + config.mucua + '/media/' + uuid + '/whereis', userData = localStorage.userData, mediaWidth = (typeof(BBX.config.images.mediaView) !== 'undefined') ? BBX.config.images.mediaView.width : '0', // default value if size unset at config.js mediaHeight = (typeof(BBX.config.images.mediaView) !== 'undefined') ? BBX.config.images.mediaView.height : '300'; // default value if size unset at config.js // pergunta se vai excluir cópia local do arquivo var askDrop = function() { var config = BBX.config, dropMedia = confirm(MediaDropMessageTpl); if (dropMedia) { var urlDrop = config.apiUrl + '/' + config.repository + '/' + config.mucua + '/media/' + uuid + '/drop', mediaDrop = new MediaModel([], {url: urlDrop}); mediaDrop.fetch({ success: function() { setTimeout(function(){ window.location.reload(); }, 500); } }); } } if (userData) { config.userData = userData; } else { config.userData = {}; } $('#buscador').remove(); $('#header-results').remove(); $('.media-display-type').remove(); BBXFunctions.renderUsage(); BBXFunctions.renderSidebar(); // set focus on back to results button var focus = setInterval(function() { var activeElId = document.activeElement.id; if (activeElId != '.back-to-results') { $('.back-to-results').focus(); clearInterval(focus); } }, 500); media = MediaFunctions.getMedia(url, function(data) { data.formatDate = BBXFunctions.formatDate; data.media = data.medias[0]; data.config = config; data.baseUrl = BBXFunctions.getDefaultHome(); data.isLogged = BBXFunctions.isLogged; $('#header-bottom').append(_.template(BackToSearchTpl, data)); $('#content').html(_.template(MediaViewTpl, data)); $('#drop-local-copy').on('click', function() {askDrop(media)}); if (!data.media.is_local) { $('#message-request').html(_.template(MessageRequestTpl, data)); } MediaFunctions.bindRequest(uuid, '.request-copy', function() { $('#message-request').html(_.template(MessageRequestTpl, data)); $('.request-copy').addClass('requested-copy').removeClass('request-copy'); }); }, {'width': mediaWidth, 'height': mediaHeight }); // who has the file var dataWhereis = new MediaModel([], {url: urlWhereis}); dataWhereis.fetch({ success: function() { var mucuas = dataWhereis.attributes.whereis; _.each(mucuas, function(mucua) { var data = { config: config, mucua: mucua }; $('#whereis').append(_.template(MucuaHasFileTpl, data)); }); } }); } }); return MediaView; });