public virtual XVar prepareGrid(dynamic _param_xt_packed, dynamic _param_itemsToHide, dynamic _param_recordItemsToHide, dynamic cellMap, dynamic _param_location, dynamic _param_pageObject) { #region packeted values XTempl _param_xt = XVar.UnPackXTempl(_param_xt_packed); #endregion #region pass-by-value parameters XTempl xt = XVar.Clone(_param_xt); dynamic itemsToHide = XVar.Clone(_param_itemsToHide); dynamic recordItemsToHide = XVar.Clone(_param_recordItemsToHide); dynamic location = XVar.Clone(_param_location); dynamic pageObject = XVar.Clone(_param_pageObject); #endregion dynamic checkRecordItems = null, hiddenColsRows = XVar.Array(), hidingMap = null, recordsToCheck = XVar.Array(), removedColsRows = XVar.Array(), visibleWidth = null; checkRecordItems = XVar.Clone(!(XVar)(!(XVar)(MVCFunctions.count(recordItemsToHide)))); recordsToCheck = XVar.Clone(XVar.Array()); foreach (KeyValuePair <XVar, dynamic> dummy in cellMap.cells.GetEnumerator()) { dynamic cMapRef = XVar.Array(), hidden = null, var_empty = null, visibleItems = XVar.Array(); cMapRef = cellMap.cells[dummy.Key]; if (XVar.Pack(cMapRef["fixedAtClient"])) { continue; } var_empty = new XVar(false); if (XVar.Pack(!(XVar)(cMapRef["fixedAtServer"]))) { var_empty = new XVar(true); foreach (KeyValuePair <XVar, dynamic> item in cMapRef["tags"].GetEnumerator()) { if (XVar.Pack(xt.getVar((XVar)(item.Value)))) { var_empty = new XVar(false); break; } } } hidden = new XVar(true); visibleItems = XVar.Clone(XVar.Array()); foreach (KeyValuePair <XVar, dynamic> item in cMapRef["items"].GetEnumerator()) { if (XVar.Pack(!(XVar)(itemsToHide[item.Value]))) { hidden = new XVar(false); if (XVar.Pack(checkRecordItems)) { visibleItems.InitAndSetArrayItem(true, item.Value); } else { break; } } } if ((XVar)((XVar)((XVar)(checkRecordItems) && (XVar)(!(XVar)(hidden))) && (XVar)(!(XVar)(var_empty))) && (XVar)(visibleItems)) { cMapRef.InitAndSetArrayItem(findHiddenRecords((XVar)(visibleItems), (XVar)(recordItemsToHide)), "hiddenRecords"); recordsToCheck = XVar.Clone(CommonFunctions.addToAssocArray((XVar)(recordsToCheck), (XVar)(cMapRef["hiddenRecords"]))); } if (XVar.Pack(var_empty)) { cMapRef.InitAndSetArrayItem(true, "removable"); } if (XVar.Pack(hidden)) { cMapRef.InitAndSetArrayItem(true, "hidable"); } } removedColsRows = XVar.Clone(cellMap.removeRowsColumns(new XVar("removable"))); hidingMap = XVar.Clone(cellMap.makeClone()); hiddenColsRows = XVar.Clone(hidingMap.removeRowsColumns(new XVar("hidable"))); visibleWidth = XVar.Clone(cellMap.width - MVCFunctions.count(hiddenColsRows["cols"])); xt.assign((XVar)(MVCFunctions.Concat("formwidth_", location)), (XVar)(visibleWidth)); if (XVar.Pack(!(XVar)(pageObject.pdfJsonMode()))) { foreach (KeyValuePair <XVar, dynamic> row in removedColsRows["rows"].GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("row_", location, "_", row.Value)), new XVar("data-hidden")); } foreach (KeyValuePair <XVar, dynamic> row in hiddenColsRows["rows"].GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("row_", location, "_", row.Value)), new XVar("data-hidden")); } } else { dynamic col = null, row = null; row = new XVar(0); for (; row < cellMap.height; ++(row)) { xt.assign((XVar)(MVCFunctions.Concat("row_", location, "_", row)), new XVar(true)); } foreach (KeyValuePair <XVar, dynamic> _row in removedColsRows["rows"].GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("row_", location, "_", _row.Value)), new XVar(false)); } foreach (KeyValuePair <XVar, dynamic> _row in hiddenColsRows["rows"].GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("row_", location, "_", _row.Value)), new XVar(false)); } col = new XVar(0); for (; col < cellMap.width; ++(col)) { xt.assign((XVar)(MVCFunctions.Concat("col_", location, "_", col)), new XVar(true)); } foreach (KeyValuePair <XVar, dynamic> _col in removedColsRows["cols"].GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("col_", location, "_", _col.Value)), new XVar(false)); } foreach (KeyValuePair <XVar, dynamic> _col in hiddenColsRows["cols"].GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("col_", location, "_", _col.Value)), new XVar(false)); } } foreach (KeyValuePair <XVar, dynamic> cMap in cellMap.cells.GetEnumerator()) { dynamic dummyData = null; if ((XVar)(0 == MVCFunctions.count(cMap.Value["rows"])) || (XVar)(0 == MVCFunctions.count(cMap.Value["cols"]))) { continue; } xt.assign((XVar)(MVCFunctions.Concat("cellblock_", location, "_", cMap.Key)), new XVar(true)); dummyData = new XVar(null); assignCellAttrs((XVar)(hidingMap), (XVar)(cMap.Key), (XVar)(location), (XVar)(pageObject), (XVar)(xt), (XVar)(dummyData)); } if (XVar.Pack(checkRecordItems)) { foreach (KeyValuePair <XVar, dynamic> dummy in recordsToCheck.GetEnumerator()) { dynamic hiddenRecordRows = XVar.Array(), recordData = XVar.Array(), recordHidingMap = null; recordHidingMap = XVar.Clone(hidingMap.makeClone()); recordHidingMap.setRecordId((XVar)(dummy.Key)); hiddenRecordRows = XVar.Clone(recordHidingMap.removeRowsColumns(new XVar("hidable"), new XVar(true))); recordData = pageObject.findRecordAssigns((XVar)(dummy.Key)); if (XVar.Pack(!(XVar)(pageObject.pdfJsonMode()))) { foreach (KeyValuePair <XVar, dynamic> row in hiddenRecordRows["rows"].GetEnumerator()) { recordData.InitAndSetArrayItem("data-hidden", MVCFunctions.Concat("row_", location, "_", row.Value)); } } else { foreach (KeyValuePair <XVar, dynamic> row in hiddenRecordRows["rows"].GetEnumerator()) { recordData.InitAndSetArrayItem(false, MVCFunctions.Concat("row_", location, "_", row.Value)); } } foreach (KeyValuePair <XVar, dynamic> cMap in cellMap.cells.GetEnumerator()) { if ((XVar)(0 == MVCFunctions.count(cMap.Value["rows"])) || (XVar)(0 == MVCFunctions.count(cMap.Value["cols"]))) { continue; } assignCellAttrs((XVar)(recordHidingMap), (XVar)(cMap.Key), (XVar)(location), (XVar)(pageObject), (XVar)(xt), (XVar)(recordData), new XVar(true)); } } } return(hidingMap); }
public virtual XVar prepareForms(dynamic _param_xt_packed, dynamic _param_itemsToHide, dynamic _param_recordItemsToHide, dynamic _param_pageObject) { #region packeted values XTempl _param_xt = XVar.UnPackXTempl(_param_xt_packed); #endregion #region pass-by-value parameters XTempl xt = XVar.Clone(_param_xt); dynamic itemsToHide = XVar.Clone(_param_itemsToHide); dynamic recordItemsToHide = XVar.Clone(_param_recordItemsToHide); dynamic pageObject = XVar.Clone(_param_pageObject); #endregion dynamic cellMaps = XVar.Array(), formItems = XVar.Array(), formTags = XVar.Array(), helper = XVar.Array(), invisibleItems = XVar.Array(), present = null, ps = null, visibleCellsMap = XVar.Array(); if (XVar.Pack(pageObject)) { ps = XVar.Clone(pageObject.pSet); } else { ps = XVar.Clone(new ProjectSettings((XVar)(CommonFunctions.GetTableByShort((XVar)(this.table))), (XVar)(this.page["type"]), (XVar)(this.page["id"]))); } helper = ps.helperFormItems(); invisibleItems = XVar.Clone(itemsToHide); GlobalVars.mediaType = XVar.Clone((XVar.Pack(pageObject.pdfJsonMode()) ? XVar.Pack(Constants.MEDIA_DESKTOP) : XVar.Pack(CommonFunctions.getMediaType()))); foreach (KeyValuePair <XVar, dynamic> visibility in helper["itemVisiblity"].GetEnumerator()) { if (XVar.Pack(!(XVar)(visibleOnMedia((XVar)(GlobalVars.mediaType), (XVar)(visibility.Value))))) { invisibleItems.InitAndSetArrayItem(true, visibility.Key); } } visibleCellsMap = XVar.Clone(XVar.Array()); cellMaps = ps.helperCellMaps(); foreach (KeyValuePair <XVar, dynamic> loc in MVCFunctions.array_keys((XVar)(cellMaps)).GetEnumerator()) { dynamic formRecordItemsToHide = XVar.Array(), hMap = null; formRecordItemsToHide = XVar.Clone(XVar.Array()); foreach (KeyValuePair <XVar, dynamic> itemRecords in recordItemsToHide.GetEnumerator()) { if (helper["itemForms"][itemRecords.Key] == loc.Value) { formRecordItemsToHide.InitAndSetArrayItem(MVCFunctions.array_keys((XVar)(itemRecords.Value)), itemRecords.Key); } } hMap = prepareGrid((XVar)(xt), (XVar)(invisibleItems), (XVar)(formRecordItemsToHide), (XVar)(new CellMapPD((XVar)(cellMaps[loc.Value]))), (XVar)(loc.Value), (XVar)(pageObject)); if (XVar.Pack(pageObject)) { visibleCellsMap.InitAndSetArrayItem(prepareClientCellMap((XVar)(cellMaps[loc.Value]), (XVar)(hMap)), loc.Value); } } if (XVar.Pack(pageObject)) { pageObject.setPageData(new XVar("cellMaps"), (XVar)(visibleCellsMap)); } if (XVar.Pack(!(XVar)(pageObject.pdfJsonMode()))) { foreach (KeyValuePair <XVar, dynamic> item in MVCFunctions.array_keys((XVar)(invisibleItems)).GetEnumerator()) { if (XVar.Pack(itemsToHide[item.Value])) { xt.assign((XVar)(MVCFunctions.Concat("item_", item.Value)), new XVar("data-hidden")); } else { xt.assign((XVar)(MVCFunctions.Concat("item_", item.Value)), new XVar("data-media-hidden")); } } } else { foreach (KeyValuePair <XVar, dynamic> item in MVCFunctions.array_keys((XVar)(invisibleItems)).GetEnumerator()) { xt.assign((XVar)(MVCFunctions.Concat("item_hide_", item.Value)), new XVar("1")); } } if (XVar.Pack(pageObject)) { foreach (KeyValuePair <XVar, dynamic> itemRecords in recordItemsToHide.GetEnumerator()) { foreach (KeyValuePair <XVar, dynamic> recordId in MVCFunctions.array_keys((XVar)(itemRecords.Value)).GetEnumerator()) { pageObject.hideRecordItem((XVar)(itemRecords.Key), (XVar)(recordId.Value)); } } } xt.assign(new XVar("firstAboveGridCell"), new XVar(true)); formTags = helper["formXtTags"]; foreach (KeyValuePair <XVar, dynamic> loc in MVCFunctions.array_keys((XVar)(formTags)).GetEnumerator()) { present = new XVar(false); foreach (KeyValuePair <XVar, dynamic> tag in formTags[loc.Value].GetEnumerator()) { if (XVar.Pack(xt.getVar((XVar)(tag.Value)))) { present = new XVar(true); break; } } if (XVar.Pack(!(XVar)(present))) { xt.assign((XVar)(MVCFunctions.Concat(loc.Value, "_block")), new XVar(false)); } } formItems = helper["formItems"]; foreach (KeyValuePair <XVar, dynamic> loc in MVCFunctions.array_keys((XVar)(formItems)).GetEnumerator()) { present = new XVar(false); foreach (KeyValuePair <XVar, dynamic> item in formItems[loc.Value].GetEnumerator()) { if (XVar.Pack(!(XVar)(invisibleItems.KeyExists(item.Value)))) { present = new XVar(true); break; } } if (XVar.Pack(!(XVar)(present))) { xt.assign((XVar)(MVCFunctions.Concat("form_", loc.Value)), new XVar("data-hidden")); } } return(null); }