123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /*
- * jQuery File Upload jQuery UI Plugin
- * https://github.com/blueimp/jQuery-File-Upload
- *
- * Copyright 2013, Sebastian Tschan
- * https://blueimp.net
- *
- * Licensed under the MIT license:
- * https://opensource.org/licenses/MIT
- */
- /* jshint nomen:false */
- /* global define, require, window */
- ;(function (factory) {
- 'use strict';
- if (typeof define === 'function' && define.amd) {
- // Register as an anonymous AMD module:
- define([
- 'jquery',
- './jquery.fileupload-ui'
- ], factory);
- } else if (typeof exports === 'object') {
- // Node/CommonJS:
- factory(
- require('jquery'),
- require('./jquery.fileupload-ui')
- );
- } else {
- // Browser globals:
- factory(window.jQuery);
- }
- }(function ($) {
- 'use strict';
- $.widget('blueimp.fileupload', $.blueimp.fileupload, {
- options: {
- processdone: function (e, data) {
- data.context.find('.start').button('enable');
- },
- progress: function (e, data) {
- if (data.context) {
- data.context.find('.progress').progressbar(
- 'option',
- 'value',
- parseInt(data.loaded / data.total * 100, 10)
- );
- }
- },
- progressall: function (e, data) {
- var $this = $(this);
- $this.find('.fileupload-progress')
- .find('.progress').progressbar(
- 'option',
- 'value',
- parseInt(data.loaded / data.total * 100, 10)
- ).end()
- .find('.progress-extended').each(function () {
- $(this).html(
- ($this.data('blueimp-fileupload') ||
- $this.data('fileupload'))
- ._renderExtendedProgress(data)
- );
- });
- }
- },
- _renderUpload: function (func, files) {
- var node = this._super(func, files),
- showIconText = $(window).width() > 480;
- node.find('.progress').empty().progressbar();
- node.find('.start').button({
- icons: {primary: 'ui-icon-circle-arrow-e'},
- text: showIconText
- });
- node.find('.cancel').button({
- icons: {primary: 'ui-icon-cancel'},
- text: showIconText
- });
- if (node.hasClass('fade')) {
- node.hide();
- }
- return node;
- },
- _renderDownload: function (func, files) {
- var node = this._super(func, files),
- showIconText = $(window).width() > 480;
- node.find('.delete').button({
- icons: {primary: 'ui-icon-trash'},
- text: showIconText
- });
- if (node.hasClass('fade')) {
- node.hide();
- }
- return node;
- },
- _startHandler: function (e) {
- $(e.currentTarget).button('disable');
- this._super(e);
- },
- _transition: function (node) {
- var deferred = $.Deferred();
- if (node.hasClass('fade')) {
- node.fadeToggle(
- this.options.transitionDuration,
- this.options.transitionEasing,
- function () {
- deferred.resolveWith(node);
- }
- );
- } else {
- deferred.resolveWith(node);
- }
- return deferred;
- },
- _create: function () {
- this._super();
- this.element
- .find('.fileupload-buttonbar')
- .find('.fileinput-button').each(function () {
- var input = $(this).find('input:file').detach();
- $(this)
- .button({icons: {primary: 'ui-icon-plusthick'}})
- .append(input);
- })
- .end().find('.start')
- .button({icons: {primary: 'ui-icon-circle-arrow-e'}})
- .end().find('.cancel')
- .button({icons: {primary: 'ui-icon-cancel'}})
- .end().find('.delete')
- .button({icons: {primary: 'ui-icon-trash'}})
- .end().find('.progress').progressbar();
- },
- _destroy: function () {
- this.element
- .find('.fileupload-buttonbar')
- .find('.fileinput-button').each(function () {
- var input = $(this).find('input:file').detach();
- $(this)
- .button('destroy')
- .append(input);
- })
- .end().find('.start')
- .button('destroy')
- .end().find('.cancel')
- .button('destroy')
- .end().find('.delete')
- .button('destroy')
- .end().find('.progress').progressbar('destroy');
- this._super();
- }
- });
- }));
|