Skip to main content

Examples

This page collects example implementations that complement the main RecordContainer chapter.

JDito RecordContainer

Step-by-step Example

  1. Create table MYTEST:

    • MYTESTID: char(36)
    • MYNUMBERFIELD: int
    • MYTEXTFIELD: varchar(50)
  2. Update the Alias Definition.

  3. Create Context MyTest and Entity MyTest_entity:

    • UID
    • MYNUMBERFIELD (number)
    • MYTEXTFIELD
  4. Add a FilterView, PreviewView, and EditView.

  5. Add the Context to the Global Menu.

  6. Create a JDitoRecordContainer named jDito:

    • jDitoRecordAlias: Data_alias

    • recordFieldMappings:

      • UID.value
      • MYNUMBERFIELD.value
      • MYTEXTFIELD.value
    • isFilterable: true

    • contentProcess:

import { result, vars } from "@aditosoftware/jdito-types";
import { FilterSqlTranslator } from "FilterSqlTranslator_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);
  1. Example onInsert implementation:
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);
  1. Example onUpdate implementation:
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);
  1. Example onDelete implementation:
newWhereIfSet("MYTESTID = '" + vars.get("$local.uid") + "'")
.deleteData(true, "MYTEST");