FCLT#91578 Punten 1, 2 & 3
svn path=/Website/branches/v2025.3/; revision=71039
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="fac.inc" -->
|
||||
|
||||
<%
|
||||
@@ -45,6 +46,18 @@ function prettyJson(j)
|
||||
|
||||
$(function()
|
||||
{
|
||||
$("#main-color").on("change", _ => {
|
||||
$("#main-color-contrast").val(0);
|
||||
});
|
||||
$("#accent-color").on("change", _ => {
|
||||
$("#accent-color-contrast").val(0);
|
||||
});
|
||||
|
||||
$("#frameheader-in-color").on("change", function (e) {
|
||||
var frameheadercolor = ["#F2F2F2", "color-mix(in srgb, var(--main-color) 50%, var(--fclt-color-grey))"][this.checked ? 1 : 0];
|
||||
$(this).closest("td").next("td").find(".color-preview").css("color", frameheadercolor);
|
||||
})
|
||||
|
||||
$('textarea').autogrow();
|
||||
FcltMgr.startEdit(window);
|
||||
});
|
||||
@@ -168,45 +181,96 @@ function prettyJson(j)
|
||||
<th> </th>
|
||||
<th><%=L("lcl_fac_template_curval")%> <input type='button' class='button' value='<%=L("lcl_transport")%>' onclick='doExportcss()'></th></tr>
|
||||
<%
|
||||
for (itm in FCLTHeader.defaultTemplate)
|
||||
for (item in FCLTHeader.defaultTemplate)
|
||||
{
|
||||
var act = "";
|
||||
if (itm in S("csstemplate"))
|
||||
act = S("csstemplate")[itm];
|
||||
var con = "";
|
||||
if (itm in S("csstemplate"))
|
||||
con = S("csstemplate")[itm];
|
||||
var defaultValue = FCLTHeader.defaultTemplate[item];
|
||||
var actualValue = "";
|
||||
if (item in S("csstemplate")) {
|
||||
actualValue = S("csstemplate")[item];
|
||||
}
|
||||
var isColor = function(s) { return (s).match(/^#(?!#)|^rgb/i); };
|
||||
var isImage = item.slice(-5) === "image";
|
||||
|
||||
// Voor kleurwaarden tonen we een kleurvoorbeeld, dat bepalen we aan de hand van onze defaultwaarde
|
||||
%><tr><td class='label'><label for='<%=safe.html(itm)%>'><%=safe.html(itm)%></label></td>
|
||||
<td style="text-align:right"><% =(FCLTHeader.defaultTemplate[itm]).match(/^#(?!#)|^rgb/i) ? '<div class="color-preview" style="color:'+safe.htmlattr(FCLTHeader.defaultTemplate[itm])+'">' + I("fa-square fa-2x", { fastyle: "fas" }) + '</div>' : '' %></td>
|
||||
<td><%=safe.html(FCLTHeader.defaultTemplate[itm])%></td>
|
||||
<% if (itm.slice(-5) === "image") {
|
||||
%><tr><td class='label'><label for='<%=safe.html(item)%>'><%=safe.html(item)%></label></td>
|
||||
<td style="text-align:right">
|
||||
<% if (isColor(defaultValue)) { %>
|
||||
<div class="color-preview" style="color:<%=safe.htmlattr(defaultValue)%>"><%=I("fa-square fa-2x", { fastyle: "fas" })%></div>
|
||||
<% } %>
|
||||
</td>
|
||||
<td><%=safe.html(defaultValue)%></td>
|
||||
<% if (isImage) {
|
||||
Response.Write(" <td class='filepicker'>"
|
||||
+ " <input type='hidden' id='" + safe.htmlattr(itm) + "' name='" + safe.htmlattr(itm) + "' value='" + safe.htmlattr(con) + "'>"
|
||||
+ " <input type='hidden' id='" + safe.htmlattr(item) + "' name='" + safe.htmlattr(item) + "' value='" + safe.htmlattr(actualValue) + "'>"
|
||||
+ " <span class='button-icon-wrapper file-picker'>"
|
||||
+ " <span class='starticon'>" + I("fa-file-image") + "</span>"
|
||||
+ " <input type='button' class='button symbol-upload' title='" + safe.htmlattr(itm) + "' value='" + safe.htmlattr(con || L("lcl_image")) + "'"
|
||||
+ " aria-controls='" + itm + "'"
|
||||
+ " data-default-title='" + safe.htmlattr(itm) + "'"
|
||||
+ " <input type='button' class='button symbol-upload' title='" + safe.htmlattr(item) + "' value='" + safe.htmlattr(actualValue || L("lcl_image")) + "'"
|
||||
+ " aria-controls='" + item + "'"
|
||||
+ " data-default-title='" + safe.htmlattr(item) + "'"
|
||||
+ " data-module='STYLE'"
|
||||
+ " data-upload-url='" + safe.htmlattr(protectQS.create("../shared/BijlagenForm.asp?module=STYLE")) + "'>"
|
||||
+ " </span>"
|
||||
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + safe.htmlattr(itm) + "'>"
|
||||
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + safe.htmlattr(item) + "'>"
|
||||
+ I("fa-trash-alt")
|
||||
+ " </span>"
|
||||
+ " </td>");
|
||||
} else { %>
|
||||
<td><%
|
||||
RWFIELD(itm, "fld", "", con, { "datatype": "color" });
|
||||
RWFIELD(item, "fld", "", actualValue, { "datatype": "color" });
|
||||
%> </td><%
|
||||
} %>
|
||||
<td style="text-align:right"><% =(act && (FCLTHeader.defaultTemplate[itm]).match(/^#(?!#)|^rgb/i) || act.match(/^#(?!#)|^rgb/i)) ? '<div class="color-preview" style="color:'+safe.htmlattr(act)+'">' + I("fa-square fa-2x", { fastyle: "fas" }) + '</div>' : '' %></td>
|
||||
<% if (itm.slice(-5) === "image" && act && act.match(/^## .* ##$/) === null) { %>
|
||||
<td><span class="details" onClick="iface.fullscreen_image('<%=safe.jsstring(safe.htmlattr(HTTP.urlzelfnoroot() + S("style_image_path") + act))%>');"><%=safe.html(act)%></span></td>
|
||||
|
||||
<td style="text-align:right"><%=(actualValue && isColor(defaultValue) || isColor(actualValue) ? '<div class="color-preview" style="color:'+safe.htmlattr(actualValue)+'">' + I("fa-square fa-2x", { fastyle: "fas" }) + '</div>' : '')%></td>
|
||||
<% if (item.slice(-5) === "image" && actualValue && actualValue.match(/^## .* ##$/) === null) { %>
|
||||
<td><span class="details" onClick="iface.fullscreen_image('<%=safe.jsstring(safe.htmlattr(HTTP.urlzelfnoroot() + S("style_image_path") + actualValue))%>');"><%=safe.html(actualValue)%></span></td>
|
||||
<% } else { %>
|
||||
<td><%=safe.html(act)%></td>
|
||||
<td><%=safe.html(actualValue)%></td>
|
||||
<% } %>
|
||||
</tr><%
|
||||
|
||||
if (item == "main-color" || item == "accent-color") { %>
|
||||
<tr>
|
||||
<td class='label'><%=item%>-contrast</td>
|
||||
<td> </td>
|
||||
<td>Hoogste contrast</td>
|
||||
<td><%
|
||||
var sql = " SELECT 0, 'Hoogste contrast' FROM DUAL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 1, '#FFFFFF' FROM DUAL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 2, '#081326' FROM DUAL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 3, " + safe.quoted_sql(item == "main-color" ? "accent-color" : "main-color") + " FROM DUAL";
|
||||
var initKey = 0;
|
||||
if (item + "-contrast" in S("csstemplate")) {
|
||||
initKey = S("csstemplate")[item + "-contrast"];
|
||||
}
|
||||
FCLTselector(item + "-contrast", sql, {
|
||||
initKey: initKey,
|
||||
required: true
|
||||
});
|
||||
%> </td>
|
||||
<td style="text-align:right"><div class="color-preview" style="color:var(--<%=item%>-contrast);"><%=I("fa-square fa-2x", { fastyle: "fas" })%></div></td>
|
||||
<td>*Dit niet aanpassen om aan toegankelijkheidseisen te voldoen</td>
|
||||
</tr><%
|
||||
if (item == "accent-color") { // Na accent-color-contrast nog een pseudo-veld; frameheader-in-color
|
||||
%> <tr>
|
||||
<td class='label'>frameheader-in-color</td>
|
||||
<td style="text-align:right"><div class="color-preview" style="color: #F2F2F2"><%=I("fa-square fa-2x", { fastyle: "fas" })%></div></td>
|
||||
<td>#F2F2F2</td>
|
||||
<td><%
|
||||
var initKey = 0;
|
||||
if ("frameheader-in-color" in S("csstemplate")) {
|
||||
initKey = S("csstemplate")["frameheader-in-color"] == 1 ? 1 : 0;
|
||||
}
|
||||
var frameheadercolor = ["#F2F2F2", "color-mix(in srgb, var(--main-color) 50%, var(--fclt-color-grey))"][initKey];
|
||||
CHECKBOX("", "frameheader-in-color", initKey != 0, { });
|
||||
%> </td>
|
||||
<td style="text-align:right"><div class="color-preview" style="color:<%=frameheadercolor%>;"><%=I("fa-square fa-2x", { fastyle: "fas" })%></div></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<% }
|
||||
}
|
||||
}
|
||||
%>
|
||||
<tr>
|
||||
|
||||
@@ -34,14 +34,29 @@ var cssparams = { cssmode: previewmode };
|
||||
if (previewmode == 2)
|
||||
{
|
||||
cssparams.csstemplate = {};
|
||||
for (itm in FCLTHeader.defaultTemplate)
|
||||
for (item in FCLTHeader.defaultTemplate)
|
||||
{
|
||||
var conceptval = getFParam(itm);
|
||||
var conceptval = getFParam(item);
|
||||
if (conceptval != "")
|
||||
cssparams.csstemplate[itm] = conceptval;
|
||||
cssparams.csstemplate[item] = conceptval;
|
||||
else
|
||||
delete cssparams.csstemplate[itm];
|
||||
delete cssparams.csstemplate[item];
|
||||
}
|
||||
|
||||
var mainColorContrast = getFParamInt("main-color-contrast", 0);
|
||||
if (mainColorContrast) {
|
||||
cssparams.csstemplate["main-color-contrast"] = mainColorContrast;
|
||||
}
|
||||
var accentColorContrast = getFParamInt("accent-color-contrast", 0);
|
||||
if (accentColorContrast) {
|
||||
cssparams.csstemplate["accent-color-contrast"] = accentColorContrast;
|
||||
}
|
||||
|
||||
var frameheaderInColor = getFParamSafe("frameheader-in-color", "off") == "on";
|
||||
if (frameheaderInColor) {
|
||||
cssparams.csstemplate["frameheader-in-color"] = 1;
|
||||
}
|
||||
|
||||
if (submitting)
|
||||
{
|
||||
var fields = [ { dbs: "fac_setting_pvalue", typ: "varchar", val: JSON.stringify(cssparams.csstemplate) },
|
||||
|
||||
@@ -3616,10 +3616,15 @@ div.mldhandlinghead {
|
||||
{
|
||||
color: var(--tableheadercolor);
|
||||
background-color: var(--tableheaderbackgroundcolor);
|
||||
font-weight: normal;
|
||||
border-top: 1px solid var(--fclt-color-grey-50);
|
||||
border-right: 1px ridge #ccc;
|
||||
border-bottom: 1px solid var(--fclt-color-grey-50);
|
||||
white-space: nowrap;
|
||||
padding: 2px 3px 2px 3px; /* want tfoot td = th */
|
||||
font-weight: normal;
|
||||
&:is(th) {
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.rstable :is(thead th,
|
||||
tfoot td):first-child {
|
||||
|
||||
@@ -566,12 +566,37 @@ FCLTHeader =
|
||||
var mainColor = custtemplate["main-color"] || this.defaultTemplate["main-color"];
|
||||
var accentColor = custtemplate["accent-color"] || this.defaultTemplate["accent-color"];
|
||||
|
||||
var mainColorContrast = _pickContrastColor(mainColor, ["#FFFFFF", aareonBlack, accentColor]);
|
||||
var accentColorContrast = _pickContrastColor(accentColor, ["#FFFFFF", aareonBlack, mainColor]);
|
||||
var mainColorContrastOptions = ["#FFFFFF", aareonBlack, accentColor];
|
||||
var mainColorContrastIndex = custtemplate["main-color-contrast"] || 0;
|
||||
var mainColorContrast;
|
||||
if (mainColorContrastIndex) {
|
||||
mainColorContrast = mainColorContrastOptions[mainColorContrastIndex - 1];
|
||||
} else {
|
||||
mainColorContrast = _pickContrastColor(mainColor, mainColorContrastOptions);
|
||||
}
|
||||
|
||||
var accentColorContrastOptions = ["#FFFFFF", aareonBlack, mainColor];
|
||||
var accentColorContrastIndex = custtemplate["accent-color-contrast"] || 0;
|
||||
var accentColorContrast;
|
||||
if (accentColorContrastIndex) {
|
||||
accentColorContrast = accentColorContrastOptions[accentColorContrastIndex - 1];
|
||||
} else {
|
||||
accentColorContrast = _pickContrastColor(accentColor, accentColorContrastOptions);
|
||||
}
|
||||
|
||||
inCss += "--main-color-contrast: " + mainColorContrast + ";\n";
|
||||
inCss += "--accent-color-contrast: " + accentColorContrast + ";\n";
|
||||
|
||||
var frameHeaderBackgroundColorOptions = ["#F2F2F2", "color-mix(in srgb, var(--main-color) 50%, rgb(128, 128, 128))"];
|
||||
var frameHeaderBackgroundColorIndex = custtemplate["frameheader-in-color"] || 0;
|
||||
var frameHeaderBackgroundColor = frameHeaderBackgroundColorOptions[frameHeaderBackgroundColorIndex];
|
||||
|
||||
var frameHeaderColorOptions = ["var(--headertextcolor)", "#FFFFFF"];
|
||||
var frameHeaderColor = frameHeaderColorOptions[frameHeaderBackgroundColorIndex];
|
||||
|
||||
inCss += "--frameheaderbackgroundcolor: " + frameHeaderBackgroundColor + ";\n";
|
||||
inCss += "--frameheadercolor: " + frameHeaderColor + ";\n";
|
||||
|
||||
inCss += "}";
|
||||
|
||||
var outFile = _getFileByFilename.call(this, outfname);
|
||||
|
||||
@@ -86,6 +86,8 @@
|
||||
--fclt-color-grey-40: color-mix(in srgb, var(--aareon-urban-grey) 40%, transparent);
|
||||
|
||||
/* General */
|
||||
--fclt-color-grey: rgb(128, 128, 128);
|
||||
--fclt-color-grey-50: rgba(128, 128, 128, 0.5);
|
||||
--fclt-color-bad: rgb(156, 0, 6);
|
||||
--fclt-color-bad-contrast: rgb(255, 199, 206);
|
||||
--fclt-color-good: rgb(0, 97, 0);
|
||||
@@ -168,8 +170,8 @@
|
||||
--buttonbackgroundcolormediumlow: #F2F2F2; /* 95% wit, 5% zwart */;
|
||||
--buttoncolormediumlow: var(--headertextcolor);
|
||||
|
||||
--frameheaderbackgroundcolor: #F2F2F2; /* 95% wit, 5% zwart */;
|
||||
--frameheadercolor: var(--headertextcolor); /* accent-light is licht genoeg om hoog contrast te garanderen */
|
||||
/* berekend; --frameheaderbackgroundcolor: #F2F2F2; /* 95% wit, 5% zwart */;
|
||||
/* berekend; --frameheadercolor: var(--headertextcolor); /* accent-light is licht genoeg om hoog contrast te garanderen */
|
||||
|
||||
--inlineactionbackgroundcolor: var(--main-color-contrast);
|
||||
--inlineactioncolor: var(--main-color);
|
||||
|
||||
Reference in New Issue
Block a user