addTableOne method
dynamic
addTableOne(
- dynamic data,
- dynamic context
Implementation
addTableOne(data, context) {
myLogAll('addTabble');
clearMFocusNode(context);
if (data[gBody] != null && data[gBody][gZzylog] != null) {
addZzylog(getMap(data[gBody][gZzylog]), context);
return;
}
var isNew = false;
var name = data[gActionid];
if (isNull(_tableList[name]) ||
(_tableList[name]![gAttr][gLogmerge] ?? 'Y') != 'Y') {
isNew = true;
}
if (isNew) {
bool isAdvanceSearch = false;
_tableList[name] = getMap(data[gBody][name]);
List dataList = getTableDataUnserial(name, context);
List colList = _tableList[name]![gColumns];
if (isSS()) {
if (dataList.isNotEmpty) {
for (int i = 0; i < dataList.length; i++) {
dataList[i] = getMap(dataList[i]);
}
}
if (colList.isNotEmpty) {
for (int i = 0; i < colList.length; i++) {
colList[i] = getMap(colList[i]);
}
}
_tableList[name]![gAttr] = getMap(_tableList[name]![gAttr]);
}
for (int i = 0; i < colList.length; i++) {
if (colList[i][gAdvanceSearch] ?? false) {
isAdvanceSearch = true;
}
}
if (isAdvanceSearch) {
_tableList[name]![gAttr][gAdvanceSearch] = true;
}
_tableList[name]![gAscending] = _tableList[name]![gAscending] ?? true;
_tableList[name]![gSortColumnIndex] =
_tableList[name]![gSortColumnIndex] ?? 0;
if (_tableList[name]![gAttr]![gOrderby] != null) {
//auto sort by order by
var orderbyList = (_tableList[name]![gAttr]![gOrderby] + '').split(',');
for (var i = orderbyList.length - 1; i >= 0; i--) {
var orderbyOne = orderbyList[i].split(' ');
var ascending = true;
if (orderbyOne.length > 1) {
if (orderbyOne[1] != gAsc) {
ascending = false;
}
}
var columnIndex = 0;
for (var i = 0; i < colList.length; i++) {
if (colList[i][gId] == orderbyOne[0]) {
break;
}
if (isHiddenColumn(colList, i)) {
continue;
}
columnIndex++;
}
tableSort(name, columnIndex, ascending, context);
}
}
}
var dataLabel = data[gLabel];
_tableList[name]![gTableID] = name;
if (!isNull(data[gWhere])) {
_tableList[name]![gWhere] =
_tableList[name]![gWhere] ?? getWhereClean(data[gWhere]);
}
/*Map param = {
gType: gForm,
gFormdetail: {
gFormName: name,
gsBackgroundColor: 4280391411,
gSubmit: gSubmit,
gImgTitle: {
gTitle: datalabel,
gFontSize: _defaultFontSize + 10.0,
gHeight: 1.2,
gLetterSpacing: 1.0
},
gHeight: 450.5,
gTop: 130.0,
gItems: {}
},
gActions: [
{gType: gIcon, gValue: 58336, gAction: gMessenger}
],
gBottomImgs: [],
gTitle: {},
gBtns: []
};
for (int i = 0; i < _tableList[name]![gColumns].length; i++) {
Map ti = getMap(_tableList[name]![gColumns][i]);
param[gFormdetail][gItems][ti[gDbid]] = ti;
}
setFormListOne(name, param[gFormdetail]);*/
getForm(name, dataLabel, context);
if (data[gLabel] == gDroplist) {
//add to droplist
List tableData = _tableList[name]![gData];
if (tableData.isNotEmpty) {
for (int i = 0; i < tableData.length; i++) {
dpListInsert(name, tableData[i], context);
}
}
}
insertATable(
gSSTableName, _globalParam[gGlobalCompanyid], name, _tableList[name]);
afterTableAdded(name, context);
}