| @@ 5922-5964 (lines=43) @@ | ||
| 5919 | elm.className = self.classes; |
|
| 5920 | return elm.outerHTML; |
|
| 5921 | }, |
|
| 5922 | postRender: function () { |
|
| 5923 | var self = this; |
|
| 5924 | var toggleDragClass = function (e) { |
|
| 5925 | e.preventDefault(); |
|
| 5926 | self.classes.toggle('dragenter'); |
|
| 5927 | self.getEl().className = self.classes; |
|
| 5928 | }; |
|
| 5929 | var filter = function (files) { |
|
| 5930 | var accept = self.settings.accept; |
|
| 5931 | if (typeof accept !== 'string') { |
|
| 5932 | return files; |
|
| 5933 | } |
|
| 5934 | var re = new RegExp('(' + accept.split(/\s*,\s*/).join('|') + ')$', 'i'); |
|
| 5935 | return global$4.grep(files, function (file) { |
|
| 5936 | return re.test(file.name); |
|
| 5937 | }); |
|
| 5938 | }; |
|
| 5939 | self._super(); |
|
| 5940 | self.$el.on('dragover', function (e) { |
|
| 5941 | e.preventDefault(); |
|
| 5942 | }); |
|
| 5943 | self.$el.on('dragenter', toggleDragClass); |
|
| 5944 | self.$el.on('dragleave', toggleDragClass); |
|
| 5945 | self.$el.on('drop', function (e) { |
|
| 5946 | e.preventDefault(); |
|
| 5947 | if (self.state.get('disabled')) { |
|
| 5948 | return; |
|
| 5949 | } |
|
| 5950 | var files = filter(e.dataTransfer.files); |
|
| 5951 | self.value = function () { |
|
| 5952 | if (!files.length) { |
|
| 5953 | return null; |
|
| 5954 | } else if (self.settings.multiple) { |
|
| 5955 | return files; |
|
| 5956 | } else { |
|
| 5957 | return files[0]; |
|
| 5958 | } |
|
| 5959 | }; |
|
| 5960 | if (files.length) { |
|
| 5961 | self.fire('change', e); |
|
| 5962 | } |
|
| 5963 | }); |
|
| 5964 | }, |
|
| 5965 | remove: function () { |
|
| 5966 | this.$el.off(); |
|
| 5967 | this._super(); |
|
| @@ 5740-5782 (lines=43) @@ | ||
| 5737 | elm.className = self.classes; |
|
| 5738 | return elm.outerHTML; |
|
| 5739 | }, |
|
| 5740 | postRender: function () { |
|
| 5741 | var self = this; |
|
| 5742 | var toggleDragClass = function (e) { |
|
| 5743 | e.preventDefault(); |
|
| 5744 | self.classes.toggle('dragenter'); |
|
| 5745 | self.getEl().className = self.classes; |
|
| 5746 | }; |
|
| 5747 | var filter = function (files) { |
|
| 5748 | var accept = self.settings.accept; |
|
| 5749 | if (typeof accept !== 'string') { |
|
| 5750 | return files; |
|
| 5751 | } |
|
| 5752 | var re = new RegExp('(' + accept.split(/\s*,\s*/).join('|') + ')$', 'i'); |
|
| 5753 | return global$2.grep(files, function (file) { |
|
| 5754 | return re.test(file.name); |
|
| 5755 | }); |
|
| 5756 | }; |
|
| 5757 | self._super(); |
|
| 5758 | self.$el.on('dragover', function (e) { |
|
| 5759 | e.preventDefault(); |
|
| 5760 | }); |
|
| 5761 | self.$el.on('dragenter', toggleDragClass); |
|
| 5762 | self.$el.on('dragleave', toggleDragClass); |
|
| 5763 | self.$el.on('drop', function (e) { |
|
| 5764 | e.preventDefault(); |
|
| 5765 | if (self.state.get('disabled')) { |
|
| 5766 | return; |
|
| 5767 | } |
|
| 5768 | var files = filter(e.dataTransfer.files); |
|
| 5769 | self.value = function () { |
|
| 5770 | if (!files.length) { |
|
| 5771 | return null; |
|
| 5772 | } else if (self.settings.multiple) { |
|
| 5773 | return files; |
|
| 5774 | } else { |
|
| 5775 | return files[0]; |
|
| 5776 | } |
|
| 5777 | }; |
|
| 5778 | if (files.length) { |
|
| 5779 | self.fire('change', e); |
|
| 5780 | } |
|
| 5781 | }); |
|
| 5782 | }, |
|
| 5783 | remove: function () { |
|
| 5784 | this.$el.off(); |
|
| 5785 | this._super(); |
|