fix: harden week-two ordering, artwork and operations
This commit is contained in:
@@ -37,6 +37,16 @@ function sel(fs){
|
||||
const fora = fs.filter(f=>!regra.test(f.name));
|
||||
fs = fs.filter(f=>regra.test(f.name));
|
||||
recusa(fora);
|
||||
const max=window.dtfUploadMaxBytes||128*1048576;
|
||||
const grandes=fs.filter(f=>f.size>max);
|
||||
if(grandes.length){
|
||||
const el=$('recusa');
|
||||
el.style.display='block';
|
||||
el.innerHTML='<b>Arquivo acima do limite de '+(max/1048576).toFixed(0)+
|
||||
' MB.</b> A verificação de segurança ainda não consegue liberar arquivos maiores. '+
|
||||
'Divida ou compacte a arte antes de enviar.';
|
||||
fs=fs.filter(f=>f.size<=max);
|
||||
}
|
||||
if(!fs.length) return;
|
||||
if(ehFolha()){
|
||||
const auto=fs.filter(f=>AUTO.test(f.name)).length;
|
||||
@@ -60,6 +70,9 @@ function sel(fs){
|
||||
novas.forEach(x=>{
|
||||
x.pct=5; pintaFolha();
|
||||
medirFolha(x.f).then(md=>{
|
||||
if(md && md.rejected){
|
||||
x.measurementError=md.reason; x.pct=null; pintaFolha(); return;
|
||||
}
|
||||
if(md && md.dpiFolha!=null && md.dpiFolha<DPI_RECUSA) return recusaFolha(x, md);
|
||||
x.med=md; if(md) x.m=md.alt/100; x.pct=55; pintaFolha();
|
||||
if(md && RENDERIZA.test(x.f.name)){
|
||||
@@ -93,7 +106,7 @@ function sel(fs){
|
||||
});
|
||||
return;
|
||||
}
|
||||
const novos=fs.map(f=>({f,px:px(f),cm:0,q:1,prop:1,giro:0,esp:false}));
|
||||
const novos=fs.map(f=>({f,px:0,py:0,cm:0,q:1,prop:1,giro:0,esp:false}));
|
||||
artes=novos.concat(artes); // a mais recente fica no topo da fila
|
||||
recemChegada=novos[0];
|
||||
pintaArtes();
|
||||
@@ -102,11 +115,12 @@ function sel(fs){
|
||||
}
|
||||
function medir(a){
|
||||
return carregarImagem(a.f).then(img=>{
|
||||
if(img){ a.prop=img.height/img.width; a.px=img.width; a.src=img.src; } else a.prop=a.prop||1;
|
||||
if(img){ a.prop=img.height/img.width; a.px=img.width; a.py=img.height; a.src=img.src; }
|
||||
else a.decodeError=true;
|
||||
return a;
|
||||
});
|
||||
}
|
||||
// A metragem sai do arquivo, nunca do peso em bytes.
|
||||
// imagem → proporção da imagem aplicada à largura do filme
|
||||
// PDF → MediaBox da primeira página, em pontos (1 pt = 1/72 pol)
|
||||
// PDF → página única lida pelo PDF.js, com boxes, rotação e UserUnit
|
||||
// TIFF, PSD, AI, CDR → o navegador não abre; o cliente informa o comprimento
|
||||
|
||||
Reference in New Issue
Block a user