display: none;
}
+.dropped-files__file__summary {
+ color: hsl(0, 0%, 45%);
+ font-style: italic;
+}
+
.dropped-files__file__action {
display: inline-block;
float: right;
<template class="dropped-file-template">
<li class="dropped-files__file">
<span class="dropped-files__file__name"></span>
+ <span class="dropped-files__file__summary"></span>
<a class="dropped-files__file__action dropped-files__file__action--save" href="#" download="test.css">save</a>
<a class="dropped-files__file__action dropped-files__file__action--copy" href="#" data-success-label="done!" data-error-label="oops! see console for details" data-original-label="copy to clipboard">copy to clipboard</a>
</li>
dropContainer.appendChild(importedNode)
}
- function optimizationCompleted(optimizationId, output) {
+ function optimizationCompleted(optimizationId, output, saved) {
var fileNode = document.querySelector('.dropped-files__file--' + optimizationId)
+ var summaryNode = fileNode.querySelector('.dropped-files__file__summary')
var downloadNode = fileNode.querySelector('.dropped-files__file__action--save')
var copyToClipboardNode = fileNode.querySelector('.dropped-files__file__action--copy')
var stylesBlob = new Blob([output.styles])
fileNode.classList.add('dropped-files__file--optimized')
+ summaryNode.innerText = ' - saved ' + formatAsKb(saved, 1) + ' kB'
downloadNode.href = URL.createObjectURL(stylesBlob)
copyToClipboardNode.addEventListener('click', function (event) {
})
}
+ function formatAsKb(value, precision) {
+ var factor = Math.pow(10.0, precision)
+
+ return parseInt((value / 1024.0) * factor) / factor
+ }
+
window.addEventListener('DOMContentLoaded', function () {
var dragTarget = document.querySelector('.drag-target')
this.worker.onmessage = function (event) {
switch (event.data.command) {
case 'optimized':
- Optimizer.oncomplete(event.data.id, event.data.output)
+ Optimizer.oncomplete(event.data.id, event.data.output, event.data.saved)
}
}
this.worker.onerror = function (event) {