123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- (function(root, factory) {
- if (typeof define === 'function' && define.amd) {
- define(['elfinder'], factory);
- } else if (typeof exports !== 'undefined') {
- module.exports = factory(require('elfinder'));
- } else {
- factory(root.elFinder);
- }
- }(this, function(elFinder) {
- "use strict";
- try {
- if (! elFinder.prototype.commands.quicklook.plugins) {
- elFinder.prototype.commands.quicklook.plugins = [];
- }
- elFinder.prototype.commands.quicklook.plugins.push(function(ql) {
- var fm = ql.fm,
- preview = ql.preview;
-
- preview.on('update', function(e) {
- var win = ql.window,
- file = e.file, node, loading;
-
- if (file.mime.indexOf('application/vnd.google-apps.') === 0) {
- if (file.url == '1') {
- preview.hide();
- $('<div class="elfinder-quicklook-info-data"><button class="elfinder-info-button">'+fm.i18n('getLink')+'</button></div>').appendTo(ql.info.find('.elfinder-quicklook-info'))
- .on('click', function() {
- $(this).html('<span class="elfinder-spinner">');
- fm.request({
- data : {cmd : 'url', target : file.hash},
- preventDefault : true
- })
- .always(function() {
- preview.show();
- $(this).html('');
- })
- .done(function(data) {
- var rfile = fm.file(file.hash);
- ql.value.url = rfile.url = data.url || '';
- if (ql.value.url) {
- preview.trigger($.Event('update', {file : ql.value}));
- }
- });
- });
- }
- if (file.url !== '' && file.url != '1') {
- e.stopImmediatePropagation();
- loading = $('<div class="elfinder-quicklook-info-data"><span class="elfinder-spinner-text">'+fm.i18n('nowLoading')+'</span><span class="elfinder-spinner"/></div>').appendTo(ql.info.find('.elfinder-quicklook-info'));
- node = $('<iframe class="elfinder-quicklook-preview-iframe"/>')
- .css('background-color', 'transparent')
- .on('load', function() {
- ql.hideinfo();
- loading.remove();
- node.css('background-color', '#fff');
- })
- .on('error', function() {
- loading.remove();
- node.remove();
- })
- .appendTo(preview)
- .attr('src', fm.url(file.hash));
- preview.one('change', function() {
- loading.remove();
- node.off('load').remove();
- });
- }
- }
-
- });
- });
- } catch(e) {}
- }));
|