FSN#35474 Tweede aanzet BBCodes ondersteuning in textarea
svn path=/Website/trunk/; revision=28280
This commit is contained in:
@@ -434,7 +434,7 @@ var urlMail = "../shared/queuemail.asp?pcode=ORDMAI&defemail_key=" + defemail_ke
|
|||||||
Title: L("lcl_contract")
|
Title: L("lcl_contract")
|
||||||
};
|
};
|
||||||
ROFIELDTR("fld", L("lcl_contract"), mld_opdr.contract_naam, params); // Contract naam
|
ROFIELDTR("fld", L("lcl_contract"), mld_opdr.contract_naam, params); // Contract naam
|
||||||
ROTEXTAREATR("fldtxt", L("lcl_mld_opdr_description"), mld_opdr.opdr_omschr, {suppressEmpty: true});
|
ROTEXTAREATR("fldtxt", L("lcl_mld_opdr_description"), mld_opdr.opdr_omschr, {suppressEmpty: true, mldlink: true});
|
||||||
|
|
||||||
var showtime = (1==1); //mld_uitvoertijd_eenheid == "U";
|
var showtime = (1==1); //mld_uitvoertijd_eenheid == "U";
|
||||||
ROFIELDTR(showtime? "flddatetime" : "flddate",
|
ROFIELDTR(showtime? "flddatetime" : "flddate",
|
||||||
@@ -457,7 +457,7 @@ var urlMail = "../shared/queuemail.asp?pcode=ORDMAI&defemail_key=" + defemail_ke
|
|||||||
suppressEmpty: true
|
suppressEmpty: true
|
||||||
});
|
});
|
||||||
ROFIELDTR("flddatetime", L("lcl_opdr_plandate"), mld_opdr.mld_opdr_plandatum != null ? toDateTimeString(mld_opdr.mld_opdr_plandatum):null, {suppressEmpty: true}); // Geplande datum
|
ROFIELDTR("flddatetime", L("lcl_opdr_plandate"), mld_opdr.mld_opdr_plandatum != null ? toDateTimeString(mld_opdr.mld_opdr_plandatum):null, {suppressEmpty: true}); // Geplande datum
|
||||||
ROTEXTAREATR('fldtxt', L("lcl_mld_inf_Opmerking"), mld_opdr.opdr_opmerking, {suppressEmpty: true}); // Afhandeling
|
ROTEXTAREATR('fldtxt', L("lcl_mld_inf_Opmerking"), mld_opdr.opdr_opmerking, {suppressEmpty: true, mldlink: true}); // Afhandeling
|
||||||
BLOCK_END();
|
BLOCK_END();
|
||||||
|
|
||||||
BLOCK_START("opdrMelding", L("lcl_opdr_info") + " " +(prefix||"") + mld_opdr.mld_key + "/" + mld_opdr.volgnr, true);
|
BLOCK_START("opdrMelding", L("lcl_opdr_info") + " " +(prefix||"") + mld_opdr.mld_key + "/" + mld_opdr.volgnr, true);
|
||||||
@@ -469,7 +469,7 @@ var urlMail = "../shared/queuemail.asp?pcode=ORDMAI&defemail_key=" + defemail_ke
|
|||||||
|
|
||||||
if (mld_opdr.opdr_status == 2)
|
if (mld_opdr.opdr_status == 2)
|
||||||
{ // Opdracht Niet akkoord
|
{ // Opdracht Niet akkoord
|
||||||
ROTEXTAREATR('fldtxt', L("lcl_mld_inf_opmerking_fiat"), mld_opdr.mld_opdr_opmerking_fiat, {suppressEmpty: true}); // Afhandeling, reden niet akkoord
|
ROTEXTAREATR('fldtxt', L("lcl_mld_inf_opmerking_fiat"), mld_opdr.mld_opdr_opmerking_fiat, {suppressEmpty: true, mldlink: true}); // Afhandeling, reden niet akkoord
|
||||||
}
|
}
|
||||||
|
|
||||||
var fiat_key = mld_opdr.mld_opdr_fiat_user; // Laatste fiatteur die gefiatteerd heeft
|
var fiat_key = mld_opdr.mld_opdr_fiat_user; // Laatste fiatteur die gefiatteerd heeft
|
||||||
|
|||||||
@@ -726,24 +726,41 @@ safe = {
|
|||||||
{
|
{
|
||||||
return Server.HTMLEncode(safe.nvl(waarde));
|
return Server.HTMLEncode(safe.nvl(waarde));
|
||||||
},
|
},
|
||||||
// Bijvoorbeeld <div>< % =safe.fclthtml(omschr)% ></div>
|
// Bijvoorbeeld <div class='fclthtml'>< % =safe.fclthtml(omschr)% ></div>
|
||||||
// We ondersteunen bb-codes die 1-op-1 naar html zijn om te zetten
|
// We ondersteunen bb-codes die 1-op-1 naar html zijn om te zetten
|
||||||
fclthtml: function (waarde, mldlink)
|
fclthtml: function (waarde, mldlink)
|
||||||
{
|
{
|
||||||
var safepairs = "b,i,th,td,tr,table,xmp".split(",");
|
var safepairs = "h1,h2,h3,h4,h5,h6,b,i,u,em,strong,small,big,th,td,tr,table,xmp".split(",");
|
||||||
var safehtml = safe.html(waarde);
|
var safehtml = safe.html(waarde); // Let op: vervangt *alle* \n door <br>. Dat gaan we deels later nog terugdraaien
|
||||||
|
// We hebben het wel *nodig* omdat .* niet over meerdere regels werkt (hoewel dat
|
||||||
|
// weer oplosbaar schijnt te zijn met [\s\S])
|
||||||
for (var i = 0; i < safepairs.length; i++)
|
for (var i = 0; i < safepairs.length; i++)
|
||||||
{
|
{
|
||||||
var code = safepairs[i];
|
var code = safepairs[i];
|
||||||
var strre = "\\[" + code + "\\](.*?)\\[\\/" + code + "\\]"; // De ? maakt de .* lazy (ipv greedy)
|
var strre = "\\[{0}\\](.*?)\\[\\/{0}\\]".format(code); // De ? maakt de .* lazy (ipv greedy)
|
||||||
var strnew = "<" + code + ">$1</" + code + ">"; // de [\s\S] ipv. een punt matcht ook over newlines
|
var strnew = "<" + code + ">$1</" + code + ">";
|
||||||
var re = new RegExp(strre, "g");
|
var re = new RegExp(strre, "g");
|
||||||
var safehtml = safehtml.replace(re, strnew);
|
var safehtml = safehtml.replace(re, strnew);
|
||||||
}
|
}
|
||||||
if (mldlink)
|
if (mldlink)
|
||||||
var safehtml = safe.mldlinkhtml(safehtml);
|
var safehtml = safe.mldlinkhtml(safehtml);
|
||||||
|
|
||||||
// Nu de <br>'s binnen <pre> terugzetten
|
// Nu de <br>'s binnen de tabel terugzetten. Let op dat ze *binnen* <td>'s weer wel moeten blijven
|
||||||
|
// TODO: Kan dit beter?
|
||||||
|
if (safehtml.indexOf("<table>") > -1)
|
||||||
|
{
|
||||||
|
var tablepairs = "th,td,tr,table".split(",");
|
||||||
|
for (var i = 0; i < tablepairs.length; i++)
|
||||||
|
{
|
||||||
|
var code = tablepairs[i];
|
||||||
|
var re = new RegExp("<{0}>(\r<br>)+".format(code), "g");
|
||||||
|
var safehtml = safehtml.replace(re, "<" + code + ">");
|
||||||
|
var re = new RegExp("</{0}>(\r<br>)+".format(code), "g");
|
||||||
|
var safehtml = safehtml.replace(re, "</" + code + ">");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Nu alle <br>'s binnen <pre> terugzetten
|
||||||
var matches = safehtml.match(/<xmp(?:.*?)>(?:.*?)<\/xmp>/g);
|
var matches = safehtml.match(/<xmp(?:.*?)>(?:.*?)<\/xmp>/g);
|
||||||
if (matches)
|
if (matches)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -283,7 +283,7 @@ function ROTEXTAREATR(pclass, plabel, pvalue, params)
|
|||||||
|
|
||||||
%><tr <%=params.trclass?"class='"+params.trclass+"'":""%>>
|
%><tr <%=params.trclass?"class='"+params.trclass+"'":""%>>
|
||||||
<%if (plabel) {%><td class="label"><label><%=plabel? plabel + ":" : ""%></label></td><% } %>
|
<%if (plabel) {%><td class="label"><label><%=plabel? plabel + ":" : ""%></label></td><% } %>
|
||||||
<td <%=(params.tdhtml_ta? " " + params.tdhtml_ta : "")%>><div class="readonly <%=pclass%>"<%=(params.html? " " + params.html + " " : "")%><%=params && params.id? ' id=\"' + params.id + '\"' : ''%>><%=safe.fclthtml(pvalue, params.mldlink)%></div></td></tr><%
|
<td <%=(params.tdhtml_ta? " " + params.tdhtml_ta : "")%>><div class="readonly fclthtml <%=pclass%>"<%=(params.html? " " + params.html + " " : "")%><%=params && params.id? ' id=\"' + params.id + '\"' : ''%>><%=safe.fclthtml(pvalue, params.mldlink)%></div></td></tr><%
|
||||||
}
|
}
|
||||||
|
|
||||||
// params.html wordt er ook tussen geplakt (onclick bijvoorbeeld)
|
// params.html wordt er ook tussen geplakt (onclick bijvoorbeeld)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ function STR2Stream(xmlstr, xslfile, Stream, params)
|
|||||||
var xsldoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.6.0");
|
var xsldoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.6.0");
|
||||||
var xslproc;
|
var xslproc;
|
||||||
xsldoc.async = false;
|
xsldoc.async = false;
|
||||||
|
xsldoc.setProperty("AllowXsltScript", true);
|
||||||
xsldoc.load(xslfile);
|
xsldoc.load(xslfile);
|
||||||
|
|
||||||
if (xsldoc.parseError.errorCode != 0)
|
if (xsldoc.parseError.errorCode != 0)
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ function SafeLoadFileXSL(xslPath)
|
|||||||
{
|
{
|
||||||
var iXsl = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.6.0"); // Moet FreeThreaded voor XSLTemplate
|
var iXsl = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.6.0"); // Moet FreeThreaded voor XSLTemplate
|
||||||
iXsl.async = false;
|
iXsl.async = false;
|
||||||
|
xsldoc.setProperty("AllowXsltScript", true);
|
||||||
iXsl.load(custabspath + "/" + xslPath);
|
iXsl.load(custabspath + "/" + xslPath);
|
||||||
TestAndRaiseAnXMLError("Error loading file " + xslPath, iXsl);
|
TestAndRaiseAnXMLError("Error loading file " + xslPath, iXsl);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user