Blame view

assets/js/jquery.fileupload-jquery-ui.js 5.2 KB
e10587b1   Yarik   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
  /*

   * 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:

   * http://www.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'));

      } 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();

          }

  

      });

  

  }));