Progress bar using timing statistics.
This commit is contained in:
@@ -78,14 +78,19 @@ $formFields.=RenderFieldCombo(MultiLang::GetString("Resolution"),"ddlResolution"
|
|||||||
$formFields.=RenderFieldCombo(MultiLang::GetString("Format"),"ddlFormat",$Formats,$Format);
|
$formFields.=RenderFieldCombo(MultiLang::GetString("Format"),"ddlFormat",$Formats,$Format);
|
||||||
$formFields.=RenderFieldCombo(MultiLang::GetString("Size"),"ddlSize",MultiLang::ApplyArrayKeys($Sizes),$Size);
|
$formFields.=RenderFieldCombo(MultiLang::GetString("Size"),"ddlSize",MultiLang::ApplyArrayKeys($Sizes),$Size);
|
||||||
//$formFields.=RenderFieldCheckText("Cropping","chkCrop",$Crop,"txtCropFuzz",$CropFuzz);
|
//$formFields.=RenderFieldCheckText("Cropping","chkCrop",$Crop,"txtCropFuzz",$CropFuzz);
|
||||||
$formFields.=RenderFieldButton("","btnScan",MultiLang::GetString("Scan"),"Element_SetVisibility('divLoadBack',true);");
|
$formFields.=RenderFieldButton("","btnScan",MultiLang::GetString("Scan"),"ShowProgressDialog();");
|
||||||
$formFields.=RenderHidden("hidScanDevice",$Scanner["ScanDevice"]);
|
$formFields.=RenderHidden("hidScanDevice",$Scanner["ScanDevice"]);
|
||||||
$formFields.=RenderHidden("hidScanModel",$Scanner["ScanModel"]);
|
$formFields.=RenderHidden("hidScanModel",$Scanner["ScanModel"]);
|
||||||
$columns="";
|
$columns="";
|
||||||
$columns.=renderDiv("divColLeft",$formFields);
|
$columns.=renderDiv("divColLeft",$formFields);
|
||||||
$columns.=renderDiv("divColRight",RenderDocument($DestFile));
|
$columns.=renderDiv("divColRight",RenderDocument($DestFile));
|
||||||
$columns.=RenderCommandLog();
|
$columns.=RenderCommandLog();
|
||||||
$columns.=RenderDiv("divLoadBack",RenderDiv("divLoading",MultiLang::GetString("Loading"),"divLoading"),"divLoadBack","display:none;");
|
$columns.=RenderDiv("divLoadBack",
|
||||||
|
RenderDiv("divLoading",
|
||||||
|
MultiLang::GetString("Loading").
|
||||||
|
RenderDiv("divProgressCont",RenderDiv("divProgressBar","","divProgressBar"),"divProgressCont"),
|
||||||
|
"divLoading"),
|
||||||
|
"divLoadBack","display:none;");
|
||||||
echo RenderForm("frmMain",$columns);
|
echo RenderForm("frmMain",$columns);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
38
script.js
38
script.js
@@ -24,3 +24,41 @@ function Element_ToggleVisibility(element){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function DropDown_GetValue(dropdown){
|
||||||
|
return dropdown.options[dropdown.selectedIndex].value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ShowProgressDialog(){
|
||||||
|
var divLoadBack=GetElement("divLoadBack");
|
||||||
|
var divLoading=GetElement("divLoading");
|
||||||
|
|
||||||
|
var hidScanDevice=GetElement("hidScanDevice");
|
||||||
|
var ddlResolution=GetElement("ddlResolution");
|
||||||
|
var ddlFormat=GetElement("ddlFormat");
|
||||||
|
var ddlSize=GetElement("ddlSize");
|
||||||
|
|
||||||
|
Element_SetVisibility("divLoadBack",true);
|
||||||
|
|
||||||
|
var keyValue=
|
||||||
|
hidScanDevice.value+"_"+
|
||||||
|
DropDown_GetValue(ddlResolution)+"_"+
|
||||||
|
DropDown_GetValue(ddlFormat)+"_"+
|
||||||
|
DropDown_GetValue(ddlSize);
|
||||||
|
var startTime=new Date().getTime() / 1000;
|
||||||
|
var estimatedTime=0;
|
||||||
|
if(timings.hasOwnProperty(keyValue)){
|
||||||
|
estimatedTime=timings[keyValue];
|
||||||
|
}
|
||||||
|
var divProgressBar=GetElement("divProgressBar");
|
||||||
|
|
||||||
|
var timerFunction=function(){
|
||||||
|
var timeNow=new Date().getTime() / 1000;
|
||||||
|
var value=(timeNow-startTime)/estimatedTime;
|
||||||
|
if(value>1.0){value=1.0;}
|
||||||
|
if(value<0){value=0;}
|
||||||
|
divProgressBar.style.width=parseInt(value*100)+"%";
|
||||||
|
|
||||||
|
window.setTimeout(timerFunction,300);
|
||||||
|
};
|
||||||
|
window.setTimeout(timerFunction,300);
|
||||||
|
}
|
||||||
|
|||||||
25
style.css
25
style.css
@@ -141,11 +141,30 @@ form{
|
|||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
width: 150px;
|
width: 150px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
height: 50px;
|
height: 75px;
|
||||||
margin: -25px auto 0px -75px;
|
margin: -37px auto 0px -75px;
|
||||||
background-image: url("images/loading.gif");
|
background-image: url("images/loading.gif");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 25px;
|
background-position: 25px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.divProgressCont{
|
||||||
|
position:absolute;
|
||||||
|
top: 40px;
|
||||||
|
left: 12px;
|
||||||
|
width: 125px;
|
||||||
|
height: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border: solid 1px black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.divProgressBar{
|
||||||
|
position:absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 18px;
|
||||||
|
background-color: black;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.width100px {
|
.width100px {
|
||||||
|
|||||||
Reference in New Issue
Block a user