diff --git a/CHANGE.md b/CHANGE.md index 0df1f3a2..60dc6c2c 100755 --- a/CHANGE.md +++ b/CHANGE.md @@ -1,10 +1,11 @@ Change Log: `bootstrap-fileinput` ================================= -## version 4.4.5 (_under development_) +## version 4.4.5 -**Date:** 30-Sep-2017 +**Date:** 01-Oct-2017 +- Update readme and example index to use plugin's CDN libraries. - (enh #1093): Revamp SCSS with better variables and extensions. - (enh #1091): Set default button type for close button markup template. - (enh #1090): Auto detect intelligently the preview type based on file content. diff --git a/README.md b/README.md index d9411d15..9fbafa37 100755 --- a/README.md +++ b/README.md @@ -60,19 +60,19 @@ Step 1: Load the following assets in your header. ```html - + - + - + - + - + @@ -80,11 +80,11 @@ Step 1: Load the following assets in your header. dialog. bootstrap 4.x is supported. You can also use the bootstrap js 3.3.x versions. --> - + - + - + ``` If you noticed, you need to load the `jquery.min.js` and `bootstrap.min.css` in addition to the `fileinput.min.css` and `fileinput.min.js`. The theme file `themes/fa/theme.js` can be optionally included for the font awesome icons styling. The locale file `.js` can be optionally included for translating for your language if needed. diff --git a/css/fileinput-rtl.css b/css/fileinput-rtl.css index 27fb4e42..147ca7c1 100644 --- a/css/fileinput-rtl.css +++ b/css/fileinput-rtl.css @@ -13,67 +13,86 @@ .kv-rtl .close, .kv-rtl .krajee-default .file-actions, .kv-rtl .krajee-default .file-other-error { float: left; } + .kv-rtl .krajee-default.file-preview-frame, .kv-rtl .krajee-default .file-drag-handle, .kv-rtl .krajee-default .file-upload-indicator { float: right; } + .kv-rtl .file-zoom-dialog, .kv-rtl .file-error-message pre, .kv-rtl .file-error-message ul { text-align: right; } + .kv-rtl { direction: rtl; } + .kv-rtl .floating-buttons { left: 10px; right: auto; } + .kv-rtl .floating-buttons .btn-kv { margin-left: 0; margin-right: 3px; } + .kv-rtl .file-caption-icon { left: auto; right: 8px; } + .kv-rtl .file-drop-zone { margin: 12px 12px 12px 15px; } + .kv-rtl .btn-prev { right: 1px; left: auto; } + .kv-rtl .btn-next { left: 1px; right: auto; } + .kv-rtl .pull-right, .kv-rtl .float-right { float: left !important; } + .kv-rtl .pull-left, .kv-rtl .float-left { float: right !important; } + .kv-rtl .kv-zoom-title { direction: ltr; } + .kv-rtl .krajee-default.file-preview-frame { box-shadow: -1px 1px 5px 0 #a2958a; } + .kv-rtl .krajee-default.file-preview-frame:not(.file-preview-error):hover { box-shadow: -3px 3px 5px 0 #333; } + .kv-rtl .kv-zoom-actions .btn-kv { margin-left: 0; margin-right: 3px; } + .kv-rtl .file-caption.icon-visible .file-caption-name { padding-left: 0; padding-right: 15px; } + .kv-rtl .input-group-btn:last-child > .btn { border-radius: 4px 0 0 4px; } + .kv-rtl .input-group .form-control:first-child { border-radius: 0 4px 4px 0; } + .kv-rtl .btn-file input[type=file] { right: auto; left: 0; diff --git a/css/fileinput.css b/css/fileinput.css index 20b95dca..f715db67 100755 --- a/css/fileinput.css +++ b/css/fileinput.css @@ -14,32 +14,40 @@ width: 0; height: 0; } + .kv-hidden, .file-caption-icon, .file-zoom-dialog .modal-header:before, .file-zoom-dialog .modal-header:after, .file-input-new .file-preview, .file-input-new .close, .file-input-new .glyphicon-file, .file-input-new .fileinput-remove-button, .file-input-new .fileinput-upload-button, .file-input-new .no-browse .input-group-btn, .file-input-ajax-new .fileinput-remove-button, .file-input-ajax-new .fileinput-upload-button, .file-input-ajax-new .no-browse .input-group-btn, .hide-content .kv-file-content { display: none; } + .btn-file input[type=file], .file-caption-icon, .file-preview .fileinput-remove, .krajee-default .file-thumb-progress, .file-zoom-dialog .btn-navigate, .file-zoom-dialog .floating-buttons { position: absolute; } + .file-loading:before, .btn-file, .file-caption, .file-preview, .krajee-default.file-preview-frame, .krajee-default .file-thumbnail-footer, .file-zoom-dialog .modal-dialog { position: relative; } + .file-error-message pre, .file-error-message ul, .krajee-default .file-actions, .krajee-default .file-other-error { text-align: left; } + .file-error-message pre, .file-error-message ul { margin: 0; } + .krajee-default .file-drag-handle, .krajee-default .file-upload-indicator { float: left; margin: 5px 0 -5px; width: 16px; height: 16px; } + .krajee-default .file-thumb-progress .progress, .krajee-default .file-thumb-progress .progress-bar { height: 11px; font-size: 9px; line-height: 10px; } + .krajee-default .file-caption-info, .krajee-default .file-size-info { display: block; white-space: nowrap; @@ -49,38 +57,49 @@ height: 15px; margin: auto; } + .file-zoom-content > .file-object.type-video, .file-zoom-content > .file-object.type-flash, .file-zoom-content > .file-object.type-image { max-width: 100%; max-height: 100%; width: auto; } + .file-zoom-content > .file-object.type-video, .file-zoom-content > .file-object.type-flash { height: 100%; } + .file-zoom-content > .file-object.type-pdf, .file-zoom-content > .file-object.type-html, .file-zoom-content > .file-object.type-text, .file-zoom-content > .file-object.type-default { width: 100%; } + .rotate-2 { transform: rotateY(180deg); } + .rotate-3 { transform: rotate(180deg); } + .rotate-4 { transform: rotate(180deg) rotateY(180deg); } + .rotate-5 { transform: rotate(270deg) rotateY(180deg); } + .rotate-6 { transform: rotate(90deg); } + .rotate-7 { transform: rotate(90deg) rotateY(180deg); } + .rotate-8 { transform: rotate(270deg); } + .file-loading:before { content: " Loading..."; display: inline-block; @@ -91,13 +110,16 @@ color: #999; background: transparent url(../img/loading.gif) top left no-repeat; } + .file-object { margin: 0 0 -5px 0; padding: 0; } + .btn-file { overflow: hidden; } + .btn-file input[type=file] { top: 0; right: 0; @@ -109,11 +131,13 @@ cursor: inherit; display: block; } + .btn-file ::-ms-browse { font-size: 10000px; width: 100%; height: 100%; } + .file-caption .file-caption-name { width: 100%; margin: 0; @@ -123,16 +147,20 @@ background: none; outline: none; } + .file-caption.icon-visible .file-caption-icon { display: inline-block; } + .file-caption.icon-visible .file-caption-name { padding-left: 15px; } + .file-caption-icon { line-height: 1; left: 8px; } + .file-error-message { color: #a94442; background-color: #f2dede; @@ -141,14 +169,17 @@ border-radius: 4px; padding: 15px; } + .file-error-message pre { margin: 5px 0; } + .file-caption-disabled { background-color: #eee; cursor: not-allowed; opacity: 1; } + .file-preview { border-radius: 5px; border: 1px solid #ddd; @@ -156,24 +187,29 @@ width: 100%; margin-bottom: 5px; } + .file-preview .btn-xs { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } + .file-preview .fileinput-remove { top: 1px; right: 1px; line-height: 10px; } + .file-preview .clickable { cursor: pointer; } + .file-preview-image { font: 40px Impact, Charcoal, sans-serif; color: #008000; } + .krajee-default.file-preview-frame { margin: 8px; border: 1px solid #ddd; @@ -182,16 +218,20 @@ float: left; text-align: center; } + .krajee-default.file-preview-frame .kv-file-content { width: 213px; height: 160px; } + .krajee-default.file-preview-frame .file-thumbnail-footer { height: 70px; } + .krajee-default.file-preview-frame:not(.file-preview-error):hover { box-shadow: 3px 3px 5px 0 #333; } + .krajee-default .file-preview-text { display: block; color: #428bca; @@ -201,17 +241,21 @@ padding: 8px; resize: none; } + .krajee-default .file-preview-html { border: 1px solid #ddd; padding: 8px; overflow: auto; } + .krajee-default .file-other-icon { font-size: 6em; } + .krajee-default .file-footer-buttons { float: right; } + .krajee-default .file-footer-caption { display: block; text-align: center; @@ -220,49 +264,60 @@ color: #777; margin-bottom: 15px; } + .krajee-default .file-preview-error { opacity: 0.65; box-shadow: none; } + .krajee-default .file-thumb-progress { height: 11px; top: 37px; left: 0; right: 0; } + .krajee-default.kvsortable-ghost { background: #e1edf7; border: 2px solid #a1abff; } + .krajee-default .file-preview-other:hover { opacity: 0.8; } + .krajee-default .file-preview-frame:not(.file-preview-error) .file-footer-caption:hover { color: #000; } + .kv-upload-progress .progress { height: 20px; line-height: 20px; margin: 10px 0; overflow: hidden; } + .kv-upload-progress .progress-bar { height: 20px; line-height: 20px; } + /*noinspection CssOverwrittenProperties*/ .file-zoom-dialog .file-other-icon { font-size: 22em; font-size: 50vmin; } + .file-zoom-dialog .modal-dialog { width: auto; } + .file-zoom-dialog .modal-header { display: flex; align-items: center; justify-content: space-between; } + .file-zoom-dialog .btn-navigate { padding: 0; margin: 0; @@ -274,24 +329,30 @@ font-size: 4em; color: #1c94c4; } + .file-zoom-dialog .btn-navigate:not([disabled]):hover { outline: none; box-shadow: none; opacity: 0.6; } + .file-zoom-dialog .floating-buttons { top: 5px; right: 10px; } + .file-zoom-dialog .btn-navigate[disabled] { opacity: 0.3; } + .file-zoom-dialog .btn-prev { left: 1px; } + .file-zoom-dialog .btn-next { right: 1px; } + .file-zoom-dialog .kv-zoom-title { font-weight: 300; color: #999; @@ -300,20 +361,25 @@ white-space: nowrap; text-overflow: ellipsis; } + .file-input-new .no-browse .form-control { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } + .file-input-ajax-new .no-browse .form-control { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } + .file-caption-main { width: 100%; } + .file-thumb-loading { background: transparent url(../img/loading.gif) no-repeat scroll center center content-box !important; } + .file-drop-zone { border: 1px dashed #aaa; border-radius: 4px; @@ -323,39 +389,48 @@ margin: 12px 15px 12px 12px; padding: 5px; } + .file-drop-zone.clickable:hover { border: 2px dashed #999; } + .file-drop-zone.clickable:focus { border: 2px solid #5acde2; } + .file-drop-zone .file-preview-thumbnails { cursor: default; } + .file-drop-zone-title { color: #aaa; font-size: 1.6em; padding: 85px 10px; cursor: default; } + .file-highlighted { border: 2px dashed #999 !important; background-color: #eee; } + .file-uploading { background: url(../img/loading-sm.gif) no-repeat center bottom 10px; opacity: 0.65; } + @media (min-width: 576px) { .file-zoom-dialog .modal-dialog { max-width: 500px; } } + @media (min-width: 992px) { .file-zoom-dialog .modal-lg { max-width: 800px; } } + .file-zoom-fullscreen.modal { position: fixed; top: 0; @@ -363,6 +438,7 @@ bottom: 0; left: 0; } + .file-zoom-fullscreen .modal-dialog { position: fixed; margin: 0; @@ -372,13 +448,16 @@ max-width: 100%; max-height: 100%; } + .file-zoom-fullscreen .modal-content { border-radius: 0; box-shadow: none; } + .file-zoom-fullscreen .modal-body { overflow-y: auto; } + .btn-kv { display: inline-block; text-align: center; @@ -389,34 +468,43 @@ font-size: 0.875rem; border-radius: 0.2rem; } + .floating-buttons { z-index: 3000; } + .floating-buttons .btn-kv { margin-left: 3px; z-index: 3000; } + .file-zoom-content { height: 480px; text-align: center; } + .file-zoom-content .file-preview-image { max-height: 100%; } + .file-zoom-content .file-preview-video { max-height: 100%; } + .file-zoom-content .is-portrait-gt4 { margin-top: 60px; } + .file-zoom-content > .file-object.type-image { height: auto; min-height: inherit; } + .file-zoom-content > .file-object.type-audio { width: auto; height: 30px; } + @media screen and (max-width: 767px) { .file-preview-thumbnails { display: flex; @@ -424,33 +512,41 @@ align-items: center; flex-direction: column; } + .file-zoom-dialog .modal-header { flex-direction: column; } } + @media screen and (max-width: 350px) { .krajee-default.file-preview-frame .kv-file-content { width: 160px; } } + .file-loading[dir=rtl]:before { background: transparent url(../img/loading.gif) top right no-repeat; padding-left: 0; padding-right: 20px; } + .file-sortable .file-drag-handle { cursor: move; opacity: 1; } + .file-sortable .file-drag-handle:hover { opacity: 0.7; } + .clickable .file-drop-zone-title { cursor: pointer; } + .kv-zoom-actions .btn-kv { margin-left: 3px; } + .file-preview-initial.sortable-chosen { background-color: #d9edf7; } \ No newline at end of file diff --git a/examples/index.html b/examples/index.html index b6fe49f5..4b1fea1a 100755 --- a/examples/index.html +++ b/examples/index.html @@ -5,16 +5,19 @@ Krajee JQuery Plugins - © Kartik - + - - + + + - - + + + +
@@ -25,9 +28,13 @@

Bootstrap File Input Example

- +
+ +

- +
+ +

@@ -35,7 +42,9 @@

Bootstrap File Input Example
- +
+ +