FSN#31660 Handtekening afronding
svn path=/Website/trunk/; revision=24502
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -29,13 +29,8 @@ FCLTHeader.Requires({plugins: ["jQuery"],
|
||||
// key of folder wordt doorgegeven
|
||||
var pKey = getQParamInt("key", -1);
|
||||
var pNiveau = getQParamSafe("niveau", "");
|
||||
|
||||
var pModule = getQParamSafe("module");
|
||||
var pKenmerk_key = getQParamInt("kenmerk_key", -1);
|
||||
var pMulti = getQParamInt("multi", 0) == 1;
|
||||
var pReado = getQParamInt("reado", 0) == 1;
|
||||
|
||||
var pDoDelete = getQParam("DoDelete", "");
|
||||
|
||||
var transitParam = buildTransitParam(["key", "module", "niveau", "kenmerk_key", "encrypt", "extFilter", "pregexp", "reado", "multi", "tmpfolder"]);
|
||||
|
||||
@@ -43,13 +38,6 @@ params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
|
||||
|
||||
__Log("Zoeken bestanden onder " + params.AttachPath);
|
||||
|
||||
if (pDoDelete != "")
|
||||
{
|
||||
fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
__Log("deleting: " + params.AttachPath + "/" + pDoDelete)
|
||||
fso.DeleteFile(params.AttachPath + "/" + safe.filename(pDoDelete), true);
|
||||
}
|
||||
|
||||
if (params.extFilter != "xxx")
|
||||
{
|
||||
abort_with_warning("INTERNAL ERROR:\nExtfilter not xxx");
|
||||
@@ -65,8 +53,7 @@ if (params.extFilter != "xxx")
|
||||
var wrapper = document.getElementById("signature-pad"),
|
||||
clearButton = wrapper.querySelector("[data-action=clear]"),
|
||||
saveButton = wrapper.querySelector("[data-action=save]"),
|
||||
canvas = wrapper.querySelector("canvas"),
|
||||
signaturePad;
|
||||
canvas = wrapper.querySelector("canvas");
|
||||
|
||||
// Adjust canvas coordinate space taking into account pixel ratio,
|
||||
// to make it look crisp on mobile devices.
|
||||
@@ -81,48 +68,58 @@ if (params.extFilter != "xxx")
|
||||
window.onresize = resizeCanvas;
|
||||
resizeCanvas();
|
||||
|
||||
signaturePad = new SignaturePad(canvas, {
|
||||
window.signaturePad = new SignaturePad(canvas, {
|
||||
xbackgroundColor: "rgb(255, 255, 255)"
|
||||
});
|
||||
|
||||
clearButton.addEventListener("click", function (event) {
|
||||
signaturePad.clear();
|
||||
});
|
||||
|
||||
saveButton.addEventListener("click", function (event) {
|
||||
if (signaturePad.isEmpty())
|
||||
{
|
||||
alert("Please provide signature first."); // Of: gewoon wissen op filesysteem?
|
||||
}
|
||||
else
|
||||
{
|
||||
$.post("<%=protectQS.create("base64_png_save.asp?action=insert"+transitParam)%>",
|
||||
{ data: signaturePad.toDataURL() },
|
||||
FcltCallbackAndThen(uploadDone), "json");
|
||||
}
|
||||
});
|
||||
}
|
||||
function sig_submit()
|
||||
{
|
||||
if (signaturePad.isEmpty())
|
||||
{
|
||||
$.post("<%=protectQS.create("base64_png_save.asp?action=delete"+transitParam)%>",
|
||||
{ },
|
||||
FcltCallbackAndThen(uploadDone), "json");
|
||||
}
|
||||
else
|
||||
{
|
||||
$.post("<%=protectQS.create("base64_png_save.asp?action=insert"+transitParam)%>",
|
||||
{ data: signaturePad.toDataURL() },
|
||||
FcltCallbackAndThen(uploadDone), "json");
|
||||
}
|
||||
}
|
||||
function sig_clear()
|
||||
{
|
||||
signaturePad.clear();
|
||||
}
|
||||
function sig_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
function uploadDone(json)
|
||||
{
|
||||
window.return_data = { cnt: 1, fileName: json.safefilename, fullPath: json.fullPath };
|
||||
window.return_data = { cnt: 1, fileName: json.safefilename||"", fullPath: json.fullPath||"" };
|
||||
window.return_data.org_data = FcltMgr.dialogArguments();
|
||||
FcltMgr.closeDetail(window, return_data);
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
div#buttons { padding-top: 5px; }
|
||||
</style>
|
||||
</head>
|
||||
<body onload="init()">
|
||||
<div id="signature-pad" class="m-signature-pad">
|
||||
<div class="m-signature-pad--body">
|
||||
<canvas></canvas>
|
||||
<body id="mod_signature" class='modal' onload="init()">
|
||||
<div id="signature-pad" class="m-signature-pad">
|
||||
<div class="m-signature-pad--body">
|
||||
<canvas></canvas>
|
||||
</div>
|
||||
<div class="m-signature-pad--footer">
|
||||
<%
|
||||
var buttons = [ {title: L("lcl_filedelete"), action:"sig_clear()", icon: "opslaan.png", singlepress: true },
|
||||
{title: L("lcl_submit"), action:"sig_submit()", icon: "opslaan.png", singlepress: true },
|
||||
{title: L("lcl_cancel"), action:"sig_cancel()", icon: "undo.png" }];
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m-signature-pad--footer">
|
||||
<div class="description">Sign above</div>
|
||||
<button class="button clear" data-action="clear">Clear</button>
|
||||
<button class="button save" data-action="save">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
Response.End;
|
||||
%>
|
||||
|
||||
@@ -30,34 +30,47 @@ var pKenmerk_key = getQParamInt("kenmerk_key", -1);
|
||||
|
||||
var params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
|
||||
|
||||
if (params.extFilter)
|
||||
{
|
||||
// extFilter="pdf,tiff" of "pdf tiff" of "pdf;tiff"
|
||||
var regFilter = params.extFilter;
|
||||
regFilter = regFilter.replace(/( |,|;)/g,"|"); // Altijd | karakter
|
||||
regFilter = ".*\\." + "(" + regFilter + ")$"; // er moet een punt voor en extensie is aan het einde
|
||||
}
|
||||
|
||||
__Log("Opslaan onder: " + params.AttachPath);
|
||||
CreateFullPath(params.AttachPath);
|
||||
var Attachment = getFParam("data").split(",")[1]; // haal data:image/png;base64, er af
|
||||
var SafeName = "test.png";
|
||||
encodedString2File(params.AttachPath + SafeName, Attachment, "bin.base64");
|
||||
checkWebconfig(params.AttachRootPath);
|
||||
var transitParam = buildTransitParam(["tmpfolder"]);
|
||||
|
||||
var result = { message: "", // VB_result("message"),
|
||||
safefilename: SafeName,
|
||||
fullPath: protectQS.create(OpenFlexFile(pModule, pNiveau, pKey, pKenmerk_key, SafeName) + transitParam)
|
||||
};
|
||||
|
||||
if (result.message != "")
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
var f = fso.GetFolder(params.AttachPath);
|
||||
for (fc = new Enumerator(f.files); !fc.atEnd(); fc.moveNext())
|
||||
{
|
||||
result.message = L("lcl_shared_upload_error_start") + result.message + L("lcl_shared_upload_error_end");
|
||||
var vFileName = fc.item().Name;
|
||||
__Log("Autodelete: " + params.AttachPath + vFileName)
|
||||
DeleteFile(params.AttachPath + vFileName);
|
||||
}
|
||||
|
||||
var data = getFParam("data", "");
|
||||
var result = {};
|
||||
if (data)
|
||||
{
|
||||
var Attachment = data.split(",")[1]; // haal data:image/png;base64, er af
|
||||
var now = new Date();
|
||||
var SafeName = "signature_{0}-{1}-{2}_{3}-{4}-{5}.png".format(padout(now.getFullYear()),
|
||||
padout(now.getMonth()+1),
|
||||
padout(now.getDate()),
|
||||
padout(now.getHours()),
|
||||
padout(now.getMinutes()),
|
||||
padout(now.getSeconds()));
|
||||
|
||||
try
|
||||
{
|
||||
encodedString2File(params.AttachPath + SafeName, Attachment, "bin.base64");
|
||||
checkWebconfig(params.AttachRootPath);
|
||||
var transitParam = buildTransitParam(["tmpfolder"]);
|
||||
|
||||
result.safefilename = SafeName;
|
||||
result.fullPath = protectQS.create(OpenFlexFile(pModule, pNiveau, pKey, pKenmerk_key, SafeName) + transitParam);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
result.message = L("lcl_shared_upload_error_start") + e.description + L("lcl_shared_upload_error_end");
|
||||
}
|
||||
}
|
||||
|
||||
result.success = true;
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
|
||||
%>
|
||||
|
||||
@@ -1289,7 +1289,7 @@ function listKenmerk(sql, module, key, props)
|
||||
if (!nolabel)
|
||||
kenmerk_write('<label for="' + nameprefix + idCounter + 'val"' + (ktype == 'L' || ktype == 'l'? ' class=flexlabellabel' : '') + '>'
|
||||
+ '<span title="' + safe.htmlattr(hint) + '">'
|
||||
+ val_label + (kdim != null? ' [' + kdim + ']' : '') + val_seperator + '</span></label>');
|
||||
+ val_label + ((kdim != null && kdim != "xxx")? ' [' + kdim + ']' : '') + val_seperator + '</span></label>');
|
||||
|
||||
// FSN#26365 Tijdelijke hack om mobile te voorkomen dat labels aan elkaar geplakt worden
|
||||
// Eigenlijke oorzaak is dat de gegenereerde HTML aan alle kanten rammelt. Eigenlijk moet
|
||||
|
||||
@@ -181,14 +181,14 @@ function bijlagen_callback(data, orgParams)
|
||||
}
|
||||
else
|
||||
{
|
||||
orgParams.params.objButton.value = data.fileName;
|
||||
orgParams.params.objButton.value = data.fileName||"";
|
||||
$(orgParams.params.objButton).toggle(data.fileName != "");
|
||||
$(orgParams.params.objButton).next().toggle(data.fileName == ""); // de 'Add' knop
|
||||
if (data.fullPath) // handtekening
|
||||
{
|
||||
$(orgParams.params.objButton).nextAll("img").show()[0].src = data.fullPath;
|
||||
FcltMgr.resized();
|
||||
}
|
||||
else
|
||||
$(orgParams.params.objButton).nextAll("img").hide();
|
||||
FcltMgr.resized();
|
||||
}
|
||||
if (orgParams.params.objButton.onchange)
|
||||
orgParams.params.objButton.onchange(); // Omdat input veld readonly is wordt de onchange niet automatisch uitgevoerd.
|
||||
|
||||
Reference in New Issue
Block a user