{"version":3,"file":"df-min.js","mappings":"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W,GACXC,OAAQ,EACRC,QAAS,EACTC,MAAO,GAEXU,OAAS,CAAC,CACNb,SAAW,GACXC,OAAQ,EACRC,QAAS,EACTC,MAAO,GACT,CACEH,SAAW,EACXC,OAAQ,EACRC,QAAS,EACTC,MAAO,IAEXuD,aAAe,CACX1D,SAAW,GACXC,OAAQ,EACRC,QAAS,EACTC,MAAO,KCranB7xB,GAAGC,OAAS,CAEZo1B,KAAO,CACHC,SAAU,CACN,MACA,WACA,WACA,UACA,KACA,SACA,OACA,UACA,aACA,QACA,SACA,cAEJC,eAAgB,CACZ,QACA,SAEJC,WAAY,CACR,QACA,OAEJC,WAAY,CACR,YACA,OACA,YACA,OACA,aACA,QACA,UACA,KACA,MACA,OACA,WACA,UAEJC,QAAS,CACL,YACA,QACA,OACA,QACA,MACA,SACA,MACA,WACA,QACA,SACA,QACA,OACA,QAEJC,GAAI,CACA,SACA,QACA,OACA,SACA,cACA,SACA,MACA,UACA,OACA,OACA,QACA,OACA,QACA,SACA,SACA,WAEJC,OAAQ,CACJ,iBACA,eACA,QACA,SACA,QACA,WACA,cACA,YACA,UACA,UAEJC,mBAAoB,CAChB,gBACA,eACA,YACA,UACA,UACA,OACA,YACA,aACA,YACA,YACA,gBACA,aACA,gBACA,aACA,oBACA,UACA,mBAEJC,eAAgB,CACZ,aACA,YACA,aAEJC,iBAAkB,CACd,OACA,UACA,WACA,mBACA,WACA,YACA,WACA,SACA,UACA,kBAGJC,eAAgB,CACZ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,QACA,QACA,QACA,SAGJC,WAAY,CACR,cACA,YACA,QACA,cACA,YACA,WACA,aACA,mBACA,aACA,YACA,iBACA,cACA,cACA,YACA,iBACA,qBACA,MACA,OACA,QACA,OACA,cAGJC,iBAAkB,CACd,QACA,SAGJC,MAAO,CACH,mBACA,oBACA,qBACA,uBACA,mBACA,kBACA,iBACA,wBACA,kBACA,gBACA,kBACA,gBACA,kBACA,mBACA,uBACA,qBACA,wBAGJC,OAAQ,CACJ,uBACA,qBAGJC,YAAa,CACT,qBACA,qBACA,iBACA,iBACA,aACA,oBACA,oBACA,cACA,oBACA,oBACA,mBACA,eACA,uBAEJC,QAAS,CACL,cACA,mBACA,iBACA,cACA,iBACA,gBACA,eAEJC,YAAa,CACT,YACA,OACA,SACA,cACA,UACA,SACA,SACA,cACA,mBACA,eACA,aACA,aAEJC,GAAI,CACA,KACA,WACA,iBACA,qBACA,4BACA,0BACA,iBACA,gBACA,UACA,oBACA,oBACA,oBACA,oBACA,eACA,eACA,eACA,eACA,cACA,iBACA,YACA,gBACA,UACA,iBACA,cACA,gBACA,gBACA,oBACA,sBACA,uBACA,WAGJC,cAAe,CACX,WACA,WACA,aACA,eACA,gBACA,cACA,cACA,eACA,sBACA,SACA,cACA,MACA,OACA,iBACA,iBACA,iBACA,iBACA,kBACA,kBACA,kBACA,kBACA,iBACA,iBACA,iBACA,iBACA,QACA,eACA,mBACA,OACA,gBACA,OACA,cACA,cACA,OACA,YACA,kBACA,YACA,oBACA,mBACA,oBACA,mBACA,eACA,aACA,eACA,cACA,mBACA,sBACA,kBACA,WACA,UACA,WACA,WACA,aACA,SACA,gBACA,iBACA,cACA,eACA,eACA,kBACA,WACA,qBACA,iBACA,WACA,oBACA,WACA,WACA,WACA,WACA,gBACA,OACA,eAIRC,QAAU,KAEVC,iBAAmB,CACf,aACA,wBACA,kBACA,kBACA,oBACA,sBACA,uBACA,iBACA,iBACA,kBACA,6BACA,kBACA,wBACA,cAQJC,aAAe,EAOfC,kBAAoB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,EAAE,GAO3DC,iBAAmB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,GAAG,EAAG,EAAE,EAAG,EAAE,GAqBrE5gB,sBAAwB,SAAS6gB,EAAQC,EAAUC,EAAWC,GAEvDrY,OAAOsY,mBACNJ,EAAS,WAAaA,GAG1Bp3B,KAAKug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","sources":["webpack:///./df/WebListController.js","webpack:///./df/WebListModel.js","webpack:///./df/WebListPagedModel.js","webpack:///./df/WebListScrollingView.js","webpack:///./df/WebListView.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./df/sys.js","webpack:///./df/BaseApp.js","webpack:///./df.js","webpack:///./df/settings.js","webpack:///./df/events.js","webpack:///./df/dom.js","webpack:///./df/sys/json.js","webpack:///./df/sys/vt.js","webpack:///./df/ajax/HttpRequest.js","webpack:///./df/ajax/JSONCall.js","webpack:///./df/ServerAction.js","webpack:///./df/InfoBalloon.js","webpack:///./df/MobRuleController.js","webpack:///./df/GroupHub.js","webpack:///./df/WebObject.js","webpack:///./df/dragdrop/WebDragDropMixin.js","webpack:///./df/WebBaseUIObject.js","webpack:///./df/WebBaseContainer.js","webpack:///./df/WebBaseControl.js","webpack:///./df/WebBaseDEO.js","webpack:///./df/WebBaseForm.js","webpack:///./df/WebBaseFileUpload.js","webpack:///./df/WebBaseMenu.js","webpack:///./df/WebPanel.js","webpack:///./df/WebApp.js","webpack:///./df/LocalApp.js","webpack:///./df/WebBaseView.js","webpack:///./df/WebView.js","webpack:///./df/WebWindow.js","webpack:///./df/WebModalDialog.js","webpack:///./df/WebButton.js","webpack:///./df/WebLabel.js","webpack:///./df/WebForm.js","webpack:///./df/WebDateForm.js","webpack:///./df/WebDynamicObjectContainer.js","webpack:///./df/WebCheckbox.js","webpack:///./df/WebEdit.js","webpack:///./df/WebCombo.js","webpack:///./df/WebBaseSelectionForm.js","webpack:///./df/WebSuggestionForm.js","webpack:///./df/WebSelectionForm.js","webpack:///./df/WebTagsForm.js","webpack:///./df/weblist/WebListGroupController.js","webpack:///./df/WebList.js","webpack:///./df/WebListTouchHandler.js","webpack:///./df/WebListRowModel.js","webpack:///./df/WebListPlaceHolderView.js","webpack:///./df/WebListHeaderView.js","webpack:///./df/WebListFooterView.js","webpack:///./df/WebListSwipeButton.js","webpack:///./df/WebListExpandPanel.js","webpack:///./df/WebGridView.js","webpack:///./df/WebGridModel.js","webpack:///./df/WebGridController.js","webpack:///./df/WebGrid.js","webpack:///./df/WebMultiSelectListController.js","webpack:///./df/WebMultiSelectList.js","webpack:///./df/WebMultiSelectListRowModel.js","webpack:///./df/WebColumn_mixin.js","webpack:///./df/WebColumn.js","webpack:///./df/WebColumnCombo.js","webpack:///./df/WebColumnCheckbox.js","webpack:///./df/WebColumnDate.js","webpack:///./df/WebColumnButton.js","webpack:///./df/WebColumnImage.js","webpack:///./df/WebColumnSuggestion.js","webpack:///./df/WebColumnLink.js","webpack:///./df/WebColumnTags.js","webpack:///./df/WebColumnSelectionIndicator.js","webpack:///./df/WebCommandBar.js","webpack:///./df/WebMenuBar.js","webpack:///./df/WebMenuGroup.js","webpack:///./df/WebToolBar.js","webpack:///./df/WebActionBar.js","webpack:///./df/WebMenuItem.js","webpack:///./df/WebMenuItemCheckbox.js","webpack:///./df/WebMenuColumnBase.js","webpack:///./df/WebMenuColumnList.js","webpack:///./df/WebMenuColumnRestorer.js","webpack:///./df/weblist/WebListGroupSelector.js","webpack:///./df/WebMenuGroupingSelector.js","webpack:///./df/WebCardContainer.js","webpack:///./df/WebCard.js","webpack:///./df/WebTabContainer.js","webpack:///./df/WebTabPage.js","webpack:///./df/WebDatePicker.js","webpack:///./df/WebTreeView.js","webpack:///./df/WebIFrame.js","webpack:///./df/WebImage.js","webpack:///./df/WebHtmlBox.js","webpack:///./df/WebRadio.js","webpack:///./df/WebSlider.js","webpack:///./df/WebSpacer.js","webpack:///./df/WebHorizontalLine.js","webpack:///./df/WebTimer.js","webpack:///./df/WebProgressBar.js","webpack:///./df/WebFileUploadButton.js","webpack:///./df/WebFileUploadForm.js","webpack:///./df/WebGroup.js","webpack:///./df/WebBreadcrumb.js","webpack:///./df/WebFloatingPanel.js","webpack:///./df/WebMenuButton.js","webpack:///./df/WebMenuList.js","webpack:///./df/WebColorPicker.js","webpack:///./df/WebColorForm.js","webpack:///./df/WebColumnHighlight.js","webpack:///./df/WebAccordionContainer.js","webpack:///./df/WebAccordionCard.js","webpack:///./df/WebHtmlList.js","webpack:///./df/WebGeoLocation.js","webpack:///./df/WebContextMenu.js","webpack:///./df/WebDrawing.js","webpack:///./df/dragdrop/WebDropZone.js","webpack:///./df/dragdrop/WebDragDropHelper.js","webpack:///./df/dragdrop/WebDragDropFileHelper.js"],"sourcesContent":["/*\r\nClass:\r\n WebListController\r\n\r\nThe controller class for the WebList its mini MVC model. Handles actions from the view and the \r\nserver and executes operations like rowchange, refresh and sorting.\r\n\r\nRevision:\r\n 2017/02/10 (HW, DAW) \r\n Initial version.\r\n*/\r\n/* global df */\r\nexport class WebListController{\r\n\r\n\r\nconstructor(oList, oModel){\r\n this.oL = oList;\r\n this.oM = oModel;\r\n \r\n this.iRowChangeCount = 0;\r\n \r\n this.onCellClick = new df.events.JSHandler();\r\n this.onCellDblClick = new df.events.JSHandler();\r\n this.onAfterCellClick = new df.events.JSHandler();\r\n\r\n oList._onKeyDown.addListener(this.keyDown, this);\r\n}\r\n\r\n/* \r\nHandles the click on a cell inside the list. Triggers click events on the column object and changes \r\nthe current row.\r\n\r\n@param oEv DOM Event object.\r\n@param sRowId RowId of the clicked row.\r\n@param iCol Column that is clicked. \r\n@param bNoRowChange Whether to not change the row.\r\n*/\r\ncellClick(oEv, sRowId, iCol, bNoRowChange){\r\n var oL = this.oL, oM = this.oM, iColIndex, sColVal = \"\", iRow;\r\n \r\n oL._bHasFocus = true;\r\n iRow = oM.rowIndexByRowId(sRowId);\r\n \r\n if(iRow >= 0){\r\n \r\n if(iCol >= 0){\r\n iColIndex = oL._aColumns[iCol]._iColIndex;\r\n sColVal = oM.aData[iRow].aCells[iColIndex].sValue;\r\n }\r\n \r\n // Notify column of (before)click\r\n if(iCol >= 0){\r\n if(oL._aColumns[iCol].cellClickBefore(oEv, sRowId, sColVal)){\r\n return false;\r\n }\r\n }\r\n \r\n // Perform the rowchange\r\n if (!bNoRowChange)\r\n this.selectRow(\"row\", iRow);\r\n \r\n // Notify column of (after)click\r\n if(iCol >= 0){\r\n if(oL._aColumns[iCol].cellClickAfter(oEv, sRowId, sColVal)){\r\n oL.focus();\r\n return false;\r\n }\r\n }\r\n\r\n // Inform other modules of the cell click\r\n if(this.fireRowClick(sRowId, iCol)){\r\n return true;\r\n }\r\n }\r\n \r\n return false;\r\n}\r\n\r\nfireRowClick(sRowId, iCol){\r\n var bHandled;\r\n \r\n // Inform other modules of the cell click\r\n this.onCellClick.fire(this, { \r\n sRowId : sRowId, \r\n iCol : iCol\r\n });\r\n\r\n // Fire the actual OnRowClick event\r\n bHandled = this.oL.fire(\"OnRowClick\", [ sRowId, iCol !== null ? iCol : -1 ], function(oEv){\r\n // Inform other modules of the cell click finish\r\n this.onAfterCellClick.fire(this, { \r\n sRowId : sRowId, \r\n iCol : iCol\r\n });\r\n }, this);\r\n\r\n return bHandled;\r\n}\r\n\r\n\r\n/*\r\nHandles the double click on a cell and informs modules of this event.\r\n\r\n@param oEv DOM Event object.\r\n@param sRowId RowId of the clicked row.\r\n@param iCol Column that is clicked. \r\n*/\r\ncellDblClick(oEv, sRowId, iCol){\r\n // Inform other modules of the cell double click\r\n return !this.onCellDblClick.fire(this, { \r\n sRowId : sRowId, \r\n iCol : iCol\r\n });\r\n}\r\n\r\n\r\n/* \r\nHandles the click on a column header. Triggers the OnHeaderClick event and changes the sorting if \r\nneeded.\r\n\r\n@param oEv DOM event object.\r\n@param iCol Column index.\r\n*/\r\nheadClick(oEv, iCol){\r\n var oL = this.oL, bRes = false, oCol = oL._aColumns[iCol];\r\n \r\n if(oCol){\r\n if(oCol.fire(\"OnHeaderClick\")){\r\n bRes = true;\r\n }else{\r\n if(oL.pbColumnSortable){\r\n if(oCol.pbSortable){\r\n // Update the sortcolumn property\r\n if(oL.piSortColumn === iCol){\r\n this.changeSorting(iCol, !oL.pbReverseOrdering);\r\n }else{\r\n this.changeSorting(iCol, false);\r\n }\r\n bRes = true;\r\n }\r\n }\r\n } \r\n }\r\n \r\n oL.focus();\r\n return bRes;\r\n}\r\n\r\n/* \r\nHandles the double click on a column header. Does nothing (augmented by the designer).\r\n\r\n@param oEv DOM Event object.\r\n@param iCol Column index.\r\n*/\r\nheadDblClick(oEv, iCol){\r\n return false;\r\n}\r\n\r\n\r\n/*\r\nThis method changes the sorting order to the supplied column and direction. It will update \r\npiSortColumn and pbReverseOrdering properties and send ChangeSorting to the server. The header is \r\nalso updated.\r\n\r\n@param iCol Column number to sort on.\r\n@param bReverse If true the order will be reversed.\r\n*/\r\nchangeSorting(iCol, bReverse){\r\n var oL = this.oL, iPrevCol = oL.piSortColumn, bPrevReverse = oL.pbReverseOrdering;\r\n \r\n oL.addSync('piSortColumn');\r\n oL.addSync('pbReverseOrdering');\r\n \r\n oL.piSortColumn = iCol;\r\n oL.pbReverseOrdering = bReverse;\r\n \r\n oL._onSettingChange.fire(this, {\r\n sType : \"sorting\"\r\n });\r\n \r\n // Notify the server for paged data loading\r\n if(this.oM.bPaged){\r\n oL.serverAction(\"ChangeSorting\", [ iCol, bReverse, iPrevCol, bPrevReverse ]);\r\n }\r\n}\r\n\r\n\r\n/*\r\nHandles the keypress event and will initiate the auto search if needed. The keypress is used because \r\nwe need the character code and are not interested in special keys anyway. \r\n\r\n@param oEv The event object.\r\n@private\r\n*/\r\nkeyPress(oEv){\r\n var oL = this.oL, sChar, iChar;\r\n \r\n // Check enabled state\r\n if(!oL.isEnabled()){\r\n return;\r\n }\r\n \r\n // Auto search\r\n if(oL.pbAutoSearch && oL.piSortColumn >= 0 && !this.bNoSearch && oL.hasFocus()){\r\n iChar = oEv.getCharCode();\r\n \r\n // Check if we where really typing a character (33 is the first sensible character in the ASCII table that should popup the search)\r\n if(iChar > 32 && !oEv.isSpecialKey()){ // && (iKey === 0 || (iKey > 48 && iKey < 123)) \r\n\r\n sChar = String.fromCharCode(oEv.getCharCode());\r\n \r\n // Filter character based on data type (this is done pretty raw)\r\n if(oL._aColumns[oL.piSortColumn].peDataType === df.ciTypeBCD){\r\n if((\"0123456789,.-\").indexOf(sChar) < 0){\r\n sChar = \"\";\r\n }\r\n }else if(oL._aColumns[oL.piSortColumn].peDataType === df.ciTypeDate){\r\n if((\"0123456789-\").indexOf(sChar) < 0){\r\n sChar = \"\";\r\n }\r\n }\r\n \r\n // Display search dialog\r\n this.showSearch(sChar);\r\n \r\n oEv.stop();\r\n return false;\r\n }\r\n }\r\n \r\n return true;\r\n}\r\n\r\n/*\r\nThis function performs an incremental search on the column that the list is currently sorted on. In \r\ncase of a static list (pbDataAware is false or peDbGridType is not gtAutomatic) it will perform the \r\nsearch completely on the client and select the row. The search on the client is performed as a \r\nbinary search for optimal performance. If piSortColumn is not set nothing will be done.\r\n\r\n@param sSearch The search string.\r\n\r\n\r\n@client-action\r\n*/\r\nsearch(sSearch){\r\n var oM = this.oM, oL = this.oL, fComp, aData = oM.aData, iCol, iLow = 0, iHigh = aData.length - 1, iMid, iRes, iRow = null, bRev;\r\n \r\n bRev = oL.pbReverseOrdering;\r\n iCol = oL._aColumns[oL.piSortColumn]._iColIndex;\r\n \r\n if(iCol < 0){\r\n return;\r\n }\r\n \r\n if(!this.oM.bPaged){\r\n // Determine comparison function\r\n if(oL._aColumns[iCol].peDataType === df.ciTypeText){\r\n // For text we do a case insensitive comparison of the first characters\r\n fComp = function(sVal1, sVal2){\r\n sVal1 = sVal1.substr(0, sVal2.length).toLowerCase();\r\n \r\n return sVal1.localeCompare(sVal2);\r\n };\r\n \r\n sSearch = sSearch.toLowerCase();\r\n }else{\r\n fComp = df.sys.data.compareFunction(oL._aColumns[iCol].peDataType);\r\n }\r\n \r\n // Debugging\r\n // var fPrevComp = fComp, iCount = 0;\r\n // fComp = function(sVal1, sVal2){\r\n // var iRes = fPrevComp(sVal1, sVal2);\r\n \r\n // df.debug(\"Comparing: sVal1='\" + sVal1 + \"', sVal2='\" + sVal2 + \"', iRes=\" + iRes + \", iLow=\" + iLow + \", iMid=\" + iMid + \", iHigh=\" + iHigh); \r\n \r\n // iCount++;\r\n \r\n // return iRes;\r\n // };\r\n \r\n // Do a binary search\r\n while(iLow < iHigh){\r\n iMid = Math.floor((iLow + iHigh) / 2);\r\n iRes = fComp(aData[iMid].aCells[iCol].sValue, sSearch);\r\n iRes = (bRev ? -iRes : iRes);\r\n \r\n if(iRes < 0){\r\n iLow = iMid + 1;\r\n }else if(iRes > 0){\r\n iHigh = iMid - 1;\r\n }else{\r\n iRow = iMid;\r\n break;\r\n }\r\n }\r\n \r\n if(iRes === 0){\r\n // We want the first full hit\r\n if(iRow > 0){\r\n iRes = fComp(aData[iRow - 1].aCells[iCol].sValue, sSearch);\r\n iRes = (bRev ? -iRes : iRes);\r\n \r\n while(iRes === 0 && iRow > 0){\r\n iRow--;\r\n if(iRow > 0){\r\n iRes = fComp(aData[iRow - 1].aCells[iCol].sValue, sSearch);\r\n }\r\n }\r\n }\r\n }else{\r\n // If we didn't find a full hit and iMid is outside range we assume that the range is right\r\n if(iMid < iLow){\r\n iRow = iLow;\r\n }else if(iMid > iLow){\r\n iRow = iHigh;\r\n }else{\r\n iRow = iMid;\r\n }\r\n }\r\n \r\n // Move to the row\r\n this.moveToRow(iRow);\r\n }else{\r\n // For automatic data aware grids we send the search action to the server\r\n oL.serverAction(\"OnSearch\", [ sSearch ]);\r\n }\r\n}\r\n\r\n/*\r\nThis function displays the search dialog for doing an incremental search on the list. It creates a \r\ndialog that has an input form and data settings are based on the current sort column.\r\n\r\n@param sOptSearch The search string.\r\n\r\n@client-action\r\n*/\r\nshowSearch(sOptSearch){\r\n var oL = this.oL, oDialog, oContentPnl, oForm, oButtonPnl, oOKBtn, oCancelBtn, iWindowWidth = df.dom.windowWidth(), iCol = oL.piSortColumn;\r\n \r\n if(iCol < 0){\r\n return;\r\n }\r\n \r\n // Create dialog with panel\r\n oDialog = new df.WebModalDialog(null, oL);\r\n oDialog.psCaption = oL.getWebApp().getTrans(\"search\") + \": \" + oL._aColumns[iCol].psCaption;\r\n oDialog.pbShowClose = true;\r\n oDialog.pbDDHotKeys = false;\r\n oDialog.pbResizable = false;\r\n oDialog.piMinWidth = (iWindowWidth > 390 ? 370 : iWindowWidth - 20);\r\n oDialog.psCSSClass = \"WebMsgBox\";\r\n \r\n // Create input form\r\n oContentPnl = new df.WebPanel(null, oDialog);\r\n oContentPnl.peRegion = df.ciRegionCenter;\r\n\r\n oDialog.addChild(oContentPnl);\r\n\r\n oForm = new df.WebForm(null, oDialog);\r\n oForm.psLabel = \"\";\r\n oForm.pbShowLabel = false;\r\n oForm.psValue = sOptSearch || \"\";\r\n oForm.peDataType = oL._aColumns[iCol].peDataType;\r\n oForm.psMask = oL._aColumns[iCol].psMask;\r\n oForm.piPrecision = oL._aColumns[iCol].piPrecision;\r\n oForm.piMaxLength = oL._aColumns[iCol].piMaxLength;\r\n oForm.pbCapslock = oL._aColumns[iCol].pbCapslock;\r\n oForm.peAlign = df.ciAlignLeft;\r\n\r\n oContentPnl.addChild(oForm);\r\n \r\n // Create close button\r\n oButtonPnl = new df.WebPanel(null, oDialog);\r\n oButtonPnl.peRegion = df.ciRegionBottom;\r\n oButtonPnl.piColumnCount = 3;\r\n oButtonPnl.psCSSClass = \"WebMsgBoxOneBtn\";\r\n\r\n oDialog.addChild(oButtonPnl);\r\n \r\n oOKBtn = new df.WebButton(null, oDialog);\r\n oOKBtn.psCaption = oL.getWebApp().getTrans(\"ok\");\r\n oOKBtn.piColumnIndex = 1;\r\n oOKBtn.pbShowLabel = false;\r\n oOKBtn.OnClick.addListener(function(oEv){\r\n oDialog.fire('OnSubmit');\r\n }, this);\r\n\r\n oButtonPnl.addChild(oOKBtn);\r\n \r\n oCancelBtn = new df.WebButton(null, oDialog);\r\n oCancelBtn.psCaption = oL.getWebApp().getTrans(\"cancel\");\r\n oCancelBtn.piColumnIndex = 2;\r\n oCancelBtn.pbShowLabel = false;\r\n oCancelBtn.OnClick.addListener(function(oEv){\r\n oDialog.hide();\r\n }, this);\r\n\r\n oButtonPnl.addChild(oCancelBtn);\r\n \r\n // Add submit listener\r\n oDialog.OnSubmit.addListener(function(oEv){\r\n var sVal = oForm.get(\"psValue\");\r\n oDialog.hide();\r\n \r\n oL.objFocus();\r\n \r\n this.search(sVal);\r\n \r\n if(oL._eFocus){\r\n oL._eFocus.focus();\r\n }\r\n }, this);\r\n \r\n oDialog.show();\r\n \r\n // For date types we explicitly give the focus and set the form value because else it will complete the date before the field when the focus\r\n if(oForm.peDataType === df.ciTypeDate || oForm.peDataType === df.ciTypeDateTime || oForm.peDataType === df.ciTypeTime){\r\n oForm.focus();\r\n if(sOptSearch){\r\n oForm.setControlValue(sOptSearch);\r\n }\r\n }\r\n if(!df.sys.isMobile){\r\n df.dom.setCaretPosition(oForm._eControl, oForm._eControl.value.length);\r\n }\r\n}\r\n\r\n/*\r\nThis method handles the keypress event and initiates the actions bound to it. The \r\ndf.settings.listKeys define the exact key code's / combinations for the different actions.\r\n\r\n@param oEv The event object.\r\n@return False if we did handle the event and performed an action, true if we didn't do anything.\r\n*/\r\nkeyDown(oJSEvent){\r\n var oL = this.oL, that = this;\r\n const oEv = oJSEvent.oDOMEvent;\r\n \r\n if(!oL._bHasFocus && !oL._eKeyBuddy){\r\n return;\r\n }\r\n \r\n if(oEv.matchKey(df.settings.listKeys.scrollUp)){ \r\n this.moveUpRow();\r\n }else if(oEv.matchKey(df.settings.listKeys.scrollDown)){ \r\n this.moveDownRow();\r\n }else if(oEv.matchKey(df.settings.listKeys.scrollPageUp)){ \r\n this.movePageUp();\r\n }else if(oEv.matchKey(df.settings.listKeys.scrollPageDown)){ \r\n this.movePageDown();\r\n }else if(oEv.matchKey(df.settings.listKeys.scrollTop)){ \r\n this.moveToFirstRow();\r\n }else if(oEv.matchKey(df.settings.listKeys.scrollBottom)){ \r\n this.moveToLastRow();\r\n }else if(oEv.matchKey(df.settings.listKeys.leftSwipeBtns) && oL._oTouchHandler && oL._oTouchHandler.showSwipeLeft()){\r\n }else if(oEv.matchKey(df.settings.listKeys.rightSwipeBtns) && oL._oTouchHandler && oL._oTouchHandler.showSwipeRight()){\r\n \r\n }else if(oEv.matchKey(df.settings.formKeys.submit)){ \r\n // The OnRowClick event is also fired on enter and overrides the OnSubmit if it is handled.\r\n if(this.oM.sCurrentRowId){\r\n // Inform other modules of the cell click\r\n if(this.fireRowClick(this.oM.sCurrentRowId, null)){\r\n oEv.stop();\r\n return false;\r\n }\r\n }\r\n return true;\r\n }else{\r\n return true;\r\n }\r\n \r\n // Temporary block search on key press (stopping onKeyDown doesn't cancel onKeyPress in firefox)\r\n this.bNoSearch = true;\r\n setTimeout(function(){\r\n that.bNoSearch = false;\r\n }, 50);\r\n \r\n oEv.stop();\r\n return false;\r\n}\r\n\r\nhandleData(listData, sType, sStartRowId, bFirst, bLast){\r\n this.oM.handleData(listData, sType, sStartRowId, bFirst, bLast);\r\n \r\n if(!this.pbDataAware){\r\n this.updateColumnsFromCache(sType === \"page\");\r\n }\r\n}\r\n\r\nsetCurrentRowId(sRowId){\r\n this.oM.setCurrentRowId(sRowId);\r\n}\r\n\r\nupdateRow(sRowId, tRow, bMergeRow){\r\n this.oM.updateRow(sRowId, tRow, bMergeRow);\r\n}\r\n\r\nupdateCell(oCol, sVal){\r\n this.oM.updateCell(oCol, sVal);\r\n}\r\n\r\nremoveRow(sRowId){\r\n var oM = this.oM, bRowChange = false, iPrevRow;\r\n \r\n if(oM.sCurrentRowId === sRowId){\r\n bRowChange = true;\r\n iPrevRow = oM.iCurrentRow;\r\n \r\n oM.sCurrentRowId = \"\";\r\n oM.iCurrentRow = -1;\r\n }\r\n \r\n oM.removeRow(sRowId);\r\n \r\n if(bRowChange){\r\n if(iPrevRow < oM.aData.length){\r\n this.selectRow(\"row\", iPrevRow);\r\n }else if(iPrevRow > 0){\r\n this.selectRow(\"row\", iPrevRow - 1);\r\n }else{\r\n this.appendNewRow();\r\n }\r\n }\r\n}\r\n\r\nappendRow(tRow){\r\n this.oM.appendRow(tRow);\r\n}\r\n\r\ninsertBefore(sBeforeRowId, tRow){\r\n this.oM.insertBefore(sBeforeRowId, tRow);\r\n}\r\n\r\ninsertAfter(sAfterRowId, tRow){\r\n this.oM.insertAfter(sAfterRowId, tRow);\r\n}\r\n\r\n/*\r\n@param sGotoRow String describing the row that will be selected (\"new\", \"first\", \"last\", \"row\").\r\n@param iRow When sGotoRow indicates \"row\" then this is the cache row number to select.\r\n*/\r\nselectRow(sGotoRow, iRow, fOptHandler, tOptSelectRowData){\r\n var oL = this.oL, oM = this.oM, sPrevRowId = oM.sCurrentRowId, bContinue = true, sTargetRowId = \"\", tSelectRowData = tOptSelectRowData || null, iRowChange, oOptions;\r\n \r\n \r\n \r\n // Make sure there are no outstanding ChangeCurrentRow calls\r\n oL.cancelServerAction(\"ChangeCurrentRow\");\r\n \r\n // Determine if row change is needed & translate specific row nr into rowid\r\n if(sGotoRow === \"row\"){\r\n sTargetRowId = oM.rowIdByRowIndex(iRow);\r\n bContinue = (sTargetRowId !== null && sTargetRowId !== sPrevRowId);\r\n \r\n // For non data-aware grids / lists we send a copy of the row we are going to as action data to the server\r\n if(!oL.pbDataAware){\r\n tSelectRowData = oM.aData[iRow];\r\n }\r\n }\r\n \r\n oOptions = {\r\n sPrevRowId : oM.sCurrentRowId,\r\n iPrevRowIndex : oM.iCurrentRow,\r\n sGotoRow : sTargetRowId,\r\n iGotoRowIndex : iRow\r\n };\r\n \r\n // Update counter and remember number in local variable\r\n this.iRowChangeCount++;\r\n iRowChange = this.iRowChangeCount;\r\n \r\n function handleRowChange(bResult){\r\n // Check if row change is overtaken by another row change\r\n var bOverridden = (iRowChange !== this.iRowChangeCount);\r\n \r\n oOptions.bSuccess = df.toBool(bResult);\r\n oM.onAfterRowChange.fire(oM, oOptions);\r\n \r\n if(oL.pbOfflineEditing || df.toBool(bResult)){\r\n // We do this so that handlers that scroll the screen are executed before we add the class\r\n if(fOptHandler){\r\n fOptHandler.call(this, true, bOverridden);\r\n }\r\n }else{\r\n fOptHandler.call(this, false, bOverridden);\r\n }\r\n }\r\n \r\n if(bContinue){\r\n oM.onBeforeRowChange.fire(oM, oOptions);\r\n \r\n if(!oL.pbOfflineEditing){\r\n // Set handler function so it can be called as client-action\r\n this.handleRowChange = handleRowChange;\r\n oL.serverAction(\"ChangeCurrentRow\", [ sGotoRow, sTargetRowId ], (tSelectRowData && oL.serializeRows([ tSelectRowData ])) || null);\r\n }else{\r\n // When working offline we manually load the row into the columns and set it as current\r\n if(sGotoRow === \"row\"){\r\n this.setCurrentRowId(sTargetRowId);\r\n \r\n this.updateColumnsFromCache(true);\r\n }\r\n \r\n handleRowChange.call(this);\r\n }\r\n }else{\r\n if(fOptHandler){\r\n fOptHandler.call(this, false);\r\n }\r\n }\r\n}\r\n\r\n/* \r\nThis function is called from the server after a rowchange initiated by the client. It is replaced at \r\nruntime with a function inside a closure holding the context needed to handle the rowchange.\r\n\r\n@param bResult True if the rowchange is succesfull. \r\n*/\r\nhandleRowChange(bResult){\r\n // Empty placeholder\r\n}\r\n\r\n/*\r\nThis method updates the column DEO objects with the data in the cache for the current row. It does \r\nnothing if pbNonDataAware is false. It will reset the changed-states if bResetChange is true.\r\n\r\n@param bResetChange If true the changed-state is reset.\r\n@private\r\n*/\r\nupdateColumnsFromCache(bResetChange){\r\n var oL = this.oL, oM = this.oM, iRow, iCol;\r\n \r\n // Update the column value's\r\n if(!oL.pbDataAware){\r\n iRow = oM.rowIndexByRowId(oM.sCurrentRowId);\r\n \r\n if(iRow >= 0){\r\n for(iCol = 0; iCol < oL._aColumns.length; iCol++){\r\n oL._aColumns[iCol].set('psValue', oM.aData[iRow].aCells[oL._aColumns[iCol]._iColIndex].sValue);\r\n if(bResetChange){\r\n oL._aColumns[iCol].set('pbChanged', false);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\ntriggerCacheUpdate(iTopRow, iLastRow){\r\n var oM = this.oM;\r\n \r\n if(oM.bPaged){\r\n if(!oM.bLast){\r\n if(oM.aData.length - iLastRow < oM.iPrefCacheOffset){\r\n this.loadCachePage(\"next\");\r\n }\r\n }\r\n if(!oM.bFirst){\r\n // df.debug(\"iTopRow: \" + iTopRow + \" < oM.iPrefCacheOffset: \" + oM.iPrefCacheOffset);\r\n if(iTopRow < oM.iPrefCacheOffset ){\r\n this.loadCachePage(\"prev\");\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\nloadCachePage(sType, fOptHandler, oOptEnv){\r\n var oL = this.oL, oM = this.oM, sStartRowId = \"\";\r\n \r\n if(this.bLoading){\r\n return;\r\n }\r\n this.bLoading = true;\r\n \r\n // Determine start rowid\r\n if(sType === \"next\"){\r\n if(oM.aData.length){\r\n sStartRowId = oM.aData[oM.aData.length - 1].sRowId;\r\n }\r\n }else if(sType === \"prev\"){\r\n if(oM.aData.length){\r\n sStartRowId = oM.aData[0].sRowId;\r\n }\r\n }else{\r\n this._bNoRender = true;\r\n }\r\n \r\n // Create action\r\n oL.serverAction(\"LoadDataPage\", [ sType, sStartRowId ], null, function(oEv){\r\n this.bLoading = false;\r\n \r\n if(!oEv.bError){\r\n if(fOptHandler){\r\n fOptHandler.call(oOptEnv || this);\r\n }\r\n }\r\n }, this);\r\n}\r\n\r\n/*\r\n@client-action\r\n*/\r\nprocessDataSet(eOperation){\r\n var oM = this.oM, oL = this.oL;\r\n\r\n oL.serverAction(\"HandleProcessDataSet\", [ eOperation, oM.iCurrentRow ], oL.serializeRows(oM.aData));\r\n}\r\n\r\n/*\r\nScrolls to the first record and selects it. It is called by the keyboard handler or from the server. \r\nIn case of a static grid it will directly call the selectRow function to select the first row, for a \r\nnon-static grid (pbDataAware is true or peDbGridType is not gtAutomatic) it will always refresh the \r\ncache by loading the first page of records. Note that when pbOfflineEditing is true we need to load \r\nthe first cache page before changing rows.\r\n\r\n@client-action\r\n*/\r\nmoveToFirstRow(){\r\n var oM = this.oM, oL = this.oL, fSelect; \r\n \r\n fSelect = function(){\r\n if(oM.aData.length > 0){\r\n this.selectRow(\"row\", 0);\r\n }else{\r\n this.appendNewRow();\r\n } \r\n };\r\n \r\n if(!oM.bPaged){\r\n fSelect.call(this);\r\n }else{\r\n if(oL.pbOfflineEditing || (oM.iCurrentRow === 0 && oM.sCurrentRowId === \"\")){\r\n this.loadCachePage(\"first\", function(){\r\n fSelect.call(this);\r\n });\r\n }else{\r\n this.selectRow(\"first\", -1);\r\n }\r\n }\r\n}\r\n\r\n/*\r\nScrolls to the last record and selects it. It is called by the keyboard handler or from the server. \r\nIn case of a static grid it will directly call the selectRow function to select the last row, for a \r\nnon-static grid (pbDataAware is true or peDbGridType is not gtAutomatic) it will always refresh the \r\ncache by loading the last page of records. Note that when pbOfflineEditing is true we need to load \r\nthe last cache page before changing rows.\r\n\r\n@client-action\r\n*/\r\nmoveToLastRow(){\r\n var oM = this.oM, oL = this.oL, fSelect;\r\n \r\n fSelect = function(){\r\n if(oM.aData.length > 0){\r\n this.selectRow(\"row\", oM.aData.length - 1);\r\n }else{\r\n this.appendNewRow();\r\n } \r\n };\r\n \r\n if(!oM.bPaged){\r\n fSelect.call(this);\r\n }else{\r\n if(oL.pbOfflineEditing || (oM.iCurrentRow === 0 && oM.sCurrentRowId === \"\")){\r\n this.loadCachePage(\"last\", function(){\r\n fSelect.call(this);\r\n });\r\n }else{\r\n this.selectRow(\"last\", -1);\r\n }\r\n }\r\n}\r\n\r\n/*\r\nThis method selects the next row available in the cache and returns true if successful. It is called \r\nby the key handler or the server.\r\n\r\n@return True if a next row is available.\r\n@client-action\r\n*/\r\nmoveDownRow(){\r\n var oM = this.oM;\r\n \r\n if(oM.iCurrentRow >= 0 && oM.iCurrentRow < oM.aData.length - 1){\r\n this.selectRow(\"row\", (oM.iCurrentRow + 1));\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n}\r\n\r\n/*\r\nThis method selects the previous row available in the cache and returns true if successful. It is \r\ncalled by the key handler or the server.\r\n\r\n@return True if a previous row is available.\r\n@client-action\r\n*/\r\nmoveUpRow(){\r\n var oM = this.oM;\r\n\r\n if(oM.iCurrentRow > 0){\r\n this.selectRow(\"row\", (oM.iCurrentRow - 1));\r\n }\r\n}\r\n\r\n/*\r\nThis method performs a page down which means that it select the record one page down in the cache \r\nand scrolls to it. A page in this context means the amount of rows that fit inside the grid view. It \r\nis called by the key handler or the server.\r\n\r\n@client-action\r\n*/\r\nmovePageDown(){\r\n var oM = this.oM, iRow;\r\n \r\n iRow = Math.round(oM.iCurrentRow + this.oL._oBody.getViewSize() - 1);\r\n if(iRow >= oM.aData.length){\r\n iRow = oM.aData.length - 1;\r\n }\r\n \r\n this.selectRow(\"row\", iRow);\r\n}\r\n\r\n/*\r\nThis method performs a page up which means that it select the record one page up in the cache and \r\nscrolls to it. A page in this context means the amount of rows that fit inside the grid view. It is \r\ncalled by the key handler or the server.\r\n\r\n@client-action\r\n*/\r\nmovePageUp(){\r\n var oM = this.oM, iRow;\r\n \r\n iRow = Math.round(oM.iCurrentRow - this.oL._oBody.getViewSize() + 1);\r\n if(iRow < 0){\r\n iRow = 0;\r\n }\r\n \r\n this.selectRow(\"row\", iRow);\r\n}\r\n\r\n/*\r\nThis method moves to a specific row based on its row index.\r\n\r\n@client-action\r\n*/\r\nmoveToRow(iRowIndex){\r\n // Since this method can be called from the server the parameter might still be a string\r\n iRowIndex = parseInt(iRowIndex, 10);\r\n\r\n if(iRowIndex >= 0 && iRowIndex < this.oM.aData.length){\r\n this.selectRow(\"row\", iRowIndex);\r\n }\r\n}\r\n\r\n/*\r\nThis method moves to a specific row based on its unique row ID.\r\n\r\n@client-action\r\n*/\r\nmoveToRowByID(sRowId){\r\n var iRowIndex = this.oM.rowIndexByRowId(sRowId);\r\n \r\n if(iRowIndex >= 0){\r\n this.moveToRow(iRowIndex);\r\n }\r\n}\r\n\r\nappendNewRow(){\r\n \r\n}\r\n\r\n}","/*\r\nClass:\r\n WebListModel\r\n\r\nThe model for the WebList its mini MVC system. It stores the data and and triggers onDataUpdate when \r\nneeded to notify the view of changes. It contains logic for sorting the data.\r\n\r\nStruct tWebCell\r\n String sValue\r\n String sTooltip\r\n String sCssClassName\r\n String[] aOptions\r\nEnd_Struct\r\n\r\nStruct tWebRow\r\n String sRowId\r\n String sCssClassName\r\n tWebCell[] aCells\r\n Integer iGroupHeaderIndex\r\nEnd_Struct\r\n\r\nStruct tWebGroupConfig\r\n Integer iColumnId\r\n String sLabel\r\n Boolean bReverse\r\nEnd_Struct\r\n\r\nStruct tWebGroupHeader\r\n Integer iGroupIndex\r\n Integer iParentHeaderIndex\r\n String sItem\r\n Integer iItems\r\n String sTotal \r\nEnd_Struct\r\n\r\n\r\nRevision:\r\n 2017/02/10 (HW, DAW) \r\n Initial version.\r\n*/\r\n\r\n\r\nexport class WebListModel{\r\n\r\nstatic displayTypes = {\r\n row : 1,\r\n header : 2,\r\n custom : 3\r\n}\r\n\r\nconstructor(oList){\r\n this.oL = oList;\r\n this.bPaged = false;\r\n \r\n this.sCurrentRowId = oList.psCurrentRowId;\r\n this.iCurrentRow = -1;\r\n\r\n this.aDisplay = []; // Lineair list of display items, which are either rows or group headers. This is what the WebListView iterates to display. \r\n \r\n this.aData = []; // The actual list data (rows)\r\n this.aGroupHeaders = []; // The grouping headers\r\n this.aGroups = []; // The defined groups (which columns are being grouped)\r\n\r\n this.bIsGrouped = false; // Indicates if the data is currently being grouped\r\n\r\n \r\n this.onDataUpdate = new df.events.JSHandler();\r\n this.onBeforeDataUpdate = new df.events.JSHandler();\r\n \r\n this.onBeforeRowChange = new df.events.JSHandler();\r\n this.onRowChange = new df.events.JSHandler();\r\n this.onAfterRowChange = new df.events.JSHandler();\r\n \r\n oList._onSettingChange.on(this.onSettingChange, this);\r\n}\r\n\r\n/**\r\n * Fills the aDisplay list by looping over the data and the groups.\r\n */\r\nprepDisplay(){\r\n let aHiddenGroups = [];\r\n\r\n const groupHead = (iHeaderIndex, iRowIndex) => {\r\n const tHeader = this.aGroupHeaders[iHeaderIndex];\r\n\r\n if(tHeader.iParentHeaderIndex >= 0){\r\n groupHead(tHeader.iParentHeaderIndex, iRowIndex);\r\n }\r\n \r\n if(aHiddenGroups.length > 0){\r\n if(aHiddenGroups[aHiddenGroups.length - 1] < tHeader.iGroupIndex) return;\r\n aHiddenGroups.pop();\r\n }\r\n if(tHeader.bCollapsed){\r\n aHiddenGroups.push(tHeader.iGroupIndex);\r\n }\r\n\r\n tHeader._iItemIndex = this.aDisplay.push({\r\n eType : WebListModel.displayTypes.header,\r\n iIndex : iHeaderIndex\r\n }) - 1;\r\n\r\n };\r\n\r\n this.aDisplay = [];\r\n this.aGroupHeaders.forEach(tHeader => tHeader._iItemIndex = null);\r\n\r\n this.aData.forEach((tRow, iIndex) => {\r\n tRow._iItemIndex = null;\r\n\r\n if(tRow.iGroupHeaderIndex >= 0 && this.bIsGrouped) groupHead(tRow.iGroupHeaderIndex, iIndex);\r\n\r\n if(aHiddenGroups.length == 0){\r\n tRow._iItemIndex = this.aDisplay.push({\r\n eType : WebListModel.displayTypes.row,\r\n iIndex : iIndex\r\n }) - 1;\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * This is called when new data is received from the server.\r\n * \r\n * @param {tWebListData} listData New list data.\r\n */\r\nhandleData(listData){\r\n if(listData && (!Array.isArray(listData.aRows) || !Array.isArray(listData.aGroupHeaders) || !Array.isArray(listData.aGroups))){\r\n throw new df.Error(999, \"Invalid data structure for weblist data.\", this);\r\n }\r\n \r\n \r\n this.onBeforeDataUpdate.fire(this);\r\n \r\n if(listData){ // handleData is also called when the grouping or sorting changes in which case listData is null\r\n this.aData = listData.aRows;\r\n if(this.oL.peGrouping == df.grpCustom){\r\n this.aGroupHeaders = listData.aGroupHeaders;\r\n this.aGroups = listData.aGroups;\r\n this.bIsGrouped = (this.aGroups.length > 0); // This makes sure no client-side sorting is done\r\n }\r\n }\r\n \r\n if(this.bIsGrouped){\r\n // Apply grouping\r\n this.groupData();\r\n }else{\r\n // Sort data (if needed)\r\n this.sortData();\r\n }\r\n\r\n this.prepDisplay();\r\n \r\n // Refind current row\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n \r\n // Always select row if there is a row\r\n if(this.iCurrentRow < 0 && this.aData.length > 0){\r\n this.iCurrentRow = 0;\r\n this.sCurrentRowId = this.aData[0].sRowId;\r\n }\r\n \r\n this.onDataUpdate.fire(this, { sType : \"full\" });\r\n}\r\n\r\n/**\r\n * Determines if the passed row is the first row in the set.\r\n * \r\n * @param {Object} tRow \r\n * @returns True if this is the first row.\r\n */\r\nisFirst(tRow){\r\n return (this.aData[0] == tRow);\r\n}\r\n\r\n/**\r\n * Determines if the passed row is the last row in the set.\r\n * \r\n * @param {Object} tRow \r\n * @returns True if this is the last row.\r\n */\r\nisLast(tRow){\r\n return (this.aData[this.aData.length - 1] == tRow);\r\n}\r\n \r\n/**\r\n * Forwards grouping request to the grouping controller where the actual grouping algorithm is implemented.\r\n */\r\ngroupData(){\r\n this.oL._oGrouping?.groupData();\r\n}\r\n\r\n/**\r\n * Sorts the data if piSortColumn is set on the WebList.\r\n * \r\n * @returns True if sorting was applied.\r\n */\r\nsortData(){\r\n const oL = this.oL;\r\n \r\n // Find comparison functions\r\n if(oL.piSortColumn >= 0){\r\n let aSortCols = [], aCmpFuncs = [];\r\n\r\n if(oL.piSortColumn >= 0 && aSortCols.indexOf(oL.piSortColumn) == -1){\r\n aSortCols.push(oL.piSortColumn);\r\n aCmpFuncs.push(df.sys.data.compareFunction(oL._aColumns[oL.piSortColumn].peDataType, oL.pbReverseOrdering));\r\n }\r\n oL._aColumns.forEach((col, index )=> {\r\n if(aSortCols.indexOf(index) == -1){\r\n aSortCols.push(index);\r\n aCmpFuncs.push(df.sys.data.compareFunction(col.peDataType, oL.pbReverseOrdering))\r\n }\r\n });\r\n\r\n this.customSortData(aSortCols, aCmpFuncs);\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n}\r\n\r\n/**\r\n * Implementation of client-side data sorting used by sortData and by the WebListGroupingController.\r\n * \r\n * @param {Array} aCols List of columns to sort on (in order of priority).\r\n * @param {Array} aCmpFuncs Sort function to use for each column (must match aCols).\r\n */\r\ncustomSortData(aCols, aCmpFuncs){\r\n this.aData.sort((row1, row2) =>{\r\n for(let i = 0; i < aCols.length; i++){\r\n const iCol = aCols[i];\r\n const iRes = aCmpFuncs[i](row1.aCells[iCol].sValue, row2.aCells[iCol].sValue);\r\n if (iRes != 0) return iRes;\r\n }\r\n return 0;\r\n });\r\n}\r\n\r\nrowIndexByRowId(sRowId){\r\n return this.aData.findIndex(tRow => tRow.sRowId == sRowId);\r\n}\r\n\r\nrowIdByRowIndex(iRowIndex){\r\n return (this.aData[iRowIndex] ? this.aData[iRowIndex].sRowId : null);\r\n}\r\n\r\nrowByRowIndex (iRowIndex) {\r\n return this.aData[iRowIndex];\r\n}\r\n\r\nrowByRowId (sRowId){\r\n return this.aData.find(tRow => tRow.sRowId == sRowId) || null;\r\n}\r\n\r\nrowIndexToItemIndex (iRow){\r\n if(this.aData[iRow] && this.aData[iRow]._iItemIndex != null) return this.aData[iRow]._iItemIndex;\r\n\r\n return -1;\r\n}\r\n\r\nsetCurrentRowId(sRowId){\r\n if(this.sCurrentRowId !== sRowId){\r\n var oOptions = {\r\n sPrevRowId : this.sCurrentRowId,\r\n iPrevRowIndex : this.iCurrentRow,\r\n sGotoRowId : sRowId,\r\n iGotoRowIndex : this.rowIndexByRowId(sRowId)\r\n };\r\n\r\n this.sCurrentRowId = oOptions.sGotoRowId;\r\n this.iCurrentRow = oOptions.iGotoRowIndex;\r\n\r\n this.onRowChange.fire(this, oOptions);\r\n }\r\n}\r\n\r\nupdateRow(sRowId, tRow, bMergeRow){\r\n var iRow = this.rowIndexByRowId(sRowId);\r\n if(iRow >= 0){\r\n this.onBeforeDataUpdate.fire(this);\r\n \r\n if(bMergeRow){ \r\n // Merge the new row data into the old row, always update rowid and cell values, other details are only updated if they are provided.\r\n // For non data aware grids this will be the default provided by the server.\r\n const origRow = this.aData[iRow];\r\n origRow.sRowId = tRow.sRowId;\r\n if(tRow.sCssClassName) tRow.sCssClassName;\r\n tRow.aCells.forEach((newCell, iCell) => {\r\n const origCell = this.aData[iRow].aCells[iCell];\r\n origCell.sValue = newCell.sValue;\r\n if(newCell.sTooltip) origCell.sTooltip = newCell.sTooltip;\r\n if(newCell.sCssClassName) origCell.sCssClassName = newCell.sCssClassName;\r\n if(newCell.aOptions.length) origCell.aOptions = newCell.aOptions;\r\n }) \r\n }else{\r\n this.aData[iRow] = tRow;\r\n }\r\n \r\n // If we are changing the current row we should also update sCurrentRowId, appendNewRow will handle the case where this shouldn't happen (tab from new row into another new row)\r\n // Note that sometimes (cell save example) the sCurrentRowId already contains the new rowid.\r\n if(this.sCurrentRowId === sRowId || this.sCurrentRowId === tRow.sRowId){\r\n this.sCurrentRowId = tRow.sRowId;\r\n this.iCurrentRow = iRow;\r\n }\r\n \r\n //this.sortData(); // This would cause issues, if the ordering changes we need a full refresh\r\n \r\n this.onDataUpdate.fire(this, { sType : \"row\", sUpdateRowId : sRowId, sNewRowId : tRow.sRowId });\r\n }\r\n}\r\n\r\n\r\nremoveRow(sRowId){\r\n var iRow = this.rowIndexByRowId(sRowId);\r\n if(iRow >= 0){\r\n if(this.iCurrentRow > iRow){\r\n this.iCurrentRow--;\r\n }\r\n \r\n this.aData.splice(iRow, 1);\r\n this.prepDisplay();\r\n\r\n this.onDataUpdate.fire(this, {\r\n sType :\"remrow\",\r\n sRowId : sRowId,\r\n iRowIndex : iRow\r\n });\r\n }\r\n}\r\n\r\nappendRow(tRow){\r\n // Insert at the end\r\n this.aData.push(tRow);\r\n \r\n if(this.sortData()){\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n }\r\n this.prepDisplay();\r\n this.onDataUpdate.fire(this, {\r\n sType :\"newrow\",\r\n sRowId : tRow.sRowId\r\n });\r\n}\r\n\r\ninsertBefore(sBeforeRowId, tRow){\r\n var iBefore = this.rowIndexByRowId(sBeforeRowId);\r\n \r\n if(iBefore < 0){\r\n iBefore = this.aData.length;\r\n }\r\n if(iBefore <= this.iCurrentRow){\r\n this.iCurrentRow++;\r\n }\r\n \r\n this.aData.splice(iBefore, 0, tRow);\r\n \r\n if(this.sortData()){\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n }\r\n this.prepDisplay();\r\n this.onDataUpdate.fire(this, {\r\n sType :\"newrow\",\r\n sRowId : tRow.sRowId\r\n }); \r\n}\r\n\r\ninsertAfter(sAfterRowId, tRow){\r\n var iAfter = this.rowIndexByRowId(sAfterRowId);\r\n\r\n \r\n if(iAfter < 0 || iAfter + 1== this.aData.length){\r\n this.appendRow(tRow);\r\n }else{\r\n this.insertBefore(this.aData[iAfter + 1].sRowId, tRow);\r\n }\r\n}\r\n\r\nupdateCell(oCol, sVal){\r\n if(this.iCurrentRow >= 0){\r\n this.onBeforeDataUpdate.fire(this);\r\n \r\n this.aData[this.iCurrentRow].aCells[oCol._iColIndex].sValue = sVal;\r\n //this.sortData(); // This would cause issues, if the ordering changes we need a full refresh\r\n \r\n this.onDataUpdate.fire(this, { \r\n sType : \"cell\", \r\n sUpdateRowId : this.sCurrentRowId, \r\n oCol : oCol\r\n });\r\n }\r\n}\r\n\r\nupdateCellByRowId(sRowId, oCol, sVal){\r\n var iRowIndex = this.rowIndexByRowId(sRowId);\r\n\r\n if (iRowIndex >= 0){\r\n this.onBeforeDataUpdate.fire(this);\r\n \r\n this.aData[iRowIndex].aCells[oCol._iColIndex].sValue = sVal;\r\n \r\n this.onDataUpdate.fire(this, { \r\n sType : \"cell\", \r\n sUpdateRowId : sRowId, \r\n oCol : oCol\r\n });\r\n }\r\n}\r\n\r\nupdateSorting(){\r\n var oL = this.oL;\r\n \r\n if(!this.bPaged && oL.piSortColumn >= 0){\r\n this.handleData(null, \"page\", \"\", true, true);\r\n }\r\n}\r\n\r\nupdateGrouping(){\r\n var oL = this.oL;\r\n \r\n if(!this.bPaged && oL.peGrouping != df.grpDisabled){\r\n this.handleData(null, \"page\", \"\", true, true);\r\n }\r\n}\r\n\r\nonSettingChange(oEv){\r\n if(oEv.sType === \"prop\"){\r\n switch(oEv.sProp){\r\n case \"piSortColumn\":\r\n case \"pbReverseOrdering\":\r\n this.updateSorting();\r\n break;\r\n }\r\n }else if(oEv.sType === \"sorting\"){\r\n this.updateSorting();\r\n }else if(oEv.sType === \"grouping\"){\r\n this.updateGrouping();\r\n }\r\n}\r\n\r\n}","import { WebListModel } from \"./WebListModel.js\";\r\n\r\n/*\r\nClass:\r\n WebListPagedModel\r\nExtends:\r\n WebListModel\r\n\r\nExtends the model of the WebList its mini MVC system with logic for paged data loading.\r\n\r\nRevision:\r\n 2017/02/10 (HW, DAW) \r\n Initial version.\r\n*/\r\n\r\nexport class WebListPagedModel extends WebListModel{\r\n\r\nconstructor(oList){\r\n super(oList);\r\n \r\n this.bFirst = false;\r\n this.bLast = false;\r\n this.bPaged = true;\r\n \r\n this.iPrefCacheOffset = 25; // The preferred amount of rows in the cache above and below the rendered rows\r\n\r\n}\r\n\r\nhandleData(listData, sType, sStartRowId, bFirst, bLast){\r\n var oOptions = { sType : \"\", iOffsetChange : 0, sUpdateRowId : \"\" };\r\n\r\n if(listData && (!Array.isArray(listData.aRows) || !Array.isArray(listData.aGroupHeaders) || !Array.isArray(listData.aGroups))){\r\n throw new df.Error(999, \"Invalid data structure for weblist data.\");\r\n }\r\n \r\n this.onBeforeDataUpdate.fire(this);\r\n \r\n \r\n \r\n if(sType === \"page\"){\r\n // Update cache\r\n this.aData = listData.aRows;\r\n this.bLast = bLast;\r\n this.bFirst = bFirst;\r\n \r\n // Refind current row\r\n this.prepDisplay();\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n \r\n // Always select row if there is a row\r\n if(this.iCurrentRow < 0 && bLast && bFirst){\r\n if(this.aData.length > 0){\r\n this.iCurrentRow = 0;\r\n this.sCurrentRowId = this.aData[0].sRowId;\r\n }\r\n }\r\n \r\n oOptions.sType = \"full\";\r\n }\r\n \r\n \r\n if(sType === \"first\"){\r\n // Update cache\r\n this.aData = listData.aRows;\r\n this.bLast = bLast;\r\n this.bFirst = bFirst;\r\n \r\n // Refind current row\r\n this.prepDisplay();\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n \r\n oOptions.sType = \"full\";\r\n }\r\n \r\n if(sType === \"last\"){\r\n // Update cache\r\n listData.aRows.reverse();\r\n this.aData = listData.aRows;\r\n this.bLast = bLast;\r\n this.bFirst = bFirst;\r\n \r\n // Update display\r\n this.prepDisplay();\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n \r\n oOptions.sType = \"full\";\r\n\r\n }\r\n \r\n if(sType === \"next\"){\r\n // Update cache\r\n this.aData = this.aData.concat(listData.aRows);\r\n this.bLast = bLast;\r\n \r\n oOptions.sType = \"next\";\r\n\r\n this.prepDisplay();\r\n }\r\n \r\n if(sType === \"prev\"){\r\n // Update cache\r\n listData.aRows.reverse();\r\n this.aData = listData.aRows.concat(this.aData);\r\n this.bFirst = bFirst;\r\n \r\n oOptions.iOffsetChange = listData.aRows.length;\r\n oOptions.sType = \"prev\";\r\n \r\n this.prepDisplay();\r\n this.iCurrentRow = this.rowIndexByRowId(this.sCurrentRowId);\r\n }\r\n \r\n this.onDataUpdate.fire(this, oOptions);\r\n}\r\n\r\n/**\r\n * Determines if the passed row is the first row in the set.\r\n * \r\n * @param {Object} tRow \r\n * @returns True if this is the first row.\r\n */\r\n isFirst(tRow){\r\n return (this.bFirst && this.aData[0] == tRow);\r\n}\r\n\r\n/**\r\n * Determines if the passed row is the last row in the set.\r\n * \r\n * @param {Object} tRow \r\n * @returns True if this is the last row.\r\n */\r\nisLast(tRow){\r\n return (this.bLast && this.aData[this.aData.length - 1] == tRow);\r\n}\r\n\r\n\r\nupdateSorting(){\r\n // With paged lists the sorting is always done on the server\r\n}\r\n\r\n\r\nsortData(){\r\n // Sorting data always happens on the server when paging data\r\n}\r\n\r\n\r\n\r\n}\r\n\r\n","import { WebListModel } from \"./WebListModel.js\";\r\nimport { WebListView } from \"./WebListView.js\";\r\n\r\n/*\r\nClass:\r\n WebListScrollingView\r\nExtends:\r\n WebListView\r\n\r\nExtends the main view class of the WebList its mini MVC model with scrolling logic. It uses a \r\nvirtual scrolling system where only the visible rows and a few above / below are rendered. This \r\nkeeps the number of DOM elements low and the performance up. It also supports paged data loading \r\n(WebListPagedModel) to support 'endless scrolling' where data is only partially loaded and chuncks \r\nof data are requested when needed.\r\n\r\nRevision:\r\n 2017/02/10 (HW, DAW) \r\n Initial version.\r\n 2018/02/22 (HW, DAW)\r\n It now keeps track of independent row heights and calculates accordingly.\r\n*/\r\n/*global df*/ \r\n \r\nexport class WebListScrollingView extends WebListView{\r\n\r\nheightCache = {\r\n\r\n}\r\n\r\nconstructor(oList, oModel, oController){\r\n super(oList, oModel, oController);\r\n \r\n this.bScroll = true;\r\n\r\n this.bZebraTop = false; // Indicates wether the next row inserted on top should be a 'Odd' colored row\r\n this.bZebraBottom = false; // Indicates wether the next row inserted at the bottom should be a 'Odd' colored row\r\n \r\n this.iTableOffset = 0; // The scrollOfset of the table (number of pixels between the first rendered row and the first visisble row)\r\n this.iScrollOffsetPx = 0; // The number of (virtual) pixels from the top of the list to the displayed part\r\n this.iRowDispOffset = 0; // The first row that is currently rendered\r\n this.iViewOffset = 0; // The number of rows rendered above the first visible row\r\n this.iRowsDispOffset = 0; // The total offset from the top of the cache to the first rendered row\r\n this.iRowDispLast = 0; // The last displayed row\r\n \r\n this.iPrefViewOffset = 8; // The preferred view offset (amount of rows rendered that are not visible)\r\n this.iMaxViewOffsetDiff = this.iPrefViewOffset / 2; // The preferred view offset (amount of rows rendered that are not visible)\r\n \r\n this.iLastScrollbarSet = 0; // The last scrollTop set to the scrollbar so we know if we need to redraw on this event\r\n this.bScrollbarDirty = false; // Sometimes when not rendered yet the scrollbar doesn't update properly, this property indicates that it is still off and needs to be corrected\r\n \r\n \r\n this.iAvgRowHeight = 0; // Average row height used when a row is not rendered yet\r\n this.iTableHeight = 0; // The height of the table in pixels\r\n \r\n this.bNoRender = false; // Tempolary disables the rendering while initializing or updating the cache\r\n \r\n this.iAutoScroll = 0; // Used by the kinetic scrolling system to indicate that we are still \"scrolling\"\r\n \r\n this.oInitialFullEvent = null;\r\n this.bFirstFill = true;\r\n\r\n this.aItemHeightProcess = [];\r\n \r\n this.onHorizontalScroll = new df.events.JSHandler();\r\n this.onVerticalScroll = new df.events.JSHandler();\r\n\r\n this.bDelUpdDim = false; // If true a dimension update is scheduled\r\n this.bDelUpdDimForced = false; // If true the scheduled dimension updated is a forced update\r\n\r\n oList._onResize.on(this.onResize, this);\r\n\r\n this._oDimUpdConf = null; // Config for pending dimension update\r\n}\r\n\r\ngenHtml(aHtml){\r\n aHtml.push('
');\r\n \r\n \r\n aHtml.push('
');\r\n \r\n aHtml.push('
');\r\n aHtml.push('
');\r\n \r\n /* this.tableHtml(aHtml); */\r\n \r\n aHtml.push('
');\r\n aHtml.push('
');\r\n aHtml.push('
');\r\n}\r\n\r\nafterRender(eList){\r\n this.eTableWrp = df.dom.query(eList, \"div.WebList_TableWrp\");\r\n this.eTable = df.dom.query(eList, \"div.WebList_Table\");\r\n this.eScrollbar = df.dom.query(eList, \"div.WebList_Scroll\");\r\n this.eScrollStretch = df.dom.query(eList, \"div.WebList_Scroll > div.WebList_Stretcher\");\r\n \r\n super.afterRender(eList);\r\n \r\n \r\n df.events.addDomMouseWheelListener(this.eBody, this.onMouseWheelScroll, this);\r\n df.dom.on(\"scroll\", this.eScrollbar, this.onScrollbarScroll, this);\r\n df.dom.on(\"scroll\", this.eTableWrp, this.onHorizbarScroll, this);\r\n df.events.addDomCaptureListener(\"load\", this.eTableWrp, this.onContentLoaded, this);\r\n}\r\n\r\nafterFirstFill(){\r\n df.dom.animFrame(function(){\r\n // Scroll to the sort column\r\n if(this.oL.piSortColumn > 0){\r\n this.scrollToCol(this.oL.piSortColumn);\r\n }\r\n }, this);\r\n}\r\n\r\nonDataUpdate(oEv){\r\n var iOffsetTop;\r\n\r\n this.iMaxPX = null;\r\n if(oEv.sType === \"full\"){\r\n if(!this.eBody){\r\n this.oInitialFullEvent = oEv;\r\n return;\r\n }\r\n \r\n // Clear row height (grouping does a refresh without creating new rows)\r\n this.clearHeightCache();\r\n\r\n this.updateScrollbarSize();\r\n \r\n this.bNoRender = true;\r\n const eRow = this.row(this.oM.sCurrentRowId);\r\n if(eRow){\r\n iOffsetTop = eRow.offsetTop - this.iTableOffset;\r\n }else{\r\n this.centerCurrentRow();\r\n }\r\n\r\n \r\n this.bNoRender = false;\r\n this.updatePosition(true);\r\n \r\n this.dimensionUpdate({\r\n bUpdateRows : false,\r\n bUpdateScrollbar : true,\r\n bForceRedraw : false,\r\n fFinished : () => {\r\n if (eRow){\r\n this.smartRepositionCurrentRow(iOffsetTop);\r\n }else{\r\n this.centerCurrentRow();\r\n }\r\n\r\n }\r\n });\r\n // If there is no table height this is probably the initial rendering of the list so we do call centerCurrentRow in the next animation frame when hopefully iTableHeight is figured out.\r\n if(this.iTableHeight <= 0){\r\n df.dom.animFrame(function(){\r\n if(this.iTableHeight > 0){\r\n this.centerCurrentRow();\r\n }\r\n }, this);\r\n }\r\n\r\n // First time trigger afterFirstFill\r\n if(this.bFirstFill){\r\n this.bFirstFill = false;\r\n this.afterFirstFill();\r\n }\r\n }\r\n if(oEv.sType === \"next\"){\r\n this.updateScrollbarSize();\r\n }\r\n if(oEv.sType === \"prev\"){\r\n // Update display props\r\n this.iScrollOffsetPx += oEv.iOffsetChange * (this.iAvgRowHeight || 20);\r\n this.iRowDispOffset += oEv.iOffsetChange;\r\n this.iRowsDispOffset += oEv.iOffsetChange;\r\n this.iRowDispLast += oEv.iOffsetChange;\r\n \r\n // Update display\r\n this.bNoRender = true;\r\n this.updateScrollbarSize();\r\n this.eScrollbar.scrollTop = this.eScrollbar.scrollTop + oEv.iOffsetChange * (this.iAvgRowHeight || 20);\r\n this.bNoRender = false;\r\n this.updatePosition();\r\n }\r\n if(oEv.sType === \"row\"){\r\n this.refreshRow(oEv.sUpdateRowId, oEv.sNewRowId);\r\n }\r\n if(oEv.sType === \"cell\"){\r\n this.refreshCell(oEv.sUpdateRowId, oEv.oCol);\r\n }\r\n if(oEv.sType === \"newrow\"){\r\n this.bNoRender = true;\r\n this.updateScrollbarSize();\r\n this.scrollToCurrentRow();\r\n this.bNoRender = false;\r\n\r\n this.updatePosition(true);\r\n }\r\n if(oEv.sType === \"remrow\"){\r\n this.bNoRender = true;\r\n this.updateScrollbarSize();\r\n this.scrollToCurrentRow();\r\n this.bNoRender = false;\r\n\r\n this.updatePosition(true);\r\n }\r\n if(oEv.sType === \"display\"){\r\n // Refresh caused by display table change where we want to keep the exact current position\r\n const iRowDispOffset = this.iRowDispOffset;\r\n const iTableOffset = this.iTableOffset;\r\n\r\n this.updatePosition(true);\r\n \r\n this.dimensionUpdate({\r\n bUpdateRows : false,\r\n bUpdateScrollbar : true,\r\n bForceRedraw : false,\r\n fFinished : () => {\r\n const iOffset = this.combinedRowHeightPx(0, iRowDispOffset) + iTableOffset;\r\n\r\n this.scrollTo(iOffset, false, false, false);\r\n if(oEv.iDisplayItem){\r\n this.scrollToDisplayItem(oEv.iDisplayItem);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\nonRowChange(oEv){\r\n if(this.eBody){\r\n super.onRowChange(oEv);\r\n\r\n // If a dimension update is pending we wait for it, else we center directly\r\n if(this._oDimUpdConf){\r\n this.dimensionUpdate({\r\n fFinished : () => {\r\n this.scrollToCurrentRow();\r\n }\r\n });\r\n }else{\r\n this.scrollToCurrentRow();\r\n }\r\n }\r\n}\r\n\r\n\r\nonSettingChange(oEv){\r\n if(oEv.sType === \"redraw\"){\r\n this.updatePosition(true);\r\n }else if(oEv.sType === \"prop\" && oEv.sProp === \"pbAutoColumnSizing\"){\r\n df.dom.toggleClass(this.eTableWrp, \"WebList_AutoSize\", this.oL.pbAutoColumnSizing);\r\n df.dom.toggleClass(this.eTableWrp, \"WebList_HorizScroll\", !this.oL.pbAutoColumnSizing);\r\n }else{\r\n super.onSettingChange(oEv);\r\n }\r\n}\r\n\r\n// - - - - - - - Display & scroll - - - - - - -\r\n\r\n/* \r\nScrolls the specified amount of pixels up or down.\r\n*/\r\nscroll(iDelta, bSnap, bFromScrollbar){\r\n var iOffset;\r\n \r\n // Determine new offset\r\n iOffset = this.iScrollOffsetPx;\r\n iOffset += iDelta;\r\n\r\n // We do not check the boundaries because ScrollTo will do that..\r\n \r\n // Perform actual scrolling \r\n this.scrollTo(iOffset, bSnap, bFromScrollbar);\r\n}\r\n\r\n/* \r\nScrolls to the specified offset. It optionally snaps to the closest row. \r\n*/\r\nscrollTo(iOffset, bSnap, bFromScrollbar, bNoBoundaries){\r\n if(iOffset !== this.iScrollOffsetPx){\r\n this.iScrollOffsetPx = iOffset;\r\n \r\n // We do not check boundaries or do snapping as updatePosition does that now\r\n this.updatePosition(false, bSnap, !!bNoBoundaries);\r\n \r\n // Update scrollbar \r\n if(!bFromScrollbar){\r\n this.updateScrollbarPos(this.iScrollOffsetPx);\r\n }\r\n\r\n this.onVerticalScroll.fire(this, {\r\n iScrollOffsetPx : this.iScrollOffsetPx\r\n });\r\n\r\n this.updateCache();\r\n }\r\n}\r\n\r\n/* \r\nUpdates the display. It calculates which rows should be rendered, updates or refreshes the view, \r\nand updates the scrollOffset.\r\n\r\n@param bForceRedraw Enforces a full redraw of the view.\r\n@param bSnap Snaps to a specific row.\r\n*/\r\nupdatePosition(bForceRedraw, bSnap, bNoBoundaries){\r\n const oM = this.oM;\r\n let iViewOffsetPx, iScrollOffsetPx, iRowViewLast = null, iRowDispLast, iRowDispOffset, iRowScrollOffset = null, \r\n iEmptyRows = 0, i, iTotalPx = 0, iViewEndOffsetPx, iRowPx, iMaxPX, iInitScrollOffsetPx, iViewRowOffsetPx;\r\n\r\n if(!this.eBody || this.bNoRender){\r\n return;\r\n }\r\n const iTableHeight = this.tableHeight();\r\n\r\n bSnap = !!bSnap;\r\n bNoBoundaries = !!bNoBoundaries;\r\n bForceRedraw = !!bForceRedraw;\r\n\r\n iMaxPX = this.getMaxPX();\r\n iInitScrollOffsetPx = iScrollOffsetPx = (bNoBoundaries ? this.iScrollOffsetPx : Math.min(this.iScrollOffsetPx, iMaxPX));\r\n iViewEndOffsetPx = Math.max(iScrollOffsetPx, 0) + iTableHeight; \r\n \r\n //var sLog = \"updatePosition(\" + iScrollOffsetPx + \")\";\r\n\r\n // Loop over rows to determine the first & last rendered rows based on the height\r\n for(i = 0; i < oM.aDisplay.length; i++){\r\n iRowPx = this.rowHeightPx(i);\r\n\r\n // Snapping logic\r\n if(bSnap && iRowScrollOffset === null && iTotalPx + iRowPx > iScrollOffsetPx && iRowPx < (this.iAvgRowHeight * 1.5)){\r\n if((iScrollOffsetPx - iTotalPx) < (iRowPx / 2)){\r\n iScrollOffsetPx = iTotalPx;\r\n }else{\r\n iScrollOffsetPx = iTotalPx + iRowPx;\r\n }\r\n }\r\n\r\n iTotalPx += iRowPx;\r\n \r\n // Find the first displayed row\r\n if(iRowScrollOffset === null && iTotalPx >= iScrollOffsetPx){\r\n if(bNoBoundaries){\r\n this.iScrollOffsetPx = iScrollOffsetPx;\r\n }else{\r\n this.iScrollOffsetPx = iScrollOffsetPx = Math.max(0, Math.min(iScrollOffsetPx, iMaxPX));\r\n }\r\n iViewEndOffsetPx = Math.max(iScrollOffsetPx, 0) + iTableHeight;\r\n\r\n iRowScrollOffset = i;\r\n iViewRowOffsetPx = iTotalPx - iRowPx;\r\n }\r\n\r\n // Find the last displayed row\r\n if(iTotalPx >= iViewEndOffsetPx){\r\n iRowViewLast = i;\r\n break;\r\n }\r\n }\r\n\r\n // Snap adjustment for the last row\r\n if(iMaxPX - iInitScrollOffsetPx < this.iAvgRowHeight * 0.5){\r\n iScrollOffsetPx = iMaxPX;\r\n }\r\n\r\n // If we did not find a start offset\r\n if(iRowScrollOffset === null){\r\n if(bNoBoundaries){\r\n this.iScrollOffsetPx = iScrollOffsetPx;\r\n }else{\r\n this.iScrollOffsetPx = iScrollOffsetPx = Math.max(0, Math.min(iScrollOffsetPx, iMaxPX));\r\n }\r\n iViewEndOffsetPx = Math.max(iScrollOffsetPx, 0) + this.iTableHeight;\r\n\r\n iRowScrollOffset = 0;\r\n iViewRowOffsetPx = 0;\r\n }\r\n\r\n // If we did not find an end offset\r\n if(iRowViewLast === null){\r\n iRowViewLast = Math.max(0, oM.aDisplay.length - 1);\r\n }\r\n \r\n // See if we need empty rows at the end..\r\n if(iTotalPx < this.iTableHeight){\r\n iEmptyRows = (this.iTableHeight - iTotalPx) / (this.iAvgRowHeight || 20) + this.iPrefViewOffset;\r\n }\r\n \r\n // Calculate the target row offset\r\n iRowDispOffset = Math.max(iRowScrollOffset - this.iPrefViewOffset, 0);\r\n iRowDispLast = Math.min(iRowViewLast + this.iPrefViewOffset, oM.aDisplay.length - 1);\r\n\r\n \r\n // Choose between full redraw and adjustment. Adjustment is possible if the rows are already in the rendered area. \r\n if(bForceRedraw || (iRowScrollOffset < this.iRowDispOffset) || (iRowViewLast > this.iRowDispLast) || this.iCalcEmptyRows !== iEmptyRows){\r\n // sLog += \" --refresh list! \" + iRowDispOffset + \" --> \" + iRowDispLast + \" --- \" + iEmptyRows;\r\n this.iCalcEmptyRows = iEmptyRows;\r\n this.iRowDispLast = iRowDispLast;\r\n this.iRowDispOffset = iRowDispOffset;\r\n \r\n this.refreshDisplay();\r\n }else{\r\n // sLog += \" --adjust list! \" + iRowDispOffset + \" --> \" + iRowDispLast;\r\n\r\n this.adjustDisplay(iRowDispOffset, iRowDispLast);\r\n }\r\n \r\n // Calculate and update view scroll offset\r\n iViewOffsetPx = iScrollOffsetPx - (iViewRowOffsetPx - this.combinedRowHeightPx(this.iRowDispOffset, iRowScrollOffset));\r\n this.updateScrollOffset(iViewOffsetPx);\r\n}\r\n\r\n/*\r\nRefreshes the dispay completely by regenerating the table html.\r\n*/\r\nrefreshDisplay(){\r\n var aHtml = [];\r\n \r\n // Warn for excessive rendering\r\n const iRows = this.iRowDispLast - this.iRowDispOffset;\r\n if(iRows > 100){\r\n console.warn(`Painting issue, painting ${iRows} rows`);\r\n }\r\n \r\n this.tableHtml(aHtml);\r\n \r\n if(df.sys.isIE){\r\n while(this.eTable.lastChild){\r\n this.eTable.removeChild(this.eTable.lastChild);\r\n }\r\n }\r\n\r\n this.eTable.innerHTML = aHtml.join('');\r\n \r\n // Notify other modules\r\n this.onRowsRendered.fire(this);\r\n\r\n this.dimensionUpdate({\r\n bUpdateRows : true,\r\n bUpdateScrollbar : true,\r\n bForceRedraw : false\r\n });\r\n}\r\n\r\n/* \r\nAugments rowHtml and queues the generated row for height calculation once it is has been rendered.\r\n\r\n*/\r\nitemHtml(aHtml, iIndex){\r\n super.itemHtml(aHtml, iIndex);\r\n \r\n this.aItemHeightProcess.push(iIndex);\r\n}\r\n\r\n/* \r\nOverrides the tableHtml function as it now only renders the rows in the current view. It depends on\r\nthis.iRowDispOffset, this.iCalcRowDispLast and this.iCalcEmptyRows to be properly set by \r\nupdatePosition.\r\n*/\r\ntableHtml(aHtml){\r\n var oM = this.oM, i;\r\n \r\n // Loop rows\r\n for(i = this.iRowDispOffset; i <= this.iRowDispLast && i < oM.aDisplay.length; i++){\r\n this.itemHtml(aHtml, i);\r\n }\r\n\r\n // Generate \"empty\" rows\r\n for(i = 0; i < this.iCalcEmptyRows; i++){\r\n this.oR.rowHtml(null, aHtml, ((i + this.iRowDispLast + 1) % 2==0), oM.aGroups.length, false, false);\r\n }\r\n}\r\n\r\n/* \r\nAdjusts the display by adding / removing rows on top or the bottom. This is done to improve scroll\r\nperformance (instead of full refresh).\r\n\r\n@param iRowDispOffset The first row to be rendered.\r\n@param iRowDispLast The last row to be rendered.\r\n*/\r\nadjustDisplay(iRowDispOffset, iRowDispLast){\r\n var oM = this.oM, iAllowedDiff = this.iMaxViewOffsetDiff, bAdd = false;\r\n \r\n if(this.iRowDispOffset > iRowDispOffset){\r\n // Add rows on top\r\n if(this.iRowDispOffset > (iRowDispOffset + iAllowedDiff)){\r\n while(this.iRowDispOffset > iRowDispOffset){\r\n this.iRowDispOffset--;\r\n this.insertRow(this.iRowDispOffset, true);\r\n \r\n bAdd = true;\r\n }\r\n }\r\n \r\n // Remove rows on the bottom\r\n if(this.iRowDispLast > (iRowDispLast + iAllowedDiff)){\r\n while(this.iRowDispLast > iRowDispLast){\r\n this.removeBottomRow();\r\n }\r\n }\r\n }else{\r\n \r\n // Add rows on the bottom\r\n if(this.iRowDispLast < (iRowDispLast - iAllowedDiff)){\r\n while(this.iRowDispLast < iRowDispLast){\r\n this.iRowDispLast++;\r\n this.insertRow(this.iRowDispLast, false);\r\n\r\n bAdd = true; \r\n }\r\n }\r\n \r\n // Remove rows on top\r\n if(this.iRowDispOffset < (iRowDispOffset - iAllowedDiff)){\r\n while(this.iRowDispOffset < iRowDispOffset){\r\n this.removeTopRow();\r\n }\r\n }\r\n }\r\n\r\n if(bAdd){\r\n // Notify other modules\r\n this.onRowsRendered.fire(this);\r\n }\r\n}\r\n\r\n/*\r\nThis method removes a single row from the display table. It makes sure the _iRowDispOffset and \r\n_iViewOffset are properly updated. It is called by the adjustDisplay method.\r\n\r\n@private\r\n*/\r\nremoveTopRow(){\r\n if(!this.eTable.firstChild) return;\r\n\r\n \r\n // Remove things that are not rows on top first\r\n while(!this.eTable.firstChild.hasAttribute(\"data-dfitem\")){\r\n this.eTable.removeChild(this.eTable.firstChild);\r\n }\r\n \r\n if(!this.eTable.firstChild) return;\r\n this.eTable.removeChild(this.eTable.firstChild);\r\n\r\n this.iRowDispOffset++;\r\n this.bZebraTop = !this.bZebraTop; \r\n}\r\n\r\n/*\r\nThis method removes a single row from the top of the display table. It is called by the \r\nadjustDisplay method.\r\n\r\n@private\r\n*/\r\nremoveBottomRow(){\r\n if(!this.eTable.lastChild) return;\r\n\r\n // Remove things that are not rows on top first\r\n while(!this.eTable.firstChild.hasAttribute(\"data-dfitem\")){\r\n this.eTable.removeChild(this.eTable.lastChild);\r\n }\r\n \r\n if(!this.eTable.lastChild) return;\r\n this.eTable.removeChild(this.eTable.lastChild);\r\n\r\n this.iRowDispLast--;\r\n this.bZebraBottom = !this.bZebraBottom;\r\n}\r\n\r\n/* \r\nThere are more rows rendered than there are visible. We hide the first extra top rows visible using\r\nCSS translateY.\r\n\r\n@param \r\n*/\r\nupdateScrollOffset(iOffset){\r\n if(this.eTable){\r\n this.iTableOffset = iOffset;\r\n\r\n df.dom.translateY(this.eTable, -iOffset, true);\r\n \r\n if(this.eTableWrp.scrollTop > 0){\r\n this.eTableWrp.scrollTop = 0; // Reset this as it somehow gets scrolled :S\r\n }\r\n }\r\n}\r\n\r\n/* \r\nThis function inserts a single row into the list using DOM object creation. This is slower as using \r\ninnerHTML but is faster as refreshing the entire table (which needs to be done using innerHTML).\r\n\r\n@param iItemIndex Index of the inserted display item.\r\n@param bTop True if the row needs to be inserted at the top, false for the bottom.\r\n@private\r\n*/\r\ninsertRow(iItemIndex, bTop){\r\n let aHtml = [];\r\n\r\n // Generate row element\r\n this.itemHtml(aHtml, iItemIndex);\r\n const eElem = df.dom.create(aHtml);\r\n if(bTop){\r\n this.eTable.prepend(eElem);\r\n }else{\r\n this.eTable.appendChild(eElem);\r\n }\r\n}\r\n\r\n/**\r\n * Clears the height information cached.\r\n */\r\nclearHeightCache(){\r\n // Clear cached row heights as these might change\r\n this.oM.aDisplay.forEach(tItem => { \r\n tItem._iRowHeight = null; \r\n });\r\n \r\n this.heightCache = {};\r\n}\r\n\r\n/**\r\n * Determines the height of an element by looking at the BoundingClientRect which also includes fractions.\r\n * \r\n * @param {DOM Element} eElem \r\n * @returns Height of the element.\r\n */\r\nrealHeight(eElem){\r\n return eElem?.getBoundingClientRect().height || 0;\r\n}\r\n\r\n/**\r\n * Determines the vertical margin but assumes collapsing and repetition of the element. \r\n * \r\n * @param {DOM element} eElem \r\n * @returns Vertical margin in pixels assuming they are collapsed.\r\n */\r\nrealMargin(eElem){\r\n const oStyle = df.sys.gui.getCurrentStyle( eElem);\r\n const iMarginTop = parseFloat(oStyle.marginTop) || 0;\r\n const iMarginBottom = parseFloat(oStyle.marginBottom) || 0;\r\n\r\n return Math.max(iMarginTop, iMarginBottom);\r\n}\r\n\r\n/**\r\n * Updates the row height of the specified row in the administration (_iRowHeight). It takes header elements into account.\r\n * \r\n * @param {String} iItemIndex \r\n * @returns \r\n */\r\nupdateItemHeight(iItemIndex){\r\n const oM = this.oM;\r\n \r\n const eElem = this.item(iItemIndex); \r\n if(!eElem)\r\n return false;\r\n\r\n // Row body height\r\n let iHeight = this.realHeight(eElem);\r\n\r\n // Row margins\r\n const sRowClass = eElem.className;\r\n if(!this.heightCache.hasOwnProperty(sRowClass)) this.heightCache[sRowClass] = this.realMargin(eElem);\r\n iHeight += this.heightCache[sRowClass];\r\n \r\n const bChange = oM.aDisplay[iItemIndex]._iRowHeight !== iHeight;\r\n oM.aDisplay[iItemIndex]._iRowHeight = iHeight;\r\n return bChange;\r\n}\r\n\r\n/*\r\nCalculates the average row height and stores it in iAvgRowHeight.\r\n*/\r\nupdateAvgRowHeight(){\r\n var iSum = 0, iCount = 0;\r\n\r\n this.oM.aDisplay.forEach(function(tItem){\r\n if(tItem._iRowHeight){\r\n iCount++;\r\n iSum += tItem._iRowHeight;\r\n }\r\n });\r\n\r\n if(iCount){\r\n this.iAvgRowHeight = iSum / iCount;\r\n }\r\n this.iMaxPX = 0;\r\n}\r\n\r\n/*\r\nUpdates the row heights for all rendered rows. If \r\n*/\r\nupdateRenderedRowHeights(){\r\n const oM = this.oM;\r\n let bChange = false;\r\n\r\n for(let iItem = this.iRowDispOffset; iItem < this.oM.aDisplay.length && iItem <= this.iRowDispLast; iItem++){\r\n bChange |= this.updateItemHeight(iItem);\r\n }\r\n\r\n this.aItemHeightProcess = [];\r\n \r\n \r\n if(bChange){\r\n this.updateAvgRowHeight();\r\n this.iMaxPX = null;\r\n }\r\n\r\n return bChange;\r\n}\r\n\r\n/*\r\nProcesses row height calculations that need to be perfomed.\r\n\r\n@return True if row heights have been recalculated.\r\n*/\r\nprocessRowHeights(){\r\n var iItemIndex, bChange = false;\r\n\r\n while(iItemIndex = this.aItemHeightProcess.pop()){\r\n bChange = true;\r\n this.updateItemHeight(iItemIndex);\r\n }\r\n \r\n if(bChange){\r\n this.iMaxPX = null;\r\n this.updateAvgRowHeight();\r\n }\r\n\r\n return bChange;\r\n}\r\n\r\n/*\r\nDetermines the row height for a specific row by looking at the cached value (or it takes the average).\r\n\r\n@param iRow The row index.\r\n@return Row height in pixels.\r\n*/\r\nrowHeightPx(iRow){\r\n var iHeightPx, tItem = this.oM.aDisplay[iRow];\r\n\r\n if(tItem._iRowHeight){\r\n iHeightPx = tItem._iRowHeight;\r\n }else{\r\n iHeightPx = this.iAvgRowHeight || 20;\r\n }\r\n\r\n if(tItem.eType == WebListModel.displayTypes.row){\r\n iHeightPx += this.oM.aData[tItem.iIndex]._iRowHeightExtra || 0;\r\n }\r\n\r\n return iHeightPx;\r\n}\r\n\r\n/*\r\nCalculates the height of multiple rows.\r\n\r\n@param iStart Start row index.\r\n@param iTo End row index.\r\n@return Total height in pixels.\r\n*/\r\ncombinedRowHeightPx(iStart, iTo){\r\n var oM = this.oM, i, iHeightPx = 0;\r\n\r\n for(i = iStart; i < oM.aDisplay.length && i < iTo; i++){\r\n iHeightPx += this.rowHeightPx(i);\r\n }\r\n\r\n return iHeightPx;\r\n}\r\n\r\n/* \r\nSnaps the specific offset to the closest row position and returns the snapped offset. Used by touch handler.\r\n\r\n@param iOffsetPx Offset in pixels.\r\n@return Snapped offset (closest row).\r\n*/\r\nsnapToRow(iOffsetPx){\r\n var oM = this.oM, iRowPx, iTotalPx = 0, i;\r\n\r\n for(i = 0; i < oM.aDisplay.length; i++){\r\n iRowPx = this.rowHeightPx(i);\r\n\r\n // Snapping logic\r\n if(iTotalPx + iRowPx > iOffsetPx){\r\n if((iOffsetPx - iTotalPx) < (iRowPx / 2)){\r\n return iTotalPx;\r\n }else{\r\n return iTotalPx + iRowPx;\r\n }\r\n }\r\n\r\n iTotalPx += iRowPx;\r\n }\r\n\r\n return iTotalPx;\r\n}\r\n\r\n\r\n/* \r\nDetermines the maximum scrolling offset in pixels. It looks the height of the list and the height \r\nper row. It takes extra margin space into account for rows with an margin.\r\n*/\r\ngetMaxPX(){\r\n if(this.iMaxPX){\r\n return this.iMaxPX;\r\n }\r\n return (this.iMaxPX = Math.max(this.combinedRowHeightPx(0, this.oM.aDisplay.length) - this.iTableHeight, 0));\r\n}\r\n\r\n/*\r\nUpdates the size of the stretch element defining the size of the scrollbar thingy based on the \r\ncurrent cache.\r\n*/\r\nupdateScrollbarSize(){\r\n var iHeight = this.combinedRowHeightPx(0, this.oM.aDisplay.length);\r\n \r\n if(this.eScrollStretch && this.eScrollStretch.clientHeight !== iHeight){\r\n this.eScrollStretch.style.height = iHeight + \"px\";\r\n }\r\n}\r\n\r\n/* \r\nUpdates the position displayed by the scrollbar.\r\n\r\n@param iOffset Offset in pixels from the top of the cache to the first displayed row.\r\n*/\r\nupdateScrollbarPos(iOffset){\r\n var bDirty, that = this;\r\n \r\n if(this.eScrollbar){\r\n this.eScrollbar.scrollTop = this.iLastScrollbarSet = iOffset;\r\n this.bScrollbarDirty = bDirty = Math.abs(this.eScrollbar.scrollTop - this.iLastScrollbarSet) > 5;\r\n \r\n if(bDirty){\r\n setTimeout(function(){\r\n if(that.bScrollbarDirty && that.eScrollbar.scrollTop !== that.iLastScrollbarSet){\r\n that.eScrollbar.scrollTop = that.iLastScrollbarSet;\r\n }\r\n \r\n that.bScrollbarDirty = false;\r\n }, 300);\r\n } \r\n }\r\n}\r\n\r\n/* \r\nHandles the scroll event of the scrollbar and will update the scroll position.\r\n\r\n@param oEv Event object.\r\n*/\r\nonScrollbarScroll(oEv){\r\n var iOffset = this.eScrollbar.scrollTop;\r\n \r\n // Ignore rounding changes up to 2 pixels and dirty scorllbar events\r\n if(Math.abs(iOffset - this.iLastScrollbarSet) > 2 && !this.bScrollbarDirty){\r\n\r\n this.iAutoScroll = 0;\r\n this.iLastScrollbarSet = iOffset;\r\n this.scrollTo(iOffset, true, true);\r\n }\r\n}\r\n\r\n/* \r\nHandles the mousewheel event and scrolls the list accordingly. It relies on the scroll function it\r\nsnapping logic.\r\n\r\n@param oEv Event object.\r\n*/\r\nonMouseWheelScroll(oEv){\r\n var iDelta = oEv.getMouseWheelDelta();\r\n \r\n this.iAutoScroll = 0;\r\n \r\n if(iDelta > 0){\r\n // Scroll up\r\n this.scroll(-((this.iAvgRowHeight || 20) * 2), true);\r\n \r\n }else if(iDelta < 0){\r\n // Scroll down\r\n this.scroll((this.iAvgRowHeight || 20) * 2, true);\r\n }\r\n \r\n oEv.stop();\r\n}\r\n\r\n/* \r\nTriggers a cache update based on the current display boundaries by calling the controller object \r\npassing the currently displayed rows. The controller wil load extra rows if nessecary. \r\n*/\r\nupdateCache(){\r\n this.oC.triggerCacheUpdate(this.iRowDispOffset, this.iRowDispLast);\r\n}\r\n\r\n/* \r\nCenters the currently selected row on the screen.\r\n*/\r\ncenterCurrentRow(){\r\n const oM = this.oM;\r\n \r\n const iItemIndex = oM.rowIndexToItemIndex(oM.iCurrentRow);\r\n const iTableHeight = this.tableHeight();\r\n if(iItemIndex >= 0 && iTableHeight > 0){\r\n let iOffsetPx = this.combinedRowHeightPx(0, iItemIndex);\r\n\r\n iOffsetPx = iOffsetPx - (iTableHeight / 2) + (this.rowHeightPx(iItemIndex) / 2);\r\n\r\n this.scrollTo(iOffsetPx, true, false);\r\n }\r\n}\r\n\r\n/*\r\nRepositions the selected row based on the passed top offset that was stored before a refresh. This \r\ntop offset is the number of pixels to the first rendered row.\r\n\r\n@param iOffsetTop Offset to the first rendeeed row we try to restore.\r\n*/\r\nsmartRepositionCurrentRow(iOffsetTop){\r\n const oM = this.oM;\r\n\r\n const iItemIndex = oM.rowIndexToItemIndex(oM.iCurrentRow);\r\n if(iItemIndex >= 0){\r\n this.smartRepositionDisplayItem(iItemIndex, iOffsetTop);\r\n }\r\n}\r\n\r\n/**\r\n * Repositions the display item based on passed top offset. \r\n * \r\n * @param {Integer} iItemIndex Index in the aDisplay array.\r\n * @param {Integer} iOffsetTop Offset in pixels to the first rendered row that we try to restore.\r\n */\r\nsmartRepositionDisplayItem(iItemIndex, iOffsetTop){\r\n let iOffsetPx = this.combinedRowHeightPx(0, iItemIndex);\r\n iOffsetPx -= iOffsetTop;\r\n\r\n if(iOffsetPx > 0 && iOffsetPx < this.getMaxPX()){\r\n this.scrollTo(iOffsetPx, true, false);\r\n }\r\n\r\n this.scrollToDisplayItem(iItemIndex); \r\n}\r\n\r\n/* \r\nScrolls to the currently selected row. Note that if the row is already on the screen it does nothing \r\nso it doesn't always refresh the display.\r\n*/\r\nscrollToCurrentRow(){\r\n this.scrollToRow(this.oM.sCurrentRowId);\r\n}\r\n\r\n/* \r\nScrolls to the specified row. Note that if the row is already on the screen it does nothing \r\nso it doesn't always refresh the display.\r\n*/\r\nscrollToRow(sRowID){\r\n const oM = this.oM;\r\n \r\n let iRow = oM.rowIndexByRowId(sRowID);\r\n let iItemIndex = oM.rowIndexToItemIndex(iRow);\r\n if(iItemIndex >= 0){\r\n this.scrollToDisplayItem(iItemIndex);\r\n }\r\n}\r\n \r\n/**\r\n * Scrolls the specified item into the view.\r\n * \r\n * @param {Integer} iItemIndex Index in the aDisplay array.\r\n */\r\nscrollToDisplayItem(iItemIndex){\r\n let iOffsetPx = this.combinedRowHeightPx(0, iItemIndex);\r\n let iRowPx = this.rowHeightPx(iItemIndex);\r\n\r\n if(iOffsetPx < this.iScrollOffsetPx){\r\n this.scrollTo(iOffsetPx, true, false);\r\n }else if(iOffsetPx + iRowPx > this.iScrollOffsetPx + this.iTableHeight){\r\n iOffsetPx = iOffsetPx + iRowPx - this.iTableHeight; \r\n\r\n this.scrollTo(iOffsetPx, false, false);\r\n }\r\n}\r\n\r\nscrollToCol(iCol){\r\n var oL = this.oL, eCell;\r\n\r\n if(!oL.pbAutoColumnSizing){ \r\n // Get a cell element for this col (first try the current row, if not available try the first one available)\r\n eCell = this.colCellByIndex(iCol); \r\n if(!eCell){\r\n eCell = (this.eBody && df.dom.query(this.eBody, \"td[data-dfcol='\" + iCol + \"']\")) || null;\r\n }\r\n\r\n if(eCell){\r\n if(eCell.offsetLeft < this.eTableWrp.scrollLeft){\r\n oL._oBody.scrollToHoriz(eCell.offsetLeft);\r\n }else if(eCell.offsetLeft + eCell.offsetWidth > (this.eTableWrp.clientWidth + this.eTableWrp.scrollLeft)){\r\n oL._oBody.scrollToHoriz(Math.min(eCell.offsetLeft, (eCell.offsetLeft + eCell.offsetWidth - this.eTableWrp.clientWidth)));\r\n }\r\n }\r\n }\r\n}\r\n\r\nscrollToHoriz(iScrollX){\r\n this.eTableWrp.scrollLeft = iScrollX;\r\n}\r\n\r\n/* \r\nGets called during the resize process to set the height of the list. It updates the height of the \r\nbody and scrollbar element.\r\n\r\n@param iHeight Height to be set in pixels.\r\n*/\r\nsetHeight(iHeight){\r\n iHeight -= df.sys.gui.getVertBoxDiff(this.eBody);\r\n iHeight -= df.sys.gui.getVertBoxDiff(this.eBodyWrp);\r\n \r\n iHeight = Math.max(iHeight, 0);\r\n \r\n // Set the height on the grid body\r\n this.eBody.style.height = iHeight + \"px\";\r\n this.eScrollbar.style.height = (df.dom.clientHeight(this.eTableWrp) || iHeight || 0) + \"px\";\r\n}\r\n\r\n/* \r\nDetermines the dimensions (table height) and detects a change in those. Also triggers a \r\nprocessRowHeights to be sure.\r\n\r\n@return True if dimensions did change.\r\n*/\r\ndetermineDimensions(){\r\n var bChanged = false;\r\n \r\n if(this.eBody){\r\n this.iPrevTableHeight = this.iTableHeight;\r\n this.iTableHeight = this.eTableWrp.clientHeight || this.iTableHeight;\r\n \r\n bChanged = bChanged || this.iPrevTableHeight !== this.iTableHeight || this.iTableWidth !== this.eTableWrp.clientWidth;\r\n \r\n this.iTableWidth = this.eTableWrp.clientWidth;\r\n }\r\n \r\n return bChanged;\r\n}\r\n\r\ntableHeight(){\r\n return this.eTableWrp?.clientHeight || this.iTableHeight || 0; \r\n}\r\n\r\n/*\r\nGives the browser a chance to recalculate the layout and do a repaint. Executes the provided \r\nfunction afterwards. Uses requestIdleCallback if availabe since that seems to give the best outcome, \r\nelse it uses animationframe or timeout.\r\n\r\n@param fFunc Function to execute on repaint.\r\n*/\r\nwaitForRepaint(fFunc){\r\n if(window.requestIdleCallback){\r\n window.requestIdleCallback(fFunc, { timeout : 40 });\r\n }else if(window.requestAnimationFrame){\r\n window.requestAnimationFrame(fFunc);\r\n }else{\r\n window.setTimeout(fFunc, 40);\r\n }\r\n}\r\n\r\n/*\r\nLooks at the dimensions and updates the UI if nessecary. Steps will only be performed \r\nif the previous steps detected changes or the config object explicitly turned on a step.\r\n\r\n1. Check if the WebList dimension changes.\r\n2. Update all the row heights.\r\n3. Update the scrollbar size.\r\n4. Update the position (causes a redraw of rows if nessecary).\r\n5. Update scrollbar width on header\r\n\r\n{\r\n bUpdateRows : true,\r\n bUpdateScrollbar : true,\r\n bForceRedraw : true,\r\n fFinished : null\r\n}\r\n*/\r\ndimensionUpdate(oConfig){\r\n oConfig = oConfig || {};\r\n\r\n // Save config\r\n if(this._oDimUpdConf){\r\n this._oDimUpdConf.bUpdateRows ||= oConfig.bUpdateRows;\r\n this._oDimUpdConf.bUpdateScrollbar ||= oConfig.bUpdateScrollbar;\r\n this._oDimUpdConf.bUpdateRows ||= oConfig.bUpdateRows;\r\n if(oConfig.fFinished){\r\n this._oDimUpdConf.aFinished.push(oConfig.fFinished);\r\n }\r\n }else{\r\n oConfig.aFinished = (oConfig.fFinished ? [ oConfig.fFinished ] : []);\r\n this._oDimUpdConf = oConfig;\r\n }\r\n\r\n this.waitForRepaint(() => {\r\n const oConfig = this._oDimUpdConf;\r\n if(!oConfig) return;\r\n this._oDimUpdConf = null;\r\n\r\n // 1. Check if the WebList dimension changes.\r\n let bChanged = this.determineDimensions();\r\n \r\n // 2. Update all the row heights.\r\n if (bChanged || oConfig.bUpdateRows){\r\n bChanged |= this.updateRenderedRowHeights();\r\n }else{\r\n bChanged |= this.processRowHeights();\r\n }\r\n\r\n // 3. Update the scrollbar size.\r\n if(bChanged || oConfig.bUpdateScrollbar){\r\n this.updateScrollbarSize();\r\n }\r\n\r\n // 4. Update the position (causes a redraw of rows if nessecary).\r\n if(bChanged || oConfig.bForceRedraw){\r\n this.updatePosition(oConfig.bForceRedraw);\r\n }\r\n\r\n // 5. Update scrollbar width on header\r\n if (this.eTableWrp)\r\n this.eTableWrp.style.paddingRight = this.scrollbarWidth() + \"px\";\r\n\r\n oConfig.aFinished.forEach((fFunc) => fFunc());\r\n });\r\n}\r\n\r\n\r\n/* \r\nHandles the onResize event and makes sure the dimensions are read from the DOM. If they change we \r\ntrigger a redraw.\r\n\r\n@param oEv Event object.\r\n*/\r\nonResize(oEv){\r\n if(this.oInitialFullEvent){\r\n // Render for the first time\r\n this.dimensionUpdate({\r\n bUpdateRows : true,\r\n bUpdateScrollbar : true,\r\n bForceRedraw : true,\r\n fFinished : () =>{\r\n if(this.oInitialFullEvent){\r\n this.onDataUpdate(this.oInitialFullEvent);\r\n this.oInitialFullEvent = null;\r\n }\r\n }\r\n });\r\n }else{\r\n this.dimensionUpdate({\r\n bUpdateRows : false,\r\n bUpdateScrollbar : false,\r\n bForceRedraw : false\r\n });\r\n }\r\n}\r\n\r\n/*\r\nCaptures the load event and makes sure that the size of the row containing the target element gets \r\nredetermined. This should solve issues with images inside lists that load slower. Unfortunately it\r\ncan also cause unnessecary resize operations, but only when a cWebImageColumn is used.\r\n\r\n@param oEv Event object.\r\n*/\r\nonContentLoaded(oEv){\r\n var sRowId, eElem = oEv.getTarget();\r\n\r\n while(eElem && eElem !== this.eTableWrp){\r\n if(eElem.hasAttribute(\"data-dfrowid\")){\r\n sRowId = eElem.getAttribute(\"data-dfrowid\");\r\n if(this.aItemHeightProcess.indexOf(sRowId) <= 0){\r\n this.aItemHeightProcess.push(sRowId);\r\n this.dimensionUpdate({\r\n bUpdateRows : false,\r\n bUpdateScrollbar : false,\r\n bForceRedraw : false\r\n });\r\n }\r\n \r\n return;\r\n }\r\n eElem = eElem.parentNode;\r\n }\r\n}\r\n\r\n/* \r\nUsed by the header view to determine the scrollbar width.\r\n*/\r\nscrollbarWidth(){\r\n return this.eScrollbar && this.eScrollbar.offsetWidth || 0; \r\n}\r\n\r\n/* \r\nUsed by WebListController to determine page size for page up and page down.\r\n*/\r\ngetViewSize(){\r\n const iTableHeight = this.tableHeight();\r\n if(iTableHeight && this.iAvgRowHeight){\r\n return iTableHeight / this.iAvgRowHeight;\r\n }\r\n return 10;\r\n}\r\n\r\n/* \r\nSets an extra (temporary) row height for a specific row, this is added to the existing row height. \r\nThe cWebListExpandPanel uses this when expanding a row.\r\n\r\n@param sRowId RowId of row to set extra height on.\r\n@param iExtra The extra height to add to the administration.\r\n*/\r\nsetExtraRowHeight(sRowId, iExtra){\r\n var oM = this.oM, iRow;\r\n\r\n iRow = oM.rowIndexByRowId(sRowId);\r\n if(iRow >= 0){\r\n oM.aData[iRow]._iRowHeightExtra = iExtra;\r\n this.iMaxPX = null;\r\n this.updateScrollbarSize();\r\n }\r\n}\r\n\r\n/* \r\nDetermines the extra height that is set for a specific row. \r\n\r\n@param sRowId RowId of the row to get the extra height of.\r\n@return Extra height in pixels.\r\n*/\r\ngetExtraRowHeight(sRowId){\r\n var oM = this.oM, iRow;\r\n\r\n iRow = oM.rowIndexByRowId(sRowId);\r\n if(iRow >= 0){\r\n return oM.aData[iRow]._iRowHeightExtra || 0;\r\n }\r\n}\r\n\r\n/* \r\nHandles the scroll event of the WebList_TableWrp and triggers the onHorizontalScroll event allowing\r\nthe header to update its scroll position.\r\n\r\n@param oEv Event object.\r\n*/\r\nonHorizbarScroll(oEv){\r\n this.onHorizontalScroll.fire(this, {\r\n nScrollX : this.eTableWrp.scrollLeft\r\n });\r\n}\r\n\r\n\r\n\r\n}\r\n\r\nexport default WebListScrollingView;","/*\r\nClass:\r\n WebListView\r\n\r\nThe simple non scrolling body view for the WebList its mini MVC model. It simply renders all rows \r\nwithout a scollbar.\r\n \r\nRevision:\r\n 2017/02/10 (HW, DAW) \r\n Initial version.\r\n*/\r\n\r\nimport { WebListModel } from \"./WebListModel.js\";\r\n\r\n/* global df */\r\nexport class WebListView {\r\n\r\n constructor(oList, oModel, oController) {\r\n this.oL = oList;\r\n this.oM = oModel;\r\n this.oC = oController;\r\n this.oR = oList._oRowRenderer;\r\n\r\n this.bPreventSubmit = false; // If true the double click will not triger the onsubmit. This is used by OnTableClick to explicitly prevent the OnSubmit if OnRowClick is fired.\r\n this.bCancelClick = false; // If true clicks are ignored\r\n\r\n this.bScroll = false;\r\n\r\n this.onRowsRendered = new df.events.JSHandler();\r\n\r\n oModel.onDataUpdate.on(this.onDataUpdate, this);\r\n oModel.onRowChange.on(this.onRowChange, this);\r\n oList._onSettingChange.on(this.onSettingChange, this);\r\n oController.onCellClick.on(this.onCellClick, this);\r\n oController.onAfterCellClick.on(this.onAfterCellClick, this);\r\n }\r\n\r\n genHtml(aHtml) {\r\n\r\n aHtml.push('
');\r\n aHtml.push('
');\r\n\r\n this.tableHtml(aHtml);\r\n\r\n aHtml.push('
');\r\n\r\n }\r\n\r\n afterRender(eList) {\r\n this.eRowContainer = this.eBody = df.dom.query(eList, \"div.WebList_Body\");\r\n this.eBodyWrp = df.dom.query(eList, \"div.WebList_BodyWrp\");\r\n\r\n df.dom.addClass(this.oL._eControl, (this.bScroll ? 'WebList_Scrolling' : 'WebList_NoScrolling'));\r\n\r\n df.events.addDomListener(\"click\", this.eBody, this.onTableClick, this);\r\n df.events.addDomListener(\"dblclick\", this.eBody, this.onTableDblClick, this);\r\n\r\n // Notify other modules of the rendering of rows (genHtml generates rows right away)\r\n this.onRowsRendered.fire(this);\r\n }\r\n\r\n /**\r\n * Generates HTML for the group header (by appending it to the aHtml array.)\r\n * \r\n * @param {Integer} iGroupHeaderIndex Index of the group header.\r\n * @param {Array} aHtml String builder array.\r\n * @param {Integer} iItemIndex Index in the aDisplay array of the model.\r\n */\r\n groupHeaderHtml(aHtml, iGroupHeaderIndex, iItemIndex) {\r\n const oM = this.oM;\r\n\r\n if (iGroupHeaderIndex >= 0 && oM.aGroupHeaders[iGroupHeaderIndex]) {\r\n const tHead = oM.aGroupHeaders[iGroupHeaderIndex];\r\n const tGroup = oM.aGroups[tHead.iGroupIndex];\r\n\r\n // Generate previous header first\r\n aHtml.push(`
`);\r\n if (tGroup.sLabel) {\r\n aHtml.push(`${tGroup.sLabel}`);\r\n }\r\n if (tHead.sItem) {\r\n aHtml.push(`${tHead.sItem} `);\r\n }\r\n if (tHead.sTotal) {\r\n aHtml.push(`${tHead.sTotal} `);\r\n } else if (tHead.iItems > 0) {\r\n aHtml.push(`${tHead.iItems} `);\r\n }\r\n\r\n if(this.oL.pbGroupsCollapsible){\r\n if(tHead.bCollapsed){\r\n aHtml.push(``);\r\n }else{\r\n aHtml.push(``);\r\n }\r\n }\r\n\r\n aHtml.push('
');\r\n\r\n\r\n }\r\n }\r\n\r\n itemHtml(aHtml, iIndex){\r\n const oM = this.oM, tItem = oM.aDisplay[iIndex];\r\n\r\n if(!tItem) return;\r\n\r\n switch(tItem.eType){\r\n case WebListModel.displayTypes.row:\r\n const tRow = oM.aData[tItem.iIndex];\r\n this.oR.rowHtml(tRow, aHtml, (iIndex % 2==0), oM.aGroups.length, oM.isFirst(tRow), oM.isLast(tRow), iIndex);\r\n break;\r\n case WebListModel.displayTypes.header:\r\n this.groupHeaderHtml(aHtml, tItem.iIndex, iIndex);\r\n break;\r\n }\r\n }\r\n\r\n tableHtml(aHtml) {\r\n this.oM.aDisplay.forEach((tItem, iIndex) => {\r\n this.itemHtml(aHtml, iIndex);\r\n });\r\n }\r\n\r\n refreshDisplay() {\r\n var aHtml = [];\r\n\r\n if (this.eRowContainer) {\r\n this.tableHtml(aHtml);\r\n\r\n this.eRowContainer.innerHTML = aHtml.join(\"\");\r\n\r\n // Notify other modules\r\n this.onRowsRendered.fire(this);\r\n\r\n // Trigger a resize on surrounding controls\r\n this.oL.sizeChanged(false);\r\n }\r\n }\r\n\r\n refreshRow(sRowId, sNewRowId) {\r\n var oM = this.oM, iRow, eRow, eNewRow, aHtml = [];\r\n\r\n // Lookup row details\r\n iRow = oM.rowIndexByRowId(sNewRowId);\r\n eRow = this.row(sRowId);\r\n if (iRow >= 0 && eRow) {\r\n const iIndex = eRow.dataset.dfitem;\r\n\r\n // Create new row\r\n this.itemHtml(aHtml, iIndex);\r\n \r\n eNewRow = df.dom.create(aHtml);\r\n eRow.parentNode.replaceChild(eNewRow, eRow);\r\n }\r\n }\r\n\r\n refreshCell(sRowId, oCol) {\r\n var oM = this.oM, eCell, iRow;\r\n\r\n eCell = this.cell(sRowId, oCol._iCol);\r\n iRow = oM.rowIndexByRowId(sRowId);\r\n if (eCell && iRow >= 0) {\r\n eCell.innerHTML = this.oR.cellHtml(oCol, this.oM.aData[iRow], this.oM.aData[iRow].aCells[oCol._iColIndex]);\r\n }\r\n }\r\n\r\n onDataUpdate(oEv) {\r\n\r\n\r\n if (oEv.sType === \"row\") {\r\n this.refreshRow(oEv.sUpdateRowId, oEv.sNewRowId);\r\n } if (oEv.sType === \"cell\") {\r\n this.refreshCell(oEv.sUpdateRowId, oEv.oCol);\r\n } else {\r\n this.refreshDisplay();\r\n }\r\n }\r\n\r\n onRowChange(oEv) {\r\n var eRow, ePrevRow;\r\n\r\n if (this.eBody) {\r\n // First check if group is collapsed, expanding the group will redraw so then we don't have to update the DOM\r\n if(!this.oL._oGrouping.makeCurrentRowVisible()){\r\n if (oEv.sPrevRowId) {\r\n ePrevRow = this.row(oEv.sPrevRowId);\r\n if (ePrevRow) {\r\n df.dom.removeClass(ePrevRow, \"WebList_Selected\");\r\n }\r\n }\r\n \r\n eRow = this.row(oEv.sGotoRowId);\r\n if (eRow) {\r\n df.dom.addClass(eRow, \"WebList_Selected\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSettingChange(oEv) {\r\n var oL = this.oL;\r\n\r\n if (oEv.sType === \"redraw\") {\r\n this.refreshDisplay();\r\n } else if (oEv.sType === \"prop\") {\r\n switch (oEv.sProp) {\r\n case \"pbShowSelected\":\r\n if (this.eBody) {\r\n df.dom.toggleClass(this.eBody, \"WebList_ShowSelected\", oL.pbShowSelected);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Searches the specified element inside this.eRowContainer but makes sure it is not part of a \r\n * nested list (inside an expand panel for example).\r\n * \r\n * @param {String} sSelector CSS Query Selector\r\n * @returns The first element matching the selector that is not wrapped by another WebList_Body element.\r\n */\r\n containerElem(sSelector){\r\n const aElems = this.eRowContainer?.querySelectorAll(sSelector);\r\n\r\n if(aElems){\r\n for(const eElem of aElems){\r\n if(eElem.closest('div.WebList_Body') == this.eRowContainer){\r\n return eElem;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /* \r\n Returns the DOM element for a specific row (based on the rowid). Null if not found (might not be rendered).\r\n */\r\n row(sRowId) {\r\n return this.containerElem('table.WebList_Row[data-dfrowid=\"' + sRowId + '\"]');\r\n }\r\n\r\n /*\r\n Returns the DOM element for the specified group header index. Null if not found.\r\n */\r\n groupHeader(iGroupHeaderIndex) {\r\n return this.containerElem('div.WebList_GroupHeader[data-dfgrphead=\"' + iGroupHeaderIndex + '\"]');\r\n }\r\n \r\n /*\r\n Returns the DOM element for the current row.\r\n */\r\n currentRowElem() {\r\n return this.row(this.oM.sCurrentRowId);\r\n }\r\n\r\n item(iItemIndex){\r\n return this.containerElem('[data-dfitem=\"' + iItemIndex + '\"]');\r\n }\r\n\r\n /*\r\n Determines the rowid and column index by looking at the DOM structure. Used from event handler functions.\r\n \r\n @param eElem DOM element inside a cell / row.\r\n @return Object with details.\r\n */\r\n determineCell(eElem) {\r\n var oRes = {\r\n iCol: -1,\r\n sRowId: null,\r\n iHeaderIndex: -1,\r\n eSwipeBtn: null,\r\n bHeaderToggle: false\r\n };\r\n\r\n \r\n while (eElem && eElem.parentNode && eElem !== this.eRowContainer && !oRes.sRowId) {\r\n if (eElem.tagName === \"TD\" && eElem.hasAttribute(\"data-dfcol\")) {\r\n oRes.iCol = parseInt(eElem.getAttribute(\"data-dfcol\"), 10);\r\n } else if (eElem.tagName === \"TD\" && eElem.hasAttribute(\"data-dfswbtn\")) {\r\n // This is a bit of a shortcut but we talk to to the touch handler in person\r\n oRes.eSwipeBtn = eElem;\r\n } else if (eElem.tagName === \"TABLE\" && eElem.hasAttribute(\"data-dfisrow\")) {\r\n oRes.sRowId = eElem.getAttribute(\"data-dfrowid\");\r\n } else if(eElem.matches(\"div.WebList_GroupHeader[data-dfgrphead]\")){\r\n oRes.iHeaderIndex = parseInt(eElem.dataset.dfgrphead, 10);\r\n } else if(eElem.matches(\"span.WebList_GroupHeader_ToggleBtn\")){\r\n oRes.bHeaderToggle = true;\r\n }\r\n eElem = eElem.parentNode;\r\n }\r\n\r\n\r\n return oRes;\r\n }\r\n\r\n\r\n /* \r\n This function handles the click event on the list table. It determines which row and which column is \r\n clicked. It will trigger the cellClick on the column object and change row if needed.\r\n \r\n @param oEvent Event object.\r\n @private\r\n */\r\n onTableClick(oEv) {\r\n var oCDtl, that = this;\r\n\r\n // Check enabled state\r\n if (!this.oL.isEnabled() || this.bCancelClick) {\r\n return;\r\n }\r\n\r\n // Determine which cell is clicked\r\n oCDtl = this.determineCell(oEv.getTarget());\r\n\r\n // Perform operations\r\n if (oCDtl.eSwipeBtn) {\r\n // This is a bit of a shortcut as we have special swipe button logic here\r\n this.oL._oTouchHandler.swipeBtnClick(oEv, oCDtl.eSwipeBtn);\r\n } else if (oCDtl.sRowId !== null) {\r\n // The default cell click\r\n if (this.oC.cellClick(oEv, oCDtl.sRowId, oCDtl.iCol)) {\r\n this._bPreventSubmit = true;\r\n setTimeout(function () {\r\n that.bPreventSubmit = false;\r\n }, 250);\r\n oEv.stop();\r\n }\r\n } else if(oCDtl.iHeaderIndex >= 0 && oCDtl.bHeaderToggle){\r\n this.oL._oGrouping.toggleGroupHeader(oCDtl.iHeaderIndex);\r\n }\r\n }\r\n\r\n /*\r\n Handles the double click event on the list table. It will notify the controller of this event and \r\n directly fires the submit if needed.\r\n \r\n @param oEv DOM Event object.\r\n */\r\n onTableDblClick(oEv) {\r\n var oCDtl;\r\n\r\n // Check enabled state\r\n if (!this.oL.isEnabled()) {\r\n return;\r\n }\r\n\r\n oCDtl = this.determineCell(oEv.getTarget());\r\n\r\n if (oCDtl.sRowId !== null) {\r\n // The default cell click\r\n if (this.oC.cellDblClick(oEv, oCDtl.sRowId, oCDtl.iCol)) {\r\n oEv.stop();\r\n return;\r\n }\r\n }\r\n\r\n // Fire submit\r\n if (!this.bPreventSubmit) {\r\n this.oL.fireSubmit();\r\n }\r\n }\r\n\r\n\r\n /* \r\n Handles the cellclick event from the controller to visualize the click.\r\n */\r\n onCellClick(oEv) {\r\n var that = this;\r\n\r\n this.bHitDone = false;\r\n this.eHitElem = this.row(oEv.sRowId);\r\n df.dom.addClass(this.eHitElem, df.CssHit);\r\n this.tHitTimer = setTimeout(function () {\r\n if (that.bHitDone) {\r\n df.dom.removeClass(that.eHitElem, df.CssHit);\r\n }\r\n that.tHitTimer = null;\r\n }, df.hitTimeout);\r\n }\r\n\r\n\r\n onAfterCellClick(oEv) {\r\n if (!this.tHitTimer) {\r\n df.dom.removeClass(this.eHitElem, df.CssHit);\r\n }\r\n this.bHitDone = true;\r\n }\r\n\r\n /*\r\n Empty stub used by subclasses. A non scrollable view ignores heights that are set but grows according to its content.\r\n \r\n @param iHeight Height in pixels.\r\n */\r\n setHeight(iHeight) {\r\n\r\n }\r\n\r\n /* \r\n Finds the cell element for the specified row and column.\r\n \r\n @param sRowId RowId for which we want the cell element.\r\n @param iCol Column number for the cell.\r\n @return DOM element (TD) for the column (null if not found / available).\r\n */\r\n cell(sRowId, iCol) {\r\n return (this.eRowContainer && df.dom.query(this.eRowContainer, \"table[data-dfrowid='\" + sRowId + \"'] td[data-dfcol='\" + iCol + \"']\")) || null;\r\n }\r\n\r\n /* \r\n Returns the cell for provided column in the current row.\r\n \r\n @param oCol Column object.\r\n @return DOM element for the current cell (null if not available).\r\n */\r\n colCell(oCol) {\r\n return this.cell(this.oM.sCurrentRowId, oCol._iCol);\r\n }\r\n\r\n colCellByIndex(iCol) {\r\n return this.cell(this.oM.sCurrentRowId, iCol);\r\n }\r\n\r\n /* \r\n Used by the WebListHeaderView to align headers with scrollbar.\r\n */\r\n scrollbarWidth() {\r\n return 0;\r\n }\r\n\r\n /* \r\n Used by WebListController to determine page size for page up and page down.\r\n */\r\n getViewSize() {\r\n return 10;\r\n }\r\n\r\n fullwidth() {\r\n return (this.eBody && this.eBody.clientWidth) || 0;\r\n }\r\n\r\n /*\r\n Empty stub used by subclasses.\r\n */\r\n setExtraRowHeight(sRowId, iExtra) {\r\n\r\n }\r\n\r\n /*\r\n Empty stub used by subclasses.\r\n */\r\n getExtraRowHeight(sRowId) {\r\n return 0;\r\n }\r\n\r\n /*\r\n Empty stub used by subclasses.\r\n */\r\n scrollToRow(sRowID) {\r\n\r\n }\r\n\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/*\r\nName:\r\ndf.sys\r\nType:\r\n Library(object)\r\n\r\nRevisions:\r\n 2005/09/01 Created the initial version with a basic set of browser\r\n independent functions. (HW, DAE)\r\n\r\n 2006/11/05 Restructured into dom, events, data, gui categories. (HW, DAE)\r\n\r\n 2007/12/14 Converted into 2.0 structure. It is now called df.sys and the\r\n events functionallity is moved to a separate df.events version. (HW, DAE)\r\n\r\n*/\r\n/* global df */\r\n/*\r\nAn important part of the Visual DataFlex AJAX Library is the layer that is build\r\nbetween the browser and the engine. Its main goal is to straighten out the\r\ndifferences between the supported browsers. It contains a lot of functionality\r\nthat cover the various parts of client side web development.\r\n*/\r\n\r\ndf.sys = {\r\n\r\n/*\r\nIf true the browser is supposed to be safari or part of the safari family.\r\n*/\r\nisSafari : false,\r\n/*\r\nTrue if the browser seems to be Google Chrome.\r\n*/\r\nisChrome : false,\r\n/*\r\nTrue if the browser seems to be Opera.\r\n*/\r\nisOpera : false,\r\n/*\r\nIf true the browser is supposed to be part of the mozilla family (usually\r\nFireFox).\r\n*/\r\nisMoz : false,\r\n/*\r\nTrue if the browser seems to be Internet Explorer. Also true if we where not\r\nable to detect the browser type properly (if browser unknown threat it as IE\r\npolicy).\r\n*/\r\nisIE : false,\r\n/* \r\nTrue if the browser seems to be Microsoft Edge.\r\n*/\r\nisEdge : false,\r\n/*\r\nTrue if the WebKit layout engine is used (Safari & Chrome).\r\n*/\r\nisWebkit : false,\r\n\r\nisMobile : false,\r\nisIOS : false,\r\n\r\n/*\r\nIndicates the browser version.\r\n*/\r\niVersion : 0,\r\n\r\n/*\r\nThe reflection library contains functionality related to prototypes, objects\r\nand functions. Some of this functionality is closely related to the Visual DataFlex\r\nAJAX Library and might not work on objects from outside the library.\r\n*/\r\nref : {\r\n\r\n/*\r\nDetermines the object type using \"typeof\" and for objects it tries to determine\r\nthe constructorname.\r\n\r\n@param oObject Reference to the object of which the type should be determined.\r\n@return The type of the object (\"object\", \"function\", \"array\", \"undefined\", ..).\r\n*/\r\ngetType : function(oObject){\r\n var sType = typeof(oObject);\r\n\r\n if(sType === \"object\"){\r\n if(oObject === null || oObject === undefined){\r\n sType = \"null\";\r\n }else if(oObject.constructor === Array){\r\n sType = \"array\";\r\n }else if(oObject.constructor === Date){\r\n sType = \"date\";\r\n }else{\r\n sType = this.getConstructorName(oObject);\r\n }\r\n }\r\n\r\n return sType;\r\n},\r\n\r\n/*\r\nIt tries to determine the name of the constructor of the object. If the\r\nconstructor is not found \"object\" is returned.\r\n\r\n@param oObject Reference to the object of which we want to determine the\r\n constructor name.\r\n@return String with the constructorname (\"object\" if not found).\r\n*/\r\ngetConstructorName : function(oObject){\r\n var sName = this.getMethodName(oObject.constructor);\r\n\r\n if(sName === \"\"){\r\n sName = \"object\";\r\n }\r\n\r\n return sName;\r\n},\r\n\r\n/*\r\nDetermines the name of the given function by converting the function its string\r\ndefinition.\r\n\r\n@param fFunction Reference to the function.\r\n@return Name of the function (\"unknownType\" if not able to determine).\r\n*/\r\ngetMethodName : function(fFunction){\r\n var sString;\r\n\r\n try {\r\n sString = fFunction.toString();\r\n return sString.substring(sString.indexOf(\"function\") + 8, sString.indexOf('(')).replace(/ /g,'');\r\n }catch(e){\r\n return \"\";\r\n }\r\n},\r\n\r\n/*\r\nDetermines the global scope object. Within browsers this usually is the window\r\nobject.\r\n\r\n@return Reference to the global scope object.\r\n*/\r\ngetGlobalObj : function(){\r\n return window;\r\n},\r\n\r\n/*\r\nFinds the (nested) object property by a path string (like \"df.core.List\")\r\nwithout using an eval. Always starts at the global object.\r\n\r\n@param sPath Path to the property (like \"df.core.List\").\r\n@return The property (null if not found).\r\n*/\r\ngetNestedProp : function(sPath){\r\n var aParts, oProp, iPart;\r\n\r\n // Split into parts\r\n aParts = sPath.split(\".\");\r\n\r\n // We start our search at the global object\r\n oProp = df.sys.ref.getGlobalObj();\r\n\r\n // Loop through parts and object properties\r\n for(iPart = 0; iPart < aParts.length; iPart++){\r\n if(typeof oProp === \"object\" && oProp !== null){\r\n oProp = oProp[aParts[iPart]];\r\n }else{\r\n return null;\r\n }\r\n }\r\n\r\n return oProp;\r\n}\r\n\r\n},\r\n\r\n/*\r\nThe math library contains functionality to perform calculations.\r\n*/\r\nmath : {\r\n/*\r\nFills out the given number with zero's until it has the required amount of digits.\r\n\r\n@param iNum Number to convert.\r\n@param iDigits Number of digits.\r\n@return String with the number outfilled with zero's.\r\n*/\r\npadZero : function(iNum, iDigits)\r\n{\r\n var sResult = iNum.toString();\r\n\r\n while(sResult.length < iDigits){\r\n sResult = \"0\" + sResult;\r\n }\r\n\r\n return sResult;\r\n},\r\n\r\nisNumeric : function(n) {\r\n return !isNaN(parseFloat(n)) && isFinite(n);\r\n}\r\n\r\n},\r\n\r\n/*\r\nFunctionality for data conversions and other data related functions.\r\n*/\r\ndata : {\r\n\r\n/*\r\nParses a string into a number using the correct thousands and decimal separator.\r\n\r\n@param sVal String containing the number to parse.\r\n@param sDecSep The decimal separator used.\r\n@param sOptThousSepp (optional) The thousands separator used.\r\n@return Number.\r\n\r\n*/\r\nstringToNum : function(sVal, sDecSep, sOptThousSepp){\r\n return sVal && parseFloat(sVal.replace(sOptThousSepp || \"\", \"\").replace(sDecSep, \".\"));\r\n},\r\n\r\n/*\r\nThis method converts a numeric value to a string using the decimal separator that is configured.\r\n\r\n@param nVal The numeric value.\r\n@param sDecSep The decimal separator used.\r\n@param iPrecision Number of decimals.\r\n@return The string with the number.\r\n@private\r\n*/\r\nnumToString : function(nVal, sDecSep, iPrecision){\r\n var aVal, sVal;\r\n \r\n // Make sure that we have a number\r\n nVal = nVal || 0.0;\r\n \r\n // Parse to string\r\n sVal = nVal.toString().replace(\".\", sDecSep);\r\n \r\n // Format\r\n if(iPrecision > 0){\r\n aVal = sVal.split(sDecSep);\r\n \r\n if(aVal.length < 2){\r\n aVal[1] = \"\";\r\n }\r\n aVal[1] = (aVal[1] + \"0000000000000000000\").substr(0, iPrecision);\r\n \r\n sVal = aVal[0] + sDecSep + aVal[1];\r\n }\r\n \r\n \r\n return sVal;\r\n},\r\n\r\n/*\r\nApplies the date mask on the date.\r\n\r\n@param dValue The date object.\r\n@param sMask The mask string.\r\n@param sDateSeparator Separator character that will be used in the date mask.\r\n@return String with the masked data.\r\n*/\r\napplyDateMask : function(dValue, sMask, sDateSeparator, sOptTimeSeparator){\r\n var bMinute = false;\r\n \r\n return sMask.replace(/(m{1,4}|d{1,4}|yyyy|yy|\\/|hh|ss|fff|f|\\:)/gi, function (sValue, iPos){\r\n\r\n switch(sValue.toLowerCase()){\r\n case \"m\":\r\n bMinute = true;\r\n return dValue.getMonth() + 1;\r\n case \"mm\":\r\n if(bMinute){\r\n bMinute = false;\r\n return df.sys.math.padZero(dValue.getMinutes(), 2);\r\n }\r\n bMinute = true;\r\n return df.sys.math.padZero(dValue.getMonth() + 1, 2);\r\n case \"mmm\":\r\n bMinute = true;\r\n return df.sys.string.copyCase(df.lang.monthsShort[dValue.getMonth()], sValue);\r\n case \"mmmm\":\r\n bMinute = true;\r\n return df.sys.string.copyCase(df.lang.monthsLong[dValue.getMonth()], sValue);\r\n\r\n case \"d\":\r\n bMinute = false;\r\n return dValue.getDate();\r\n case \"dd\":\r\n bMinute = false;\r\n return df.sys.math.padZero(dValue.getDate(), 2);\r\n case \"ddd\":\r\n bMinute = false;\r\n return df.sys.string.copyCase(df.lang.daysShort[dValue.getDay()], sValue);\r\n case \"dddd\":\r\n bMinute = false;\r\n return df.sys.string.copyCase(df.lang.daysLong[dValue.getDay()], sValue);\r\n\r\n case \"yy\":\r\n bMinute = false;\r\n return df.sys.math.padZero(dValue.getFullYear() % 100, 2);\r\n case \"yyyy\":\r\n bMinute = false;\r\n return df.sys.math.padZero(dValue.getFullYear(), 4);\r\n\r\n case \"/\":\r\n bMinute = false;\r\n return sDateSeparator;\r\n \r\n case \"hh\":\r\n bMinute = true;\r\n return df.sys.math.padZero(dValue.getHours(), 2);\r\n case \"ss\":\r\n bMinute = true;\r\n return df.sys.math.padZero(dValue.getSeconds(), 2);\r\n case \"f\":\r\n bMinute = true;\r\n return dValue.getMilliseconds();\r\n case \"fff\":\r\n bMinute = true;\r\n return df.sys.math.padZero(dValue.getMilliseconds(), 3);\r\n case \":\":\r\n bMinute = true;\r\n return sOptTimeSeparator || \":\";\r\n }\r\n\r\n return sValue;\r\n });\r\n},\r\n\r\n/*\r\nThis method applies a numeric mask to a number. \r\n\r\n@param nValue Value as a number.\r\n@param sMask The mask string.\r\n@param sDecSep The decimal separator to use.\r\n@param sThousSep The thousands separator to use.\r\n@param sCurSym The currency symbol to use.\r\n@return The string containing the masked number.\r\n*/\r\napplyNumMask : function(nValue, sMask, sDecSep, sThousSep, sCurSym){\r\n var aParts, aResult = [], sChar, bEscape, iChar, iNumChar, iCount, sBefore, sDecimals, \r\n sMaskBefore, sMaskDecimals = null, sValue, iMaskBefore = 0, iMaskDecimals = 0, \r\n bThousands = false, bBefore = true; \r\n \r\n // Replace ¤\r\n sMask = sMask.replace(/¤/g, sCurSym);\r\n \r\n // Zero suppress (indicated by the \"Z\" as first mask character)\r\n if(sMask.charAt(0) === \"Z\"){\r\n if(nValue === 0.0){\r\n return \"\";\r\n }\r\n sMask = sMask.substr(1);\r\n }\r\n \r\n // Determine which mask to use :D\r\n aParts = sMask.split(\";\");\r\n if(nValue < 0.0){\r\n if(aParts.length > 1){\r\n sMask = aParts[1];\r\n }else{\r\n sMask = \"-\" + aParts[0];\r\n }\r\n }else{\r\n sMask = aParts[0];\r\n }\r\n\r\n // Split into before and and after decimal separator\r\n aParts = sMask.split(\".\");\r\n sMaskBefore = aParts[0];\r\n if(aParts.length > 1){\r\n sMaskDecimals = aParts[1];\r\n }\r\n\r\n \r\n // Pre process mask\r\n for(iChar = 0; iChar < sMask.length; iChar++){\r\n switch(sMask.charAt(iChar)){\r\n case \"\\\\\":\r\n iChar++;\r\n break;\r\n case \"#\":\r\n case \"0\":\r\n if(bBefore){\r\n if(iMaskBefore >= 0){\r\n iMaskBefore++;\r\n }\r\n }else{\r\n if(iMaskDecimals >= 0){\r\n iMaskDecimals++;\r\n }\r\n }\r\n break;\r\n case \"*\":\r\n if(bBefore){\r\n iMaskBefore = -1;\r\n }else{\r\n iMaskDecimals = -1;\r\n }\r\n break;\r\n case \",\":\r\n bThousands = true;\r\n break;\r\n case \".\":\r\n bBefore = false;\r\n break;\r\n }\r\n }\r\n \r\n // Convert number into string with number before and numbers after\r\n if(iMaskDecimals >= 0){\r\n nValue = nValue.toFixed(iMaskDecimals);\r\n }\r\n sValue = (nValue === 0.0 ? \"\" : String(nValue));\r\n aParts = sValue.split(\".\");\r\n sBefore = aParts[0];\r\n if(aParts.length > 1){\r\n sDecimals = aParts[1];\r\n }else{\r\n sDecimals = \"\";\r\n }\r\n if(sBefore.charAt(0) === \"-\"){\r\n sBefore = sBefore.substr(1);\r\n }\r\n \r\n // BEFORE DECIMAL SEPARATOR\r\n iChar = sMaskBefore.length - 1;\r\n iNumChar = sBefore.length - 1;\r\n iCount = 0;\r\n while(iChar >= 0){\r\n sChar = sMaskBefore.charAt(iChar);\r\n bEscape = (iChar > 0 && sMaskBefore.charAt(iChar - 1) === \"\\\\\");\r\n \r\n if(!bEscape && (sChar === \"#\" || sChar === \"*\" || sChar === \"0\")){\r\n while(iNumChar >= 0 || sChar === \"0\"){\r\n // Append thousands separator if needed\r\n if(iCount >= 3){\r\n iCount = 0;\r\n if(bThousands){\r\n aResult.unshift(sThousSep);\r\n }\r\n }\r\n \r\n // Append number\r\n aResult.unshift((iNumChar >= 0 ? sBefore.charAt(iNumChar) : \"0\"));\r\n iNumChar--;\r\n iCount++;\r\n \r\n // Break out for non repeative characters\r\n if(sChar === \"#\" || sChar === \"0\"){\r\n break;\r\n }\r\n }\r\n }else{\r\n // if(sChar === \"$\" && !bEscape){\r\n // sChar = sCurSym;\r\n // }\r\n if((sChar !== \",\" && sChar !== \"\\\\\") || bEscape){\r\n aResult.unshift(sChar);\r\n }\r\n }\r\n iChar--;\r\n }\r\n \r\n // AFTER DECIMAL SEPARATOR\r\n if(sMaskDecimals !== null){\r\n \r\n let aAfter = [];\r\n \r\n iNumChar = 0;\r\n for(iChar = 0; iChar < sMaskDecimals.length; iChar++){\r\n sChar = sMaskDecimals.charAt(iChar);\r\n bEscape = (iChar > 0 && sMaskBefore.charAt(iChar - 1) === \"\\\\\");\r\n \r\n \r\n if(!bEscape && (sChar === \"#\" || sChar === \"*\" || sChar === \"0\")){\r\n while(iNumChar < sDecimals.length || sChar === \"0\"){\r\n // Append number\r\n aAfter.push((iNumChar >= 0 ? sDecimals.charAt(iNumChar) : \"0\"));\r\n iNumChar++;\r\n \r\n // Break out for non repeative characters\r\n if(sChar === \"#\" || sChar === \"0\"){\r\n break;\r\n }\r\n }\r\n }else{\r\n // if(sChar === \"$\" && !bEscape){\r\n // sChar = sCurSym;\r\n // }\r\n if(sChar !== \"\\\\\" || bEscape){\r\n aAfter.push(sChar);\r\n }\r\n }\r\n }\r\n\r\n if(aAfter.length){\r\n aResult.push(sDecSep, aAfter.join(\"\"));\r\n }\r\n }\r\n \r\n return aResult.join(\"\");\r\n},\r\n\r\n/*\r\nApplies the windows mask the to the value by adding the mask characters. If \r\nthe value doesn't matches the mask the value isn't completely displayed.\r\n\r\nParams:\r\n sValue Value to apply the mask on.\r\nReturns:\r\n Masked value.\r\n*/\r\napplyWinMask : function(sValue, sMask){\r\n var iChar = 0, iValChar = 0, aResult = [], bFound, sChar;\r\n \r\n if(sValue === \"\"){\r\n return \"\";\r\n }\r\n if(sMask === \"\"){\r\n return sValue;\r\n }\r\n \r\n while(iChar < sMask.length){\r\n sChar = sMask.charAt(iChar);\r\n \r\n if(sChar === \"\\\\\" && sMask.length > (iChar + 1)){\r\n aResult.push(sMask.charAt(iChar + 1));\r\n }else{\r\n if(sChar === \"#\" || sChar === \"@\" || sChar === \"!\" || sChar === \"*\"){\r\n bFound = false;\r\n while(iValChar < sValue.length && !bFound){\r\n if(this.acceptWinMaskChar(sValue.charAt(iValChar), sChar)){\r\n aResult.push(sValue.charAt(iValChar));\r\n bFound = true;\r\n }\r\n iValChar++;\r\n }\r\n if(!bFound){\r\n break;\r\n }\r\n }else{\r\n // Append mask display character\r\n aResult.push(sChar);\r\n }\r\n }\r\n iChar++;\r\n }\r\n \r\n return aResult.join(\"\");\r\n},\r\n\r\n/*\r\nChecks if the given character is allowed at the given position for windows \r\nmasks.\r\n\r\nParams:\r\n sChar Character to check.\r\n iPos Position to check. \r\nReturns:\r\n True if the character is allowed at the given position.\r\n\r\n@private\r\n*/\r\nacceptWinMaskChar : function(sValChar, sChar){\r\n return ((sChar === \"#\" && sValChar.match(/[0-9]/)) ||\r\n (sChar === \"@\" && sValChar.match(/[a-zA-Z]/)) ||\r\n (sChar === \"!\" && sValChar.match(/[^a-zA-Z0-9]/)) ||\r\n sChar === \"*\");\r\n},\r\n\r\n/*\r\nParses a date or datetime string into a date object.\r\n\r\n@param sValue String date (that confirms the format).\r\n@param sFormat Date format (basic date format).\r\n@return Date object representing the date (returns null if no value given).\r\n*/\r\nstringToDate : function(sValue, sFormat){\r\n var aValues = [], aFormat = [], bMinute = false, i, sV, iDate = 0, iMonth = 0, iYear = 0, iHour = 0, iSecond = 0, iMinute = 0, iFraction = 0, dToday = new Date(), dResult;\r\n \r\n // Empty string return null.\r\n if(sValue.trim() === \"\"){\r\n return null;\r\n }\r\n \r\n // Parse the values into an array\r\n aValues = sValue.split(/[^0-9]+/gi);\r\n \r\n // Parse the format into an array\r\n aFormat = sFormat.split(/[^mdyhmsf]+/gi);\r\n\r\n // Loop over values and put into the right variable\r\n for(i = 0; i < aValues.length; i++){\r\n sV = aValues[i];\r\n switch(aFormat[i]){\r\n case \"d\":\r\n case \"dd\":\r\n iDate = parseInt(sV, 10);\r\n bMinute = false;\r\n break;\r\n case \"m\":\r\n iMonth = parseInt(sV, 10);\r\n bMinute = true;\r\n break;\r\n case \"mm\":\r\n if(bMinute){\r\n iMinute = parseInt(sV, 10);\r\n }else{\r\n iMonth = parseInt(sV, 10);\r\n }\r\n break;\r\n case \"yy\":\r\n case \"yyyy\":\r\n iYear = parseInt(sV, 10);\r\n if(sV.length === 2){\r\n iYear = (iYear > 50 ? iYear + 1900 : iYear + 2000);\r\n }else if(sV.length === 0){\r\n iYear = dToday.getFullYear();\r\n }\r\n bMinute = false;\r\n break;\r\n case \"hh\":\r\n iHour = parseInt(sV, 10);\r\n bMinute = true;\r\n break;\r\n case \"ss\":\r\n iSecond = parseInt(sV, 10);\r\n bMinute = true;\r\n break;\r\n case \"f\":\r\n case \"fff\":\r\n iFraction = parseInt(sV, 10);\r\n break;\r\n }\r\n }\r\n \r\n // Validate values\r\n if(!iYear){\r\n iYear = dToday.getFullYear();\r\n }else{\r\n iYear = (iYear > 0 ? (iYear < 9999 ? iYear : 9999) : 0);\r\n }\r\n if(!iMonth){\r\n iMonth = dToday.getMonth();\r\n }else{\r\n iMonth = (iMonth > 0 ? (iMonth <= 12 ? iMonth - 1 : 11) : 0);\r\n }\r\n if(!iDate){\r\n iDate = dToday.getDate();\r\n }else{\r\n iDate = (iDate > 0 ? (iDate <= 32 ? iDate : 31) : 1);\r\n }\r\n \r\n iHour = (iHour > 0 ? (iHour <= 23 ? iHour : (iHour === 24 ? 0 : 23)) : 0);\r\n iMinute = (iMinute > 0 ? (iMinute < 60 ? iMinute : 59) : 0);\r\n iSecond = (iSecond > 0 ? (iSecond < 60 ? iSecond : 59) : 0);\r\n iFraction = (iFraction > 0 ? (iFraction < 999 ? iFraction : 999) : 0);\r\n \r\n // Set the determined values to the new data object, decrement if to high\r\n dResult = new Date(iYear, iMonth, iDate, iHour, iMinute, iSecond, iFraction);\r\n while(dResult.getMonth() !== iMonth){\r\n iDate--;\r\n dResult = new Date(iYear, iMonth, iDate, iHour, iMinute, iSecond, iFraction);\r\n }\r\n \r\n return dResult;\r\n},\r\n\r\n/*\r\nGenerates a string for the given date using the given format.\r\n\r\n@param dValue Data object.\r\n@param sFormat Date format (basic date format).\r\n@return String representing the given date.\r\n*/\r\ndateToString : function(dValue, sFormat, sDateSeparator){\r\n return this.applyDateMask(dValue, sFormat, sDateSeparator || \"/\");\r\n},\r\n\r\n/*\r\nDetermines the week number of the given date object.\r\n\r\n@param dDate Date object.\r\n@return The week number.\r\n*/\r\ndateToWeek : function(dDate) {\r\n var week1, date;\r\n\r\n date = new Date(dDate.getTime());\r\n\r\n date.setHours(0, 0, 0, 0);\r\n // Thursday in current week decides the year.\r\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\r\n // January 4 is always in week 1.\r\n week1 = new Date(date.getFullYear(), 0, 4);\r\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\r\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7);\r\n},\r\n\r\n/*\r\nLoops through the array and removes all items that match the given object.\r\n\r\n@param aArray Reference to the array.\r\n@param oObj Object reference or value to remove.\r\n*/\r\nremoveFromArray : function(aArray, oObj){\r\n var i;\r\n \r\n for(i = 0; i < aArray.length; i++){\r\n if(aArray[i] === oObj){\r\n aArray.splice(i, 1);\r\n }\r\n }\r\n},\r\n\r\n/*\r\nExpression used by the format method.\r\n\r\n@private\r\n*/\r\nformatRegExp : /\\{\\{([0-9a-zA-Z]+)\\}\\}/gi,\r\n/*\r\nFormats a string based on a past object or array. Markers {{prop}} will be replaced with properties \r\nfrom the passed object or array. \r\n\r\n@code\r\nsStr = df.sys.data.format('Hi {{name}}!', { name : 'John' }); // sStr will contain 'Hi John!'\r\nsStr = df.sys.data.format('The {{0}} and {{1}}!', [ 'first', 'second' ]); // sStr will contain 'The first and second'\r\n@code\r\n\r\n@param sStr String containing markers to replace.\r\n@param oReps Object or array containing properties to replace markers with.\r\n@return Formatted string.\r\n*/\r\nformat : function(sStr, oReps){\r\n var reps = oReps || { };\r\n \r\n \r\n return sStr.replace(this.formatRegExp, function(str, p1, offset, s){\r\n if(reps.hasOwnProperty(p1)){\r\n return reps[p1];\r\n }\r\n return str;\r\n });\r\n},\r\n\r\n/*\r\nProperly formats a data size in the appropriate unit (like 131 kB or 15.4 MB or 900 GB).\r\n\r\n@param iBytes The data size in bytes.\r\n@return String containing the formatted size.\r\n*/\r\nmarkupDataSize : function(iBytes){\r\n var nVal;\r\n \r\n if (iBytes < 1024){\r\n return iBytes + \" B\";\r\n }\r\n \r\n // kilobytes\r\n nVal = iBytes / 1024;\r\n if(nVal < 2048){\r\n return Math.round(nVal) + \" kB\";\r\n }\r\n \r\n // megabytes\r\n nVal = nVal / 1024;\r\n if(nVal < 2048){\r\n if(nVal < 100){\r\n return ((Math.round(nVal) * 10) / 10) + \" MB\";\r\n }\r\n return Math.round(nVal) + \" MB\";\r\n }\r\n \r\n // gigabytes\r\n nVal = nVal / 1024;\r\n if(nVal < 2048){\r\n if(nVal < 100){\r\n return ((Math.round(nVal) * 10) / 10) + \" GB\";\r\n }\r\n return Math.round(nVal) + \" GB\";\r\n }\r\n \r\n // terabyte\r\n nVal = nVal / 1024;\r\n if(nVal < 2048){\r\n if(nVal < 100){\r\n return ((Math.round(nVal) * 10) / 10) + \" TB\";\r\n }\r\n return Math.round(nVal) + \" TB\";\r\n }\r\n \r\n // petabyte\r\n nVal = nVal / 1024;\r\n if(nVal < 100){\r\n return ((Math.round(nVal) * 10) / 10) + \" PB\";\r\n }\r\n return Math.round(nVal) + \" PB\";\r\n\r\n},\r\n\r\n/* \r\nEscapes a string for safe usage within a regular expression.\r\n\r\n@param sStr The string to escape.\r\n@return Escaped string.\r\n*/\r\nescapeRegExp : function(sStr) {\r\n return sStr.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\r\n},\r\n\r\n/*\r\nComparison function used by the sortData function that compares text columns.\r\n\r\n@param sVal1 First string value.\r\n@param sVal2 Second string value.\r\n@return Negative number if sVal1 < sVal2, positive for sVal1 > sVal2 and 0 when equal.\r\n\r\n@private\r\n*/\r\ncompareText : function(sVal1, sVal2){\r\n return sVal1.localeCompare(sVal2);\r\n},\r\ncompareRevText : function(sVal1, sVal2){\r\n return -(sVal1.localeCompare(sVal2));\r\n},\r\n\r\n\r\n/*\r\nComparison function used by the sortData function that compares numeric columns.\r\n\r\n@param sVal1 First string value.\r\n@param sVal2 Second string value.\r\n@return -1 if sVal1 < sVal2, 1 if sVal1 > sVal2 and 0 when equal.\r\n\r\n@private\r\n*/\r\ncompareBCD : function(sVal1, sVal2){\r\n return parseFloat(sVal1) - parseFloat(sVal2);\r\n},\r\ncompareRevBCD : function(sVal1, sVal2){\r\n return -(parseFloat(sVal1) - parseFloat(sVal2));\r\n},\r\n\r\n\r\n/*\r\nComparison function used by the sortData function that compares date columns.\r\n\r\n@param sVal1 First string value.\r\n@param sVal2 Second string value.\r\n@return -1 if sVal1 < sVal2, 1 if sVal1 >= sVal2.\r\n\r\n@private\r\n*/\r\ncompareDate : function(sVal1, sVal2){\r\n if (sVal1 == sVal2) return 0;\r\n return df.sys.data.stringToDate(sVal1, \"yyyy/mm/dd\", \"-\") < df.sys.data.stringToDate(sVal2, \"yyyy/mm/dd\", \"-\") ? -1 : 1;\r\n},\r\ncompareRevDate : function(sVal1, sVal2){\r\n if (sVal1 == sVal2) return 0;\r\n return df.sys.data.stringToDate(sVal1, \"yyyy/mm/dd\", \"-\") < df.sys.data.stringToDate(sVal2, \"yyyy/mm/dd\", \"-\") ? 1 : -1;\r\n},\r\n\r\n\r\n\r\n/*\r\nComparison function used by the sortData function that compares date columns.\r\n\r\n@param sVal1 First string value.\r\n@param sVal2 Second string value.\r\n@return -1 if sVal1 < sVal2, 1 if sVal1 >= sVal2.\r\n\r\n@private\r\n*/\r\ncompareDateTime : function(sVal1, sVal2){\r\n if (sVal1 == sVal2) return 0;\r\n return df.sys.data.stringToDate(sVal1, \"yyyy/mm/ddThh:mm:ss.fff\", \"-\") < df.sys.data.stringToDate(sVal2, \"yyyy/mm/ddThh:mm:ss.fff\", \"-\") ? -1 : 1;\r\n},\r\ncompareRevDateTime : function(sVal1, sVal2){\r\n if (sVal1 == sVal2) return 0;\r\n return df.sys.data.stringToDate(sVal1, \"yyyy/mm/ddThh:mm:ss.fff\", \"-\") < df.sys.data.stringToDate(sVal2, \"yyyy/mm/ddThh:mm:ss.fff\", \"-\") ? 1 : -1;\r\n},\r\n\r\n\r\n\r\n/*\r\nComparison function used by the sortData function that compares date columns.\r\n\r\n@param sVal1 First string value.\r\n@param sVal2 Second string value.\r\n@return -1 if sVal1 < sVal2, 1 if sVal1 >= sVal2.\r\n\r\n@private\r\n*/\r\ncompareTime: function(sVal1, sVal2){\r\n if (sVal1 == sVal2) return 0;\r\n return df.sys.data.stringToDate(sVal1, \"hh:mm:ss\", \"-\") < df.sys.data.stringToDate(sVal2, \"hh:mm:ss\", \"-\") ? -1 : 1;\r\n},\r\ncompareRevTime: function(sVal1, sVal2){\r\n if (sVal1 == sVal2) return 0;\r\n return df.sys.data.stringToDate(sVal1, \"hh:mm:ss\", \"-\") < df.sys.data.stringToDate(sVal2, \"hh:mm:ss\", \"-\") ? 1 : -1;\r\n},\r\n\r\n\r\n/* \r\nReturns the right comparison function based on the passed data type (ciTypeBCD, ciTypeDate, ..).\r\n\r\n@param eDataType Integer indicating the data type.\r\n@return Function that properly compares both type for usage within sorting algoritms (can be passed \r\n to Array.sort).\r\n*/\r\ncompareFunction : function(eDataType, bRev){\r\n switch(eDataType){\r\n case df.ciTypeBCD:\r\n return (bRev ? this.compareRevBCD : this.compareBCD);\r\n case df.ciTypeDate:\r\n return (bRev ? this.compareRevDate : this.compareDate);\r\n case df.ciTypeDateTime:\r\n return (bRev ? this.compareRevDateTime : this.compareDateTime);\r\n case df.ciTypeTime:\r\n return (bRev ? this.compareRevTime : this.compareTime);\r\n default:\r\n return (bRev ? this.compareRevText : this.compareText);\r\n }\r\n},\r\n\r\n/*\r\nThis method determines the type specific value with a new value which is usually received from the \r\nserver. The value is supplied in the 'server format' and is parsed into the private type specific \r\nvalue.\r\n\r\n@param sVal The new value provided in the 'server format'.\r\n@param eDataType The datatype that sVal needs to be converted to.\r\n@return The type specific value (date object or number).\r\n@private\r\n*/\r\nserverToType : function(sVal, eDataType){\r\n var tVal = sVal;\r\n \r\n if(eDataType === df.ciTypeBCD){\r\n tVal = df.sys.data.stringToNum(sVal, \".\"); \r\n }else if(eDataType === df.ciTypeDate){\r\n tVal = df.sys.data.stringToDate(sVal, \"yyyy/mm/dd\", \"-\");\r\n }else if(eDataType === df.ciTypeDateTime){\r\n tVal = df.sys.data.stringToDate(sVal, \"yyyy/mm/ddThh:mm:ss.fff\");\r\n }else if(eDataType === df.ciTypeTime){\r\n tVal = df.sys.data.stringToDate(sVal, \"hh:mm:ss\");\r\n }\r\n \r\n return tVal;\r\n},\r\n\r\n/*\r\nThis method converts a type specific value to a display value.\r\n\r\n@param tVal Value in type specific format (number or date object).\r\n@param eDataType Indicates the type to convert the value to.\r\n@param oWebApp Indicates the webapp context for fetching locale.\r\n@param bInputMask Indicates whether the applied mask should be the one used in edit/input mode (focus).\r\n@param sMask Indicates the mask to apply to the value.\r\n@param iPrecision Indicates the precision of double (e.g. 1.234) if no mask is applied.\r\n\r\n@return String with the display value.\r\n*/\r\ntypeToDisplay : function(tVal, eDataType, oWebApp, bInputMask, sMask, iPrecision){\r\n var sVal = tVal;\r\n\r\n if(!bInputMask && sMask && eDataType !== df.ciTypeText){ // If the field doesn't have the focus we need to apply a mask\r\n if(eDataType === df.ciTypeDate || eDataType === df.ciTypeDateTime || eDataType === df.ciTypeTime){ // Date mask\r\n sVal = (tVal && df.sys.data.applyDateMask(tVal, sMask, oWebApp.psDateSeparator, oWebApp.psTimeSeparator)) || \"\";\r\n }else if(eDataType === df.ciTypeBCD){ // Numeric mask\r\n sVal = (tVal !== null && df.sys.data.applyNumMask(tVal || 0.0, sMask, oWebApp.psDecimalSeparator, oWebApp.psThousandsSeparator, oWebApp.psCurrencySymbol)) || \"\";\r\n }\r\n }else if(sMask && eDataType === df.ciTypeText){ // Window mask\r\n sVal = df.sys.data.applyWinMask(sVal, sMask);\r\n }else{ // No mask\r\n if(tVal !== \"\"){ // Leave blank value alone\r\n if(eDataType === df.ciTypeBCD){ // Plain number\r\n sVal = (tVal !== null && df.sys.data.numToString(tVal, oWebApp.psDecimalSeparator, iPrecision));\r\n }else if(eDataType === df.ciTypeDate){ // Plain date\r\n sVal = (tVal && df.sys.data.dateToString(tVal, oWebApp.psDateFormat, oWebApp.psDateSeparator, oWebApp.psTimeSeparator)) || \"\";\r\n }else if(eDataType === df.ciTypeDateTime){ // Plain date time\r\n sVal = (tVal && df.sys.data.dateToString(tVal, oWebApp.psDateTimeFormat, oWebApp.psDateSeparator, oWebApp.psTimeSeparator)) || \"\";\r\n }else if(eDataType === df.ciTypeTime){ // Plain time\r\n sVal = (tVal && df.sys.data.dateToString(tVal, oWebApp.psTimeFormat, oWebApp.psDateSeparator, oWebApp.psTimeSeparator)) || \"\";\r\n }\r\n }\r\n }\r\n \r\n return sVal;\r\n}\r\n\r\n},\r\n\r\n/*\r\nFunctions that ease the access of cookies.\r\n*/\r\ncookie : {\r\n\r\n/*\r\nPlaces a cookie.\r\n\r\n@param sVar Name of cookie variable.\r\n@param sValue Value of cookie variable.\r\n@param iExpires Determines when the cookie expires in hours from right now.\r\n@param sOptPath Optional path for which the cookie should be stored. Use '/' for the entire \r\n domain.\r\n*/\r\nset : function(sVar, sValue, iExpires, sOptPath){\r\n var date = new Date(), sParams = \"\"; \r\n \r\n if(iExpires){\r\n date.setHours(date.getHours() + iExpires);\r\n sParams += \"; expires=\" + date.toGMTString();\r\n }\r\n \r\n if(sOptPath){\r\n sParams += \"; path=\" + sOptPath;\r\n }\r\n \r\n document.cookie = sVar + \"=\" + sValue + sParams;\r\n},\r\n\r\n/*\r\nRemoves cookie by expiring.\r\n\r\n@param sVar Name of cookie variable.\r\n*/\r\ndel : function(sVar){\r\n var date = new Date();\r\n \r\n date.setTime(date.getTime()-1);\r\n\r\n document.cookie = sVar + \"=; expires=\" + date.toGMTString(); \r\n},\r\n\r\n/*\r\nFetches cookie value.\r\n\r\n@param sVar Name of cookie variable.\r\n@param sDefault Variable to return when not found.\r\n@return Value of the cookie variable (sDefault if not found).\r\n*/\r\nget : function(sVar, sDefault){\r\n var sResult = null, aVars, aVar, iVar;\r\n \r\n if(document.cookie){\r\n aVars = document.cookie.split(';');\r\n \r\n for(iVar = 0; iVar < aVars.length && sResult === null; iVar++){\r\n aVar = aVars[iVar].split('=');\r\n \r\n if(aVar.length > 1){\r\n if(aVar[0].trim() === sVar.trim()){\r\n sResult = aVar[1]; \r\n }\r\n }\r\n }\r\n }\r\n \r\n if(sResult !== null){\r\n return sResult;\r\n }\r\n return sDefault;\r\n}\r\n\r\n\r\n},\r\n\r\n/*\r\nFunctionality to create graphical components.\r\n*/\r\ngui : {\r\n\r\n/*\r\nFinds all the child elements of the given element that can be focussed and\r\ndisables the tabindex by setting a negative value.\r\n\r\n@param eParent DOM element to search.\r\n*/\r\ndisableTabIndexes : function(eParent){\r\n var iElem, aElems, eElem;\r\n\r\n aElems = df.dom.query(eParent, df.dom.cFocusSelector, true);\r\n\r\n for(iElem = 0; iElem < aElems.length; iElem++){\r\n eElem = aElems[iElem];\r\n \r\n if(eElem.getAttribute(\"data-dfOrigTabIndex\") === null){\r\n eElem.setAttribute(\"data-dfTabIndexCount\", 1);\r\n eElem.setAttribute(\"data-dfOrigTabIndex\", eElem.tabIndex);\r\n eElem.tabIndex = \"-1\";\r\n }else{\r\n eElem.setAttribute(\"data-dfTabIndexCount\", parseInt(eElem.getAttribute(\"data-dfTabIndexCount\"), 10) + 1);\r\n }\r\n }\r\n},\r\n\r\n/*\r\nFinds all the child elements of the given element that can contain tabs and\r\nrestores their tabindex (if it is modified by by the disableTabIndex method).\r\n\r\n@param eParent DOM element to search.\r\n*/\r\nrestoreTabIndexes : function(eParent){\r\n var iElem, aElems, eElem;\r\n \r\n aElems = df.dom.query(eParent, df.dom.cFocusSelector, true);\r\n\r\n for(iElem = 0; iElem < aElems.length; iElem++){\r\n eElem = aElems[iElem];\r\n if(parseInt(eElem.getAttribute(\"data-dfTabIndexCount\"), 10) !== null){\r\n if(eElem.getAttribute(\"data-dfTabIndexCount\") <= 1){\r\n eElem.tabIndex = eElem.getAttribute(\"data-dfOrigTabIndex\");\r\n eElem.removeAttribute(\"data-dfOrigTabIndex\");\r\n eElem.removeAttribute(\"data-dfTabIndexCount\");\r\n }else{\r\n eElem.setAttribute(\"data-dfTabIndexCount\", parseInt(eElem.getAttribute(\"data-dfTabIndexCount\"), 10) - 1);\r\n }\r\n }\r\n }\r\n},\r\n\r\n/*\r\nHides plugins inside the element in Internet Explorer by removing them from the document object \r\nmodel. Internet Explorer has problems doing that by itself. It will return an array with \r\ninformation which can be used to restore the elements into the DOM. \r\n\r\n@param eElem The element to search.\r\n@return Array with details for restorePlugins.\r\n*/\r\nhidePlugins : function(eElem){\r\n var aElems, i, aHidden = [];\r\n \r\n // Only for Internet Explorer\r\n if(df.sys.isIE){\r\n // Find problematic elements\r\n aElems = df.dom.query(eElem, \"iframe, object, embed\", true);\r\n \r\n for(i = 0; i < aElems.length; i++){\r\n eElem = aElems[i];\r\n \r\n // Check if not already hidden\r\n if(eElem.getAttribute(\"data-df-hiddenplugin\") !== \"yes\"){\r\n \r\n // Remember\r\n aHidden.push(eElem);\r\n \r\n // Hide\r\n eElem.style.display = \"none\";\r\n \r\n // Mark as already hidden\r\n eElem.setAttribute(\"data-df-hiddenplugin\", \"yes\");\r\n }\r\n }\r\n }\r\n \r\n return aHidden;\r\n},\r\n\r\n/*\r\nRestores plugin elements that are hidden by hidePlugins. It inserts the elements back into the DOM \r\nbased on the passed details.\r\n\r\n@param aHidden Details of the hidden elements as it is returned by hidePlugins.\r\n*/\r\nrestorePlugins : function(aHidden){\r\n var i;\r\n \r\n for(i = 0; i < aHidden.length; i++){\r\n // Display\r\n aHidden[i].style.display = \"\";\r\n \r\n // Unmark\r\n aHidden[i].removeAttribute(\"data-df-hiddenplugin\");\r\n }\r\n},\r\n\r\n\r\n/*\r\nBubbles up in the dom measuring the total offsets until the next absolute\r\n(or fixed) positioned element in the DOM. This is are values that can be used\r\nas the style.left and style.top to position an absolute (or fixed) element on\r\nthe same position.\r\n\r\n@param eElement The object to get offset(s) from.\r\n@return Object { top : 500, left : 500 } with the offset values.\r\n*/\r\ngetAbsoluteOffset : function(eElement){\r\n var oReturn = { left : 0, top : 0 }, bFirst = true;\r\n\r\n if (eElement.offsetParent){\r\n while (eElement && (bFirst || df.sys.gui.getCurrentStyle(eElement).position !== \"absolute\") && df.sys.gui.getCurrentStyle(eElement).position !== \"fixed\" && df.sys.gui.getCurrentStyle(eElement).position !== \"relative\"){\r\n bFirst = false;\r\n oReturn.top += eElement.offsetTop;\r\n oReturn.left += eElement.offsetLeft;\r\n eElement = eElement.offsetParent;\r\n }\r\n }else if (eElement.y){\r\n oReturn.left += eElement.x;\r\n oReturn.top += eElement.y;\r\n }\r\n\r\n return oReturn;\r\n\r\n},\r\n\r\n/*\r\n@return The full display width (of the frame / window).\r\n*/\r\ngetViewportHeight : function(){\r\n if (window.innerHeight !== undefined){\r\n return window.innerHeight;\r\n }\r\n\r\n if (document.compatMode === \"CSS1Compat\"){\r\n return document.documentElement.clientHeight;\r\n }\r\n if (document.body){\r\n return document.body.clientHeight;\r\n }\r\n return null;\r\n},\r\n\r\n/*\r\n@return The full display height (of the frame / window).\r\n*/\r\ngetViewportWidth : function(){\r\n if (document.compatMode === 'CSS1Compat'){\r\n return document.documentElement.clientWidth;\r\n }\r\n if (document.body){\r\n return document.body.clientWidth;\r\n }\r\n if (window.innerWidth !== undefined){\r\n return window.innerWidth;\r\n }\r\n \r\n return null;\r\n},\r\n\r\n/*\r\nDetermines the 'real size' of the element.\r\n\r\n@return Object with width and height property.\r\n*/\r\ngetSize : function(eElem){\r\n if(df.sys.isIE || df.sys.isWebkit){\r\n return { width : eElem.offsetWidth, height : eElem.offsetHeight };\r\n }\r\n var oStyle = df.sys.gui.getCurrentStyle(eElem);\r\n return { width : parseInt(oStyle.getPropertyValue(\"width\"), 10), height : parseInt(oStyle.getPropertyValue(\"height\"), 10) };\r\n},\r\n\r\n\r\n/*\r\nReturns the current or computed style of the DOM element.\r\n\r\n@param eElem Reference to a DOM element.\r\n@return The browsers current style element.\r\n*/\r\ngetCurrentStyle : function(eElem){\r\n return (typeof(window.getComputedStyle) === \"function\" ? window.getComputedStyle(eElem, null) : eElem.currentStyle);\r\n},\r\n\r\n\r\n/*\r\nCalculates the vertical space consumed by margin, padding and border by querying the browser its \r\ncalculated css values. Several combinations of padding, margin and border values are available as \r\ndifferent modes.\r\n\r\n0 = all (padding + margin + border)\r\n1 = outside (margin + border) \r\n2 = inside (padding) \r\n3 = outside border box (margin only)\r\n\r\n@param iOptType (optional) The mode to use, if not provided mode 0 is used.\r\n@return The total number of pixels consumed by the specified parts of the box model.\r\n*/\r\ngetVertBoxDiff : function(eElem, iOptType){\r\n var iDiff = 0, oStyle = df.sys.gui.getCurrentStyle(eElem);\r\n \r\n iOptType = iOptType || 0;\r\n \r\n if(iOptType === 0 || iOptType === 1 || iOptType === 3){\r\n iDiff += parseFloat(oStyle.marginTop) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 1){\r\n iDiff += parseFloat(oStyle.borderTopWidth) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 2){\r\n iDiff += parseFloat(oStyle.paddingTop) || 0;\r\n }\r\n \r\n if(iOptType === 0 || iOptType === 1 || iOptType === 3){\r\n iDiff += parseFloat(oStyle.marginBottom) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 1){\r\n iDiff += parseFloat(oStyle.borderBottomWidth) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 2){\r\n iDiff += parseFloat(oStyle.paddingBottom) || 0;\r\n }\r\n \r\n return iDiff;\r\n},\r\n\r\n/*\r\nCalculates the horizontal space consumed by margin, padding and border by querying the browser its \r\ncalculated css values. Several combinations of padding, margin and border values are available as \r\ndifferent modes.\r\n\r\n0 = all (padding + margin + border)\r\n1 = outside (margin + border) \r\n2 = inside (padding) \r\n3 = outside border box (margin only)\r\n\r\n@param iOptType (optional) The mode to use, if not provided mode 0 is used.\r\n@return The total number of pixels consumed by the specified parts of the box model.\r\n*/\r\ngetHorizBoxDiff : function(eElem, iOptType){\r\n var iDiff = 0, oStyle = df.sys.gui.getCurrentStyle(eElem);\r\n \r\n iOptType = iOptType || 0;\r\n \r\n if(iOptType === 0 || iOptType === 1 || iOptType === 3){\r\n iDiff += parseFloat(oStyle.marginLeft) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 1){\r\n iDiff += parseFloat(oStyle.borderLeftWidth) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 2){\r\n iDiff += parseFloat(oStyle.paddingLeft) || 0;\r\n }\r\n \r\n if(iOptType === 0 || iOptType === 1 || iOptType === 3){\r\n iDiff += parseFloat(oStyle.marginRight) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 1){\r\n iDiff += parseFloat(oStyle.borderRightWidth) || 0;\r\n }\r\n if(iOptType === 0 || iOptType === 2){\r\n iDiff += parseFloat(oStyle.paddingRight) || 0;\r\n }\r\n \r\n return iDiff;\r\n},\r\n\r\n/* \r\nThis function tests if the element is sized by its content. It determines this by adding a temporary \r\nelement and if the size changes we know the element is sized by its content.\r\n\r\n@param eElem DOM Element.\r\n@return True if the element its size is determined by its content.\r\n*/\r\nisSizedByContent : function(eElem){\r\n var iCH, bRes;\r\n \r\n iCH = eElem.clientHeight;\r\n \r\n eElem.appendChild(df.dom.create('
 
'));\r\n \r\n bRes = (iCH !== eElem.clientHeight);\r\n \r\n eElem.removeChild(eElem.lastChild);\r\n \r\n return bRes;\r\n},\r\n \r\n/* \r\nCross browser method for getting a boundingclientrect object.\r\n\r\n@param eElem The DOM element.\r\n@return Bounding rectangle object { top:x, right:x, bottom:x, left:x, width:x, height:x }.\r\n*/\r\ngetBoundRect : function(eElem){\r\n var oR = eElem.getBoundingClientRect();\r\n \r\n if (typeof oR.width !== 'number') { // Internet Explorer 8 doesn't support width & height\r\n return {\r\n top : oR.top,\r\n right : oR.right,\r\n bottom : oR.bottom,\r\n left : oR.left,\r\n width : oR.right - oR.left,\r\n height : oR.bottom - oR.top\r\n };\r\n }\r\n \r\n return oR;\r\n},\r\n\r\n/* \r\nCopies the values of a ClientRect into a JavaScript Object. This makes the properties writable so \r\nthey can be used for translations.\r\n\r\n@param oR ClientRect object.\r\n@return JavaScript Object.\r\n*/\r\nrectToObj : function(oR){\r\n return {\r\n top : oR.top,\r\n right : oR.right,\r\n bottom : oR.bottom,\r\n left : oR.left,\r\n width : oR.width,\r\n height : oR.height\r\n };\r\n},\r\n\r\n/* \r\nReturns the properly prefixed name for setting CSS transformations. As optimization a closure is \r\nused in which the result is cached.\r\n\r\n@return String with the browser dependent property name for transform.\r\n*/\r\ngetTransformProp : (function(){\r\n var sPrefix = null;\r\n \r\n function getTrans() {\r\n var i, aPre = ['transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform'];\r\n for(i = 0; i < aPre.length; i++) {\r\n if(document.createElement('div').style[aPre[i]] !== undefined) {\r\n return aPre[i];\r\n }\r\n }\r\n return false;\r\n }\r\n \r\n return function(){\r\n if(sPrefix === null){\r\n sPrefix = getTrans();\r\n }\r\n \r\n return sPrefix;\r\n };\r\n}()),\r\n\r\n/*\r\nSets the CSS class of the body element with a class name that indicates the used\r\nbrowser. The used classnames are df-ie, df-safari, df-chrome, df-opera,\r\ndf-mozilla for the different browsers. For internet explorer the extra\r\nclassnames df-ie6, df-ie7, df-ie8 are also attached. Browsers using the\r\nwebkit engine (like chrome and safari) also get the df-webkit class.\r\n\r\nThe function is called automatically after loading. It uses the df.sys.is.. and\r\ndf.sys.iVersion indicators to determine browser versions.\r\n*/\r\ninitCSS : function(){\r\n var aC, sB = document.body.className;\r\n \r\n // Check if classnames are already applied to the body, if so filter out the device classes and fill array with existing classnames\r\n if(sB){\r\n sB = sB.replace(/\\bdf-ie*|df-safari|df-chrome|df-opera|df-mozilla|df-webkit|df-mobile\\b/g, \"\").trim();\r\n aC = sB.split(' ');\r\n }else{\r\n aC = [];\r\n }\r\n \r\n // Determine browser classes to add\r\n if(df.sys.isIE){\r\n aC.push(\"df-ie\");\r\n \r\n aC.push(df.sys.iVersion <= 6 ? \" df-ie6\" : \" df-ie\" + df.sys.iVersion); // For IE we also add version specific classes\r\n }else if(df.sys.isSafari){\r\n aC.push(\"df-safari\");\r\n }else if(df.sys.isChrome){\r\n aC.push(\"df-chrome\");\r\n }else if(df.sys.isOpera){\r\n aC.push(\"df-opera\");\r\n }else if(df.sys.isMoz){\r\n aC.push(\"df-mozilla\");\r\n }\r\n\r\n // WebKit engine gets its own class\r\n if(df.sys.isWebkit){\r\n aC.push(\"df-webkit\");\r\n }\r\n \r\n // Mobile devices get the mobile class\r\n if(df.sys.isMobile){\r\n aC.push(\"df-mobile\");\r\n }\r\n \r\n // Apply the changed classname\r\n document.body.className = aC.join(\" \");\r\n},\r\n\r\n/* \r\nChecks if the element is on the screen by looking at the scrollbar positions. It doesn't check if \r\nthe the element (or one of its parent elements) are visible or not. \r\n\r\nTODO: Extend with support for horizontal scrolling.\r\nTODO: Check what happens if one of the parents was made invisible using display or visibility.\r\n\r\n@param eElem DOM Element.\r\n*/\r\nisOnScreen : function(el){\r\n\tvar rect = el.getBoundingClientRect(), top = rect.top, height = rect.height, left = rect.left, width = rect.width;\r\n\t\r\n\tel = el.offsetParent;\r\n\t\r\n\twhile (el && el != document.body) {\r\n\t\trect = el.getBoundingClientRect();\r\n\t\tif (top > rect.bottom){\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tif(left > rect.right){\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t// Check if the element is out of view due to a container scrolling\r\n\t\tif ((top + height) <= rect.top){\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tif(left + width <= rect.left){\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\t\r\n\t\tel = el.offsetParent;\r\n\t}\r\n\t\r\n\t// Check its within the document viewport\r\n\treturn top <= document.documentElement.clientHeight;\r\n},\r\n\r\n/* \r\nAttaches event handlers to all parent elements that can scroll. Because scroll events don't bubble \r\nthis is the only way to find out if an element is moving on the screen because of a scroll event.\r\n\r\n@param eElem DOM element.\r\n@param fListen Event handler function.\r\n@param oEnv Environment object used for the event handler.\r\n\r\n@return Array of DOM elements used by removeScrollListeners to clean out the event handler.\r\n*/\r\naddScrollListeners : function(eElem, fListen, oEnv){\r\n var aElems = [];\r\n \r\n while(eElem){\r\n //if(eElem.scrollHeight > eElem.offsetHeight || eElem.scrollWidth > eElem.offsetWidth){\r\n aElems.push(eElem);\r\n df.dom.on(\"scroll\", eElem, fListen, oEnv);\r\n //}\r\n eElem = eElem.offsetParent;\r\n }\r\n \r\n return aElems;\r\n},\r\n\r\n/* \r\nRemoves the event handlers attached by addScrollListeners based on the passed array.\r\n\r\n@return Array of DOM elements created by addScrollListeners.\r\n*/\r\nremoveScrollListeners : function(aElems, fListen, oEnv){\r\n var eElem;\r\n \r\n while(eElem = aElems.shift()){\r\n df.dom.off(\"scroll\", eElem, fListen, oEnv);\r\n }\r\n},\r\n\r\n\r\ncssTextAlign : function(eAlign){\r\n switch(eAlign){\r\n case df.ciAlignLeft:\r\n return \"left\";\r\n case df.ciAlignCenter:\r\n return \"center\";\r\n case df.ciAlignRight:\r\n return \"right\";\r\n }\r\n\r\n return \"\";\r\n}\r\n\r\n},\r\n\r\n/*\r\nLibrary object that contains several string functions that seem to be missing\r\nthe in the ECMAScript standard.\r\n*/\r\nstring : {\r\n\r\n/*\r\nRemoves spaces before and after the given string.\r\n\r\n@param sString String to trim.\r\n@return Trimmed string.\r\n@deprecated\r\n*/\r\ntrim : function(sString){\r\n return sString.trim();\r\n},\r\n\r\n/*\r\nRemoves spaces before the given string.\r\n\r\n@param sString String to trim.\r\n@return Trimmed string.\r\n*/\r\nltrim : function(sString){\r\n return sString.replace(/^\\s+/,\"\");\r\n},\r\n\r\n/*\r\nRemoves spaces after the given string.\r\n\r\n@param sString String to trim.\r\n@return Trimmed string.\r\n*/\r\nrtrim : function(sString){\r\n return sString.replace(/\\s+$/,\"\");\r\n},\r\n\r\n/*\r\nModifies the casing of the value string according to the sample string.\r\n\r\n@param sValue String of which the casing is adjusted.\r\n@param sSample String determining the casing.\r\n@return String with the modified casing.\r\n*/\r\ncopyCase : function(sValue, sSample){\r\n var bUpper, iChar, sResult = \"\";\r\n\r\n for(iChar = 0; iChar < sValue.length; iChar++){\r\n bUpper = (iChar < sSample.length ? sSample.charAt(iChar) === sSample.charAt(iChar).toUpperCase() : bUpper);\r\n\r\n sResult += (bUpper ? sValue.charAt(iChar).toUpperCase() : sValue.charAt(iChar).toLowerCase());\r\n }\r\n\r\n return sResult;\r\n},\r\n\r\n/* \r\nMoved this function to the dom libary for shorter access. \r\n\r\nTodo: Replace all usage.\r\n*/\r\nencodeHtml : df.dom.encodeHtml\r\n\r\n},\r\n\r\n/* \r\nDetermines if the HTML5 input type is supported by creating a test DOM element. It caches the \r\nresponses to keep the performance high on multiple requests.\r\n\r\n@param sType The HTML5 input type (\"date\", \"number\", \"email\").\r\n*/\r\nsupportHtml5Input : (function(){\r\n var oCache = {}; \r\n \r\n return function test(sType){\r\n var eElem;\r\n \r\n if(typeof oCache[sType] === \"boolean\"){\r\n return oCache[sType];\r\n }\r\n eElem = document.createElement(\"input\");\r\n eElem.setAttribute(\"type\", sType);\r\n \r\n oCache[sType] = (eElem.type === sType);\r\n return oCache[sType];\r\n }; \r\n}()),\r\n\r\n/* \r\nPerforms the device detection based on the user agent string. This sets / updates the isSafari, \r\nisIE, .. properties!\r\n*/\r\ndetectDevice : function(){\r\n // Check if something actually changed\r\n if(this._sPrevUA !== navigator.userAgent){\r\n this._sPrevUA = navigator.userAgent;\r\n \r\n // Reset values\r\n this.isSafari = false;\r\n this.isChrome = false;\r\n this.isOpera = false;\r\n this.isMoz = false;\r\n this.isIE = false;\r\n this.isEdge = false;\r\n this.isWebkit = false;\r\n this.isMobile = false;\r\n this.isIOS = false;\r\n\r\n /*\r\n Performing the version checks. In most situations we try to use object\r\n detection, but sometimes we still need version checks.\r\n */\r\n if(navigator.userAgent.indexOf(\"Trident\") >= 0){ // Recognize IE 11 and higher\r\n df.sys.isIE = true;\r\n if(document.documentMode){\r\n df.sys.iVersion = document.documentMode;\r\n }else if(navigator.appVersion.indexOf(\"MSIE\") >= 0){\r\n df.sys.iVersion = parseInt(navigator.appVersion.substr(navigator.appVersion.indexOf(\"MSIE\") + 4), 10);\r\n }else{\r\n df.sys.iVersion = parseInt(navigator.appVersion.substr(navigator.appVersion.indexOf(\"rv:\") + 3), 10);\r\n }\r\n }else if(navigator.userAgent.indexOf(\"Edge/\") >= 0){\r\n df.sys.isEdge = true;\r\n df.sys.iVersion = parseFloat(navigator.appVersion.substr(navigator.appVersion.indexOf(\"Edge/\") + 5));\r\n }else if(navigator.userAgent.indexOf(\"Chrome\") >= 0){\r\n df.sys.isChrome = true;\r\n df.sys.iVersion = parseFloat(navigator.appVersion.substr(navigator.appVersion.indexOf(\"Chrome/\") + 7));\r\n }else if (navigator.userAgent.indexOf(\"Safari\") >= 0){\r\n df.sys.isSafari = true;\r\n df.sys.iVersion = parseFloat(navigator.appVersion.substr(navigator.appVersion.indexOf(\"Version/\") + 8));\r\n }else if (navigator.product === \"Gecko\"){\r\n df.sys.isMoz = true;\r\n df.sys.iVersion = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf(\"Firefox/\") + 8));\r\n }else if (navigator.userAgent.indexOf(\"Opera\") >= 0){\r\n df.sys.isOpera = true;\r\n df.sys.iVersion = parseFloat(navigator.appVersion);\r\n }else{ // Default to IE if we don't know\r\n df.sys.isIE = true;\r\n df.sys.iVersion = parseInt(navigator.appVersion.substr(navigator.appVersion.indexOf(\"MSIE\") + 4), 10);\r\n \r\n if(document.documentMode){\r\n df.sys.iVersion = document.documentMode;\r\n }\r\n }\r\n /*\r\n Determine if this is a mobile device (tablet or mobile phone).\r\n */\r\n if(/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/i.test(navigator.userAgent)){\r\n df.sys.isMobile = true;\r\n }\r\n if(/(iPad|iPhone|iPod)/g.test( navigator.userAgent )){\r\n df.sys.isIOS = true;\r\n }\r\n\r\n if (navigator.userAgent.indexOf(\"AppleWebKit\") >= 0){\r\n df.sys.isWebkit = true;\r\n }\r\n \r\n // Make sure that the autoInit function after the DOM is initialized (Which can be in the future but also can be right now)\r\n df.dom.ready(df.sys.gui.initCSS, window);\r\n }\r\n}\r\n\r\n};\r\n\r\ndf.sys.detectDevice();\r\n\r\n\r\n// - - - - Add missing JavaScript features for older browsers - - - - \r\n\r\n// <=IE11 Array.find\r\nif (!Array.prototype.find) {\r\n Array.prototype.find = function(callback) {\r\n if (this === null) {\r\n throw new TypeError('Array.prototype.find called on null or undefined');\r\n } else if (typeof callback !== 'function') {\r\n throw new TypeError('callback must be a function');\r\n }\r\n var list = Object(this);\r\n // Makes sures is always has an positive integer as length.\r\n var length = list.length >>> 0;\r\n var thisArg = arguments[1];\r\n for (var i = 0; i < length; i++) {\r\n var element = list[i];\r\n if ( callback.call(thisArg, element, i, list) ) {\r\n return element;\r\n }\r\n }\r\n };\r\n}\r\n\r\n// Polyfull for NodeList forEach (IE11)\r\nif (window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = function (callback, thisArg) {\r\n thisArg = thisArg || window;\r\n for (var i = 0; i < this.length; i++) {\r\n callback.call(thisArg, this[i], i, this);\r\n }\r\n };\r\n}\r\n\r\n// Polyfill for Object.values (IE)\r\nif(!Object.values){\r\n Object.values = function values(obj){\r\n var vals = [];\r\n for (var key in obj) {\r\n if(obj.hasOwnProperty(key) && obj.propertyIsEnumerable(key)){\r\n vals.push(obj[key]);\r\n }\r\n }\r\n return vals;\r\n };\r\n}\r\n\r\n// <=IE11 does not have a replaceAll; allocate it here.\r\nif (!String.prototype.replaceAll) {\r\n String.prototype.replaceAll = function(search, replacement) {\r\n return this.split(search).join(replacement);\r\n };\r\n}\r\n\r\n// <=IE11 matches\r\nif (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector;\r\n}\r\n\r\n// <=IE11 closest\r\nif (!Element.prototype.closest) {\r\n Element.prototype.closest = function(s) {\r\n var el = this;\r\n \r\n do {\r\n if (Element.prototype.matches.call(el, s)) return el;\r\n el = el.parentElement || el.parentNode;\r\n } while (el !== null && el.nodeType === 1);\r\n return null;\r\n };\r\n}\r\n \r\n","/*\r\nClass:\r\n df.BaseApp\r\nExtends:\r\n df.WebBaseContainer\r\n\r\nThe shared implementation of apps that is shared between LocalApp and WebApp.\r\n*/\r\n\r\n/* global df, sDfPreloadTheme, sDfBuildNr */\r\n\r\ndf.BaseApp = function BaseApp(){\r\n df.BaseApp.base.constructor.call(this, \"oWebApp\", null);\r\n \r\n this.pbViewApp = false; // If true this app works with views\r\n // Server properties\r\n this.prop(df.tString, \"psTheme\", (typeof(sDfPreloadTheme) === \"string\" && sDfPreloadTheme) || \"Df_Web_Creme\");\r\n this.prop(df.tString, \"psVersionID\", \"\");\r\n \r\n // Localization properties\r\n this.prop(df.tString, \"psDecimalSeparator\", \",\");\r\n this.prop(df.tString, \"psThousandsSeparator\", \".\");\r\n this.prop(df.tString, \"psDateFormat\", \"dd/mm/yyyy\");\r\n this.prop(df.tString, \"psDateSeparator\", \"-\");\r\n this.prop(df.tString, \"psDateTimeFormat\", \"dd/mm/yyyy hh:mm:ss\");\r\n this.prop(df.tString, \"psTimeFormat\", \"hh:mm:ss\");\r\n this.prop(df.tString, \"psTimeSeparator\", \":\");\r\n this.prop(df.tString, \"psCurrencySymbol\", \"$\");\r\n this.prop(df.tInt, \"peAlignView\", df.ciAlignCenter);\r\n\r\n // Client Details\r\n this.prop(df.tInt, \"piScreenWidth\", screen.width);\r\n this.prop(df.tInt, \"piScreenHeight\", screen.height);\r\n \r\n this.prop(df.tInt, \"piWindowWidth\", 0);\r\n this.prop(df.tInt, \"piWindowHeight\", 0);\r\n \r\n this.prop(df.tInt, \"peMode\", 0);\r\n this.prop(df.tBool, \"pbResponsive\", true);\r\n this.prop(df.tBool, \"pbIsMobile\", true);\r\n \r\n this.prop(df.tString, \"psLocationHash\", \"\");\r\n \r\n this.prop(df.tAdv, \"pasBrowserLanguages\", null);\r\n this.prop(df.tInt, \"piBrowserTimezoneOffset\", 0);\r\n\r\n this.prop(df.tBool, \"pbUpdateApplicationTitle\", true);\r\n this.prop(df.tString, \"psApplicationTitle\", \"\");\r\n\r\n this.event(\"OnOrientationChange\", df.cCallModeWait);\r\n this.event(\"OnResizeWindow\", df.cCallModeDefault);\r\n \r\n // Client-side Events\r\n this.OnError = new df.events.JSHandler();\r\n this.OnShowProgress = new df.events.JSHandler();\r\n this.OnShowWindow = new df.events.JSHandler();\r\n this.OnHideWindow = new df.events.JSHandler();\r\n this.OnHideProgress = new df.events.JSHandler();\r\n \r\n // @privates\r\n this._oPreLoaded = {}; // Administration of views that are preloaded. Will be filled with arrays of queued actions.\r\n \r\n this._oModeControl = new df.MobRuleController(this); // Controller for the mobile modes (web property rules)\r\n this._oMenuHub = null; // Hub for menu groups (created on first usage)\r\n \r\n \r\n this._aSyncPropCache = []; // Cache of synchronized property values for objects that aren't loaded yet\r\n this._aAdvSyncPropCache = []; // Cache of advanced synchronized properties for objects that aren't loaded yet\r\n \r\n this._oCurrentWindow = null;\r\n this._oCurrentView = null;\r\n this._oCurrentObj = null;\r\n this._aViews = [];\r\n this._aFocussed = [];\r\n \r\n this._bReady = false; \r\n this._aLoadQueue = []; // Queue of functions to be called after initialization\r\n this._oLoadViewQueue = {}; // Queue of functions to be called when a view is loaded\r\n this._aPreLoadViewActions = []; // Array with queued actions performed on a view that isn't loaded yet \r\n this._bInitStarted = false; // Indicate used by the ready function to see if initialize was already called\r\n \r\n \r\n this._bCallTimeout = false; // Determines if server actions are delayed with a timeout (usually true after initialization)\r\n this._oPendingCall = null; // Call waiting to be sent\r\n this._oSendingCall = null; // Call currently being sent / processed\r\n \r\n this._eLocked = -1;\r\n this._aLockwaiters = [];\r\n \r\n this._eStyleSystem = null;\r\n this._eStyleTheme = null;\r\n this._eStyleApplication = null;\r\n this._sRootPath = df.psRootPath || \"\";\r\n \r\n this._oTranslations = {};\r\n \r\n this._aModalQueue = []; // Queue of modal dialogs waiting for previous one to close\r\n \r\n this._tResizeTimer = null; // Timeout set to queue a resize\r\n this._bSizeChanged = false; // Switch indicating that a resize is needed after processing the call.\r\n this._bContainerStretch = false; // Switch that determines if the webapp should stretch to fill its container or if it should determine its own size\r\n this._aResponseAttachments = null;\r\n \r\n // Configure super classes\r\n this._bWrapDiv = true;\r\n this._sControlClass = \"WebApp\";\r\n \r\n this._eViewPort = null;\r\n \r\n this.addSync(\"peMode\");\r\n this.addSync(\"pbIsMobile\");\r\n this.addSync(\"piScreenWidth\");\r\n this.addSync(\"piScreenHeight\");\r\n this.addSync(\"piWindowWidth\");\r\n this.addSync(\"piWindowHeight\");\r\n this.addSync(\"psLocationHash\");\r\n this.addSync(\"pasBrowserLanguages\");\r\n this.addSync(\"piBrowserTimezoneOffset\");\r\n \r\n this.setActionMode(\"loadView\", df.cCallModeWait);\r\n \r\n this.ready(this.attachGlobalHandlers);\r\n \r\n df.log(\"DataFlex Web Application Framework \" + df.psVersionId);\r\n df.log(\"Copyright 2005-2024 Data Access Corporation. All rights reserved.\"); \r\n\r\n};\r\ndf.defineClass(\"df.BaseApp\", \"df.WebBaseContainer\", {\r\n\r\n/* \r\nCalled after the initial web property values are set and performs non UI related initialization.\r\n\r\n@private\r\n*/\r\ncreate : function(){\r\n df.BaseApp.base.create.apply(this, arguments);\r\n \r\n // Activate / deactivate the responsive system\r\n this.set_pbResponsive(this.pbResponsive);\r\n},\r\n\r\n// - - - - - - - - - Rendering - - - - - - - - -\r\n\r\n\r\nattachGlobalHandlers : function(){\r\n df.dom.on(\"resize\", window, this.onWindowResize, this);\r\n df.dom.on(\"scroll\", window, this.onScroll, this);\r\n df.dom.on(\"orientationchange\", window, this.onOrientationChange, this);\r\n df.dom.on(\"popstate\", window, this.onPopState, this);\r\n df.dom.on(\"hashchange\", window, this.onHashChange, this);\r\n \r\n // Update screen height and width as some browsers now that browsers are further initialized\r\n this.piScreenHeight = screen.height;\r\n this.piScreenWidth = screen.width;\r\n},\r\n\r\n/* \r\nAugment destroy to destroy the mode controller object and remove global event handlers.\r\n\r\n@private\r\n*/\r\ndestroy : function(){\r\n df.dom.off(\"resize\", window, this.onWindowResize, this);\r\n df.dom.off(\"scroll\", window, this.onScroll, this);\r\n df.dom.off(\"orientationchange\", window, this.onOrientationChange, this);\r\n\r\n df.BaseApp.base.destroy.call(this);\r\n \r\n if(this._oModeControl){\r\n this._oModeControl.destroy();\r\n this._oModeControl = null;\r\n }\r\n \r\n},\r\n\r\n/*\r\nChild objects register themselves at their parents. Views are not considered to be regular children.\r\n\r\n@private\r\n*/\r\naddChild : function(oChild){\r\n // Filter out child components since they are not considered regular children\r\n if(!(oChild instanceof df.WebBaseView)){\r\n if(oChild.peRegion === df.ciRegionCenter){\r\n throw new df.Error(999, \"The 'oWebApp' object should not have panels set to the center region, this space is reserved for the WebView.\", this, [oChild.getLongName()]);\r\n }\r\n \r\n df.BaseApp.base.addChild.call(this, oChild);\r\n }else{\r\n this._aViews.push(oChild);\r\n }\r\n},\r\n\r\n/* \r\nAugment the updateEnabled function to notify views of the change in enabled state as well.\r\n*/\r\nupdateEnabled : function(){\r\n var i;\r\n \r\n df.BaseApp.base.updateEnabled.call(this);\r\n \r\n for(i = 0; i < this._aViews.length; i++){\r\n if(this._aViews[i] instanceof df.WebBaseUIObject){\r\n this._aViews[i].updateEnabled();\r\n }\r\n }\r\n},\r\n\r\n\r\n/*\r\nFor the BaseApp object the view region is the implicit center panel. Augment placePanels to create \r\nthe view region element and set it as the center panel. This function can be executed multiple \r\ntimes so we make sure to only touch the DOM if nessecary.\r\n*/\r\nplacePanels : function(){\r\n df.BaseApp.base.placePanels.call(this);\r\n \r\n if(this.pbViewApp){\r\n if(!this._eViewRegion){\r\n this._eViewRegion = df.dom.create('
');\r\n }\r\n this._eRegionCenter = this._eViewRegion;\r\n \r\n // Make sure that we insert the viewregion before the clear div created by WebBaseContainer\r\n if(this._eRegionCenter.parentNode != this._eMainArea || this._eRegionCenter.nextElementSibling != this._eMainArea.lastChild){\r\n this._eMainArea.insertBefore(this._eRegionCenter, this._eMainArea.lastChild);\r\n }\r\n }\r\n},\r\n\r\n// - - - - - - - - - Initialization - - - - - - - - -\r\n\r\n/*\r\nThis method initializes the webapp by making the LoadWebApp call to the server. This will return the \r\ndefinition of the global objects including the webapp itself and the session key. Optionally there \r\ncan be a startup view returned. After this call is returned the proper CSS is included and we wait \r\nfor the DOM and the CSS to become finished. Finally the waiting handlers are called (usually \r\ndisplayView or displayApp). \r\n\r\n@private\r\n*/\r\ninitialize : function(bLoadDefault){\r\n this._bInitStarted = true;\r\n \r\n try{\r\n if(this.checkBrowser()){\r\n this.serverAction(\"LoadWebApp\", [ df.fromBool(!!bLoadDefault) ], null, function(oEvent){\r\n // Make sure the proper CSS is included\r\n this.updateCSS(false);\r\n \r\n // Check if DOM is ready\r\n df.dom.ready(function(){\r\n // Check is CSS is ready\r\n this.testCSS(function(){\r\n var i;\r\n \r\n this._bCallTimeout = true;\r\n \r\n try{\r\n // Mark ready\r\n this._bReady = true;\r\n \r\n // Call waiters\r\n for(i = 0; i < this._aLoadQueue.length; i++){\r\n this._aLoadQueue[i].fHandler.call(this._aLoadQueue[i].oEnv || this);\r\n }\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n });\r\n }, this);\r\n });\r\n }\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n},\r\n\r\ncheckBrowser : function(){\r\n if(df.sys.isIE && df.sys.iVersion < 11){\r\n alert(\"Unfortunately the browser you are using is not supported by this framework. Please upgrade to a more modern browser.\\n\\r\\n\\rThe minimal version required is Internet Explorer 11. We advise to use the latest version of Microsoft Edge, Google Chrome or Mozilla FireFox.\");\r\n return false;\r\n } \r\n\r\n return true;\r\n},\r\n\r\n\r\n/*\r\nThe method passed to this function will be called when the webapp is initialized. Initialization is \r\nan asynchronous process which requires other functionality to wait. Optionally the name of a view \r\ncan be passed when waiting for a specific view to be synchronized.\r\n\r\nThe example below waits for the webapp to be synchronized before manipulating global objects.\r\n@code\r\noWebApp.ready(function(){\r\n oWebApp.oCommandbar.oMenuBar.oDemoMenu.set(\"pbRender\", false);\r\n});\r\n@code\r\n\r\nThe example below waits for the oWebCustomer view to be initialized before manipulating objects \r\ninside the view.\r\n@code\r\noWebApp.ready(\"oWebCustomer\", function(){\r\n oWebApp.oWebCustomer.oTabContainer.oBalancesTabPage.set('pbRender', false);\r\n});\r\n@code\r\n\r\n@param sOptView (optional) Objects name of the view to wait for.\r\n@param fHandler Function that needs to be called when ready.\r\n@param sOptEnv (optional) Environment object when the handler is called.\r\n*/\r\nready : function(sView, fHandler, oOptEnv){\r\n if(typeof(sView) === \"string\"){\r\n this.ready(function(){\r\n if(this[sView] instanceof df.WebBaseView){\r\n fHandler.call(oOptEnv || this);\r\n }else{\r\n if(!this._oLoadViewQueue[sView]){\r\n this._oLoadViewQueue[sView] = {\r\n aWaiters : [],\r\n bLoading : false\r\n };\r\n }\r\n this._oLoadViewQueue[sView].aWaiters.push({\r\n fHandler : fHandler,\r\n oEnv : oOptEnv\r\n });\r\n } \r\n });\r\n }else{\r\n oOptEnv = fHandler;\r\n fHandler = sView;\r\n \r\n \r\n if(!this._bReady){\r\n this._aLoadQueue.push({\r\n fHandler : fHandler,\r\n oEnv : oOptEnv\r\n });\r\n }else{\r\n fHandler.call(oOptEnv || this);\r\n }\r\n }\r\n},\r\n\r\n/*\r\nThis method should be called to render the application. It will render the application as soon as \r\nthe initialization finished to the passed DOM element. The DOM element can be passed as an object \r\nreference or as a query selector string (like '#viewport'). Using a query selector string allows to \r\ncall this method before the DOM is initialized. The application will render itself inside the \r\nprovided DOM element. \r\n\r\n@code\r\nvar oWebApp = new df.BaseApp('WebService.wso');\r\noWebApp.displayApp('#viewport');\r\n\r\n...\r\n\r\n
\r\n@code\r\n\r\n@param oRenderTo The DOM element to render to (object reference or query selector string).\r\n*/\r\ndisplayApp : function(oRenderTo){\r\n \r\n if(!this._bInitStarted){\r\n this.initialize(true);\r\n }\r\n \r\n this.ready(function(){\r\n var eContent, eRenderTo;\r\n \r\n try{\r\n // Get reference to element\r\n if(typeof(oRenderTo) === \"string\"){\r\n eRenderTo = df.dom.query(document.body, oRenderTo);\r\n }else{\r\n eRenderTo = oRenderTo;\r\n }\r\n if(!eRenderTo){\r\n throw new df.Error(999, \"No proper element passed\", this);\r\n }\r\n \r\n this._eViewPort = eRenderTo;\r\n \r\n // Determine if the renderto element has a defined height\r\n this._bContainerStretch = !df.sys.gui.isSizedByContent(eRenderTo);\r\n \r\n // Start rendering the application\r\n eContent = this.render();\r\n this.afterRender();\r\n eContent.style.visibility = \"hidden\";\r\n eRenderTo.appendChild(eContent);\r\n this.afterShow();\r\n this.forceResize();\r\n eContent.style.visibility = \"\";\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n });\r\n},\r\n\r\n/*\r\nThis method should be called to render a single view of the application. It will make sure that the \r\nview is or gets loaded and render it to the passed DOM element. The DOM element can be passed as \r\nobject reference or as a query selector string (like '#viewport'). This method should only be used \r\nwhen rendering a view separate of the rest of the application. The view will render itself inside \r\nthe provided DOM element. This is the adviced method to integrate a single view inside an existing \r\nweb page. To show a view within the rendered application please use the showView method.\r\n\r\n@code\r\nvar oWebApp = new df.WebApp('WebService.wso');\r\noWebApp.displayView('oCustomerView', '#customerdiv');\r\n\r\n...\r\n\r\n
\r\n@code\r\n\r\n@param sView Name of the view.\r\n@param oRenderTo DOM element to render to (object reference or query selector string).\r\n*/\r\ndisplayView : function(sView, oRenderTo){\r\n if(!this._bInitStarted){\r\n this.initialize(false);\r\n }\r\n \r\n this.ready(function(){\r\n var eRenderTo;\r\n \r\n try{\r\n // Get reference to element\r\n if(typeof(oRenderTo) === \"string\"){\r\n eRenderTo = df.dom.query(document.body, oRenderTo);\r\n }else{\r\n eRenderTo = oRenderTo;\r\n }\r\n if(!eRenderTo){\r\n throw new df.Error(999, \"No proper element passed\", this);\r\n }\r\n this._eViewPort = eRenderTo;\r\n \r\n this.serverActionEx({\r\n sMethod : \"ShowView_FromClient\",\r\n aParams : [ sView, df.fromBool(true)],\r\n aViews : [ sView ],\r\n fHandler : function(oEv){\r\n var oView;\r\n\r\n oView = this[sView];\r\n if(oView && oView instanceof df.WebBaseView){\r\n oView._show(eRenderTo);\r\n }\r\n\r\n },\r\n oHandlerEnv : this\r\n });\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n });\r\n},\r\n\r\n// - - - - - - - - - View logic - - - - - - - - - - -\r\n\r\n/* \r\nRenders the specified view in the center region of the webapp panel. Triggered by the server from \r\nthe ShowView_Exec procedure.\r\n\r\n@param sView Web object name of the view.\r\n@client-action\r\n*/\r\nrenderView : function(sView){\r\n this.ready(function(){\r\n var oView = this[sView];\r\n if(!oView){\r\n throw new df.Error(999, \"Cannot render view '{{0}}' as it is not initialized.\", this, [ sView ]);\r\n }\r\n if(!oView._bRendered){\r\n \r\n if(oView instanceof df.WebModalDialog){\r\n // For a dialog the current view becomes the invoker\r\n oView.psInvokingView = (this._oCurrentWindow && this._oCurrentWindow._sName) || \"\";\r\n if(oView.psInvokingView){\r\n oView.addSync(\"psInvokingView\");\r\n }\r\n\r\n // Modal dialogs are queued using the 'modal queue' to prevent them from showing on top of errors or info boxes displayed before the dialog.\r\n this.queueModal(function(){\r\n oView._show(this._eRegionCenter);\r\n this.forceResize();\r\n }, this);\r\n }else{\r\n this.hideView(this._oCurrentView, (oView === this._oCurrentView));\r\n \r\n oView._show(this._eRegionCenter);\r\n this.forceResize();\r\n\r\n this._oCurrentView = oView;\r\n }\r\n this._oCurrentWindow = oView;\r\n\r\n }\r\n });\r\n},\r\n\r\n\r\n/* \r\nShows a view by calling the ShowView_FromClient server action. It makes sure that the view to be \r\nshown is synchronized. Can be called from the server when showing a view that is loaded to the \\\r\nclient but not synchronized with the call triggering the show.\r\n\r\n@param sView Web object name of the view.\r\n@client-action\r\n*/\r\nshowView : function(sView, sOptCallbackMsg, sOptCallbackObj){\r\n var aParams = [ sView, df.fromBool(false) ];\r\n\r\n if(sOptCallbackMsg){\r\n aParams.push(sOptCallbackMsg);\r\n aParams.push(sOptCallbackObj);\r\n }\r\n\r\n this.serverActionEx({\r\n sMethod : \"ShowView_FromClient\",\r\n aParams : aParams,\r\n aViews : [ sView ]\r\n });\r\n},\r\n\r\n/*\r\nThis function closes a view or a dialog. That means that it stops rendering the view and with MDI or \r\na modal dialog it determines which view will be the new current view.\r\n\r\n@param sView String with the name of the view.\r\n@param bOptNoServerEvents If true no server calls like OnHide will be executed.\r\n@client-action\r\n*/\r\nhideView : function(sView, bOptNoServerEvents){\r\n var oView, oInvoking;\r\n \r\n // Param can be name or object\r\n oView = (typeof sView === \"string\" ? this[sView] : sView);\r\n \r\n // Make sure we are dealing with a view here\r\n if(oView instanceof df.WebBaseView){\r\n oInvoking = oView.getInvoking();\r\n oView._hide(df.toBool(bOptNoServerEvents));\r\n\r\n if(this._oCurrentWindow === oView){\r\n this._oCurrentWindow = null;\r\n }\r\n if(this._oCurrentView === oView){\r\n this._oCurrentView = null;\r\n }\r\n \r\n if(oView instanceof df.WebModalDialog){\r\n if(oInvoking){\r\n this._oCurrentWindow = oInvoking;\r\n }\r\n }\r\n }\r\n},\r\n\r\n/*\r\nThis method loads a view from the server by making an AJAX Call.\r\n\r\n@param sName The name of the view.\r\n@param bPreLoaded Should only be sent as true if the view has been initialized already. Used by \r\n the server for the pbOverrideStateOnShow logic.\r\n@param fHandler Handler method that is called when the view is loaded.\r\n@param oEnv (Optional) Object used as context when calling the handler method.\r\n*/\r\nloadView : function(sName, bPreLoaded, sOptInvoker, fHandler, oEnv){\r\n \r\n // Register as preloaded view\r\n if(bPreLoaded){\r\n this._oPreLoaded[sName] = [];\r\n }\r\n \r\n this.ready(function(){\r\n // Load a view\r\n if(this[sName] && this[sName] instanceof df.WebBaseView){\r\n if(fHandler){\r\n fHandler.call(oEnv || this, this[sName]);\r\n }\r\n }else{\r\n // Register view loading\r\n if(!this._oLoadViewQueue[sName]){\r\n this._oLoadViewQueue[sName] = {\r\n aWaiters : [],\r\n bLoading : false\r\n };\r\n }\r\n if(this._oLoadViewQueue[sName].bLoading){\r\n return;\r\n }\r\n this._oLoadViewQueue[sName].bLoading = true;\r\n \r\n // Add handler method to waiting queue\r\n if(fHandler){\r\n this._oLoadViewQueue[sName].aWaiters.push({\r\n fHandler : fHandler,\r\n oEnv : oEnv\r\n });\r\n }\r\n \r\n // Fire the loadView action\r\n var oAction = new df.ServerAction();\r\n oAction.oWO = this;\r\n oAction.sAction = \"loadView\";\r\n oAction.aParams = [ sName, sOptInvoker || \"\", df.fromBool(bPreLoaded) ];\r\n \r\n oAction.eCallMode = df.cCallModeWait;\r\n \r\n oAction.fHandler = function(oEvent){\r\n var tAct, aWaiters, i, oView = this[sName];\r\n \r\n if(df.toBool(oEvent.sReturnValue)){\r\n \r\n try{\r\n if(oView instanceof df.WebBaseView){\r\n // If this is a preloaded view this view is already initialized so there can be queued client actions under _oPreLoaded which we need to execute and then clear\r\n if(bPreLoaded && this._oPreLoaded[sName]){\r\n while(tAct = this._oPreLoaded[sName].shift()){\r\n this.execClientAction(tAct);\r\n }\r\n delete this._oPreLoaded[sName];\r\n }\r\n \r\n \r\n // Call handlers\r\n aWaiters = this._oLoadViewQueue[sName].aWaiters;\r\n for(i = 0; i < aWaiters.length; i++){\r\n aWaiters[i].fHandler.call(aWaiters[i].oEnv || this, oView);\r\n }\r\n \r\n // Remove from registration\r\n this._oLoadViewQueue[sName] = null;\r\n }else{\r\n this._oLoadViewQueue[sName].bLoading = false;\r\n throw new df.Error(999, \"No view definition received for '{{0}}'\", this, [sName]);\r\n \r\n }\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n }\r\n };\r\n oAction.oHandlerEnv = this;\r\n \r\n oAction.aViews.push(sOptInvoker || null);\r\n oAction.aViews.push(sName);\r\n \r\n this.handleAction(oAction);\r\n }\r\n }, this);\r\n},\r\n\r\n/*\r\nThis method unloads a view completely by destroying the associated objects. It will make sure that \r\nthe view has to be loaded freshly from the server when it is opened the next time.\r\n\r\n@param sView The object name of the view to unload.\r\n@param bDefinition If true then the cached view definition should be removed as well.\r\n\r\n@client-action\r\n*/\r\nunloadView : function(sView, bDefinition){\r\n var oView, i;\r\n \r\n bDefinition = df.toBool(bDefinition);\r\n \r\n if(this[sView] && this[sView] instanceof df.WebBaseView){\r\n // Get reference\r\n oView = this[sView];\r\n \r\n // Make sure it is hidden\r\n if(oView._bRendered){\r\n this.hideView(sView, true);\r\n }\r\n \r\n // Clear focussed object if inside view\r\n if(this._oCurrentObj && this._oCurrentObj.getView() === oView){\r\n this._oCurrentObj = null;\r\n }\r\n \r\n // Destroy\r\n oView.destroy();\r\n \r\n // Remove from WebObject children array\r\n i = this._aChildren.indexOf(oView);\r\n if(i >= 0){\r\n this._aChildren.splice(i, 1);\r\n }\r\n } \r\n \r\n if(bDefinition && this._oWODefStore[sView]){\r\n delete this._oWODefStore[sView];\r\n }\r\n},\r\n\r\n// - - - - - - - - - Window logic - - - - - - - - - - -\r\n\r\n/* \r\nThis method is called by WebBaseUIObject to register that it has received the focus. The name of the \r\nfocused object is passed to the server during server actions and is sometimes used to determine \r\nwhere to return to the focus to.\r\n\r\n@param oObj The object that has received the focus.\r\n@private\r\n*/\r\nobjFocus : function(oObj){\r\n var oWin = oObj.getView();\r\n \r\n // Update the current window if this object is inside a window. This is needed when using the displayview api, especially with multiple views\r\n if(oWin && !oWin._bStandalone && oWin._bRendered){\r\n this._oCurrentWindow = oWin;\r\n }\r\n \r\n if(!oWin || oWin._bRendered){\r\n this._oCurrentObj = oObj;\r\n }\r\n},\r\n\r\n/* \r\nThis method is called by WebBaseUIObject to register that an object has lost the focus.\r\n\r\n@param oObj The object that lost the focus.\r\n@private\r\n*/\r\nobjBlur : function(oObj){\r\n\r\n},\r\n\r\n/* \r\nThis method returns the focus to the object that is known to have focus. The WebMenuItem class uses \r\nit to return the focus when a menu item is clicked.\r\n\r\n@private\r\n*/\r\nreturnFocus : function(){\r\n if(this._oCurrentObj){\r\n this._oCurrentObj.conditionalFocus();\r\n }\r\n},\r\n\r\ngetFocusObjName : function(){\r\n if(this._oCurrentObj instanceof df.WebBaseUIObject && !this._oCurrentObj._bStandalone){\r\n return this._oCurrentObj.getLongName();\r\n }\r\n return \"\";\r\n},\r\n\r\nset_pbMDI : function(bVal){\r\n if(this._eRegionCenter){\r\n this._eRegionCenter.style.position = (bVal ? \"relative\" : \"\");\r\n }\r\n},\r\n\r\nnotifyScroll : function(oWO){\r\n this.notifyPosChange(oWO);\r\n},\r\n\r\nnotifyLayoutChange : function(oWO){\r\n this.notifyPosChange(oWO);\r\n},\r\n\r\nnotifyPosChange : function(oWO){\r\n \r\n},\r\n\r\n// - - - - - - - - - Object creation - - - - - - - - - - -\r\n\r\n/*\r\nMethod that creates the instances of the JavaScript objects based on the JSON description. It will \r\nwalk through the structure and instantiates all the objects. The resulting objects structure will be \r\nequal to the nested object structure on the server.\r\n\r\n@param tDef JSON data objects containing object definitions.\r\n@private\r\n*/\r\ninitJSON : function(tDef){\r\n \r\n function initObj(tDef, oContext){\r\n var i, sP, oObj, FConstructor;\r\n \r\n // If no name is given it must be the global webapp object\r\n if(tDef.sType === \"df.WebApp\"){\r\n oObj = this;\r\n }else{\r\n // Check for name conflict\r\n if(!oContext[tDef.sName]){\r\n \r\n // Find constructor\r\n FConstructor = this.getConstructor(tDef.sType, tDef);\r\n if(typeof(FConstructor) === \"function\"){\r\n \r\n // Create new instance\r\n oContext[tDef.sName] = oObj = new FConstructor(tDef.sName, oContext);\r\n }else{\r\n throw new df.Error(999, \"Could not find class '{{0}}'\", this, [tDef.sType]);\r\n }\r\n }else{\r\n throw new df.Error(999, \"Naming conflict with child object '{{0}}'\", this, [tDef.sName]);\r\n }\r\n }\r\n \r\n // Set the published property values\r\n for(i = 0; i < tDef.aProps.length; i++){\r\n sP = tDef.aProps[i].sN;\r\n \r\n // Check naming convention\r\n if(sP.charAt(0) !== \"_\"){\r\n // Check if not conficting with child object or function\r\n if(!oObj[sP] || (typeof(oObj[sP]) !== \"object\" && typeof(oObj[sP]) !== \"function\")){\r\n oObj._set(sP, tDef.aProps[i].sV, false, false);\r\n }else{\r\n throw new df.Error(999, \"Naming conflict with property '{{0}}' of object '{{1}}'\", this, [ sP, tDef.sName ] );\r\n }\r\n }else{\r\n throw new df.Error(999, \"Published property '{{0}}' of object '{{1}}' properties should not start with an '_'\", this, [tDef.aProps[i].sV, tDef.sName ]);\r\n }\r\n }\r\n \r\n // Set the advanced typed published property values\r\n if(tDef.aAdvP){\r\n for(i = 0; i < tDef.aAdvP.length; i++){\r\n sP = tDef.aAdvP[i].sN;\r\n \r\n // Check naming convention\r\n if(sP.charAt(0) !== \"_\"){\r\n if(!oObj[sP] || (typeof(oObj[sP]) !== \"object\" && typeof(oObj[sP]) !== \"function\")){\r\n // Make sure to mark it as advanced (this is used to determine this when sending a call\r\n if(!oObj._oTypes[sP]){\r\n oObj._oTypes[sP] = df.tAdv;\r\n }\r\n \r\n // Actually set the property value\r\n oObj._set(sP, tDef.aAdvP[i].tV, false, false);\r\n }else{\r\n throw new df.Error(999, \"Naming conflict with property '{{0}}' of object '{{1}}'\", this, [ sP, tDef.sName ] );\r\n }\r\n }else{\r\n throw new df.Error(999, \"Published property '{{0}}' of object '{{1}}' properties should not start with an '_'\", this, [tDef.aAdvP[i].sV, tDef.sName ]);\r\n }\r\n }\r\n }\r\n \r\n // Register the object\r\n this.newWebObject(oObj, oContext, tDef);\r\n \r\n // Create children\r\n for(i = 0; i < tDef.aObjs.length; i++){\r\n initObj.call(this, tDef.aObjs[i], oObj);\r\n }\r\n \r\n // Call create\r\n oObj.create(tDef);\r\n \r\n return oObj;\r\n }\r\n\r\n return initObj.call(this, tDef, this);\r\n},\r\n\r\n/*\r\nCalled whenever a new Web Object is created. Registers the Web Object with its parent.\r\n\r\n@param oObj The newly created web object.\r\n@param oParent The parent of the new web object.\r\n@param tDef The JSON definition received from the server.\r\n*/\r\nnewWebObject : function(oObj, oParent, tDef){\r\n // Register new child control\r\n if(oParent.addChild && oParent !== oObj){\r\n oParent.addChild(oObj);\r\n }\r\n},\r\n\r\ngetConstructor : function(sType){\r\n return df.sys.ref.getNestedProp(sType);\r\n},\r\n\r\nfindObj : function(sName) {\r\n var i, aParts, oObj;\r\n\r\n if(sName === \"\"){\r\n return this;\r\n }\r\n\r\n aParts = sName.split(/[\\. | \\$]/);\r\n\r\n oObj = this;\r\n for(i = 0; i < aParts.length && oObj; i++){\r\n oObj = oObj[aParts[i]];\r\n }\r\n\r\n return (typeof oObj === \"object\" && oObj) || null;\r\n},\r\n\r\n\r\n// - - - - - - - - - Server actions - - - - - - - - - - -\r\n\r\nwaitForCall : function(fFunc, oEnv){\r\n var i;\r\n \r\n if(this._eLocked >= df.cCallModeDefault){\r\n for(i = 0; i < this._aLockwaiters.length; i++){\r\n if(this._aLockwaiters[i].fFunc === fFunc && this._aLockwaiters[i].oEnv === oEnv){\r\n return;\r\n }\r\n }\r\n \r\n this._aLockwaiters.push({ fFunc : fFunc, oEnv : oEnv });\r\n }else{\r\n fFunc.call(oEnv);\r\n }\r\n},\r\n\r\n/*\r\nThis function locks a webapp during a call. It generates the locking mask and optionally generates a \r\nwaiting dialog. Key entry is blocked by intercepting the keydown event at document level. The \r\nfunction can be called multiple times without problems and will upgrade the lock with a waiting \r\ndialog when needed.\r\n\r\n@param bWaitDialog If true a waiting dialog will be shown.\r\n@param sWaitMessage String with message shown in the waiting dialog.\r\n*/\r\nlock : function(eCallMode, sWaitMessage){\r\n var oDialog, oLabel, that = this;\r\n \r\n this._eLocked = eCallMode;\r\n \r\n if(document && document.body){ // Check if the DOM is ready\r\n \r\n // Lock the webapp\r\n if(eCallMode >= df.cCallModeWait){\r\n if(!this._eLockMask){\r\n this._eLockMask = df.gui.dragMask(this._oCurrentWindow?.topLayer() || document.body);\r\n this._tLockCursor = setTimeout(function(){\r\n if(that._eLockMask){\r\n that._eLockMask.style.cursor = \"wait\";\r\n }\r\n that._tLockCursor = null;\r\n }, 140);\r\n }\r\n df.events.addDomCaptureListener(\"keydown\", document.body, this.onBlockKey, this);\r\n }\r\n \r\n // Show wait dialog\r\n if((eCallMode >= df.cCallModeProgress) && !this._bLockWait){\r\n this._bLockWait = true;\r\n if(this.OnShowProgress.fire(this, { sMessage : sWaitMessage })){\r\n \r\n // Block the modal queue (due to focus issues)\r\n this._aModalQueue.push(this._oLockModalBlock = {\r\n fFunc : null,\r\n bFinished : false,\r\n bDisplayed : true\r\n });\r\n \r\n // Create waiting dialog\r\n this._oLockDialog = oDialog = new df.WebModalDialog(null, this);\r\n oDialog.psCaption = \"\";\r\n oDialog.pbResizable = false;\r\n oDialog.pbShowClose = false;\r\n oDialog.psCSSClass = \"WebMsgBox WebMsgBoxProgress\";\r\n \r\n oLabel = new df.WebLabel(null, oDialog);\r\n oLabel.psCaption = sWaitMessage || this.getTrans(\"loading\") + \"..\";\r\n oLabel.psCSSClass = \"WebMsgBoxProgress\";\r\n oDialog.addChild(oLabel);\r\n \r\n oDialog.show();\r\n oDialog._oPrevFocus = null; // Stop dialog from messing with the focus\r\n } \r\n }\r\n }\r\n},\r\n\r\n/* \r\nThis function unlocks the webapp removing the mask, wait dialog and keydown interception handler. It \r\nbelongs to the lock function. Note that calling lock multiple times doesn't mean that unlock needs \r\nto be called multiple times.\r\n*/\r\nunlock : function(){\r\n var oHandler;\r\n \r\n this._eLocked = -1;\r\n \r\n // Unlock the webapp\r\n if(this._eLockMask){\r\n this._eLockMask.style.cursor = \"\";\r\n this._eLockMask.parentNode.removeChild(this._eLockMask);\r\n this._eLockMask = null;\r\n if(this._tLockCursor){\r\n clearTimeout(this._tLockCursor);\r\n this._tLockCursor = null;\r\n }\r\n }\r\n if(document && document.body){ // Check if the DOM is ready\r\n df.events.removeDomCaptureListener(\"keydown\", document.body, this.onBlockKey, this);\r\n }\r\n \r\n // Hide the wait dialog\r\n if(this._bLockWait){\r\n this._bLockWait = false;\r\n \r\n this.OnHideProgress.fire(this, { });\r\n \r\n if(this._oLockDialog){\r\n this._oLockDialog.hide();\r\n this._oLockDialog = null;\r\n \r\n // Unblock the modal queue\r\n this._oLockModalBlock.bFinished = true;\r\n this.processModal();\r\n }\r\n }\r\n \r\n // Call functions waiting for call to finish processing\r\n while(oHandler = this._aLockwaiters.pop()){\r\n oHandler.fFunc.call(oHandler.oEnv);\r\n }\r\n},\r\n\r\n/* \r\nEvent handler that will cancel the event if the webapp is in locked state. Is used by the lock \r\nsystem to intercept key events at the highest level.\r\n\r\n@param oEvent Event object (df.events.DOMEvent).\r\n@private\r\n*/\r\nonBlockKey : function(oEvent){\r\n if(this._eLocked >= df.cCallModeWait){\r\n oEvent.stop();\r\n return false;\r\n }\r\n},\r\n\r\n/* \r\nThis function initiates the proper handling of an action by creating a call or adding it to an \r\nexisting call. It will lock the application and initiate the server call process.\r\n\r\n@param oAction Action object (df.ServerAction).\r\n@private\r\n*/\r\nhandleAction : function(oAction){\r\n // Immediately lock the webapp\r\n\r\n this.lock(oAction.eCallMode, oAction.sProcessMessage);\r\n \r\n // Always add the current view\r\n oAction.aViews.push(this._oCurrentWindow);\r\n \r\n // Add action to queue (no actions are ignored any more)\r\n if(this._oPendingCall){\r\n this._oPendingCall.aActions.push(oAction);\r\n if(this._oPendingCall.eCallMode < oAction.eCallMode){\r\n this._oPendingCall.eCallMode = oAction.eCallMode;\r\n }\r\n }else{\r\n this._oPendingCall = new df.ServerCall();\r\n \r\n this._oPendingCall.aActions.push(oAction);\r\n this._oPendingCall.sFocus = this.getFocusObjName();\r\n this._oPendingCall.eCallMode = oAction.eCallMode;\r\n }\r\n \r\n // Process calls\r\n this.processCall();\r\n},\r\n\r\n/*\r\nCancels an action based on its name of web object. It will remove all matching actions from the \r\npending call and from the call that is being sent but didn't start processing yet.\r\n\r\n@param oWO Web object.\r\n@param sAction Action name.\r\n@private\r\n*/\r\ncancelAction : function(oWO, sAction){\r\n var aActions, i;\r\n \r\n // For a pending call we remove the entire action if found and cancel the call if empty\r\n if(this._oPendingCall){\r\n aActions = this._oPendingCall.aActions;\r\n \r\n for(i = 0; i < aActions.length; i++){\r\n if(aActions[i].oWO === oWO && aActions[i].sAction === sAction){\r\n aActions.splice(i, 1);\r\n i--;\r\n }\r\n if(aActions.length === 0){\r\n this._oPendingCall = null;\r\n break;\r\n }\r\n }\r\n }\r\n},\r\n\r\n/* \r\nDetermines if a server action is already pending (waiting to be sent) for a specific web object.\r\n\r\n@param oWO Web Object.\r\n@param sAction Action name.\r\n@return True if the action is pending.\r\n*/\r\nhasPendingAction : function(oWO, sAction){\r\n var aActions, i;\r\n \r\n if(this._oPendingCall){\r\n aActions = this._oPendingCall.aActions;\r\n \r\n for(i = 0; i < aActions.length; i++){\r\n if(aActions[i].oWO === oWO && aActions[i].sAction === sAction){\r\n return true;\r\n }\r\n }\r\n }\r\n \r\n return false;\r\n},\r\n\r\nprocessResponse : function(tData, oCall){\r\n if(tData && tData.r && tData.r.Header && tData.r.asReturnValues){\r\n const tResponse = tData.r;\r\n\r\n this._aResponseAttachments = tData.a || [];\r\n \r\n // Handle header\r\n this.handleHeader(tResponse.Header);\r\n \r\n // Call handlers\r\n if(oCall && oCall.aActions.length === tResponse.asReturnValues.length){\r\n const oEvent = new df.events.JSEvent(this);\r\n for(let i = 0; i < oCall.aActions.length; i++){\r\n oEvent.sReturnValue = tResponse.asReturnValues[i];\r\n \r\n if(oCall.aActions[i].fHandler){\r\n oCall.aActions[i].fHandler.call(oCall.aActions[i].oHandlerEnv || null, oEvent);\r\n }\r\n }\r\n }\r\n\r\n this._aResponseAttachments = null;\r\n }else{\r\n throw new df.Error(5123, \"Unexpected response format.\", this);\r\n }\r\n},\r\n\r\n\r\n/*\r\nChecks if a pending call is available and can be sent. This happens after a short timeout so that \r\nactions can still be added to the pending call from the current execution flow. This method is \r\ncalled after processing a call or when a new action is registered.\r\n\r\n@private\r\n*/\r\nprocessCall : function(){\r\n var that = this;\r\n \r\n const process = () =>{\r\n try{\r\n const oCall = this._oPendingCall;\r\n if(oCall){\r\n if(!this._oSendingCall){\r\n\r\n // Register as the call currently being sent\r\n this._oSendingCall = oCall;\r\n\r\n this.sendCall(oCall).then(tData => {\r\n this.processResponse(tData, oCall);\r\n }).catch(oErr =>{\r\n this.handleError(oErr);\r\n }).finally(() => {\r\n // Make sure that we always unlock!!!\r\n if(!this._oPendingCall){\r\n this.unlock();\r\n }\r\n this._oSendingCall = null;\r\n \r\n // Initiate next call if needed\r\n this.processCall();\r\n });\r\n this._oPendingCall = null;\r\n }\r\n }\r\n }catch(oErr){\r\n // Make sure that we always unlock!!!\r\n this.unlock();\r\n this._oPendingCall = null;\r\n this._oSendingCall = null;\r\n \r\n this.handleError(oErr);\r\n }\r\n }\r\n \r\n if(this._bCallTimeout){\r\n if(window.requestIdleCallback){\r\n window.requestIdleCallback(process, { timeout: 30 });\r\n }else{\r\n window.setTimeout(process, 10);\r\n }\r\n }else{\r\n process();\r\n }\r\n},\r\n\r\nassembleRequest : function(oCall){\r\n // Generate request data\r\n let aViews = [];\r\n let aActions = [];\r\n let aAttachments = [];\r\n\r\n oCall.aActions.forEach(oAction => {\r\n aActions.push({\r\n sTarget : oAction.oWO.getLongName(),\r\n sAction : oAction.sAction,\r\n aParams : oAction.aParams,\r\n iAttached : (oAction.tData && aAttachments.push(oAction.tData) || 0)\r\n });\r\n \r\n aViews = aViews.concat(oAction.aViews);\r\n });\r\n \r\n // Assemble request data\r\n return {\r\n v : df.psVersionId,\r\n r : {\r\n Header : this.getHeader(aViews, oCall.sFocus),\r\n aActions : aActions\r\n },\r\n a : aAttachments\r\n };\r\n},\r\n\r\nsendCall : function(oCall){\r\n return new Promise((resolve, reject) => {\r\n reject(new df.Error(99, \"Not implemented\"));\r\n });\r\n},\r\n\r\n\r\n/*\r\nThis core method of the framework is responsible for generating the header of a call that is sent to \r\nthe server. This header consists of the session key, name of the focused object, DDO definitions per \r\nview and the set of synchronized properties. It gets a list of views (or a single view) that \r\ndetermines which views are involved in the call. For each view it will add the DDO definitions and \r\nthe synchronized properties. To get the synchronized properties the recursive getSynched method is \r\ncalled.\r\n\r\n@param oView The view(s) that need to be incorporated. Can be an array of views or a single \r\n view. A view can be passed as a string name or an object reference. May contian \r\n duplicates.\r\n@param sFocus Name of the currently focussed object.\r\n@private\r\n*/\r\ngetHeader : function(oView, sFocus){\r\n var oDone = {}, tHead, i;\r\n \r\n tHead = {\r\n sFocus : sFocus,\r\n aDDOViews : [],\r\n aSyncProps : [],\r\n aAdvSyncP : []\r\n };\r\n \r\n // Gather global synchronized properties\r\n this.getSynced(tHead.aSyncProps, tHead.aAdvSyncP);\r\n \r\n function addView(oView){\r\n var oViewObj, oInvoking, sViewName;\r\n \r\n // Try to find the view object\r\n if(typeof(oView) === \"string\"){\r\n oViewObj = this.findObj(oView);\r\n sViewName = oView;\r\n }else{\r\n oViewObj = oView;\r\n sViewName = oViewObj._sName;\r\n }\r\n \r\n if(!oDone[sViewName]){\r\n oDone[sViewName] = true; // Make sure that we don't add views twice\r\n \r\n \r\n if(oViewObj instanceof df.WebBaseView){\r\n // Add invoker view\r\n oInvoking = oViewObj.getInvoking();\r\n if(oInvoking){\r\n addView.call(this, oInvoking);\r\n }\r\n \r\n // Get synchonized props\r\n oViewObj.getSynced(tHead.aSyncProps, tHead.aAdvSyncP);\r\n \r\n // Add DDO details\r\n tHead.aDDOViews.push(sViewName);\r\n \r\n }else{\r\n // This means that the view doesn't exist yet so we load synchronized properties from the cache\r\n this.getCachedSyncProps(oView, tHead.aSyncProps, tHead.aAdvSyncP);\r\n \r\n // With the pbOverrideStateOnShow property it can be that we are loading a view that already has a DDO state\r\n tHead.aDDOViews.push(sViewName);\r\n }\r\n }\r\n }\r\n \r\n if(oView instanceof Array){\r\n for(i = 0; i < oView.length; i++){\r\n if(oView[i]){\r\n addView.call(this, oView[i]);\r\n }\r\n }\r\n }else if(oView){\r\n addView.call(this, oView);\r\n }\r\n \r\n return tHead;\r\n},\r\n\r\n/*\r\nThis is one of the most important methods of the framework as it handles the header section received \r\nback from the server after a call. This header section can contain object definitions of new \r\nobjects, updates synchronized properties, updated DDO definitions, client actions that need to be \r\nexecuted and possible errors.\r\n\r\n@param oHeader The header data.\r\n@private\r\n*/\r\nhandleHeader : function(oHeader){\r\n var i;\r\n \r\n // Execute early client actions\r\n for(i = 0; i < oHeader.aActions.length; i++){\r\n if(oHeader.aActions[i].eType === df.ctExecEarly){\r\n this.execClientAction(oHeader.aActions[i]);\r\n }\r\n }\r\n \r\n // Create objects if a definition has returned\r\n for(i = 0; i < oHeader.aObjectDefs.length; i++){\r\n this.initJSON(oHeader.aObjectDefs[i]);\r\n }\r\n \r\n // Process synchronized properties\r\n this.handleSyncProps(oHeader.aSyncProps);\r\n this.handleAdvSyncProps(oHeader.aAdvSyncP);\r\n\r\n // Call the action methods\r\n for(i = 0; i < oHeader.aActions.length; i++){\r\n if(oHeader.aActions[i].eType !== df.ctExecEarly){ \r\n this.execClientAction(oHeader.aActions[i]);\r\n }\r\n }\r\n},\r\n\r\n/* \r\nUpdates web properties based on the set of web property values provided. It expects the web property \r\nvalues to be provided in the format they are received from the server.\r\n\r\n@param aProps Array of web property values.\r\n@private\r\n*/\r\nhandleSyncProps : function(aProps){\r\n var i, oWO, tObj, x;\r\n \r\n // Loop through objects with synced props\r\n for(i = 0; i < aProps.length; i++){\r\n tObj = aProps[i];\r\n\r\n // Find WebObject\r\n oWO = this.findObj(tObj.sO);\r\n if(oWO){\r\n // Loop through props and set them\r\n for(x = 0; x < tObj.aP.length; x++){\r\n oWO._set(tObj.aP[x].sN, tObj.aP[x].sV, true, true);\r\n }\r\n \r\n }else{\r\n // We place it in the cache\r\n this.cacheSyncProps(tObj);\r\n }\r\n } \r\n},\r\n\r\n/* \r\nUpdates advanced web properties based on the set of web property values provided. It expects the web \r\nproperty values to be provided in the format they are received from the server.\r\n\r\n@param aProps Array of web property values.\r\n@private\r\n*/\r\nhandleAdvSyncProps : function(aAdvSyncP){\r\n var i, tP, oWO;\r\n \r\n // Store advanced sync props\r\n for(i = 0; i < aAdvSyncP.length; i++){\r\n tP = aAdvSyncP[i];\r\n // Find WebObject\r\n oWO = this.findObj(tP.sO);\r\n \r\n if(oWO){\r\n // Loop through props and set them\r\n oWO._set(tP.sP, tP.tV, true, true);\r\n }else{\r\n // We place it in the cache\r\n this.cacheAdvProp(tP);\r\n }\r\n }\r\n},\r\n\r\n/* \r\nExecutes a single client action based on the passed information.\r\n\r\n@param tAct Details of the client-action.\r\n@private\r\n*/\r\nexecClientAction : function(tAct){\r\n // Find object and function\r\n var oFunc, oWO = this.findObj(tAct.sTarget), sViewName;\r\n \r\n if(oWO){\r\n oFunc = oWO.findFunc(tAct.sName);\r\n if(typeof oFunc.fFunc === \"function\"){\r\n \r\n // Make action data available as property\r\n if(tAct.iAttached > 0){\r\n if(tAct._tActionData){ // If this is a cached action then the attachment is stored in _tActionData (see storeViewLoadAction)\r\n oWO._tActionData = tAct._tActionData;\r\n }else{\r\n oWO._tActionData = this.responseAttachment(tAct.iAttached);\r\n }\r\n }\r\n \r\n // Call client action\r\n try{\r\n \r\n oFunc.fFunc.apply(oFunc.oEnv, tAct.aParams);\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n \r\n // Clear action data\r\n oWO._tActionData = null;\r\n \r\n }else{\r\n this.handleError(new df.Error(999, \"Action method not found '{{0}}' on object '{{1}}'\", this, [ tAct.sName, tAct.sTarget ]));\r\n }\r\n }else{\r\n // Determine the view name by parsing it out of the full target object\r\n sViewName = tAct.sTarget;\r\n if(sViewName.indexOf('.') > 0){\r\n sViewName = sViewName.substr(0, sViewName.indexOf('.'));\r\n }\r\n \r\n // Queue client actions performed on a view that is \"preloaded\" (pbOverrideStateOnShow functionality)\r\n if(this._oPreLoaded[sViewName]){\r\n if(tAct.iAttached){\r\n tAct._tActionData = this.responseAttachment(tAct.iAttached);\r\n }\r\n this._oPreLoaded[sViewName].push(tAct);\r\n }else{\r\n this.handleError(new df.Error(999, \"Could not find object '{{0}}'\", this, [ tAct.sTarget ]));\r\n }\r\n }\r\n\r\n},\r\n\r\n\r\nresponseAttachment : function(iIndex){\r\n if(this._aResponseAttachments && this._aResponseAttachments.length > (iIndex - 1)){\r\n return this._aResponseAttachments[iIndex - 1];\r\n }\r\n throw new df.Error(999, \"Invalid response attachment index.\", this);\r\n},\r\n\r\n/*\r\nThis method puts new synchronized property values in the cache. This cache has the same structure as \r\nin which the synchronized properties are sent. If properties where already in the cache it will \r\nmerge them and update to the new value. The cache is allows synchronized properties to be set on \r\nviews before they are loaded. The synchronized loading of views creates a need for this. This method \r\nis called when synchronized properties are received for objects that don't exist.\r\n\r\n@param tObj The struct / JSON object representing the synchronized properties.\r\n@private\r\n*/\r\ncacheSyncProps : function(tObj){\r\n var i, x, y, tCacheObj, bFound;\r\n \r\n // See if we already have this object in cache\r\n for(i = 0; i < this._aSyncPropCache.length; i++){\r\n if(this._aSyncPropCache[i].sO === tObj.sO){\r\n \r\n // Now we need to merge the synced props into the existing cache object\r\n tCacheObj = this._aSyncPropCache[i];\r\n \r\n for(x = 0; x < tObj.aP.length; x++){\r\n bFound = false;\r\n \r\n for(y = 0; y < tCacheObj.aP.length && !bFound; y++){\r\n if(tCacheObj.aP[y].sN === tObj.aP[x].sN){\r\n tCacheObj.aP[y].sV = tObj.aP[x].sV;\r\n \r\n bFound = true;\r\n } \r\n }\r\n if(!bFound){\r\n tCacheObj.aP.push(tObj.aP[x]);\r\n }\r\n }\r\n \r\n return;\r\n }\r\n }\r\n \r\n // Else we can simply add the new object\r\n this._aSyncPropCache.push(tObj);\r\n},\r\n\r\n/* \r\nThis method puts a new advanced synchronized property in the cache. This cache has a flat structure \r\nas in which advanced sync props are sent. If the property is already in the cache it will override \r\nits value. This cache allows advanced synchronized properties to be set before their view is loaded \r\nto the client.\r\n\r\n@param tP The struct / JSON object representing a single synchronized property..\r\n@private\r\n*/\r\ncacheAdvProp : function(tP){\r\n var i;\r\n \r\n for(i = 0; i < this._aAdvSyncPropCache.length; i++){\r\n if(this._aAdvSyncPropCache[i].sO === tP.sO && this._aAdvSyncPropCache[i].sP === tP.sP){\r\n this._aAdvSyncPropCache[i].tV = tP.tV;\r\n return;\r\n }\r\n }\r\n \r\n this._aAdvSyncPropCache.push(tP);\r\n},\r\n\r\n/*\r\nThis method gets cached synchronized properties for a specific view. It goes through the cache and \r\nreturns and removes all the synchronized properties for that view. This happens when loading a view \r\nand the caching of synchronized properties allows developers to WebSet on views before they are on \r\nthe client (the ASynchronized loading creates a need for this).\r\n\r\n@param sView The object name of the view.\r\n@param aSyncProps Reference to the synchronized properties array to which the result is added.\r\n@private\r\n*/\r\ngetCachedSyncProps : function(sView, aSyncProps, aAdvSyncP){\r\n var i, sStart, iLen;\r\n \r\n sStart = sView + '.';\r\n iLen = sStart.length;\r\n for(i = 0; i < this._aSyncPropCache.length; i++){\r\n // Check if part of the view\r\n if(this._aSyncPropCache[i].sO === sView || this._aSyncPropCache[i].sO.substr(0, iLen) === sStart){\r\n // Add to result\r\n aSyncProps.push(this._aSyncPropCache[i]);\r\n \r\n // Remove from cache\r\n this._aSyncPropCache.splice(i, 1);\r\n i--;\r\n }\r\n }\r\n \r\n for(i = 0; i < this._aAdvSyncPropCache.length; i++){\r\n // Check if part of the view\r\n if(this._aAdvSyncPropCache[i].sO === sView || this._aAdvSyncPropCache[i].sO.substr(0, iLen) === sStart){\r\n aAdvSyncP.push(this._aAdvSyncPropCache[i]);\r\n \r\n // Remove from cache\r\n this._aAdvSyncPropCache.splice(i, 1);\r\n i--;\r\n }\r\n }\r\n},\r\n\r\n\r\n// - - - - - - - Positioning and styling - - - - - - - - \r\n\r\n\r\n\r\nset_psTheme : function(sVal){\r\n if(this.psTheme !== sVal){\r\n // Remove the old theme from the body element\r\n if(document.body){\r\n df.dom.removeClass(document.body, this.psTheme);\r\n }\r\n \r\n this.psTheme = sVal;\r\n this.updateCSS(true);\r\n }\r\n},\r\n\r\n/* \r\nSetter for pbResponsive which will activate or deactivate the responsive system. It forwards this \r\ncall to the separate mode controller object.\r\n\r\n@param bVal The new value.\r\n@private\r\n*/\r\nset_pbResponsive : function(bVal){\r\n if(this._oModeControl){\r\n if(bVal){\r\n this._oModeControl.activate();\r\n }else{\r\n this._oModeControl.deactivate();\r\n }\r\n }\r\n},\r\n\r\n/* \r\nSetter for the view alignment. The view is aligned during the resize process so just sending a \r\nresize should do the job after the property is updated.\r\n\r\n@param iVal The new value.\r\n */\r\nset_peAlignView : function(iVal){\r\n this.peAlignView = iVal;\r\n\r\n this.sizeChanged();\r\n},\r\n\r\nupdateCSS : function(bResize){\r\n var aStyles, i, eHead, that = this, sV, sTheme = this.psTheme.trim();\r\n \r\n \r\n if(!this._eStyleSystem || !this._eStyleTheme || !this._eStyleApplication){\r\n // Determine version GET parameter\r\n sV = \"?v=\" + df.psVersionId;\r\n if(typeof(sDfBuildNr) === \"string\" && sDfBuildNr){ // Add a custom string to the version GET parameter of the URL\r\n sV += \".\" + sDfBuildNr;\r\n }\r\n \r\n // Get references to existing CSS elements\r\n aStyles = df.dom.query(document, \"link\", true);\r\n for(i = 0; i < aStyles.length; i++){\r\n if(aStyles[i].href.indexOf(\"DfEngine/system.css\") > 0){\r\n this._eStyleSystem = aStyles[i];\r\n }\r\n if(aStyles[i].href.indexOf(\"CssThemes/\") > 0 && aStyles[i].href.indexOf(\"theme.css\") > 0){\r\n this._eStyleTheme = aStyles[i];\r\n }\r\n if(aStyles[i].href.indexOf(\"CssStyle/application.css\") > 0){\r\n this._eStyleApplication = aStyles[i];\r\n }\r\n }\r\n \r\n // Create system CSS include if needed\r\n if(!this._eStyleSystem){\r\n this._eStyleSystem = df.dom.createCSSElem(this._sRootPath + \"DfEngine/system.css\" + sV);\r\n \r\n eHead = document.head || document.getElementsByTagName(\"head\")[0];\r\n if(eHead.firstChild){\r\n eHead.insertBefore(this._eStyleSystem, eHead.firstChild);\r\n }else{\r\n eHead.appendChild(this._eStyleSystem);\r\n }\r\n }\r\n \r\n // Create theme CSS include if needed\r\n if(!this._eStyleTheme){\r\n this._eStyleTheme = df.dom.createCSSElem(this._sRootPath + \"CssThemes/\" + sTheme + \"/theme.css\" + sV);\r\n df.dom.insertAfter(this._eStyleTheme, this._eStyleSystem);\r\n // document.body.appendChild(this._eStyleTheme);\r\n }\r\n \r\n // Create application CSS include if needed\r\n if(!this._eStyleApplication){\r\n this._eStyleApplication = df.dom.createCSSElem(this._sRootPath + \"CssStyle/application.css\" + sV);\r\n df.dom.insertAfter(this._eStyleApplication, this._eStyleTheme);\r\n }\r\n \r\n if(document.body){\r\n document.body.id = \"OWEBAPP\";\r\n }\r\n \r\n \r\n \r\n }\r\n \r\n // Set theme classname on the body element\r\n if(document.body){\r\n df.dom.addClass(document.body, this.psTheme);\r\n }\r\n \r\n // Update theme path if needed\r\n if(this._eStyleTheme.href.indexOf(this._sRootPath + \"CssThemes/\" + sTheme + \"/theme.css\") < 0){\r\n this._eStyleTheme.href = this._sRootPath + \"CssThemes/\" + sTheme + \"/theme.css\";\r\n }\r\n \r\n // Call resize method after 'CSS Test' has finished\r\n if(bResize){\r\n this.testCSS(function(){\r\n this.resize();\r\n \r\n setTimeout(function(){\r\n try{\r\n that.resize();\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n }, 200);\r\n });\r\n }\r\n},\r\n\r\n/*\r\nTests if the CSS is loaded by creating an element with df_load_test ID and waiting to see if it gets a \r\nsize. It uses an observer to respond as soon as possible but also check with a timer in case the observer \r\nsomehow does not work.\r\n\r\nIf no fFailed function is passed then fSuccess will always be called after a longer wait period. If fFailed \r\nis passed (in the designer it is) we'll call it after 500ms.\r\n*/\r\ntestCSS : function(fSuccess, fFailed){\r\n let oObserver, eTest, iCount = 0, bDone = false;\r\n \r\n eTest = df.dom.create('
');\r\n\r\n const checksize = () => {\r\n if(!bDone && eTest.clientHeight >= 1){\r\n oObserver.disconnect();\r\n eTest.parentNode.removeChild(eTest);\r\n \r\n bDone = true;\r\n fSuccess.call(this);\r\n }\r\n return bDone;\r\n };\r\n\r\n oObserver = new ResizeObserver((entries) => {\r\n checksize();\r\n });\r\n \r\n oObserver.observe(eTest);\r\n document.body.appendChild(eTest);\r\n \r\n const timer = () => {\r\n if(!checksize()){\r\n if(fFailed){\r\n fFailed.call(this);\r\n }else{\r\n if(iCount < 50){\r\n iCount++;\r\n setTimeout(timer, 50);\r\n }else{\r\n fSuccess.call(this);\r\n }\r\n }\r\n }\r\n }\r\n setTimeout(timer, 500);\r\n},\r\n\r\n/* \r\nHandles the resize event of the browser window. It triggers the layout systems to recalculate sizes \r\nand fires the OnResizeWindow and OnOrientationChange events to the server if needed. A small timeout \r\nis used to reduce the number of times this process is performed as browsers might throw the resize\r\nevent very often.\r\n\r\n@param oEvent Event object (see: df.events.DOMEvent)\r\n@private\r\n*/\r\nonWindowResize : function(oEvent){\r\n var that = this;\r\n \r\n if(this._tResizeTimeout){\r\n clearTimeout(this._tResizeTimeout);\r\n this._tResizeTimeout = null;\r\n }\r\n \r\n this._tResizeTimeout = setTimeout(function(){\r\n try{\r\n that._tResizeTimeout = null;\r\n that.resize();\r\n that.windowResize();\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n }, 50);\r\n // this.resize();\r\n \r\n // Manually trigger the orientationchange event for internet explorer\r\n if(this.piScreenHeight === screen.width && this.piScreenWidth === screen.height){\r\n if(df.sys.isIE){\r\n this.onOrientationChange(oEvent);\r\n }\r\n }\r\n},\r\n\r\n/* \r\nTriggers the OnResizeWindow event and notifies the views that they should trigger this event as \r\nwell.\r\n\r\n@private\r\n*/\r\nwindowResize : function(){\r\n var i;\r\n \r\n // Trigger OnResize events (on window and and views)\r\n this.fire(\"OnResizeWindow\", [ this.get_piWindowWidth(), this.get_piWindowHeight() ]);\r\n \r\n for(i = 0; i < this._aViews.length; i++){\r\n this._aViews[i].windowResize(this.get_piWindowWidth(), this.get_piWindowHeight());\r\n }\r\n},\r\n\r\nonScroll : function(oEvent){\r\n this.notifyScroll(this);\r\n},\r\n\r\nprepareSize : function(){\r\n var iRes = df.BaseApp.base.prepareSize.call(this);\r\n \r\n this._bStretch = this._bContainerStretch;\r\n \r\n return iRes;\r\n},\r\n\r\nresize : function(){\r\n var iMxVwH, i, oView;\r\n \r\n // Call standard resize procedures\r\n this.resizeHorizontal();\r\n this.resizeVertical();\r\n \r\n if(this.pbViewApp){\r\n // Determine viewport size\r\n if(this._eElem){\r\n iMxVwH = this._iMiddleHeight - df.sys.gui.getVertBoxDiff(this._eRegionCenter, 0);\r\n }\r\n \r\n for(i = 0; i < this._aViews.length; i++){\r\n oView = this._aViews[i];\r\n \r\n // Views can be rendered without the webapp, so then we use the _eRenderTo element.\r\n if(!this._eElem && oView._eRenderTo){\r\n iMxVwH = df.dom.clientHeight(oView._eRenderTo) - df.sys.gui.getVertBoxDiff(oView._eRenderTo, 2);\r\n }\r\n \r\n \r\n if(oView._bRendered){\r\n oView.viewResize(iMxVwH);\r\n }\r\n }\r\n }\r\n\r\n this.notifyPosChange(this);\r\n \r\n // df.timeStop(\"resize\", \"Finished resizing!\");\r\n // Turn off size change switch\r\n this._bSizeChanged = false;\r\n},\r\n\r\n\r\n\r\n/* \r\nCalled by WebBaseUIObject to notify that a resize is needed because of a size change within the \r\ncontrol or container. As this usually occurs from within setters it is not uncommon for this to \r\noccur multiple times the resize is not performed immediately but when the processing of the current \r\ncall is completed (using the _bSizeChanged switch). Another resize is performed after a small \r\ntimeout as there are still some unexplainable cases where a second resize causes a better result \r\nthan the first.\r\n\r\n@param oSrcWO The Web Object notifying the size change.\r\n@private\r\n*/\r\nobjSizeChanged : function(oSrcWO){\r\n var that = this;\r\n \r\n this._bSizeChanged = true;\r\n \r\n if(!this._tResizeTimer){\r\n that._tResizeTimer = setTimeout(function(){\r\n try{\r\n that.resize();\r\n that._tResizeTimer = null;\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n }, 30);\r\n }\r\n},\r\n\r\n/* \r\nThis method is called from the server when a resize needs to be forced somehow. It uses the \r\nsizeChanged method which will force a resize after processing the call is finished and sets a timer \r\nfor a delayed resize.\r\n\r\n@client-action\r\n*/\r\nforceResize : function(){\r\n var that = this;\r\n \r\n this.sizeChanged(true);\r\n \r\n setTimeout(function(){\r\n that.sizeChanged(true);\r\n }, 60);\r\n},\r\n\r\n/* \r\nHandles the browsers OrientationChange event and triggers the server event. Note that for Internet \r\nExplorer this method is called manually.\r\n\r\n@param oEvent Event object (see: df.events.DOMEvent)\r\n@private\r\n*/\r\nonOrientationChange : function(oEvent){\r\n var iOrientation;\r\n \r\n // Update screen dimensions (these most likely changed!)\r\n this.piScreenHeight = screen.height;\r\n this.piScreenWidth = screen.width;\r\n \r\n // Determine orientation (use own logic if DOM doesn't provide)\r\n if(typeof window.orientation === \"number\"){\r\n iOrientation = window.orientation;\r\n }else{\r\n iOrientation = (screen.height > screen.width ? 90 : 0);\r\n }\r\n \r\n // Fire event to the server\r\n this.fire(\"OnOrientationChange\", [ iOrientation ]);\r\n \r\n},\r\n\r\n\r\n// - - - - - - - Generic framework functions - - - - - - - - \r\n\r\n/*\r\nThis method shows an info box with a message and a title. It tempolary uses the alert but will use \r\nthe WebModalDialog later.\r\n\r\n@param sMessage The message to display.\r\n@param sCaption Text displayed in the title bar.\r\n\r\n@client-action\r\n*/\r\nshowInfoBox : function(sMessage, sCaption){\r\n function showInfo(tDetails){\r\n var that = this, oDialog, oLabel, oCloseBtn, oContentPnl, oButtonPnl, iWindowWidth = this.get_piWindowWidth();\r\n \r\n oDialog = new df.WebModalDialog(null, this);\r\n oDialog.psCaption = sCaption;\r\n oDialog.piMinWidth = (iWindowWidth > 420 ? 400 : iWindowWidth - 20);\r\n oDialog.piMinHeight = 80; // 150;\r\n oDialog.psCSSClass = \"WebMsgBox WebMsgBoxInfo\";\r\n oDialog.pbScroll = true;\r\n\r\n const iViewArrayPos = this._aViews.length;\r\n that._aViews.push(oDialog);\r\n \r\n oDialog.OnSubmit.addListener(function(oEvent){\r\n oDialog.hide();\r\n }, this);\r\n \r\n oDialog.OnHide.addListener(function(oEvent){\r\n tDetails.bFinished = true;\r\n setTimeout(function(){\r\n try{\r\n that.processModal();\r\n oDialog.destroy();\r\n that._aViews.splice(iViewArrayPos, 1);\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n \r\n }, 20);\r\n }, this);\r\n \r\n oContentPnl = new df.WebPanel(null, oDialog);\r\n oContentPnl.peRegion = df.ciRegionCenter;\r\n\r\n oDialog.addChild(oContentPnl);\r\n \r\n oLabel = new df.WebLabel(null, oDialog);\r\n oLabel.psCaption = sMessage;\r\n oLabel.psCSSClass = \"WebMsgBox_Text\";\r\n oContentPnl.addChild(oLabel);\r\n \r\n oButtonPnl = new df.WebPanel(null, oDialog);\r\n oButtonPnl.peRegion = df.ciRegionBottom;\r\n oButtonPnl.piColumnCount = 3;\r\n oButtonPnl.psCSSClass = \"WebMsgBoxOneBtn\";\r\n \r\n oDialog.addChild(oButtonPnl);\r\n \r\n oCloseBtn = new df.WebButton(null, oDialog);\r\n oCloseBtn.psCaption = this.getTrans(\"ok\");\r\n oCloseBtn.piColumnIndex = 2;\r\n oCloseBtn.pbShowLabel = false;\r\n oCloseBtn.OnClick.addListener(function(oEvent){\r\n oDialog.hide();\r\n }, this);\r\n oButtonPnl.addChild(oCloseBtn);\r\n \r\n \r\n oDialog.show();\r\n \r\n this.ready(function(){\r\n oDialog.resize();\r\n oCloseBtn.focus();\r\n });\r\n }\r\n \r\n this._aModalQueue.push({\r\n fFunc : showInfo,\r\n bFinished : false,\r\n bDisplayed : false\r\n });\r\n \r\n this.processModal();\r\n},\r\n\r\n/*\r\nThis method shows a message box with a message, title and a set of buttons. After a button is \r\nclicked it will fire a server action to the provided object & message to handle the response. It \r\nreceives the message, title and list of buttons from the server. Note that the message box will be \r\nqueued in the alert queue so it will wait for other alerts to be closed before displaying. \r\n\r\n@param sMessage The message to display.\r\n@param sCaption Text displayed in the title bar.\r\n\r\n@client-action\r\n*/\r\nshowMessageBox : function(sReturnObj, sReturnMsg, sMessage, sCaption, sLabelCSSClass, iDefaultButton){\r\n var oReturnObj, aButtons;\r\n \r\n // Search for return object\r\n oReturnObj = this.findObj(sReturnObj);\r\n if(!oReturnObj){\r\n throw new df.Error(999, \"Return WebObject not found '{{0}}'\", this, [ sReturnObj ]);\r\n }\r\n \r\n // Get reference to action data specifying the buttons\r\n aButtons = this._tActionData;\r\n if(!aButtons){\r\n throw new df.Error(999, \"No buttons specified\", this);\r\n }\r\n \r\n // Call the real message box function\r\n this.showMsgBox(sMessage, sCaption, sLabelCSSClass, aButtons, iDefaultButton, function(iBtn, oDialog){\r\n // Make sure that the action mode for there return call is at least mode wait\r\n if(oReturnObj.getActionMode(sReturnMsg) < df.cCallModeWait){\r\n oReturnObj.setActionMode(sReturnMsg, df.cCallModeWait);\r\n }\r\n \r\n // Call the return message\r\n oReturnObj.serverAction(sReturnMsg, [ iBtn ], null, function(){ \r\n oDialog.hide();\r\n });\r\n });\r\n},\r\n\r\nshowMsgBox : function(sMessage, sCaption, sLabelCSSClass, aButtons, iDefaultButton, fHandler){\r\n \r\n \r\n\r\n function showInfo(tDetails){\r\n var that = this, oDialog, oLabel, oBtn, oContentPnl, oButtonPnl, i, oDefaultBtn = null, iWindowWidth = this.get_piWindowWidth();\r\n \r\n // Create dialog with panel\r\n oDialog = new df.WebModalDialog(null, this);\r\n oDialog.psCaption = sCaption;\r\n oDialog.piMinWidth = (iWindowWidth > 500 ? 480 : iWindowWidth - 20);\r\n oDialog.piMinHeight = 100; // 150;\r\n oDialog.pbShowClose = false;\r\n oDialog.psCSSClass = (\"WebMsgBox \" + sLabelCSSClass);\r\n oDialog.pbScroll = true;\r\n \r\n const iViewArrayPos = this._aViews.length;\r\n that._aViews.push(oDialog);\r\n \r\n oDialog.OnHide.addListener(function(oEvent){\r\n tDetails.bFinished = true;\r\n setTimeout(function(){\r\n try{\r\n that.processModal();\r\n oDialog.destroy();\r\n that._aViews.splice(iViewArrayPos, 1);\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n \r\n }, 20);\r\n \r\n }, this);\r\n \r\n // Create content panel with message\r\n oContentPnl = new df.WebPanel(null, oDialog);\r\n oContentPnl.peRegion = df.ciRegionCenter;\r\n\r\n oDialog.addChild(oContentPnl);\r\n \r\n oLabel = new df.WebLabel(null, oDialog);\r\n oLabel.psCaption = sMessage;\r\n oLabel.psCSSClass = \"WebMsgBox_Text\";\r\n oContentPnl.addChild(oLabel);\r\n \r\n // Create button panel\r\n oButtonPnl = new df.WebPanel(null, oDialog);\r\n oButtonPnl.peRegion = df.ciRegionBottom;\r\n oButtonPnl.piColumnCount = (aButtons.length * 2) + 2;\r\n \r\n // Mobile Adjustments....\r\n if (df.sys.isMobile) {\r\n if (aButtons.length === 2) {\r\n // if two buttons let them occupy the entire width of the panel\r\n oButtonPnl.piColumnCount = (aButtons.length * 2);\r\n } \r\n else if (aButtons.length > 2) {\r\n oButtonPnl.piColumnCount = 1;\r\n }\r\n }\r\n \r\n // Set the panel's CSS class if there is only one button\r\n if (aButtons.length === 1) {\r\n oButtonPnl.psCSSClass = \"WebMsgBoxOneBtn\";\r\n }else if(aButtons.length === 2){\r\n oButtonPnl.psCSSClass = \"WebMsgBoxTwoButtons\";\r\n }else{\r\n oButtonPnl.psCSSClass = \"WebMsgBoxButtons\";\r\n }\r\n \r\n oDialog.addChild(oButtonPnl);\r\n \r\n // Handler executed when a button is clicked\r\n function handleBtnClick(oEvent){\r\n fHandler.call(this, oEvent.oSource._iConfirmId, oDialog);\r\n }\r\n \r\n // Generate buttons\r\n iDefaultButton = parseInt(iDefaultButton, 10);\r\n \r\n for(i = 0; i < aButtons.length; i++){\r\n oBtn = new df.WebButton(null, oDialog);\r\n oBtn.psCaption = aButtons[i];\r\n oBtn.piColumnIndex = ((i * 2) + 1);\r\n oBtn.piColumnSpan = 2;\r\n oBtn.pbShowLabel = false;\r\n oBtn._iConfirmId = (i + 1);\r\n oBtn.OnClick.addListener(handleBtnClick);\r\n \r\n // Handle Mobile Adjustments....\r\n if (df.sys.isMobile) {\r\n if (aButtons.length === 2) {\r\n // if two buttons let them occupy the entire width of the panel\r\n oBtn.piColumnIndex = (i * 2);\r\n } \r\n else if (aButtons.length > 2) {\r\n oBtn.piColumnIndex = 0;\r\n oBtn.piColumnSpan = 0;\r\n }\r\n }\r\n else {\r\n if (i === 0) {\r\n oBtn.psCSSClass = \"WebMsgBoxFirstBtn\";\r\n }\r\n else if (i === (aButtons.length-1)) {\r\n oBtn.psCSSClass = \"WebMsgBoxLastBtn\";\r\n }\r\n }\r\n\r\n oButtonPnl.addChild(oBtn);\r\n \r\n if(oBtn._iConfirmId === iDefaultButton){\r\n oDefaultBtn = oBtn;\r\n }\r\n }\r\n \r\n oDialog.show();\r\n \r\n // Resize and give focus when application is ready\r\n this.ready(function(){\r\n oDialog.resize();\r\n if(oDefaultBtn){\r\n oDefaultBtn.focus();\r\n }\r\n });\r\n \r\n }\r\n \r\n this._aModalQueue.push({\r\n fFunc : showInfo,\r\n bFinished : false,\r\n bDisplayed : false\r\n });\r\n \r\n this.processModal();\r\n},\r\n\r\n/* \r\nEasy API for showing a WAF Yes No confirmation. It still is asynchronous and the passed handler \r\nwill be called when finished.\r\n\r\n@code\r\noWebApp.showYesNo(\"Sure?\", function(bYes){\r\n alert(bYes);\r\n}, this);\r\n@code\r\n\r\n@param sMessage Message shown.\r\n@param fHandler Handler message handling the response (get boolean parameter indicating yes or no).\r\n@param oOptEnv (optional) Environment object for handler function.\r\n*/\r\nshowYesNo : function(sMessage, fHandler, oOptEnv){\r\n this.showMsgBox(sMessage, this.getTrans(\"confirm\"), \"WebMsgBoxConfirm\", [ this.getTrans(\"yes\"), this.getTrans(\"no\")], 0, function(iBtn, oDialog){\r\n try{\r\n if(fHandler){\r\n fHandler.call(oOptEnv || this, (iBtn === 1));\r\n }\r\n }catch(oErr){\r\n this.handleError(oErr);\r\n }\r\n oDialog.hide();\r\n });\r\n},\r\n\r\n/*\r\nThis method will process the next item in the modal queue. It starts by removing dialogs marked as \r\nfinished from the queue. Then it will display the next dialog in the queue (if there is one and it \r\nisn't already displayed). The modal queue contains dialogs that need to be displayed modally. We \r\ndon't want to display them on top of each other and since they are not really modal we will have to \r\nqueue them. In practice the queue contains methods that will display the dialog.\r\n*/\r\nprocessModal : function(){\r\n if(this._aModalQueue.length > 0){\r\n // Clear finished alerts from the queue\r\n while(this._aModalQueue[0] && this._aModalQueue[0].bFinished){\r\n this._aModalQueue.shift();\r\n }\r\n \r\n // Display next (if needed)\r\n if(this._aModalQueue.length > 0 && !this._aModalQueue[0].bDisplayed){\r\n this._aModalQueue[0].bDisplayed = true;\r\n this._aModalQueue[0].fFunc.call(this, this._aModalQueue[0]);\r\n }\r\n }\r\n},\r\n\r\n/* \r\nUsed to queue an action in the modal queue. Note that this action won't be blocking the modal queue \r\nonce it is finished. Examples of usage are showView, navigateToPage, navigateRefresh and \r\nnavigateOpenWindow.\r\n\r\n@param fFunc Function that executes the action.\r\n@param oEnv Environment used to execute the function (this).\r\n@private\r\n*/\r\nqueueModal : function(fFunc, oEnv){\r\n this._aModalQueue.push({\r\n fFunc : function(tDetails){\r\n fFunc.call(oEnv || null);\r\n \r\n // We don't want to hold up other dialogs in the queue\r\n tDetails.bFinished = true;\r\n this.processModal();\r\n },\r\n bFinished : false,\r\n bDisplayed : false\r\n });\r\n \r\n this.processModal();\r\n},\r\n\r\n/*\r\nThis method writes text to the console of JavaScript debuggers. This can be used for debugging \r\npurposes. A singleton method df.log is used to do this which adds timing and checks if the console \r\nis available. \r\n\r\n@param sText String with text to show on the console.\r\n@client-action\r\n*/\r\nlog : function(sText){\r\n df.log(sText);\r\n},\r\n\r\n/*\r\nThis method determines the translation based on a label.\r\n\r\n@param sLbl The label of the translation.\r\n@param bOptNull If true then null is returned if the translation is not found, else it returns\r\n the label wrapped by {{ ... }}.\r\n@return The translation.\r\n@private\r\n*/\r\ngetTrans : function(sLbl, bOptNull){\r\n if(this._oTranslations[sLbl]){\r\n return this._oTranslations[sLbl];\r\n }\r\n if(bOptNull){\r\n return null;\r\n }\r\n return \"{{\" + sLbl + \"}}\";\r\n},\r\n\r\n/*\r\nOverride because the webapp object is referred to as \"\".\r\n*/\r\ngetLongName : function(){\r\n return \"\";\r\n},\r\n\r\n/*\r\nOverride as the webapp object name is not part of the long name.\r\n@private\r\n*/\r\ngetLongNamePrnt : function(){\r\n return \"\";\r\n},\r\n\r\n/*\r\nInitializes the translation system. The translations are delivered as name value pairs and we store \r\nthem as object properties for quick access. Translations for dates are stored globally because they \r\nare also accessed by some of the global date formatting functions in the system library.\r\n\r\n@client-action\r\n@private\r\n*/\r\ninitTranslations : function(){\r\n this.initTrans(this._tActionData);\r\n},\r\n\r\n/* \r\nInitializes the translation system based on the array of translations.\r\n\r\n@param aTrans Array of translations [{ sN : \"label\", sV : \"translation\" }].\r\n@private\r\n*/\r\ninitTrans : function(aTrans){\r\n var i;\r\n // Store tanslations in quick access object\r\n for(i = 0; i < aTrans.length; i++){\r\n this._oTranslations[aTrans[i].sN] = aTrans[i].sV;\r\n }\r\n \r\n // We store the dates globally\r\n df.lang = {\r\n monthsLong : [\r\n this.getTrans(\"january\"),\r\n this.getTrans(\"february\"),\r\n this.getTrans(\"march\"),\r\n this.getTrans(\"april\"),\r\n this.getTrans(\"may\"),\r\n this.getTrans(\"june\"),\r\n this.getTrans(\"july\"),\r\n this.getTrans(\"august\"),\r\n this.getTrans(\"september\"),\r\n this.getTrans(\"october\"),\r\n this.getTrans(\"november\"),\r\n this.getTrans(\"december\")\r\n ],\r\n monthsShort : [\r\n this.getTrans(\"jan\"),\r\n this.getTrans(\"feb\"),\r\n this.getTrans(\"mar\"),\r\n this.getTrans(\"apr\"),\r\n this.getTrans(\"mayShort\"),\r\n this.getTrans(\"jun\"),\r\n this.getTrans(\"jul\"),\r\n this.getTrans(\"aug\"),\r\n this.getTrans(\"sep\"),\r\n this.getTrans(\"oct\"),\r\n this.getTrans(\"nov\"),\r\n this.getTrans(\"dec\")\r\n ],\r\n daysShort : [\r\n this.getTrans(\"sun\"),\r\n this.getTrans(\"mon\"),\r\n this.getTrans(\"tue\"),\r\n this.getTrans(\"wed\"),\r\n this.getTrans(\"thu\"),\r\n this.getTrans(\"fri\"),\r\n this.getTrans(\"sat\")\r\n ],\r\n daysLong : [\r\n this.getTrans(\"sunday\"),\r\n this.getTrans(\"monday\"),\r\n this.getTrans(\"tuesday\"),\r\n this.getTrans(\"wednesday\"),\r\n this.getTrans(\"thursday\"),\r\n this.getTrans(\"friday\"),\r\n this.getTrans(\"saturday\")\r\n ]\r\n };\r\n},\r\n\r\n// - - - - - - - Error handling - - - - - - - - \r\n\r\nshowError : function(iErrNum, iErrLine, sErrText, sCaption, bUserError){\r\n // Create error object and call default handler function\r\n this.handleError(new df.Error(\r\n df.toInt(iErrNum), \r\n sErrText,\r\n this, \r\n null,\r\n null,\r\n true,\r\n df.toBool(bUserError), \r\n sCaption,\r\n null,\r\n df.toInt(iErrLine)\r\n ));\r\n},\r\n\r\n\r\n/*\r\ndf.Error = function Error(iNumber, sText, bOptUsr, oOptSource, oOptTarget, bOptSrv){\r\n this.iNumber = iNumber;\r\n this.sText = sText;\r\n this.bUserError = !!bOptUsr;\r\n this.oSource = oOptSource || null;\r\n this.oTarget = oOptTarget || null;\r\n this.bServer = !!bOptSrv;\r\n this.iLine = iOptLine;\r\n this.sDetailHtml = sOptDetailHtml || null;\r\n}\r\n*/\r\n\r\n/*\r\nHandles a single error and displays it in a modal dialog unless it is a JavaScript error which it \r\nleaves to the JavaScript debuggers. The modal queue is used to make sure that we don't display \r\ndialogs on top of each other.\r\n\r\n@param oError The error object.\r\n*/\r\nhandleError : function(oError){\r\n function displayError(tDetails){\r\n var that = this, oLabel, oDialog, oCloseBtn, oContentPnl, oButtonPnl, aDetails = [], oDetailsBox, sCaption, iWindowWidth = this.get_piWindowWidth();\r\n \r\n // Determine title\r\n if(!oError.bServer){\r\n sCaption = oError.sCaption || this.getTrans(\"error_title_client\", true) || \"Unhandled Program Error on the client\";\r\n }else{\r\n sCaption = oError.sCaption || this.getTrans(\"error_title_server\");\r\n }\r\n \r\n \r\n // Create dialog\r\n oDialog = new df.WebModalDialog(null, this);\r\n oDialog.psCaption = sCaption;\r\n oDialog.piMinWidth = (iWindowWidth > 520 ? 500 : iWindowWidth - 20);\r\n oDialog.piMinHeight = (oError.bUserError ? 80 : 180); // (oError.bUserError ? 150 : 240);\r\n oDialog.psCSSClass = (oError.bUserError ? \"WebMsgBox WebMsgBoxWarning\" : \"WebMsgBox WebMsgBoxError\");\r\n\r\n const iViewArrayPos = this._aViews.length;\r\n that._aViews.push(oDialog);\r\n \r\n oDialog.OnSubmit.addListener(function(oEvent){\r\n try{\r\n oDialog.hide();\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n }, this);\r\n \r\n oDialog.OnHide.addListener(function(oEvent){\r\n tDetails.bFinished = true;\r\n setTimeout(function(){\r\n try{\r\n that.processModal();\r\n oDialog.destroy();\r\n that._aViews.splice(iViewArrayPos, 1);\r\n }catch(oErr){\r\n that.handleError(oErr);\r\n }\r\n \r\n }, 20);\r\n }, this);\r\n \r\n oContentPnl = new df.WebPanel(null, oDialog);\r\n oContentPnl.peRegion = df.ciRegionCenter;\r\n\r\n oDialog.addChild(oContentPnl);\r\n \r\n // Create label\r\n oLabel = new df.WebLabel(null, oContentPnl);\r\n oLabel.psCaption = oError.sText;\r\n oLabel.psCSSClass = \"WebMsgBox_Text\";\r\n oContentPnl.addChild(oLabel);\r\n \r\n // Create error details\r\n if(!oError.bUserError){\r\n oLabel = new df.WebLabel(null, oContentPnl);\r\n aDetails.push('Error: ', oError.iNumber);\r\n \r\n if(oError.bServer){\r\n if(oError.iLine){\r\n aDetails.push('\\nLine:', oError.iLine);\r\n }\r\n }else{\r\n if(oError.oSource){\r\n if(oError.oSource instanceof df.WebObject){\r\n aDetails.push('\\nObject:', oError.oSource.getLongName());\r\n }\r\n }\r\n } \r\n oLabel.psCaption = aDetails.join(\"\");\r\n oContentPnl.addChild(oLabel);\r\n \r\n // Add details field\r\n if(oError.sDetailHtml){\r\n oDialog.piMinHeight = 300;\r\n oDialog.piHeight = 400;\r\n \r\n if(oError.sDetailHtml.match(/|/gi)){\r\n oDetailsBox = new df.WebIFrame(null, oContentPnl);\r\n oDetailsBox.pbFillHeight = true;\r\n oDetailsBox.pbShowLabel = false;\r\n oDetailsBox.psCSSClass = \"WebErrorDetails\"; \r\n oDetailsBox.setHtmlContent(oError.sDetailHtml);\r\n oContentPnl.addChild(oDetailsBox);\r\n }else{\r\n oDetailsBox = new df.WebHtmlBox(null, oContentPnl);\r\n oDetailsBox.pbFillHeight = true;\r\n oDetailsBox.pbShowBox = true;\r\n oDetailsBox.pbScroll = true;\r\n oDetailsBox.pbShowLabel = false;\r\n oDetailsBox.psCSSClass = \"WebErrorDetails\"; \r\n oDetailsBox.psHtml = oError.sDetailHtml;\r\n \r\n oContentPnl.addChild(oDetailsBox);\r\n }\r\n }\r\n }\r\n \r\n \r\n // Create buttons\r\n oButtonPnl = new df.WebPanel(null, oDialog);\r\n oButtonPnl.peRegion = df.ciRegionBottom;\r\n oButtonPnl.piColumnCount = 3;\r\n oButtonPnl.psCSSClass = \"WebMsgBoxOneBtn\";\r\n \r\n oDialog.addChild(oButtonPnl);\r\n \r\n oCloseBtn = new df.WebButton(null, oDialog);\r\n oCloseBtn.psCaption = this.getTrans(\"ok\", true) || \"OK\";\r\n oCloseBtn.piColumnIndex = 2;\r\n oCloseBtn.pbShowLabel = false;\r\n oCloseBtn.OnClick.addListener(function(oEvent){\r\n oDialog.hide();\r\n }, this);\r\n oButtonPnl.addChild(oCloseBtn);\r\n \r\n \r\n oDialog.show();\r\n this.ready(function(){\r\n oDialog.resize();\r\n oCloseBtn.focus();\r\n });\r\n \r\n }\r\n\r\n // We only handle our own errors, we throw the others \r\n if(oError instanceof df.Error){\r\n \r\n // Fire user event for custom display\r\n if(this.OnError.fire(this, { oError : oError })){\r\n // See if the object has custom error handling (usually DEO's)\r\n if(oError.oTarget && oError.oTarget.displayError && oError.oTarget.pbRender && oError.oTarget.pbVisible){\r\n oError.oTarget.displayError(oError.iNumber, oError.sText);\r\n }else{\r\n // Queue a special alert\r\n this._aModalQueue.push({\r\n fFunc : displayError,\r\n bFinished : false,\r\n bDisplayed : false\r\n });\r\n this.processModal();\r\n } \r\n }\r\n }else{\r\n throw oError;\r\n }\r\n},\r\n\r\n\r\n// - - - - - - - Generic web functionallity - - - - - - - - \r\n\r\n/* \r\nUpdates the title of the page.\r\n\r\n@param sTitle The new title for the page.\r\n@client-action\r\n*/\r\nsetPageTitle : function(sTitle){\r\n document.title = sTitle;\r\n},\r\n\r\n/*\r\nLets the browser navigate to a different page. The mode determines if the page is opened in a new \r\nwindow / new tab or the current window.\r\n\r\n@param sUrl The URL to open.\r\n@param eMode The mode to upen the URL (df.ciOpenNewWindow, df.ciOpenNewTab or \r\n df.ciOpenCurrentWindow).\r\n\r\n@client-action\r\n*/\r\nnavigateToPage : function(sUrl, eMode){\r\n this.queueModal(function(){\r\n eMode = parseInt(eMode, 10); // Convert from string\r\n\r\n if(eMode === df.ciOpenSameWindow){\r\n window.location.href = sUrl;\r\n }else{\r\n if(eMode === df.ciOpenNewWindow){\r\n window.open(sUrl, '_blank_' + df.dom.piDomCounter++, 'width=700, height=500, resizable=yes');\r\n }else{ // df.ciOpenNewTab\r\n window.open(sUrl, '_blank');// + df.dom.piDomCounter++);\r\n }\r\n }\r\n }, this);\r\n},\r\n\r\n/*\r\nOpens a new window that will load the specified URL. Note that popup blockers might block this new window.\r\n\r\n@param sUrl The URL to open.\r\n@param iWidth The width of the window in pixels.\r\n@param iHeight The height of the window in pixels.\r\n\r\n@client-action\r\n*/\r\nnavigateNewWindow : function(sUrl, iWidth, iHeight){\r\n this.queueModal(function(){\r\n window.open(sUrl, '_blank_' + df.dom.piDomCounter++, 'width=' + iWidth + ', height=' + iHeight + ', resizable=yes, location=yes');\r\n });\r\n},\r\n\r\n/*\r\nReloads the current page. This is usually done after a logout.\r\n\r\n@client-action\r\n*/\r\nnavigateRefresh : function(){\r\n this.queueModal(function(){\r\n window.location.reload();\r\n });\r\n},\r\n\r\n/* \r\nPushes an item to the history stack (HTML5 history management). If action data is available it will \r\nbe added as extra data.\r\n\r\n@param sUrl The new current URL.\r\n@param sTitle The new page title.\r\n@client-action \r\n*/\r\nhistoryPushState : function(sUrl, sTitle){\r\n var state = { df : true, vt : this._tActionData };\r\n \r\n if(history && history.pushState){\r\n history.pushState(state, (sTitle || null), (sUrl || null));\r\n }\r\n},\r\n\r\n/* \r\nReplaces the current item on the history stack (HTML5 history management). If action data is \r\navailable it will be added as extra data.\r\n\r\n@param sUrl The new current URL.\r\n@param sTitle The new page title.\r\n@client-action \r\n*/\r\nhistoryReplaceState : function(sUrl, sTitle){\r\n var state = { df : true, vt : this._tActionData };\r\n \r\n if(history && history.replaceState){\r\n history.replaceState(state, (sTitle || null), (sUrl || null));\r\n }\r\n},\r\n\r\n/* \r\nHandles the browser popstate event and triggers the HistoryPopState server action passing on the \r\ndetails. If an extra information object is attached to the event and it appears to be a valuetree \r\nthen it will pass that as well.\r\n\r\n@param oEvent DOM Event\r\n@private\r\n*/\r\nonPopState : function(oEvent){\r\n var state = oEvent.e.state, vt = null;\r\n \r\n if(state && state.df){\r\n if(state.vt && typeof state.vt.v !== \"undefined\" && state.vt.c){\r\n vt = state.vt;\r\n }\r\n } \r\n this.serverAction(\"HistoryPopState\", [ document.title, document.location.href ], vt);\r\n \r\n oEvent.stop();\r\n},\r\n\r\n/* \r\nHandles the browser OnHashChange event and triggers the LocationHashChange event. Note that if a \r\nHistoryPopState just occurred it will be canceled to prevent duplicate reaction.\r\n\r\n@param oEvent DOM Event\r\n@private\r\n*/\r\nonHashChange : function(oEvent){\r\n // Only send hashchange if this isn't a popstate\r\n this.cancelServerAction(\"HistoryPopState\");\r\n this.serverAction(\"LocationHashChange\", [ document.location.hash ]);\r\n},\r\n\r\n\r\n/* \r\nGetter function that reads the current window width.\r\n\r\n@return The current window width in (virtual) pixels.\r\n */\r\nget_piWindowWidth : function(){\r\n return df.dom.windowWidth();\r\n},\r\n\r\n/* \r\nGetter function that reads the current window height.\r\n\r\n@return The current window height in (virtual) pixels.\r\n */\r\nget_piWindowHeight : function(){\r\n return df.dom.windowHeight();\r\n},\r\n\r\n/* \r\nGetter function that reads the current mode directly of the mode controller.\r\n\r\n@return Current mode in which we are running.\r\n*/\r\nget_peMode : function(){\r\n if(this._oModeControl){\r\n return this._oModeControl.peMode;\r\n }\r\n},\r\n\r\n/* \r\nGetter function that reads the result of the device detection isMobile check.\r\n\r\n@return True if this device is detected as a mobile device.\r\n*/\r\nget_pbIsMobile : function(){\r\n return df.sys.isMobile;\r\n},\r\n\r\n/*\r\nGetter function that returns the current location hash (part of the URL behing the hash bang #).\r\n\r\n@return Location hash like \"Dashboard/Order-1231\"\r\n*/\r\nget_psLocationHash : function(){\r\n return window.location.hash;\r\n},\r\n\r\n/*\r\nGetter function that determines the current timezone offset in minutes.\r\n\r\n@return Time zone offset in minutes (-120 for UTC+2).\r\n*/\r\nget_piBrowserTimezoneOffset : function(){\r\n return new Date().getTimezoneOffset();\r\n},\r\n\r\n/*\r\nGetter function that reads the browser language.\r\n\r\n@return Browser language string (\"en-US\" or \"nl\" or ..).\r\n*/\r\nget_pasBrowserLanguages : (function(){\r\n var vt = df.sys.vt.serialize(navigator.languages || (navigator.language && [navigator.language]) || [ \"en-US\" ]);\r\n\r\n return function(){ return vt; };\r\n}()),\r\n\r\n/*\r\nReturns the 'top layer' element. This is the insertion point for controls like floating panels. \r\nUsually this will return document.body, unless a control is located inside a modal dialog.\r\n*/\r\ntopLayer : function(){\r\n return document.body;\r\n}\r\n\r\n});","/*\r\nName:\r\n df\r\nType:\r\n Namespace\r\n\r\nRevisions:\r\n 2007/12/14 Created the initial structure and the first edition of dynamic\r\n library loading using the df.require method. (HW, DAE)\r\n \r\n 2008/03/19 Removed dynamic library loading. (HW, DAE)\r\n \r\n 2011/06/28 Refactored for usage in the new Visual DataFlex 17.1 Web Framework (HW, DAW)\r\n \r\n 2013/03/04 Renamed from vdf to df in preparation of the upcoming name change and to allow the \r\n 17.1 framework to run side by side with the AJAX Library. (HW, DAW)\r\n*/\r\n/* global bDfDebug */\r\n\r\n/* \r\nThis is the main namespace where the entire JavaScript engine of the web application framework \r\nresides under. It is the only global object of the framework itself other than any application \r\nobjects that may be created. It contains classes, other namespaces and constants.\r\n*/\r\n\r\n\r\nconst versionInfo = window.df\r\n\r\nvar df = {\r\n\r\n// GLOBALS\r\n/*\r\nString containing the actual version number of the library. The df-include.js places it in the \r\ntemporary df object.\r\n*/\r\npsVersionId : ((versionInfo && versionInfo.psVersionId) || \"\"),\r\n\r\n/* \r\nNumber containing the DataFlex revision (Major and Minor like 18.2). This can be used for hot \r\nfixes to make sure that they do not override the actual fix.\r\n*/\r\npnDataFlexVersion : (function(){\r\n var aV;\r\n \r\n if(versionInfo && versionInfo.psVersionId){\r\n aV = versionInfo.psVersionId.split(\".\");\r\n if(aV.length > 1){\r\n return parseFloat(aV[0] + \".\" + aV[1]);\r\n }else{\r\n return 0.0;\r\n }\r\n }\r\n}()),\r\n\r\n// CONSTANTS\r\n\r\n// piDataType (df.WebBaseDEO)\r\nciTypeText : 0,\r\nciTypeBCD : 1,\r\nciTypeDate : 2,\r\nciTypeDateTime : 3,\r\nciTypeTime : 4,\r\n\r\n// peRegion (df.WebPanel)\r\nciRegionCenter : 0,\r\nciRegionLeft : 1,\r\nciRegionRight : 2,\r\nciRegionTop : 3,\r\nciRegionBottom : 4,\r\n\r\n// peLabelAlign (df.WebControl)\r\nciLabelLeft : 0,\r\nciLabelTop : 1,\r\nciLabelRight : 2,\r\nciLabelFloat : 3,\r\n\r\n// peAlign (df.WebLabel, df.WebBaseDEO)\r\nciAlignLeft : 0,\r\nciAlignCenter : 1,\r\nciAlignRight : 2,\r\n\r\n// Server communication (df.WebList)\r\nciDirGT : 0,\r\nciDirLT : 1,\r\n\r\n// Modes for opening a new page (df.WebApp:navigateToPage)\r\nciOpenSameWindow : 0,\r\nciOpenNewTab : 1,\r\nciOpenNewWindow : 2,\r\n\r\n// pePosition of cWebImage\r\ncwiActual : 0,\r\ncwiStretch : 1,\r\ncwiStretchHoriz : 2,\r\ncwiCenter : 3,\r\ncwiFit : 4,\r\ncwiCover : 5,\r\n\r\n// peSortItems of cWebCombo\r\ncsUnsorted : 0,\r\ncsDescription : 1,\r\ncsValue : 2,\r\n\r\n// peBreadcrumbStyle of cWebBreadcrumb\r\ncCrumbHorizontal :0,\r\ncCrumbDropDown :1,\r\ncCrumbCaption :2,\r\n\r\n// web property data types\r\ntUnknown : 0,\r\ntString : 1,\r\ntInt : 2,\r\ntNumber : 3,\r\ntDate : 4,\r\ntBool : 5,\r\ntAdv : 6,\r\n\r\n// WebList.peDbGridType\r\ngtAutomatic : 0,\r\ngtAllData : 1,\r\ngtManual : 2,\r\n\r\n// WebList.peGrouping\r\ngrpDisabled : 0,\r\ngrpCustom : 1,\r\ngrpAutomatic : 2,\r\n\r\n// Server call modes\r\ncCallModeDefault : 1,\r\ncCallModeWait : 2,\r\ncCallModeProgress : 3,\r\n\r\n// WebSuggestionForm.peSuggestionMode\r\nsmFind : 0,\r\nsmValidationTable : 1,\r\nsmCustom : 2,\r\n\r\n// Client action modes\r\nctExecDefault : 0, // Regular client actions\r\nctExecEarly : 1, // Early client actions that need to be executed before web property values are applied\r\nctExecViewLoad : 2, // Client actions that are part of the loading / initialization of a view\r\n\r\nmodeDesktop : 10, // This is the default mode (i.e. desktop mode). This mode is not normally explicitly used.\r\nmodeTablet : 20, // Default Tablet mode\r\nmodeTabletLandscape : 21, // Tablet mode when in landscape orientation\r\nmodeTabletPortrait : 22, // Tablet mode when in portrait\r\nmodeMobile : 30, // Default Mobile mode\r\nmodeMobileLandscape : 31, // Mobile mode when in landscape\r\nmodeMobilePortrait : 32, // Mobile mode when in portrait\r\n\r\n// WebMenuItem.peActionDisplay (used by cWebActionBar)\r\nadActionBar : 1,\r\nadMenu : 2,\r\nadBoth : 3,\r\n\r\n// peWordBreak options\r\nwbNone : 0, // No wrapping, no line breaks\r\nwbWrap : 1, // Wrap on words, no line breaks\r\nwbPre : 2, // No wrapping, line breaks\r\nwbPreWrap : 3, // Word wrapping and line breaks\r\nwbEllipsis : 4, // No wrapping and \"...\" when clipping\r\n\r\n// Drag drop constants\r\ndropPositions : {\r\n ciDropUnknown : 0, // Unknown (shouldn't happen)\r\n ciDropOn : 1, // Drop on element\r\n ciDropBefore : 2, // Drop before element\r\n ciDropAfter : 3, // Drop after element\r\n ciDropOnEmpty : 4, // Drop in empty control (empty list, tree, tagform, etc.)\r\n},\r\n\r\ndragActions : {\r\n WebList : {\r\n ciDragRow : 111\r\n },\r\n WebMultiSelectList : {\r\n ciDragRowSelection : 141\r\n },\r\n WebTreeView : {\r\n ciDragFolder : 121,\r\n ciDragItem : 122,\r\n },\r\n WebTagsForm : {\r\n ciDragTag : 131\r\n }\r\n},\r\n\r\ndropActions : {\r\n WebControl : {\r\n ciDropOnControl : 201\r\n },\r\n WebList : {\r\n ciDropOnRow : 211\r\n },\r\n WebTreeView : {\r\n ciDropOnRoot : 221,\r\n ciDropOnFolder : 222,\r\n ciDropOnItem : 223\r\n },\r\n WebTagsForm : {\r\n ciDropOnInput : 231\r\n }\r\n},\r\n\r\nWebUIContext : {\r\n WebUIContextCustom : 0,\r\n WebUIContextListHead: 1,\r\n WebUIContextListRow : 2,\r\n WebUIContextListFull : 3,\r\n WebUIContextListSelection : 4,\r\n WebUIContextTreeviewFolder : 5,\r\n WebUIContextTreeviewItem : 6,\r\n WebUIContextTagsFormTag : 7,\r\n\r\n isChildScopeCompatible : function (eContext) {\r\n return eContext !== df.WebUIContext.WebUIContextListHead;\r\n }\r\n},\r\n\r\nlayoutType : {\r\n ciLayoutTypeInherit : 0,\r\n ciLayoutTypeFlow : 1,\r\n ciLayoutTypeGrid : 2\r\n},\r\n\r\nrowColValType : {\r\n ciTypeDefault : 0,\r\n ciTypeFixed : 1,\r\n ciTypeFraction : 2,\r\n ciTypeOther : 3\r\n},\r\n\r\n// Generic CSS classnames used throughout the framework, the designer might change these to disable specific behavior\r\nCssEnabled : 'Web_Enabled',\r\nCssDisabled : 'Web_Disabled',\r\nCssHit : 'Web_Hit',\r\nhitTimeout : 1000,\r\n\r\n// GLOBALS\r\n/*\r\nWill contain the url from where this script is included (determined at global execution).\r\n*/\r\npsIncludeLocation : (function(){\r\n var aScripts;\r\n \r\n // Determine current include location\r\n aScripts = document.getElementsByTagName(\"script\");\r\n return aScripts[aScripts.length - 1].src;\r\n}()),\r\n\r\n/*\r\nWill contain the root path based on the include location of this script.\r\n*/\r\npsRootPath : (function(){\r\n var aScripts, sPath;\r\n \r\n // Determine current include location\r\n aScripts = Array.from(document.getElementsByTagName(\"script\"));\r\n sPath = aScripts.findLast(eScript => eScript.src.indexOf('DfEngine') > 0)?.src;\r\n \r\n // Remove DfEngine.. so we keep the root path\r\n if(sPath){\r\n return sPath.substr(0, sPath.indexOf('DfEngine'));\r\n }\r\n \r\n return null;\r\n}()),\r\n\r\n\r\n// NAMESPACES\r\n/*\r\nNamespace that contains components used for communication with the server. \r\nImportant are the HttpRequest inheritantance tree and and the xmlSerialize \r\nobject.\r\n*/\r\najax : {},\r\n\r\n/* \r\nNamespace that contains translations. These translations are shared between different instances of \r\napplications and contain things like the dates. \r\n*/\r\nlang : {\r\n monthsLong : [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\r\n monthsShort : [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\r\n daysShort : [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\r\n daysLong : [\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]\r\n},\r\n\r\n/*\r\nNamespace containing graphical components for building interactive user interfaces.\r\n*/\r\ngui : {\r\n\r\n/*\r\nArray with Z-Index reservations.\r\n\r\n@private\r\n@deprecated\r\n*/\r\naZReservations : [true],\r\n\r\n/*\r\nUsed to reserve a new z-index which is always on top of all other components \r\nthat have reserved their z-index.\r\n\r\n@return Z-Index number.\r\n@deprecated\r\n*/\r\nreserveZIndex : function(){\r\n return this.aZReservations.push(true) - 1;\r\n},\r\n\r\n/*\r\nReleases a z-index reservation.\r\n\r\n@param iIndex The index to free.\r\n@deprecated\r\n*/\r\nfreeZIndex : function(iIndex){\r\n var iRes;\r\n\r\n this.aZReservations[iIndex] = false;\r\n\r\n for(iRes = this.aZReservations.length - 1; iRes >= 0; iRes--){\r\n if(!this.aZReservations[iRes]){\r\n this.aZReservations.pop();\r\n }else{\r\n break;\r\n }\r\n }\r\n},\r\n\r\n/*\r\nCreates a div with the classname \"WebApp_DragMask\" and inserts it directly into the DOM. This mask \r\nis used in the implementation of drag and resize actions to make sure no other elements interfere.\r\n\r\n@param eParent Insertion point for the dragmask.\r\n@return Div mask element\r\n*/\r\ndragMask : function(eParent){\r\n\tvar eMask;\r\n\t\r\n\teMask = df.dom.create('
');\r\n \r\n (eParent || document.body).appendChild(eMask);\r\n\t\r\n\treturn eMask;\r\n}\r\n\r\n},\r\n\r\n/*\r\nJavaScript is a prototypal language with lots of different types of notations. \r\nWithin the AJAX Library we decided that we needed a more easy form of \r\ninheritance with a more readable notation. This method makes it easy to define \r\nprototypes with inheritance. Note that throughout the documentation prototypes \r\nwill be called classes for the convenience of developers moving from classical \r\nprogramming languages.\r\n\r\nThis method is called with a reference to the constructor an optional super \r\nconstructor (to inherit from) and an object with the prototype definition. The \r\nprototype.constructor reference is set correctly and a reference to the super \r\nconstructor is stored in prototype[] so it can be called from the \r\nsub constructor.\r\n\r\nExample of how a prototype should be defined inside the AJAX Library:\r\n@code\r\ndf.gui.List = function List(oForm){\r\n this.oForm = oForm;\r\n}\r\ndf.defineClass(df.gui.List, {\r\n\r\ndisplayRow : function(oRow){\r\n ..\r\n},\r\n\r\nscroll : function(iDirection){\r\n ..\r\n}\r\n});\r\n@code\r\n\r\nExample of how a prototype that extends another prototype should be defined\r\ninside the AJAX Library:\r\n@code\r\ndf.gui.Grid = function Grid(oForm){\r\n this.List(oForm);\r\n this.aFields = [];\r\n}\r\ndf.defineClass(\"df.gui.Grid\", \"df.gui.List\", {\r\n\r\nsave : function(){\r\n ..\r\n}\r\n\r\n});\r\n@code\r\n\r\n@param constructor Reference to the constructor function (a string name is \r\n also allowed).\r\n@param sSuper (optional) String name of constructor of the object to \r\n inherit (a string name is also allowed).\r\n@param oProto Reference to the object with the new prototype content.\r\n*/\r\ndefineClass : function(constructor, sSuper, oProto){\r\n var fConstructor, fSuper, oPrototype, FTemp, sProp;\r\n\r\n // Constructor can be given as string or as reference\r\n if(typeof(constructor) === \"string\"){\r\n if(df.sys){\r\n fConstructor = df.sys.ref.getNestedProp(constructor);\r\n }else{\r\n fConstructor = eval(constructor);\r\n }\r\n }else{\r\n fConstructor = constructor;\r\n }\r\n\r\n // Three parameters means the second points to prototype to extend\r\n if(arguments.length > 2){ // Three or more parameters means a Prototype to extend is given\r\n oPrototype = arguments[arguments.length - 1];\r\n\r\n\r\n // The inherited constructor can be given by name in string\r\n if(typeof(arguments[1]) === \"string\"){\r\n // Get a reference to the constructor using eval\r\n if(df.sys){\r\n fSuper = df.sys.ref.getNestedProp(arguments[1]);\r\n }else{\r\n fSuper = eval(arguments[1]);\r\n }\r\n }else{\r\n // The reference can also be given directly\r\n fSuper = arguments[1];\r\n }\r\n \r\n // Check if super exists\r\n if(typeof fSuper !== 'function'){\r\n alert(\"Super class for '\" + constructor + \"' must be defined first ('\" + arguments[1] + \"')\");\r\n }\r\n\r\n // The third parameter is the prototype object\r\n oPrototype = arguments[2];\r\n\r\n // Do the inheritance thing\r\n FTemp = function(){};\r\n FTemp.prototype = fSuper.prototype;\r\n fConstructor.prototype = new FTemp();\r\n\r\n // Copy in the new methods\r\n for(sProp in oPrototype){\r\n if(oPrototype.hasOwnProperty(sProp)){\r\n fConstructor.prototype[sProp] = oPrototype[sProp];\r\n }\r\n }\r\n\r\n // sSuperName = fSuper.toString();\r\n // sSuperName = sSuperName.substring(sSuperName.indexOf(\"function\") + 8, sSuperName.indexOf('(')).replace(/ /g,'');\r\n // fConstructor.prototype[sSuperName] = fSuper.prototype;\r\n fConstructor.base = fSuper.prototype;\r\n }if(arguments.length === 2){\r\n oPrototype = arguments[1];\r\n\r\n fConstructor.prototype = oPrototype;\r\n }\r\n\r\n fConstructor.prototype.constructor = fConstructor;\r\n},\r\n\r\n/*\r\nThis function generates a new class based on a super class and a mixin class. A mixin class is a \r\nregular class that does not inherit from other classes. The function returns the new constructor \r\nfunction. The mixin class can use the 'getBase' method to get the base class prototype. The getBase \r\nmethod takes the classname of the mixin as a parameter which is needed when multiple mixins are used \r\nin the inheritance tree.\r\n\r\n@code\r\nfunction MyExtra_mixin(sSomething){\r\n this.getBase(\"MyExtra_mixin\").constructor.call(this, sSomething);\r\n \r\n this.sProp = \"\";\r\n}\r\ndf.defineClass(\"MyExtra_mixin\", {\r\n\r\ndoSomething : function(){\r\n // Forward send\r\n this.getBase(\"MyExtra_mixin\").doSomething.call(this);\r\n \r\n this.sProp = \"Something\";\r\n}\r\n\r\n});\r\n\r\nMyClass = df.mixin(\"MyExtra_mixin\", \"MySuperClass\");\r\n@code\r\n\r\nThis is used with the columns of the df.WebList where the df.WebColumn_mixin is used on all column \r\ntypes providing a generic API for the list to talk to. \r\n\r\n@param sMixin String name of the mixin class (like \"df.WebColumn_mixin\").\r\n@param sSuper String name of the super class (like \"df.WebForm\").\r\n*/\r\nmixin : function(sMixin, sSuper){\r\n var fSuper, fMixin, fConstructor, FTemp, sProp, sMixinName = sMixin;\r\n\r\n // Find mixin and super classes\r\n fSuper = df.sys.ref.getNestedProp(sSuper);\r\n fMixin = df.sys.ref.getNestedProp(sMixin);\r\n \r\n if(typeof fSuper !== 'function'){\r\n alert(\"Super class for new mixed base class must be defined first ('\" + sSuper + \"')\");\r\n return;\r\n }\r\n if(typeof fMixin !== 'function'){\r\n alert(\"Mixin class for new mixed base class must be defined first ('\" + sMixin + \"')\");\r\n return;\r\n }\r\n \r\n // Create new constructor\r\n fConstructor = function(){\r\n fMixin.apply(this, arguments);\r\n };\r\n \r\n // Do regular inheritance\r\n FTemp = function(){};\r\n FTemp.prototype = fSuper.prototype;\r\n fConstructor.prototype = new FTemp();\r\n \r\n // Copy in mixin methods (including constructor property)\r\n for(sProp in fMixin.prototype){\r\n if(fMixin.prototype.hasOwnProperty(sProp)){\r\n fConstructor.prototype[sProp] = fMixin.prototype[sProp];\r\n }\r\n }\r\n \r\n // Set the base\r\n fConstructor.prototype.getBase = function(sOptClass){\r\n if(!sOptClass || sOptClass === sMixinName){\r\n return fSuper.prototype;\r\n }\r\n return fSuper.prototype.getBase.call(this, sOptClass);\r\n };\r\n \r\n fConstructor.prototype.constructor = fMixin; // We need to set this manually for IE8 on WinXP\r\n \r\n \r\n return fConstructor;\r\n},\r\n\r\n\r\n// DataFlex TYPE CONVERSION\r\n\r\n/*\r\nThis method converts a string value to a boolean where it converts \"0\" and \"-1\" to false which is \r\nagainst the regular JavaScript behavior. Reason for doing this is because booleans received from the \r\nserver are sent by Visual DataFlex as string \"1\" (true) and \"0\" (false). Then there is are the \r\n'three state booleans' for Data Dictionary properties that can be \"-1\" which means that they are not \r\ndetermined which is interpreted as false.\r\n\r\n@param val The value (usually a string).\r\n@return The value as a boolean.\r\n*/\r\ntoBool : function(val){\r\n // Booleans come from the server as \"1\" or \"0\" where \"0\" evaluates to true\r\n // Booleans can have -1 as value when they support the C_WebDefault value which always evaluates to false\r\n return (val === \"0\" || val === \"-1\" || val === \"false\" ? false : !!val);\r\n},\r\n\r\n/* \r\nThis method converts a boolean value to the DataFlex string representation \"1\" or \"0\".\r\n\r\n@param bVal The boolean value.\r\n@return String \"1\" for true and \"0\" for false.\r\n*/\r\nfromBool : function(bVal){\r\n return (bVal ? \"1\" : \"0\");\r\n},\r\n\r\nfromDate : function(dDate){\r\n return df.sys.data.dateToString(dDate, \"yyyy/mm/dd\", \"-\");\r\n},\r\n\r\nfromNumber : function(nNumber){\r\n return nNumber.toString();\r\n},\r\n\r\n/*\r\nThis method converts a string value to an integer.\r\n\r\n@param val The value (usually a string).\r\n@return The value as an integer.\r\n*/\r\ntoInt : function(val){\r\n return parseInt(val, 10);\r\n},\r\n\r\n/*\r\nThis method converts a string value to a number (JavaScript float).\r\n\r\n@param val The value (usually a string).\r\n@return The value as a float.\r\n*/\r\ntoNumber : function(val){\r\n return parseFloat(val);\r\n},\r\n\r\ntoDate : function(val){\r\n return df.sys.data.stringToDate(val, \"yyyy/mm/dd\", \"-\");\r\n},\r\n\r\ntoDateTime : function(val){\r\n return df.sys.data.stringToDate(val, \"yyyy/mm/ddThh:mm:ss.fff\");\r\n},\r\n\r\nfromDateTime : function(dDate){\r\n return df.sys.data.dateToString(this._tValue, \"yyyy/mm/ddThh:mm:ss.fff\", \"-\", \":\");\r\n},\r\n\r\n// LOGGING\r\n/*\r\n@private\r\n*/\r\ntimeValues : {},\r\n\r\ntimeStart : function(sLbl, sLog){\r\n sLog = sLbl + \":: Timing Start * \" + sLog;\r\n \r\n df.log(sLog);\r\n \r\n this.timeValues[sLbl] = new Date().getTime();\r\n},\r\n\r\n\r\ntimeStop : function(sLbl, sLog){\r\n var time = new Date().getTime();\r\n \r\n if(this.timeValues[sLbl]){\r\n time = (time - this.timeValues[sLbl]) / 1000;\r\n sLog = sLbl + \":: \" + time + \" * Timing Stop * \" + sLog;\r\n }else{\r\n sLog = sLbl + \"::