Add the direct_upload JS ans SCSS files
This commit is contained in:
parent
d51aefa10a
commit
2a2f794732
6 changed files with 169 additions and 1 deletions
|
@ -1,4 +1,7 @@
|
||||||
exclude: 'app/assets/stylesheets/new_design/reset.scss'
|
exclude:
|
||||||
|
- 'app/assets/stylesheets/new_design/reset.scss'
|
||||||
|
- 'app/assets/stylesheets/direct_uploads.scss'
|
||||||
|
- 'app/assets/stylesheets/new_design/direct_uploads.scss'
|
||||||
|
|
||||||
linters:
|
linters:
|
||||||
BangFormat:
|
BangFormat:
|
||||||
|
|
45
app/assets/javascripts/new_design/direct_uploads.js
Normal file
45
app/assets/javascripts/new_design/direct_uploads.js
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
addEventListener("direct-upload:initialize", function (event) {
|
||||||
|
var target = event.target,
|
||||||
|
detail = event.detail,
|
||||||
|
id = detail.id,
|
||||||
|
file = detail.file;
|
||||||
|
|
||||||
|
target.insertAdjacentHTML("beforebegin", "\n<div id=\"direct-upload-" +
|
||||||
|
id +
|
||||||
|
"\" class=\"direct-upload direct-upload--pending\">\n<div id=\"direct-upload-progress-" +
|
||||||
|
id + "\" class=\"direct-upload__progress\" style=\"width: 0%\"></div>\n<span class=\"direct-upload__filename\">" +
|
||||||
|
file.name +
|
||||||
|
"</span>\n</div>\n");
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:start", function (event) {
|
||||||
|
var id = event.detail.id,
|
||||||
|
element = document.getElementById("direct-upload-" + id);
|
||||||
|
|
||||||
|
element.classList.remove("direct-upload--pending");
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:progress", function (event) {
|
||||||
|
var id = event.detail.id,
|
||||||
|
progress = event.detail.progress,
|
||||||
|
progressElement = document.getElementById("direct-upload-progress-" + id);
|
||||||
|
|
||||||
|
progressElement.style.width = progress + "%";
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:error", function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var id = event.detail.id,
|
||||||
|
error = event.detail.error,
|
||||||
|
element = document.getElementById("direct-upload-" + id);
|
||||||
|
|
||||||
|
element.classList.add("direct-upload--error");
|
||||||
|
element.setAttribute("title", error);
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:end", function (event) {
|
||||||
|
var id = event.detail.id,
|
||||||
|
element = document.getElementById("direct-upload-" + id);
|
||||||
|
|
||||||
|
element.classList.add("direct-upload--complete");
|
||||||
|
});
|
45
app/assets/javascripts/old_design/direct_uploads.js
Normal file
45
app/assets/javascripts/old_design/direct_uploads.js
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
addEventListener("direct-upload:initialize", function (event) {
|
||||||
|
var target = event.target,
|
||||||
|
detail = event.detail,
|
||||||
|
id = detail.id,
|
||||||
|
file = detail.file;
|
||||||
|
|
||||||
|
target.insertAdjacentHTML("beforebegin", "\n<div id=\"direct-upload-" +
|
||||||
|
id +
|
||||||
|
"\" class=\"direct-upload direct-upload--pending\">\n<div id=\"direct-upload-progress-" +
|
||||||
|
id + "\" class=\"direct-upload__progress\" style=\"width: 0%\"></div>\n<span class=\"direct-upload__filename\">" +
|
||||||
|
file.name +
|
||||||
|
"</span>\n</div>\n");
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:start", function (event) {
|
||||||
|
var id = event.detail.id,
|
||||||
|
element = document.getElementById("direct-upload-" + id);
|
||||||
|
|
||||||
|
element.classList.remove("direct-upload--pending");
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:progress", function (event) {
|
||||||
|
var id = event.detail.id,
|
||||||
|
progress = event.detail.progress,
|
||||||
|
progressElement = document.getElementById("direct-upload-progress-" + id);
|
||||||
|
|
||||||
|
progressElement.style.width = progress + "%";
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:error", function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var id = event.detail.id,
|
||||||
|
error = event.detail.error,
|
||||||
|
element = document.getElementById("direct-upload-" + id);
|
||||||
|
|
||||||
|
element.classList.add("direct-upload--error");
|
||||||
|
element.setAttribute("title", error);
|
||||||
|
});
|
||||||
|
|
||||||
|
addEventListener("direct-upload:end", function (event) {
|
||||||
|
var id = event.detail.id,
|
||||||
|
element = document.getElementById("direct-upload-" + id);
|
||||||
|
|
||||||
|
element.classList.add("direct-upload--complete");
|
||||||
|
});
|
|
@ -21,6 +21,7 @@
|
||||||
// = require custom_mails
|
// = require custom_mails
|
||||||
// = require default_data_block
|
// = require default_data_block
|
||||||
// = require description
|
// = require description
|
||||||
|
// = require direct_uploads
|
||||||
// = require dossier_show
|
// = require dossier_show
|
||||||
// = require dossiers
|
// = require dossiers
|
||||||
// = require etapes
|
// = require etapes
|
||||||
|
|
37
app/assets/stylesheets/direct_uploads.scss
Normal file
37
app/assets/stylesheets/direct_uploads.scss
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
.direct-upload {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
padding: 2px 4px;
|
||||||
|
margin: 0 3px 3px 0;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 11px;
|
||||||
|
line-height: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload--pending {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload__progress {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
opacity: 0.2;
|
||||||
|
background: #0076ff;
|
||||||
|
transition: width 120ms ease-out, opacity 60ms 60ms ease-in;
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload--complete .direct-upload__progress {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload--error {
|
||||||
|
border-color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=file][data-direct-upload-url][disabled] {
|
||||||
|
display: none;
|
||||||
|
}
|
37
app/assets/stylesheets/new_design/direct_uploads.scss
Normal file
37
app/assets/stylesheets/new_design/direct_uploads.scss
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
.direct-upload {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
padding: 2px 4px;
|
||||||
|
margin: 0 3px 3px 0;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||||
|
border-radius: 3px;
|
||||||
|
font-size: 11px;
|
||||||
|
line-height: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload--pending {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload__progress {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
opacity: 0.2;
|
||||||
|
background: #0076ff;
|
||||||
|
transition: width 120ms ease-out, opacity 60ms 60ms ease-in;
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload--complete .direct-upload__progress {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.direct-upload--error {
|
||||||
|
border-color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=file][data-direct-upload-url][disabled] {
|
||||||
|
display: none;
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue