Example #1
0
        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);
        }
Example #2
0
        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);
        }