From fee46ba1da25cfb3f52fc527a91f31f7c7c7eb37 Mon Sep 17 00:00:00 2001 From: Jeremy Fagis Date: Thu, 18 Jun 2015 14:49:04 +0200 Subject: [PATCH] Various fixies. --- LICENSE | 22 ---------------------- README.md | 16 ++++++++-------- dist/css/demo.css | 2 +- dist/css/dropify.css | 2 +- dist/css/dropify.min.css | 2 +- dist/js/dropify.js | 20 ++++++++++---------- dist/js/dropify.min.js | 4 ++-- package.json | 13 ++++++------- src/js/dropify.js | 18 +++++++++--------- 9 files changed, 38 insertions(+), 61 deletions(-) delete mode 100644 LICENSE diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 8fccd27..0000000 --- a/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Jeremy FAGIS - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/README.md b/README.md index 007dfd6..1fa1cfd 100644 --- a/README.md +++ b/README.md @@ -92,10 +92,10 @@ $('.dropify').dropify(); ```javascript $('.dropify').dropify({ messages: { - defaultMessage: 'Drag and drop a file here or click', - replaceMessage: 'Drag and drop or click to replace', - removeMessage: 'Remove', - errorMessage: 'Sorry, this file is too large' + 'default': 'Drag and drop a file here or click', + 'replace': 'Drag and drop or click to replace', + 'remove': 'Remove', + 'error': 'Sorry, this file is too large' } } @@ -108,11 +108,11 @@ $('.dropify').dropify({ $('.dropify').dropify({ tpl: { wrap: '
', - message: '

defaultMessage

', - preview: '

replaceMessage

', + message: '

{{ default }}

', + preview: '

{{ replace }}

', filename: '

', - clearButton: '', - error: '

errorMessage

' + clearButton: '', + error: '

{{ errorĀ }}

' } } ``` diff --git a/dist/css/demo.css b/dist/css/demo.css index 04ad8dd..47e06ee 100644 --- a/dist/css/demo.css +++ b/dist/css/demo.css @@ -1,6 +1,6 @@ /*! * ============================================================= - * dropify v0.1.1 - Override your input files with style. + * dropify v0.1.2 - Override your input files with style. * https://github.com/JeremyFagis/dropify * * (c) 2015 - Jeremy FAGIS (http://fagis.fr) diff --git a/dist/css/dropify.css b/dist/css/dropify.css index 2488f39..c91d463 100644 --- a/dist/css/dropify.css +++ b/dist/css/dropify.css @@ -1,6 +1,6 @@ /*! * ============================================================= - * dropify v0.1.1 - Override your input files with style. + * dropify v0.1.2 - Override your input files with style. * https://github.com/JeremyFagis/dropify * * (c) 2015 - Jeremy FAGIS (http://fagis.fr) diff --git a/dist/css/dropify.min.css b/dist/css/dropify.min.css index cfc7e77..89fd258 100644 --- a/dist/css/dropify.min.css +++ b/dist/css/dropify.min.css @@ -1,6 +1,6 @@ /*! * ============================================================= - * dropify v0.1.1 - Override your input files with style. + * dropify v0.1.2 - Override your input files with style. * https://github.com/JeremyFagis/dropify * * (c) 2015 - Jeremy FAGIS (http://fagis.fr) diff --git a/dist/js/dropify.js b/dist/js/dropify.js index bf87d02..02d6062 100644 --- a/dist/js/dropify.js +++ b/dist/js/dropify.js @@ -1,6 +1,6 @@ /*! * ============================================================= - * dropify v0.1.1 - Override your input files with style. + * dropify v0.1.2 - Override your input files with style. * https://github.com/JeremyFagis/dropify * * (c) 2015 - Jeremy FAGIS (http://fagis.fr) @@ -27,18 +27,18 @@ function Dropify(element, options) { defaultFile: '', maxFileSize: 0, messages: { - defaultMessage: 'Drag and drop a file here or click', - replaceMessage: 'Drag and drop or click to replace', - removeMessage: 'Remove', - errorMessage: 'Sorry, this file is too large' + 'default': 'Drag and drop a file here or click', + 'replace': 'Drag and drop or click to replace', + 'remove': 'Remove', + 'error': 'Sorry, this file is too large' }, tpl: { wrap: '
', - message: '

defaultMessage

', - preview: '

replaceMessage

', + message: '

{{ default }}

', + preview: '

{{ replace }}

', filename: '

', - clearButton: '', - error: '

errorMessage

' + clearButton: '', + error: '

{{ error }}

' } }; @@ -210,7 +210,7 @@ Dropify.prototype.translate = function() { for (var name in this.settings.tpl) { for (var key in this.settings.messages) { - this.settings.tpl[name] = this.settings.tpl[name].replace(key, this.settings.messages[key]); + this.settings.tpl[name] = this.settings.tpl[name].replace('{{ ' + key + ' }}', this.settings.messages[key]); } } }; diff --git a/dist/js/dropify.min.js b/dist/js/dropify.min.js index 0342870..59dc765 100644 --- a/dist/js/dropify.min.js +++ b/dist/js/dropify.min.js @@ -1,10 +1,10 @@ /*! * ============================================================= - * dropify v0.1.1 - Override your input files with style. + * dropify v0.1.2 - Override your input files with style. * https://github.com/JeremyFagis/dropify * * (c) 2015 - Jeremy FAGIS (http://fagis.fr) * ============================================================= */ -!function(e,i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):e.Dropify=i(e.$)}(this,function(e){function i(i,t){if(window.File&&window.FileReader&&window.FileList&&window.Blob){var s={defaultFile:"",maxFileSize:0,messages:{defaultMessage:"Drag and drop a file here or click",replaceMessage:"Drag and drop or click to replace",removeMessage:"Remove",errorMessage:"Sorry, this file is too large"},tpl:{wrap:'
',message:'

defaultMessage

',preview:'

replaceMessage

',filename:'

',clearButton:'',error:'

errorMessage

'}};this.element=i,this.input=e(this.element),this.wrapper=null,this.preview=null,this.filenameWrapper=null,this.settings=e.extend(!0,s,t,this.input.data()),this.imgFileFormats=["png","jpg","jpeg","gif","bmp"],this.file=null,this.filename=null,this.isDisabled=!1,this.onChange=this.onChange.bind(this),this.translate(),this.createElements(),this.setSize(),this.input.on("change",this.onChange)}}var t="dropify";return i.prototype.onChange=function(){this.resetPreview(),this.setFilename(this.input.val()),this.readUrl(this.element)},i.prototype.createElements=function(){this.input.wrap(e(this.settings.tpl.wrap)),this.wrapper=this.input.parent();var i=e(this.settings.tpl.message).insertBefore(this.input);e(this.settings.tpl.error).appendTo(i),this.isTouchDevice()===!0&&this.wrapper.addClass("touch-fallback"),this.input.attr("disabled")&&(this.isDisabled=!0,this.wrapper.addClass("disabled")),this.preview=e(this.settings.tpl.preview),this.preview.insertAfter(this.input),this.isDisabled===!1&&(this.clearButton=e(this.settings.tpl.clearButton),this.clearButton.insertAfter(this.input),this.clearButton.on("click",function(){this.clearElement()}.bind(this))),this.filenameWrapper=e(this.settings.tpl.filename),this.filenameWrapper.prependTo(this.preview.find(".dropify-infos-inner"));var t=this.settings.defaultFile||"";""!=t.trim()&&(this.setFilename(t),this.setPreview(t))},i.prototype.readUrl=function(e){if(e.files&&e.files[0]){var i=new FileReader;this.file=e.files[0],this.checkFileSize()?(i.onload=function(e){this.setPreview(e.target.result,this.file.name)}.bind(this),i.readAsDataURL(this.file)):(this.wrapper.addClass("has-error"),this.resetPreview(),this.clearElement())}},i.prototype.setPreview=function(i){this.wrapper.removeClass("has-error").addClass("has-preview");var t=this.preview.children(".dropify-render");this.isImage()===!0?e("").attr("src",i).appendTo(t):(e("").attr("class","dropify-font-file").appendTo(t),e('').html(this.getFileType()).appendTo(t)),this.preview.fadeIn()},i.prototype.resetPreview=function(){this.wrapper.removeClass("has-preview");var e=this.preview.children(".dropify-render");e.find(".dropify-extension").remove(),e.find("i").remove(),e.find("img").remove(),this.preview.hide()},i.prototype.getFilename=function(e){var i=e.split("\\").pop();return i==e&&(i=e.split("/").pop()),""!=e?i:""},i.prototype.setFilename=function(e){var e=this.getFilename(e);this.filename=e,this.filenameWrapper.children(".dropify-filename-inner").html(e)},i.prototype.clearElement=function(){this.file=null,this.input.val(""),this.resetPreview()},i.prototype.setSize=function(){this.settings.height&&this.wrapper.height(this.settings.height)},i.prototype.isTouchDevice=function(){return"ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0},i.prototype.getFileType=function(){return this.filename.split(".").pop().toLowerCase()},i.prototype.isImage=function(){return"-1"!=this.imgFileFormats.indexOf(this.getFileType())?!0:!1},i.prototype.translate=function(){for(var e in this.settings.tpl)for(var i in this.settings.messages)this.settings.tpl[e]=this.settings.tpl[e].replace(i,this.settings.messages[i])},i.prototype.checkFileSize=function(){return 0===this.maxFileSizeToByte()||this.file.size<=this.maxFileSizeToByte()?!0:!1},i.prototype.maxFileSizeToByte=function(){var e=0;if(0!==this.settings.maxFileSize){var i=this.settings.maxFileSize.slice(-1).toUpperCase(),t=1024,s=1024*t,r=1024*s;"K"===i?e=parseFloat(this.settings.maxFileSize)*t:"M"===i?e=parseFloat(this.settings.maxFileSize)*s:"G"===i&&(e=parseFloat(this.settings.maxFileSize)*r)}return e},e.fn[t]=function(s){return this.each(function(){e.data(this,"plugin_"+t)||e.data(this,"plugin_"+t,new i(this,s))}),this},i}); \ No newline at end of file +!function(e,i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):e.Dropify=i(e.$)}(this,function(e){function i(i,t){if(window.File&&window.FileReader&&window.FileList&&window.Blob){var s={defaultFile:"",maxFileSize:0,messages:{"default":"Drag and drop a file here or click",replace:"Drag and drop or click to replace",remove:"Remove",error:"Sorry, this file is too large"},tpl:{wrap:'
',message:'

{{ default }}

',preview:'

{{ replace }}

',filename:'

',clearButton:'',error:'

{{ error }}

'}};this.element=i,this.input=e(this.element),this.wrapper=null,this.preview=null,this.filenameWrapper=null,this.settings=e.extend(!0,s,t,this.input.data()),this.imgFileFormats=["png","jpg","jpeg","gif","bmp"],this.file=null,this.filename=null,this.isDisabled=!1,this.onChange=this.onChange.bind(this),this.translate(),this.createElements(),this.setSize(),this.input.on("change",this.onChange)}}var t="dropify";return i.prototype.onChange=function(){this.resetPreview(),this.setFilename(this.input.val()),this.readUrl(this.element)},i.prototype.createElements=function(){this.input.wrap(e(this.settings.tpl.wrap)),this.wrapper=this.input.parent();var i=e(this.settings.tpl.message).insertBefore(this.input);e(this.settings.tpl.error).appendTo(i),this.isTouchDevice()===!0&&this.wrapper.addClass("touch-fallback"),this.input.attr("disabled")&&(this.isDisabled=!0,this.wrapper.addClass("disabled")),this.preview=e(this.settings.tpl.preview),this.preview.insertAfter(this.input),this.isDisabled===!1&&(this.clearButton=e(this.settings.tpl.clearButton),this.clearButton.insertAfter(this.input),this.clearButton.on("click",function(){this.clearElement()}.bind(this))),this.filenameWrapper=e(this.settings.tpl.filename),this.filenameWrapper.prependTo(this.preview.find(".dropify-infos-inner"));var t=this.settings.defaultFile||"";""!=t.trim()&&(this.setFilename(t),this.setPreview(t))},i.prototype.readUrl=function(e){if(e.files&&e.files[0]){var i=new FileReader;this.file=e.files[0],this.checkFileSize()?(i.onload=function(e){this.setPreview(e.target.result,this.file.name)}.bind(this),i.readAsDataURL(this.file)):(this.wrapper.addClass("has-error"),this.resetPreview(),this.clearElement())}},i.prototype.setPreview=function(i){this.wrapper.removeClass("has-error").addClass("has-preview");var t=this.preview.children(".dropify-render");this.isImage()===!0?e("").attr("src",i).appendTo(t):(e("").attr("class","dropify-font-file").appendTo(t),e('').html(this.getFileType()).appendTo(t)),this.preview.fadeIn()},i.prototype.resetPreview=function(){this.wrapper.removeClass("has-preview");var e=this.preview.children(".dropify-render");e.find(".dropify-extension").remove(),e.find("i").remove(),e.find("img").remove(),this.preview.hide()},i.prototype.getFilename=function(e){var i=e.split("\\").pop();return i==e&&(i=e.split("/").pop()),""!=e?i:""},i.prototype.setFilename=function(e){var e=this.getFilename(e);this.filename=e,this.filenameWrapper.children(".dropify-filename-inner").html(e)},i.prototype.clearElement=function(){this.file=null,this.input.val(""),this.resetPreview()},i.prototype.setSize=function(){this.settings.height&&this.wrapper.height(this.settings.height)},i.prototype.isTouchDevice=function(){return"ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0},i.prototype.getFileType=function(){return this.filename.split(".").pop().toLowerCase()},i.prototype.isImage=function(){return"-1"!=this.imgFileFormats.indexOf(this.getFileType())?!0:!1},i.prototype.translate=function(){for(var e in this.settings.tpl)for(var i in this.settings.messages)this.settings.tpl[e]=this.settings.tpl[e].replace("{{ "+i+" }}",this.settings.messages[i])},i.prototype.checkFileSize=function(){return 0===this.maxFileSizeToByte()||this.file.size<=this.maxFileSizeToByte()?!0:!1},i.prototype.maxFileSizeToByte=function(){var e=0;if(0!==this.settings.maxFileSize){var i=this.settings.maxFileSize.slice(-1).toUpperCase(),t=1024,s=1024*t,r=1024*s;"K"===i?e=parseFloat(this.settings.maxFileSize)*t:"M"===i?e=parseFloat(this.settings.maxFileSize)*s:"G"===i&&(e=parseFloat(this.settings.maxFileSize)*r)}return e},e.fn[t]=function(s){return this.each(function(){e.data(this,"plugin_"+t)||e.data(this,"plugin_"+t,new i(this,s))}),this},i}); \ No newline at end of file diff --git a/package.json b/package.json index 55bc796..1375303 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,22 @@ { "name": "dropify", "description": "Override your input files with style.", - "version": "0.1.1", + "version": "0.1.2", "homepage": "https://github.com/JeremyFagis/dropify", "author": "Jeremy FAGIS (http://fagis.fr)", "repository": { "type": "git", "url": "https://github.com/JeremyFagis/dropify" }, - "licenses": [ - { - "type": "MIT", - "url": "https://raw.githubusercontent.com/JeremyFagis/dropify/master/LICENSE" - } - ], + "license": "MIT", "bugs": { "url": "https://github.com/JeremyFagis/dropify/issues" }, + "main": "dist/js/dropify.js", "dependencies": { + "jquery": "*" + }, + "devDependencies": { "gulp": "^3.8.11", "gulp-autoprefixer": "^2.1.0", "gulp-header": "^1.2.2", diff --git a/src/js/dropify.js b/src/js/dropify.js index 000f7de..4f168fe 100644 --- a/src/js/dropify.js +++ b/src/js/dropify.js @@ -9,18 +9,18 @@ function Dropify(element, options) { defaultFile: '', maxFileSize: 0, messages: { - defaultMessage: 'Drag and drop a file here or click', - replaceMessage: 'Drag and drop or click to replace', - removeMessage: 'Remove', - errorMessage: 'Sorry, this file is too large' + 'default': 'Drag and drop a file here or click', + 'replace': 'Drag and drop or click to replace', + 'remove': 'Remove', + 'error': 'Sorry, this file is too large' }, tpl: { wrap: '
', - message: '

defaultMessage

', - preview: '

replaceMessage

', + message: '

{{ default }}

', + preview: '

{{ replace }}

', filename: '

', - clearButton: '', - error: '

errorMessage

' + clearButton: '', + error: '

{{ error }}

' } }; @@ -192,7 +192,7 @@ Dropify.prototype.translate = function() { for (var name in this.settings.tpl) { for (var key in this.settings.messages) { - this.settings.tpl[name] = this.settings.tpl[name].replace(key, this.settings.messages[key]); + this.settings.tpl[name] = this.settings.tpl[name].replace('{{ ' + key + ' }}', this.settings.messages[key]); } } };