Skip to main content

Examples

This page includes examples for the various chapters of page RecordContainer.

JDito RecordContainer

Step-by-step Example

  1. Create table MYTEST:

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

  3. Create Context MyTest and Entity MyTest_entity:

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

  5. Add to Global Menu.

  6. Create 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 "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);
  1. onInsert example:
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. onUpdate example:
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. onDelete example:
newWhereIfSet("MYTESTID = '" + vars.get("$local.uid") + "'")
.deleteData(true, "MYTEST");