text: /*
   * jQuery File Upload Plugin Angular JS Example 1.2.1
   * 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 window, angular */
  
  (function () {
      'use strict';
  
      var isOnGitHub = window.location.hostname === 'blueimp.github.io',
          url = isOnGitHub ? '//jquery-file-upload.appspot.com/' : 'server/php/';
  
      angular.module('demo', [
          'blueimp.fileupload'
      ])
          .config([
              '$httpProvider', 'fileUploadProvider',
              function ($httpProvider, fileUploadProvider) {
                  delete $httpProvider.defaults.headers.common['X-Requested-With'];
                  fileUploadProvider.defaults.redirect = window.location.href.replace(
                      /\/[^\/]*$/,
                      '/cors/result.html?%s'
                  );
                  if (isOnGitHub) {
                      // Demo settings:
                      angular.extend(fileUploadProvider.defaults, {
                          // Enable image resizing, except for Android and Opera,
                          // which actually support image resizing, but fail to
                          // send Blob objects via XHR requests:
                          disableImageResize: /Android(?!.*Chrome)|Opera/
                              .test(window.navigator.userAgent),
                          maxFileSize: 5000000,
                          //acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
                          acceptFileTypes: /(\.|\/)(txt)$/i
                      });
                  }
              }
          ])
  
          .controller('DemoFileUploadController', [
              '$scope', '$http', '$filter', '$window',
              function ($scope, $http) {
                  $scope.options = {
                      url: url
                  };
                  if (!isOnGitHub) {
                      $scope.loadingFiles = true;
                      $http.get(url)
                          .then(
                              function (response) {
                                  $scope.loadingFiles = false;
                                  $scope.queue = response.data.files || [];
                              },
                              function () {
                                  $scope.loadingFiles = false;
                              }
                          );
                  }
              }
          ])
  
          .controller('FileDestroyController', [
              '$scope', '$http',
              function ($scope, $http) {
                  var file = $scope.file,
                      state;
                  if (file.url) {
                      file.$state = function () {
                          return state;
                      };
                      file.$destroy = function () {
                          state = 'pending';
                          return $http({
                              url: file.deleteUrl,
                              method: file.deleteType
                          }).then(
                              function () {
                                  state = 'resolved';
                                  $scope.clear(file);
                              },
                              function () {
                                  state = 'rejected';
                              }
                          );
                      };
                  } else if (!file.$cancel && !file._index) {
                      file.$cancel = function () {
                          $scope.clear(file);
                      };
                  }
              }
          ]);
  
  }());
  