DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.

Enter additional information related to this 'class' inside the {div} macro with 'id=description'



Return Types
JSFoundSet
JSRecord



Method Summary
String
getDataSource(serverName, tableName)
Returns the datasource corresponding to the given server/table.
String
getDataSourceServerName(dataSource)
Returns the server name from the datasource, or null if not a database datasource.
String
getDataSourceTableName(dataSource)
Returns the table name from the datasource, or null if the specified argument is not a database datasource.
JSFoundSet
getFoundSet(dataSource)
Returns a foundset object for a specified datasource or server and tablename.
Boolean
hasRecords(foundset)
Returns true if the (related)foundset exists and has records.
Boolean
hasRecords(record, relationString)
Returns true if the (related)foundset exists and has records.
Boolean
saveData()
Saves all outstanding (unsaved) data and exits the current record.



Method Details

getDataSource

String
getDataSource
(serverName, tableName)
Returns the datasource corresponding to the given server/table.

Parameters

{String} serverName - The name of the table's server.
{String} tableName - The table's name.

Returns

String - The datasource of the given table/server.

Sample

var datasource = databaseManager.getDataSource('example_data', 'categories');
 

getDataSourceServerName

String
getDataSourceServerName
(dataSource)
Returns the server name from the datasource, or null if not a database datasource.

Parameters

{String} dataSource - The datasource string to get the server name from.

Returns

String - The servername of the datasource.

Sample

var servername = databaseManager.getDataSourceServerName(datasource);
 

getDataSourceTableName

String
getDataSourceTableName
(dataSource)
Returns the table name from the datasource, or null if the specified argument is not a database datasource.

Parameters

{String} dataSource - The datasource string to get the tablename from.

Returns

String - The tablename of the datasource.

Sample

var theTableName = databaseManager.getDataSourceTableName(datasource);
 

getFoundSet

JSFoundSet
getFoundSet
(dataSource)
Returns a foundset object for a specified datasource or server and tablename.

Parameters

{String} dataSource - The datasource to get a JSFoundset for.

Returns

JSFoundSet - A new JSFoundset for that datasource.

Sample

// type the foundset returned from the call with JSDoc, fill in the right server/tablename
/** @type {JSFoundset<db:/servername/tablename>} */
var fs = databaseManager.getFoundSet(controller.getDataSource())
var ridx = fs.newRecord()
var record = fs.getRecord(ridx)
record.emp_name = 'John'
databaseManager.saveData()
 

hasRecords

Boolean
hasRecords
(foundset)
Returns true if the (related)foundset exists and has records.

Parameters

{JSFoundSet} foundset - A JSFoundset to test.

Returns

Boolean - true if the foundset/relation has records.

Sample

if (elements.customer_id.hasRecords(orders_to_orderitems))
{
	//do work on relatedFoundSet
}
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
//	//do work on deeper relatedFoundSet
//}
 

hasRecords

Boolean
hasRecords
(record, relationString)
Returns true if the (related)foundset exists and has records.

Parameters

{JSRecord} record - A JSRecord to test.
{String} relationString - The relation name.

Returns

Boolean - true if the foundset/relation has records.

Sample

if (elements.customer_id.hasRecords(orders_to_orderitems))
{
	//do work on relatedFoundSet
}
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
//	//do work on deeper relatedFoundSet
//}
 

saveData

Boolean
saveData
()

Saves all outstanding (unsaved) data and exits the current record.
Optionally, by specifying a record or foundset, can save a single record or all records from foundset instead of all the data.

NOTE: The fields focus may be lost in user interface in order to determine the edits.
SaveData called from table events (like afterRecordInsert) is only partially supported depeding on how first saveData (that triggers the event) is called.
If first saveData is called with no arguments, all saveData from table events are returning immediatelly with true value and records will be saved as part of first save.
If first saveData is called with record(s) as arguments, saveData from table event will try to save record(s) from arguments that are different than those in first call.
SaveData with no arguments inside table events will always return true without saving anything.

Returns

Boolean - true if the save was done without an error.

Sample

databaseManager.saveData();
//databaseManager.saveData(foundset.getRecord(1));//save specific record
//databaseManager.saveData(foundset);//save all records from foundset

// when creating many records in a loop do a batch save on an interval as every 10 records (to save on memory and roundtrips)
// for (var recordIndex = 1; recordIndex <= 5000; recordIndex++)
// {
//		foundset.newRecord();
//		someColumn = recordIndex;
//		anotherColumn = "Index is: " + recordIndex;
//		if (recordIndex % 10 == 0) databaseManager.saveData();
// }