Examples
This page includes examples for the various chapters of page RecordContainer.
JDito RecordContainer
Step-by-step Example
-
Create table
MYTEST:MYTESTID: char(36)MYNUMBERFIELD: intMYTEXTFIELD: varchar(50)
-
Update Alias Definition.
-
Create Context
MyTestand EntityMyTest_entity:UIDMYNUMBERFIELD(number)MYTEXTFIELD
-
Add FilterView, PreviewView, and EditView.
-
Add to Global Menu.
-
Create
JDitoRecordContainernamedjDito:-
jDitoRecordAlias:Data_alias -
recordFieldMappings:- UID.value
- MYNUMBERFIELD.value
- MYTEXTFIELD.value
-
isFilterable: true -
contentProcess:
-
import { result, vars } from "@aditosoftware/jdito-types";
import { FilterSqlTranslator } from "JditoFilter_lib";
import { newSelect, SqlBuilder } from "SqlBuilder_lib";
var query = newSelect("MYTESTID, MYNUMBERFIELD, MYTEXTFIELD")
.from("MYTEST");
if (vars.exists("$local.idvalues") && vars.get("$local.idvalues")) {
query.whereIfSet("MYTEST.MYTESTID", vars.get("$local.idvalues"), SqlBuilder.IN());
} else if (vars.get("$local.filters")) {
var filterCondition = new FilterSqlTranslator(vars.get("$local.filters"), "MYTEST");
query.whereIfSet(filterCondition.getSqlCondition());
}
var data = query.table();
result.object(data);
onInsertexample:
var rowdata = vars.get("$local.rowdata");
var columns = ["MYTESTID", "MYNUMBERFIELD", "MYTEXTFIELD"];
var values = [rowdata["UID.value"], rowdata["MYNUMBERFIELD.value"], rowdata["MYTEXTFIELD.value"]];
new SqlBuilder().insertData("MYTEST", columns, null, values);
onUpdateexample:
var changedFields = vars.get("$local.changed");
var rowData = vars.get("$local.rowdata");
var columns = [];
var data = [];
for (let field in changedFields) {
columns.push(changedFields[field].split(".")[0]);
data.push(rowData[changedFields[field]]);
}
newWhereIfSet("MYTESTID = '" + vars.get("$local.uid") + "'")
.updateData(true, "MYTEST", columns, null, data);
onDeleteexample:
newWhereIfSet("MYTESTID = '" + vars.get("$local.uid") + "'")
.deleteData(true, "MYTEST");