PCHD#54382 Hint bij dienst/suggest

svn path=/Website/trunk/; revision=41353
This commit is contained in:
Peter Feij
2019-03-06 14:54:15 +00:00
parent 97d4c61690
commit 1f81c2c557
4 changed files with 148 additions and 8 deletions

View File

@@ -43,6 +43,14 @@ function model_prs_dienst()
"translate": true,
"required": true,
"filter": "like"
},
"hint": {
"dbs": "prs_dienst_hint",
"label": L("prs_dienst_hint"),
"typ": "memo",
"translate": true,
"required": false,
"filter": "like"
}
};

View File

@@ -15,6 +15,7 @@
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/dienstselector.inc" -->
<!-- #include file="../Shared/xd.inc" -->
<%
@@ -167,16 +168,11 @@ toRs.close();
<input type="text" class="fldsrch wildcard" name="diensttekst" value="">
</td>
</tr>
<% var sql_dienst = "SELECT prs_dienst_key"
+ " , " + lcl.xsqla('prs_dienst_omschrijving', 'prs_dienst_key')
+ " FROM prs_dienst"
+ " ORDER BY UPPER(" + lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key') + ")";
FCLTselector("dienstkey",
sql_dienst,
<% FCLTdienstselector("dienstkey","dienstkey",
{ label: L("lcl_prs_companies_dienst"),
initKey : pdienst_key,
dienstKey : pdienst_key,
trclass:"primsearch noxd",
emptyOption: L("lcl_search_generic")
whenEmpty: L("lcl_search_generic")
});
} %>
<tr class="primsearch">

View File

@@ -0,0 +1,38 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: SuggestDienst.asp
Description: Suggereer dienst
Parameters: k De eerste paar letters van omschrijving of hint
Globals:
Context:
Note:
*/ %>
<%
JSON_Result = true;
%>
<!-- #include file="../../Shared/common.inc" -->
<!-- #include file="./suggest.inc" -->
<%
var chars = getQParam("k", "");
var bAll = getQParamInt("SuggestAll", 0) == 1;
chars = chars.replace(/\*/g,"%");
sql = "SELECT prs_dienst_key"
+ ", " + lcl.xsqla('prs_dienst_omschrijving', 'prs_dienst_key')
+ ", " + lcl.xsqla('prs_dienst_hint', 'prs_dienst_key')
+ " FROM prs_dienst "
+ " WHERE (UPPER(" + lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key') + ") LIKE " + safe.quoted_sql_wild2(chars)
+ " OR UPPER(" + lcl.xsql('prs_dienst_hint', 'prs_dienst_key') + ") LIKE " + safe.quoted_sql_wild2(chars) + ")"
+ " ORDER BY " + lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key');
WriteResult2(sql, { bAll: bAll,
fldName: "prs_dienst_omschrijving",
fldKey : "prs_dienst_key",
fldDesc: "prs_dienst_hint"} );
%>

View File

@@ -0,0 +1,98 @@
<% /*
$Revision$
$Id$
File: dienstselector.inc
Description: Algemene interface functie om een diensten suggestbox te maken
Deze moet je kunnen includen en aanroepen.
parameters fieldName: veldnaam van het dienstKey veld. Dit veld wordt gesubmit.
objectName: naam van het suggest object dat wordt aangemaakt.
params: object met meegegeven parameters.
*/ %>
<%
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"], js: [] });
function FCLTdienstselector(fieldName, objectName, params)
{
if (typeof params=="undefined") params = {};
var lwhenEmpty = (params.whenEmpty != null ? params.whenEmpty : (params.readonly ? L("lcl_select_readonly") : L("lcl_select_dienst")));
var ldienstName = (device.test(device.supportsPlaceholder) ? "" : lwhenEmpty);
var lextraInit = "";
if (params.dienstKey && params.dienstKey > 0)
{
sql = "SELECT prs_dienst_key"
+ ", " + lcl.xsqla('prs_dienst_omschrijving', 'prs_dienst_key')
+ " FROM prs_dienst "
+ " WHERE prs_dienst_key = " + params.dienstKey;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
ldienstName = oRs("prs_dienst_omschrijving").value;
else
params.dienstKey = -1; // toch invalid
}
// Bouw de url voor de persoons query op
var functieQueryUrl = rooturl + "/appl/shared/suggest/SuggestDienst.asp?x=x"
+ (params.filtercode? "&filtcode=" + params.filtercode : "");
if (params.label)
{ %><tr <%=params.trclass?"class='"+params.trclass+"'":""%>>
<td class="label">
<label for="<%=fieldName%>_show"><%=params.label%>:</label>
</td>
<td>
<%
} %>
<nobr>
<input id="<%=fieldName%>_show" class="flddep<%=!params.readonly&&params.required? " required" : ""%>" value="<%=safe.htmlattr(ldienstName)%>" placeholder="<%=lwhenEmpty%>"
<%=params.readonly? " readonly tabindex=-1" : ""%>
<%=params.onChange && !params.readonly? " sgonChange='" + params.onChange + "'" : ""%>>
<input type="hidden" id="<%=fieldName%>" name="<%=fieldName%>" value="<%=params.dienstKey%>">
<%
if (params.extraParamField)
{ /* het extra parameter veld wordt door suggest object gevuld */%>
<input type="hidden" id="<%=params.extraParamField%>" name="<%=params.extraParamField%>" value="<%=safe.htmlattr(lextraInit)%>">
<%
} %>
</nobr>
<%
if (params.label)
{ %>
</td></tr>
<%
} %>
<%
if (!params.readonly)
{
if (params.urlAdd)
{
var urlAddTxt = "[";
for (var i = 0; i < params.urlAdd.length; i++)
{
urlAddTxt += (i > 0? ", " : "") + "{ urlParam: \"" + params.urlAdd[i].urlParam + "\", field: \"" + params.urlAdd[i].field + "\" }";
}
urlAddTxt += "]"
}
%>
<script type="text/javascript">
$(function()
{
<%=objectName%> = new Suggest({ objectName: "<%=objectName%>",
queryField: $("#<%=fieldName%>_show")[0],
queryUrl: "<%=functieQueryUrl%>",
initKey: <%=params.dienstKey? params.dienstKey : -1%>,
icon: "fa-briefcase",
keyField: $("#<%=fieldName%>")[0]
<%=params.urlAdd? ", urlAdd: " + urlAddTxt : ""%>
<%=params.extraParamField? ", extraParamField: $(\"" + "#" + params.extraParamField + "\")[0]" : ""%>
<%=params.extraParamField? ", initExtraParam: \"" + safe.jsstring("" + lextraInit) + "\"": ""%>
<%=params.isBad? ", isBad: true": ""%>
<%=params.readonly? ", fieldReadonly: true": ""%>
});
});
</script>
<%
}
}
%>