Update uploader view
Update image edit view
This commit is contained in:
@@ -2,10 +2,14 @@ $(function($){
|
|||||||
// Manage picture upload
|
// Manage picture upload
|
||||||
var pictureUploadManager = {};
|
var pictureUploadManager = {};
|
||||||
|
|
||||||
var imageDropzone = new Dropzone("#images-dropzone");
|
Dropzone.autoDiscover = false;
|
||||||
Dropzone.options.imageDropzone = {
|
|
||||||
uploadMultiple: false
|
var imageDropzone = new Dropzone("#images-dropzone", {
|
||||||
};
|
dictDefaultMessage : $('.btn-browse').html(),
|
||||||
|
uploadMultiple: false,
|
||||||
|
maxFilesize: 8
|
||||||
|
});
|
||||||
|
|
||||||
imageDropzone.on("success", function(file) {
|
imageDropzone.on("success", function(file) {
|
||||||
$(".image-manager .dz-file-preview").remove();
|
$(".image-manager .dz-file-preview").remove();
|
||||||
imageDropzone.removeFile(file);
|
imageDropzone.removeFile(file);
|
||||||
@@ -38,7 +42,9 @@ $(function($){
|
|||||||
$('.image-manager .image-delete-btn').on('click', function (e) {
|
$('.image-manager .image-delete-btn').on('click', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
$this.parent().append('<div class="loading" ></div>');
|
var $parent = $this.parent();
|
||||||
|
$parent.find('a').remove();
|
||||||
|
$parent.append('<div class="loading" ></div>');
|
||||||
var $url = $this.attr("href");
|
var $url = $this.attr("href");
|
||||||
var errorMessage = $this.attr("data-error-message");
|
var errorMessage = $this.attr("data-error-message");
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -52,7 +58,8 @@ $(function($){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).done(function(data) {
|
}).done(function(data) {
|
||||||
$this.parent().remove();
|
$parent.parents('tr').remove();
|
||||||
|
|
||||||
$(".image-manager .message").html(
|
$(".image-manager .message").html(
|
||||||
data
|
data
|
||||||
);
|
);
|
||||||
|
|||||||
160
templates/admin/default/assets/less/thelia/dropzone.less
Normal file
160
templates/admin/default/assets/less/thelia/dropzone.less
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
.dropzone{
|
||||||
|
cursor: pointer;
|
||||||
|
border: 4px dashed @gray-lighter;
|
||||||
|
padding: 70px;
|
||||||
|
margin: 20px 0;
|
||||||
|
|
||||||
|
&.dz-drag-hover{
|
||||||
|
border-color: @brand-primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dz-message {
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
span{
|
||||||
|
font-size: @font-size-large;
|
||||||
|
display: block;
|
||||||
|
color: @gray;
|
||||||
|
|
||||||
|
span{
|
||||||
|
display: block;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 10px 0;
|
||||||
|
font-size: @font-size-small;
|
||||||
|
}
|
||||||
|
|
||||||
|
button{
|
||||||
|
span{
|
||||||
|
display: inline-block;
|
||||||
|
font-size: @font-size-base;
|
||||||
|
margin: 0;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dz-error{
|
||||||
|
.alert();
|
||||||
|
.alert-danger();
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dz-preview,
|
||||||
|
.dropzone-previews .dz-preview {
|
||||||
|
background: rgba(255,255,255,0.8);
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 17px;
|
||||||
|
vertical-align: top;
|
||||||
|
border: 1px solid #acacac;
|
||||||
|
padding: 6px 6px 6px 6px;
|
||||||
|
}
|
||||||
|
.dz-preview.dz-file-preview [data-dz-thumbnail],
|
||||||
|
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-details,
|
||||||
|
.dropzone-previews .dz-preview .dz-details {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
position: relative;
|
||||||
|
background: #ebebeb;
|
||||||
|
padding: 5px;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-details .dz-filename,
|
||||||
|
.dropzone-previews .dz-preview .dz-details .dz-filename {
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-details img,
|
||||||
|
.dropzone-previews .dz-preview .dz-details img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-details .dz-size,
|
||||||
|
.dropzone-previews .dz-preview .dz-details .dz-size {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -28px;
|
||||||
|
left: 3px;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
.dz-preview.dz-error .dz-error-mark,
|
||||||
|
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.dz-preview.dz-success .dz-success-mark,
|
||||||
|
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.dz-preview:hover .dz-details img,
|
||||||
|
.dropzone-previews .dz-preview:hover .dz-details img {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-success-mark,
|
||||||
|
.dropzone-previews .dz-preview .dz-success-mark,
|
||||||
|
.dz-preview .dz-error-mark,
|
||||||
|
.dropzone-previews .dz-preview .dz-error-mark {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
font-size: 30px;
|
||||||
|
text-align: center;
|
||||||
|
right: -10px;
|
||||||
|
top: -10px;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-success-mark,
|
||||||
|
.dropzone-previews .dz-preview .dz-success-mark {
|
||||||
|
color: #8cc657;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-error-mark,
|
||||||
|
.dropzone-previews .dz-preview .dz-error-mark {
|
||||||
|
color: #ee162d;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-progress,
|
||||||
|
.dropzone-previews .dz-preview .dz-progress {
|
||||||
|
position: absolute;
|
||||||
|
top: 100px;
|
||||||
|
left: 6px;
|
||||||
|
right: 6px;
|
||||||
|
height: 6px;
|
||||||
|
background: #d7d7d7;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-progress .dz-upload,
|
||||||
|
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 0%;
|
||||||
|
background-color: #8cc657;
|
||||||
|
}
|
||||||
|
.dz-preview.dz-processing .dz-progress,
|
||||||
|
.dropzone-previews .dz-preview.dz-processing .dz-progress {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.dz-preview .dz-error-message,
|
||||||
|
.dropzone-previews .dz-preview .dz-error-message {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -5px;
|
||||||
|
left: -20px;
|
||||||
|
background: rgba(245,245,245,0.8);
|
||||||
|
padding: 8px 10px;
|
||||||
|
color: #800;
|
||||||
|
min-width: 140px;
|
||||||
|
max-width: 500px;
|
||||||
|
z-index: 500;
|
||||||
|
}
|
||||||
|
.dz-preview:hover.dz-error .dz-error-message,
|
||||||
|
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
@import "bootstrap-switch.less";
|
@import "bootstrap-switch.less";
|
||||||
@import "bootstrap-select.less";
|
@import "bootstrap-select.less";
|
||||||
@import "jqplot.less";
|
@import "jqplot.less";
|
||||||
|
@import "dropzone.less";
|
||||||
|
|
||||||
// -- Base styling ------------------------------------------------------------
|
// -- Base styling ------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
<div id="wrapper" class="container">
|
<div id="wrapper" class="container">
|
||||||
|
|
||||||
{loop type="image" name="image_edit" source="{$imageType}" id="{$imageId}" width="200" height="100" resize_mode="borders" backend_context="1" lang="$edit_language_id"}
|
{loop type="image" name="image_edit" source="{$imageType}" id="{$imageId}" width="580" backend_context="1" lang="$edit_language_id"}
|
||||||
<ul class="breadcrumb">
|
<ul class="breadcrumb">
|
||||||
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
|
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
|
||||||
<li><a href="{url path="{$redirectUrl}"}">{intl l="Image"}</a></li>
|
<li><a href="{url path="{$redirectUrl}"}">{intl l="Image"}</a></li>
|
||||||
@@ -44,12 +44,17 @@
|
|||||||
|
|
||||||
{if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if}
|
{if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if}
|
||||||
|
|
||||||
<div class="col-md-6">
|
|
||||||
<p class="title title-without-tabs">{intl l="Image informations"}</p>
|
<p class="title title-without-tabs">{intl l="Image informations"}</p>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label">{intl l="Preview"} : </label>
|
||||||
|
<p><img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-thumbnail"></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-6">
|
||||||
<img src="{$IMAGE_URL}" alt="{$TITLE}" />
|
|
||||||
{form_field form=$form field='file'}
|
{form_field form=$form field='file'}
|
||||||
<div class="form-group {if $error}has-error{/if}">
|
<div class="form-group {if $error}has-error{/if}">
|
||||||
<label for="{$label_attr.for}" class="control-label">{intl l="{$label}"} : </label>
|
<label for="{$label_attr.for}" class="control-label">{intl l="{$label}"} : </label>
|
||||||
@@ -77,14 +82,17 @@
|
|||||||
<input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$POSTSCRIPTUM}" title="{intl l="{$label}"}" placeholder="{intl l='Post Scriptum'}">
|
<input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$POSTSCRIPTUM}" title="{intl l="{$label}"}" placeholder="{intl l='Post Scriptum'}">
|
||||||
</div>
|
</div>
|
||||||
{/form_field}
|
{/form_field}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
{form_field form=$form field='description'}
|
{form_field form=$form field='description'}
|
||||||
<div class="form-group {if $error}has-error{/if}">
|
<div class="form-group {if $error}has-error{/if}">
|
||||||
<label for="{$label_attr.for}" class="control-label">{intl l="{$label}"} : </label>
|
<label for="{$label_attr.for}" class="control-label">{intl l="{$label}"} : </label>
|
||||||
<input type="text" id="{$label_attr.for}" name="{$name}" class="form-control" value="{$DESCRIPTION}" title="{intl l="{$label}"}" placeholder="{intl l='Description'}">
|
<textarea id="{$label_attr.for}" name="{$name}" class="form-control wysiwyg" title="{intl l="{$label}"}" placeholder="{intl l='Description'}">{$DESCRIPTION}</textarea>
|
||||||
</div>
|
</div>
|
||||||
{/form_field}
|
{/form_field}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{/form}
|
{/form}
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ Parameters:
|
|||||||
<div class="fallback">
|
<div class="fallback">
|
||||||
<input name="file" type="file" multiple />
|
<input name="file" type="file" multiple />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="btn-browse hide">
|
||||||
|
{intl l="Drop files to upload"}
|
||||||
|
<span>Or</span>
|
||||||
|
<button type="button" class="btn btn-info btn-upload"><span class="glyphicon glyphicon-upload"></span> {intl l="Browse files"}</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="existing-image">
|
<div class="existing-image">
|
||||||
@@ -36,441 +42,3 @@ Parameters:
|
|||||||
var imageListUrl = "{url path="/admin/image/type/$imageType/$parentId/list-ajax"}";
|
var imageListUrl = "{url path="/admin/image/type/$imageType/$parentId/list-ajax"}";
|
||||||
var imageListErrorMessage = "{intl l='Can\'t load images, please refresh this page.'}";
|
var imageListErrorMessage = "{intl l='Can\'t load images, please refresh this page.'}";
|
||||||
</script>
|
</script>
|
||||||
{*
|
|
||||||
@todo refactor
|
|
||||||
see http://www.dropzonejs.com/
|
|
||||||
|
|
||||||
*}
|
|
||||||
<style type="text/css">
|
|
||||||
.dropzone,
|
|
||||||
.dropzone *,
|
|
||||||
.dropzone-previews,
|
|
||||||
.dropzone-previews * {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
-moz-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.dropzone {
|
|
||||||
position: relative;
|
|
||||||
border: 1px solid rgba(0,0,0,0.08);
|
|
||||||
background: rgba(0,0,0,0.02);
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.dropzone.dz-clickable {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.dropzone.dz-clickable .dz-message,
|
|
||||||
.dropzone.dz-clickable .dz-message span {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.dropzone.dz-clickable * {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
.dropzone .dz-message {
|
|
||||||
opacity: 1;
|
|
||||||
-ms-filter: none;
|
|
||||||
filter: none;
|
|
||||||
}
|
|
||||||
.dropzone.dz-drag-hover {
|
|
||||||
border-color: rgba(0,0,0,0.15);
|
|
||||||
background: rgba(0,0,0,0.04);
|
|
||||||
}
|
|
||||||
.dropzone.dz-started .dz-message {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview,
|
|
||||||
.dropzone-previews .dz-preview {
|
|
||||||
background: rgba(255,255,255,0.8);
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 17px;
|
|
||||||
vertical-align: top;
|
|
||||||
border: 1px solid #acacac;
|
|
||||||
padding: 6px 6px 6px 6px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],
|
|
||||||
.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-details,
|
|
||||||
.dropzone-previews .dz-preview .dz-details {
|
|
||||||
width: 100px;
|
|
||||||
height: 100px;
|
|
||||||
position: relative;
|
|
||||||
background: #ebebeb;
|
|
||||||
padding: 5px;
|
|
||||||
margin-bottom: 22px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-details .dz-filename,
|
|
||||||
.dropzone-previews .dz-preview .dz-details .dz-filename {
|
|
||||||
overflow: hidden;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-details img,
|
|
||||||
.dropzone-previews .dz-preview .dz-details img {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100px;
|
|
||||||
height: 100px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-details .dz-size,
|
|
||||||
.dropzone-previews .dz-preview .dz-details .dz-size {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -28px;
|
|
||||||
left: 3px;
|
|
||||||
height: 28px;
|
|
||||||
line-height: 28px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-error .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-success .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview:hover .dz-details img,
|
|
||||||
.dropzone-previews .dz-preview:hover .dz-details img {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-success-mark,
|
|
||||||
.dropzone .dz-preview .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-mark {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
font-size: 30px;
|
|
||||||
text-align: center;
|
|
||||||
right: -10px;
|
|
||||||
top: -10px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-success-mark {
|
|
||||||
color: #8cc657;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-mark {
|
|
||||||
color: #ee162d;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-progress,
|
|
||||||
.dropzone-previews .dz-preview .dz-progress {
|
|
||||||
position: absolute;
|
|
||||||
top: 100px;
|
|
||||||
left: 6px;
|
|
||||||
right: 6px;
|
|
||||||
height: 6px;
|
|
||||||
background: #d7d7d7;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-progress .dz-upload,
|
|
||||||
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 0%;
|
|
||||||
background-color: #8cc657;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-processing .dz-progress,
|
|
||||||
.dropzone-previews .dz-preview.dz-processing .dz-progress {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-error-message,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-message {
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: -5px;
|
|
||||||
left: -20px;
|
|
||||||
background: rgba(245,245,245,0.8);
|
|
||||||
padding: 8px 10px;
|
|
||||||
color: #800;
|
|
||||||
min-width: 140px;
|
|
||||||
max-width: 500px;
|
|
||||||
z-index: 500;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview:hover.dz-error .dz-error-message,
|
|
||||||
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.dropzone {
|
|
||||||
margin-top: 6px;
|
|
||||||
border: 1px solid rgba(0,0,0,0.03);
|
|
||||||
min-height: 200px;
|
|
||||||
-webkit-border-radius: 3px;
|
|
||||||
border-radius: 3px;
|
|
||||||
background: rgba(0,0,0,0.03);
|
|
||||||
padding: 23px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-default.dz-message {
|
|
||||||
opacity: 1;
|
|
||||||
-ms-filter: none;
|
|
||||||
filter: none;
|
|
||||||
-webkit-transition: opacity 0.3s ease-in-out;
|
|
||||||
-moz-transition: opacity 0.3s ease-in-out;
|
|
||||||
-o-transition: opacity 0.3s ease-in-out;
|
|
||||||
-ms-transition: opacity 0.3s ease-in-out;
|
|
||||||
transition: opacity 0.3s ease-in-out;
|
|
||||||
background-image: url("../images/spritemap.png");
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 0 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 428px;
|
|
||||||
height: 123px;
|
|
||||||
margin-left: -214px;
|
|
||||||
margin-top: -61.5px;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
}
|
|
||||||
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
|
|
||||||
.dropzone .dz-default.dz-message {
|
|
||||||
background-image: url("../images/spritemap@2x.png");
|
|
||||||
-webkit-background-size: 428px 406px;
|
|
||||||
-moz-background-size: 428px 406px;
|
|
||||||
background-size: 428px 406px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.dropzone .dz-default.dz-message span {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropzone.dz-square .dz-default.dz-message {
|
|
||||||
background-position: 0 -123px;
|
|
||||||
width: 268px;
|
|
||||||
margin-left: -134px;
|
|
||||||
height: 174px;
|
|
||||||
margin-top: -87px;
|
|
||||||
}
|
|
||||||
.dropzone.dz-drag-hover .dz-message {
|
|
||||||
opacity: 0.15;
|
|
||||||
filter: alpha(opacity=15);
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
|
|
||||||
}
|
|
||||||
.dropzone.dz-started .dz-message {
|
|
||||||
display: block;
|
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview,
|
|
||||||
.dropzone-previews .dz-preview {
|
|
||||||
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
|
|
||||||
box-shadow: 1px 1px 4px rgba(0,0,0,0.16);
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
|
|
||||||
.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
|
|
||||||
display: block;
|
|
||||||
opacity: 0.1;
|
|
||||||
filter: alpha(opacity=10);
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-success .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview.dz-success .dz-success-mark {
|
|
||||||
opacity: 1;
|
|
||||||
-ms-filter: none;
|
|
||||||
filter: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-error .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview.dz-error .dz-error-mark {
|
|
||||||
opacity: 1;
|
|
||||||
-ms-filter: none;
|
|
||||||
filter: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
|
|
||||||
.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
|
|
||||||
background: #ee1e2d;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-mark,
|
|
||||||
.dropzone .dz-preview .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-success-mark {
|
|
||||||
display: block;
|
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
|
||||||
-webkit-transition: opacity 0.4s ease-in-out;
|
|
||||||
-moz-transition: opacity 0.4s ease-in-out;
|
|
||||||
-o-transition: opacity 0.4s ease-in-out;
|
|
||||||
-ms-transition: opacity 0.4s ease-in-out;
|
|
||||||
transition: opacity 0.4s ease-in-out;
|
|
||||||
background-image: url("../images/spritemap.png");
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
|
|
||||||
.dropzone .dz-preview .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-mark,
|
|
||||||
.dropzone .dz-preview .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-success-mark {
|
|
||||||
background-image: url("../images/spritemap@2x.png");
|
|
||||||
-webkit-background-size: 428px 406px;
|
|
||||||
-moz-background-size: 428px 406px;
|
|
||||||
background-size: 428px 406px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-error-mark span,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-mark span,
|
|
||||||
.dropzone .dz-preview .dz-success-mark span,
|
|
||||||
.dropzone-previews .dz-preview .dz-success-mark span {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-error-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-mark {
|
|
||||||
background-position: -268px -123px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-success-mark,
|
|
||||||
.dropzone-previews .dz-preview .dz-success-mark {
|
|
||||||
background-position: -268px -163px;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-progress .dz-upload,
|
|
||||||
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
|
||||||
-webkit-animation: loading 0.4s linear infinite;
|
|
||||||
-moz-animation: loading 0.4s linear infinite;
|
|
||||||
-o-animation: loading 0.4s linear infinite;
|
|
||||||
-ms-animation: loading 0.4s linear infinite;
|
|
||||||
animation: loading 0.4s linear infinite;
|
|
||||||
-webkit-transition: width 0.3s ease-in-out;
|
|
||||||
-moz-transition: width 0.3s ease-in-out;
|
|
||||||
-o-transition: width 0.3s ease-in-out;
|
|
||||||
-ms-transition: width 0.3s ease-in-out;
|
|
||||||
transition: width 0.3s ease-in-out;
|
|
||||||
-webkit-border-radius: 2px;
|
|
||||||
border-radius: 2px;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 0%;
|
|
||||||
height: 100%;
|
|
||||||
background-image: url("../images/spritemap.png");
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
background-position: 0px -400px;
|
|
||||||
}
|
|
||||||
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
|
|
||||||
.dropzone .dz-preview .dz-progress .dz-upload,
|
|
||||||
.dropzone-previews .dz-preview .dz-progress .dz-upload {
|
|
||||||
background-image: url("../images/spritemap@2x.png");
|
|
||||||
-webkit-background-size: 428px 406px;
|
|
||||||
-moz-background-size: 428px 406px;
|
|
||||||
background-size: 428px 406px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview.dz-success .dz-progress,
|
|
||||||
.dropzone-previews .dz-preview.dz-success .dz-progress {
|
|
||||||
display: block;
|
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
|
||||||
-webkit-transition: opacity 0.4s ease-in-out;
|
|
||||||
-moz-transition: opacity 0.4s ease-in-out;
|
|
||||||
-o-transition: opacity 0.4s ease-in-out;
|
|
||||||
-ms-transition: opacity 0.4s ease-in-out;
|
|
||||||
transition: opacity 0.4s ease-in-out;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview .dz-error-message,
|
|
||||||
.dropzone-previews .dz-preview .dz-error-message {
|
|
||||||
display: block;
|
|
||||||
opacity: 0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
|
||||||
-webkit-transition: opacity 0.3s ease-in-out;
|
|
||||||
-moz-transition: opacity 0.3s ease-in-out;
|
|
||||||
-o-transition: opacity 0.3s ease-in-out;
|
|
||||||
-ms-transition: opacity 0.3s ease-in-out;
|
|
||||||
transition: opacity 0.3s ease-in-out;
|
|
||||||
}
|
|
||||||
.dropzone .dz-preview:hover.dz-error .dz-error-message,
|
|
||||||
.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
|
|
||||||
opacity: 1;
|
|
||||||
-ms-filter: none;
|
|
||||||
filter: none;
|
|
||||||
}
|
|
||||||
.dropzone a.dz-remove,
|
|
||||||
.dropzone-previews a.dz-remove {
|
|
||||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, #eee));
|
|
||||||
background-image: -webkit-linear-gradient(top, #fafafa 0%, #eee 100%);
|
|
||||||
background-image: -moz-linear-gradient(top, #fafafa 0%, #eee 100%);
|
|
||||||
background-image: -o-linear-gradient(top, #fafafa 0%, #eee 100%);
|
|
||||||
background-image: -ms-linear-gradient(top, #fafafa 0%, #eee 100%);
|
|
||||||
background-image: linear-gradient(top, #fafafa 0%, #eee 100%);
|
|
||||||
-webkit-border-radius: 2px;
|
|
||||||
border-radius: 2px;
|
|
||||||
border: 1px solid #eee;
|
|
||||||
text-decoration: none;
|
|
||||||
display: block;
|
|
||||||
padding: 4px 5px;
|
|
||||||
text-align: center;
|
|
||||||
color: #aaa;
|
|
||||||
margin-top: 26px;
|
|
||||||
}
|
|
||||||
.dropzone a.dz-remove:hover,
|
|
||||||
.dropzone-previews a.dz-remove:hover {
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
@-moz-keyframes loading {
|
|
||||||
0% {
|
|
||||||
background-position: 0 -400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
background-position: -7px -400px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-webkit-keyframes loading {
|
|
||||||
0% {
|
|
||||||
background-position: 0 -400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
background-position: -7px -400px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-o-keyframes loading {
|
|
||||||
0% {
|
|
||||||
background-position: 0 -400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
background-position: -7px -400px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@-ms-keyframes loading {
|
|
||||||
0% {
|
|
||||||
background-position: 0 -400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
background-position: -7px -400px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes loading {
|
|
||||||
0% {
|
|
||||||
background-position: 0 -400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
background-position: -7px -400px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#dropzone {
|
|
||||||
margin: 30px 0;
|
|
||||||
-webkit-box-shadow: 0 0 50px rgba(0,0,0,0.13);
|
|
||||||
box-shadow: 0 0 50px rgba(0,0,0,0.13);
|
|
||||||
padding: 4px;
|
|
||||||
-webkit-border-radius: 3px;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
#dropzone .dropzone {
|
|
||||||
-webkit-box-shadow: none;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 37.5em) {
|
|
||||||
.dropzone .dz-default.dz-message {
|
|
||||||
background-position: 0 -123px;
|
|
||||||
width: 268px;
|
|
||||||
margin-left: -134px;
|
|
||||||
height: 174px;
|
|
||||||
margin-top: -87px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -8,16 +8,24 @@ Parameters:
|
|||||||
|
|
||||||
*}
|
*}
|
||||||
|
|
||||||
{loop type="image" name="image" source="{$imageType}" source_id="{$parentId}" width="200" height="100" resize_mode="borders"}
|
{ifloop rel="image"}
|
||||||
<div>
|
<table class="table table-striped table-condensed table-left-aligned">
|
||||||
<img src="{$IMAGE_URL}" alt="{$TITLE}" />
|
{loop type="image" name="image" source="{$imageType}" source_id="{$parentId}" width="200" height="100" resize_mode="borders"}
|
||||||
<a class="image-update-btn" href="{url path="/admin/image/type/$imageType/$ID/update"}" data-error-message="{intl l='Please retry'}">
|
<tr>
|
||||||
{intl l='Update'}
|
<td>
|
||||||
|
<img src="{$IMAGE_URL}" alt="{$TITLE}" class="img-thumbnail">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="btn-group">
|
||||||
|
<a class="image-update-btn btn btn-default btn-xs" href="{url path="/admin/image/type/$imageType/$ID/update"}" data-error-message="{intl l='Please retry'}">
|
||||||
|
<span class="glyphicon glyphicon-edit"></span>
|
||||||
</a>
|
</a>
|
||||||
<a class="image-delete-btn" href="{url path="/admin/image/type/$imageType/delete/$ID"}" data-error-message="{intl l='Please retry'}">
|
<a class="image-delete-btn btn btn-default btn-xs" href="{url path="/admin/image/type/$imageType/delete/$ID"}" data-error-message="{intl l='Please retry'}">
|
||||||
{intl l='Delete'}
|
<span class="glyphicon glyphicon-trash"></span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{/loop}
|
<td>
|
||||||
|
</tr>
|
||||||
|
{/loop}
|
||||||
|
</table>
|
||||||
|
{/ifloop}
|
||||||
Reference in New Issue
Block a user