JavaScript Engine Build Notes - 19.0
JavaScript Engine 19.0.8.55
- Added extra check to work around and prevent error 4402 ("Object .. is out of scope for WebGet ..") from happening when navigating back using the breadcrumb. This issue is caused by a bug in the Google Chrome password manager (BT: 7363).
- Fixed out of scope error which wasn't showing the object name any more (since 19.0).
JavaScript Engine 19.0.8.54
- cWebAccordionContainer: Fixed a bug where controls inside the accordion container sometimes receive focus when they shouldn't. This happens if the accordion container is inside a tab page and a different tab was shown. It was caused by CSS inheritance (BT: 5357).
- cWebMenuBar / cWebToolBar: Improved focus behavior when used outside of the command bar (as controls).
JavaScript Engine 19.0.8.53
- cWebBaseDEO: A WebSet of psMask before the control was rendered caused a JavaScript error preventing the view from rendering (BT: 7342).
- cWebList: Fixed search on lists with all data on the client (peDbGridType=gtAllData / gtManual or pbDataAware=false) when the column sorting was reversed (BT: 7346).
- Designer: Disabled the close button of modal dialogs (BT: 7304).
JavaScript Engine 19.0.8.52
- Improved positioning of info / error balloon. It now properly handles scrolling of parent containers.
- cWebGrid: Improved handling of row updates while inside the new row. This improves support for per-cell saving from the OnChange.
- cWebGrid: Fixed error when grid has no columns or no rows.
- cWebList: Fixed error check when data does not contain enough columns (it was not taking swipe buttons into account).
- cWebList: Refreshing data when pbScroll is false now properly triggers a resize on surrounding controls.
- cWebList: Fixed JavaScript error when double-clicking on a list header (BT: 7336).
- Df_Flat_Touch / Df_Flat_Desktop: Improved focus styles of buttons in standard framework message boxes.
- cWebCardContainer: Fixed bug causing JavaScript errors when WebSetResponsive is used with pbFillHeight (BT: 7331).
JavaScript Engine 19.0.7.50
- Fixed the floating panel issue with modal dialogs. The floating panel was inserting its elements one level deeper than the modal dialog, causing it to always stay behind.
- Fixed the server property handler which wasn't always marking itself as inactive after processing a request. This caused errors when doing a WebGet outside of Web Framework requests, such as in a custom web-service.
JavaScript Engine 19.0.7.49
- Added the cWebGrid text color fix that should have been in the previous build.
- cWebColumnCheckbox: Fixed the clipping issue when using the MobileList class on Df_Flat_Touch.
JavaScript Engine 19.0.6.48
- cWebGrid: Fixed text color issue in grids for the Df_Web_Creme, Df_High_Contrast and Df_Modern_Sky themes.
- cWebList: Fixed a bug causing lookup lists to not center properly on the currently selected row.
- cWebList: Fixed a bug causing the list to load wrong data before the first record after a Ctrl+Home.
- cWebColumnLink: Fixed a bug causing cWebColumnLink to wrap differently than before.
- WebOrderMobile: Changed pbFillHeight to false on ZoomOrder detail list which conflicts with pbScroll being false.
JavaScript Engine 19.0.5.47
- Increased minimal supported version in browser check message (not the check itself) to Internet Explorer 11.
- Fixed syntax issue in the designer making it not reach the browser check on Internet Explorer 8 and older.
- The designer now suppresses JavaScript errors it might catch.
JavaScript Engine 19.0.5.46
- WebList / WebGrid: Fixed bug new in 19.0 where manual data-aware lists were not performing client-side sorting because they invalidly went into paged data loading.
- Added missing df.tNumber and df.tDate support to value tree serialization / deserialization in the JavaScript Engine.
- WebOrder: Added piContentWidth to the DemoFloatingPanel menu demo to improve animation appearance.
JavaScript Engine 19.0.5.45
- cWebTreeView: The OnSelect now only fires when the selected item actually changes (BT: 7087).
- cWebFloatingPanel: Changed positioning for fpFloatByControl and fpFloatFixed to position: fixed since the positioning was already calculated according to the browser window. This solved issues where the viewport is not full-screen.
- cWebList: Improved behavior of search popup for date and datetime fields where it now doesn't fill in a complete date when opening (BT: 6835).
- Performed JSLint validation and fixed several syntactical issues in the JavaScript Engine.
JavaScript Engine 19.0.5.44
- cWebGrid: Improved the logic that determines the initially selected column to take the disabled state into account. The piCurrentColumn now defaults to -1 which means it is automatically determined. It used to be 0 which fixed it to the first column even if it was disabled (BT: 7250).
- WebMobileZoom Wizard: Changed caption of the cancel button generated by the wizard to "Cancel Changes" instead of "Clear/Add", which suggested clearing the view.
- WebMobileZoom Wizard: Changed the CSS classname of the cancel changes button to "WebIcon_Refresh" as the previously used name did not exist.
- cWebGroup: Setting pbCollapsible to true on a group with nested groups caused the nested groups to show the collapse button as well.
- cWebGroup: Fixed a bug (new in 19.0) causing JavaScript errors when nesting panels inside a group.
- Designer: Dragging a control from the class palette while a control of the same type was selected prevented the new control from being dropped inside that control.
- cWebGrid: Fixed automatic rowid generation when adding data to a non-data-aware grid that doesn't implement OnSaveRow.
- Df_Flat_Touch / Df_Flat_Desktop: Added WebIcon_Refresh CSS class showing a refresh icon and working properly on buttons and menu items.
JavaScript Engine 19.0.5.43
- cWebFloatingPanel: Added piContentWidth property that fixates the content width for the fpFloatLeft.. pePosition modes.
JavaScript Engine 19.0.5.42
- cWebList: Improved positioning of swipe button on applications with pbScroll set to false.
- Designer: Fixed keyboard support.
- Designer: Fixed focus stealing issue when changing object structure in mobile select views.
- Designer: Updated background color and error message style to match Studio.
JavaScript Engine 19.0.5.41
- cWebAccordionCard: Fixed pbExpanded.
- cWebColumnHighlight: Changed casing of psHighlightCssClass to psHighlightCSSClass to match other property names.
- Re-added the _wp function that went missing with the addition of server web properties.
JavaScript Engine 19.0.5.40
- Added typeTime as data type for DEO objects with support for masking and input filtering. The psTimeFormat on the cWebApp class determines the default display and edit format.
- cWebList: On a scrolling list it should now prevent the rubber-band scrolling at the page level (the bouncing header issue).
- cWebList: Client-side sorting on columns with peDateType set to typeDateTime now actually sorts on the date and time values.
- cWebForm: Made sure that pbPassword overrides the pbHtml5NumberOnMobile property.
- cWebTreeView: Added OnCollapse and OnExpand events.
- cWebColumn: The OnHeaderClick event now always fires regardless of the pbSortable and pbColumnSortable property values. Setting pbOnHeaderClick to true still cancels the default sort order change.
- cWebSlider: Improved behavior inside the designer.
- cWebMenuList: Renamed CSS class WebML_Devider to WebML_Divider.
- cWebModalDialog: Fixed pbShowCaption on initialization and JavaScript error when changing at runtime.
- cWebApp: Fixed error in UrlParameter for cases where no referer URL is passed (this might happen when using CORS).
JavaScript Engine 19.0.4.39
- cWebListSwipeButton: Fixed a bug causing errors when using the swipe button in non-data-aware lists.
- cWebListSwipeButton: Improved keyboard control (arrow keys).
- cWebForm: Disabled JavaScript input filtering with input type=number on mobile devices as this prevented the decimal separator from being entered. This was caused by input filters working with the cursor position, which can't be queried on input type=number elements.
- Added copyright notice on the console when the framework initializes.
JavaScript Engine 19.0.4.38
- cWebList: Fixed a bug in the maximum scroll offset calculation for rows with margins.
- cWebFloatingPanel: Fixed a repositioning issue while the panel was hiding in fpFloatByControl mode.
- Df_Flat_Desktop, Df_Flat_Touch: Merged extended icon font.
JavaScript Engine 19.0.4.37
- Df_Flat_Desktop: Reduced height of cWebProgressBar to fix alignment with other controls.
- cWebObject: Fixed the Callback procedure that was shifting the callback parameters one position.
- Marked paPubPropertyModes and UrlDecode as private (which they were intended to be initially).
- Fixed peChangedViewExitAction where cveAbandonChanges and cveConfirmAbandonChanges were inversed.
- cWebService: Marked RegisterStandardInterface as private as the procedure never did anything on web-services.
- cWebColumnCheckbox: Fixed a bug that could cause a click on the checkbox in the selected row to be ignored. This only happened when OnChange was implemented and sending a DataSetUpdateRow.
- cWebDatePicker: Improved behavior inside the designer.
- cWebErrorHandler: Implemented IgnoreAllErrors.
- cWebErrorHandler: Added old styling naming convention APIs as private to improve portability of code between Windows and Web.
- cWebFloatingPanel: Improved positioning logic.
JavaScript Engine 19.0.3.36
- Designer: Implemented designer for card container and cards.
JavaScript Engine 19.0.3.35
- cWebCombo: Improved the Refill & psValue logic to make sure that refill always respects the proper value.
- Refactored df.sys.string.trim into .trim function with polyfill for old browsers.
- Df_Flat_Touch: Removed white font color on fields with errors.
- Df_Modern_Sky: Prevented text wrapping on toolbar items.
- cWebBaseDEO: Incremented default value of piMaxLength from 50 to 32kb.
- Designer: Improved dropping of controls on empty views and selected panels.
- Designer: Improved usability of cWebCardContainer inside the designer.
JavaScript Engine 19.0.3.34
- cWebFloatingPanel: If pePosition is set to fpFloatByControl and piWidth set to 0, it now takes the width of the control it is set to float by.
- cWebFloatingPanel: Fixed the logic for fpFloatByControl where it was rendering off screen while it should have rendered above the control.
- cWebFloatingPanel: Fixed an issue where a hidden cWebFloatingPanel was still taking up space while hidden.
- cWebList: Fixed the phoKeyBuddy property that was broken in Alpha 2.
- Df_Flat_Touch: Reduced the height of a collapsed WebGroup.
- cWebResourceManager: Added pptx to the list of mime types.
- cWebApp: Fixed a bug causing WebSetResponsive rules on the default view to not be applied when a view is opened for the second time.
- cWebAccordionContainer: Improved sizing logic of pbFillHeight and added support for dynamically changing pbAutoHeight, pbMultiOpen and pbFillHeight.
- cWebAccordionContainer: Improved behavior inside the designer.
- cWebMenuList: Improved themes so they properly show the submenu arrow.
- cWebColumn: Added peWordBreak property that controls how new lines and wrapping of the data are handled. The default value wbNone maintains the default behavior of ignoring line breaks and not wrapping text.
JavaScript Engine 19.0.3.33
- Df_Flat_Touch & Df_Flat_Desktop: Fixed buttons causing horizontal scrollbars.
- cWebGrid: Fixed bug where tabbing out of the new row doesn't change the column to the first column as you might expect.
- cWebMenuList: Added resize after initialization.
- cWebList: Added support for margins between the rows. The scrolling engine now picks up on margins and takes them into account.
- cWebApp.js: Added client-side only property to df.WebApp called pbCheckVersion that can be used to disable the version check in case you include df-min.js directly.
- Df.js: Fixed an issue preventing df-min.js from being used directly.
- cWebPropertyManager: Changed todo item into a regular comment.
JavaScript Engine 19.0.3.32
- cWebList: Improved row height calculation solving several scrollbar position and height issues.
- Df_Flat_Touch & Df_Flat_Desktop: Added space between buttons inside cWebColumnButton.
JavaScript Engine 19.0.3.31
- cWebGrid: Fixed column selection bug that caused JavaScript errors when using MoveToColumnObject and changing piCurrentColumn in the designer.
JavaScript Engine 19.0.3.30
- cWebCardContainer: Height calculation improvements for "WithBullets" style.
- cWebHtmBox: Removed overflow-x: hidden style which caused issues with swipable cards.
- Df_Flat_Touch / Df_Flat_Desktop: Improved styles of swipable cards.
JavaScript Engine 19.0.3.29
- cWebColumn: Fixed setter of psCaption.
- cWebParentCombo: If the field has no index and piIndex is not set it now uses the primary index where it used to default to index 0 (not available on non-recnum tables).
- cWebCardContainer: Added support for swiping cards (set pbSwipeCards to true).
- cWebCardContainer: New WithBullets CSS class for the Df_Flat themes that shows bullets underneath the cards indicating the current position.
- Designer: Fixed a JavaScript error when selecting columns on a list / grid with the header turned off.
JavaScript Engine 19.0.3.28
- WebSuggestionForm: Added ShowSuggestions procedure that can be used to force the suggestions to show.
- cWebGroup: Added a resize after the collapse / expand animation has finished.
- cWebAccordionContainer: Added a resize after the collapse / expand animation has finished.
- cWebFloatingPanel: Fixed a bug where the panel was not displaying when used outside the view.
- cWebFloatingPanel: The phoFloatByControl property now supports menu items as well.
- cWebMenuList / cWebMenuButton: Improved sizing logic.
- The CreatedDate and CreatedTime fields of the WebServerProps table are now properly filled.
JavaScript Engine 19.0.2.27
- cWebList / cWebGrid: Added missing DataSetUpdateRow, DataSetRemoveRow, DataSetAppendRow, DataSetInsertRowBefore to the refactored cWebList.
- cWebGrid: Fixed clearing of non-data-aware grid.
- cWebGrid: Improved focus handling.
- cWebGrid: Fixed cWebColumnCheckbox not responding directly to click.
- Improved positioning of WebCheckbox and cWebColumnCheckbox for Df_Flat_Touch and Df_Flat_Desktop.
- Designer: Fixed a bug occurring when dragging a column.
JavaScript Engine 19.0.2.26
- cWebList: Fixed the setter of pbShowSelected that was broken with the list refactoring.
- cWebList: Fixed column resizing with hidden rows issue.
- cWebList: Fixed column size calculation when column properties change.
JavaScript Engine 19.0.2.25
- cWebColorPicker: Now adjusts its size when AddPaletteItem or UpdatePalette change the number of color rows.
- cWebColorForm: Its pbColorBackground property now properly adjusts at runtime.
JavaScript Engine 19.0.2.24
- Fixed non-scrolling list issue where it blocked touch events, preventing its container from being scrolled using momentum scrolling.
- Improved usability of WebListSlideButton on non-scrolling lists.
- Fixed cWebTimer which wasn't automatically starting outside of views (BT: 7241).
JavaScript Engine 19.0.2.23
- Improved support for cWebGrid within the drill-down model.
- Improved support for cWebGrid combined with pbNewLine.
- Fixed jumping / flickering of grid when selecting cells while the current edit cell is scrolled off the screen.
- Removed height from toolbar items for Df_Flat_Touch & Df_Flat_Desktop as this was set too high and is unneeded.
- Fixed cWebList from showing field content in columns marked as password column.
JavaScript Engine 19.0.2.22
- Fixed styles for expandable groups that got merged out in the previous build.
- Improved list styles to remove inconsistencies between non-scrolling and scrolling lists.
- Fixed cWebGrid which was always non-scrolling while it should respond to pbScroll.
JavaScript Engine 19.0.2.21
- Refactored the cWebList and cWebGrid JavaScript classes. The server-side API stays the same while the client-side implementation has been overhauled. This fixes several bugs and stability issues and introduces the new pbScroll option.
- The cWebList and cWebGrid now support a "non-scrolling" mode where they don't have scrollbars but grow according to their content. This will make the container scroll when necessary. The new pbScroll property controls the scrolling.
- Fixed bug in cWebMenuButton where dynamically loaded menu items were shown multiple times when visiting a view for the second time.
JavaScript Engine 19.0.2.20
- Fixed several browser compatibility issues for old browsers.
- The cWebGroup now has a new collapsible feature controlled by pbCollapsible (which determines if a group can be collapsed / expanded) and pbExpanded that controls current state.
- Updated slide button row styles.
JavaScript Engine 19.0.2.19
- Fixed bug in swipable list buttons where the buttons would not hide if another row was opened and the list scrolled in between.
- Refactored df.events.addDomListener into df.dom.on.
JavaScript Engine 19.0.2.18
- Added ContentType function to cWebResourceManager that is called when a file is streamed to determine the mime type it should send. Augmenting this function allows customization and extension of the mime type list.
- Fixed a character encoding issue with server-side web properties.
- Fixed DDO reentrancy issue with server-side web properties.
- Added OnPostInitialize event to cWebApp that can be implemented to set configuration options otherwise missed.
- Moved the support for deleting records from the cWebGrid to the cWebList. The property pbAllowDeleteRow will default to false for cWebList and to true for cWebGrid.
- New cWebListSwipeButton class that can be used inside the cWebList to render buttons that become visible when the row is swiped to the left or the right (only on touch devices).
- Added swipe buttons to the SelectCustomer view of the WebOrderMobile sample.
- Fixed the WebOrderMobile sample that was accidentally using the Df_Flat_Desktop theme instead of Df_Flat_Touch.
- Fixed a bug in the "styled radio" where clicking the first radio did not always check it (Chrome, Edge).
- Improved style of the disabled checked checkbox for Df_Flat_Touch and Df_Flat_Desktop.
- The WebOrder sample's CustomerWebLookup now has pbAutoServer set to true so that it shows constrained data when opened from the Multi DDO Structure sample.
JavaScript Engine 19.0.1.17
- cWebFloatingPanel: Now supports absolute positioning.
- cWebList: Fixed a bug causing a JavaScript error when enabling a list on a hidden tab page.
- cWebAccordionCard: Fixed the pbScroll property which was not showing the scrollbar when needed.
- Designer: Improved logic for piColumnSpan 0 while changing the piColumnIndex.
- Designer: Improved support for cWebAccordionCard.
JavaScript Engine 19.0.0.15
Packages
- Fixed a bug in the server-side web property system causing errors when doing the first WebGet from inside OnConstrain.
- Added a proper error when using WebGet / WebSet on server-side web properties while the handler is not initialized (table missing or similar).
- Added RemoveMember of cJsonObject to the BaseMetaData system.
- Added cWebAccordionPanel and cWebAccordionCard to the class list.
- Added new control demos to the samples.
- Added WebAppServerProps to the WebOrderMobile sample.
JavaScript Engine
- Added psBtnCssClass property to cWebTabPage and cWebAccordionCard (BT: 7217).
- Simplified names of floating panel CSS classnames.
- Added styles for accordion panel to Df_Web_Creme.
- Added styles for new controls to Df_Flat_Touch & Df_Flat_Desktop.
JavaScript Engine 19.0.0.14
- Fixed pixel calculation issue in container sizing.
- Added assertion to cWebCommandBar that checks if the children are actually toolbars or menu bars.
JavaScript Engine 19.0.0.13
- cWebList: A change of the found indicator during LoadGridRow and events that it triggers (like OnDefineTooltip and OnDefineRowCssClass). Note that you still shouldn't change the current record in the global buffer.
- Improved error handling and display on server calls.
- cWebMenuButton: Added pbMenuShowIcons property.
JavaScript Engine 19.0.0.12
- cWebColorForm: Made sure that clicking a color palette item updates the color in the form immediately.
JavaScript Engine 19.0.0.11
- Improved the DD Debug view to better handle diamond relations (BT: 7197).
- The cWebColorForm now can show the color in a rectangle to its left.
- Updated styles for cWebColorForm, cWebColorPicker, cWebCheckbox, cWebRadio under Df_Flat_Touch.
- Merged new accordion control (cWebAccordionContainer & cWebAccordionCard).
JavaScript Engine 19.0.0.10
- cWebSlider: Fixed bug where pbRange stops OnChange from firing (BT: 7178).
- Ensured that when pbOverrideStateOnShow is false and opening a view it always synchronizes the invoking view as well during the extra round-trip to load the view state from the client (BT: 7191).
- cWebGrid: Fixed generation of rowid's on newly added rows for manual grids. A bug caused the row change to block with pbOfflineEditing set to false (BT: 7194).
JavaScript Engine 19.0.0.9
- cWebActionMenu: Fixed the issue where items added directly to the cWebActionMenu were not properly displayed on initialization (BT: 7174).
- File Upload: Fixed the check for psAccept filters to accept multiple dots in the file name (BT: 7175).
- cWebList / cWebGrid: Fixed an issue causing the content to not be rendered if only piMinHeight is set (pbFillHeight=false, piHeight=0).
JavaScript Engine 19.0.0.8
- Fixed the search feature of non-data-aware lists that wasn't working for numeric and date columns (BT: 7170).
JavaScript Engine 19.0.0.7
- Added missing "Forward Send End_Construct_Object" to classes using cWebBaseMenu_mixin (BT: 7167).
- cWebCombo: Improved the filling logic that caused problems when being filled twice during the view load (BT: 7166).
- cWebColorPicker: Extended cWebColorPicker and cWebColorForm with color palette logic and showing color as a tile instead of the entire background.
- cWebColumn_mixin: Marked piColumn as public as it is very usable in making OnManualLoadGridData more dynamic.
- cWebMenuButton: Fixed the disabling logic.
- Changed the initialization of WebApps so that running a single view in a page doesn't load the login dialog automatically. The application logic should now show the login dialog when needed for single-view pages.
- Improved behavior of WebRadio & WebCheckbox controls in the designer.
- Cleaned up improper control constructor definitions in the JavaScript.
JavaScript Engine 19.0.0.6
- Added new CallBack procedure to cWebObject that makes it simple to do an extra round-trip to update the user interface.
- Df_Windows_Like: Fixed list / grid header styles for multi-line rows.
- Fixed the bug preventing client-side event handlers from cancelling the server-side event. Doing an oEvent.stop(); or return false now actually stops the event from being sent to the server.
- cWebBaseMenu: The property name mismatch psServerOnItemClick is now corrected (it is properly called psClientOnItemClick).
- InfoBalloon: Fixed the destroy function causing a JavaScript crash when navigating forward to a view after it had been closed with a validation error displayed (BT: 7163).
- InfoBalloon: Improved the way the balloon hides itself so that it doesn’t block controls behind it any more.
- Df_Flat_Touch & Df_Flat_Desktop: Updated the fonts to the latest version of the Lato font.
JavaScript Engine 19.0.0.5
- Added missing include statements for the new classes in df-include.js (so they are included when running in debug mode).
- Fixed a bug in the designer causing JavaScript errors when resizing the left panel while there is no center panel.
- cWebCheckbox: Now allows custom-styled checkboxes. The Df_Flat_Touch and Df_Flat_Desktop themes use this to improve the looks of the checkbox. Both themes also support the CSS class "FlipSwitch" that transforms it into a mobile touch-style flip switch.
- cWebRadio: Now allows custom-styled radios. The Df_Flat_Touch and Df_Flat_Desktop themes use this to improve their looks.
- Df_Flat_Touch and Df_Flat_Desktop have been updated with changes to how text colors are applied and with new focus style for WebForm, WebCombo and cWebTreeView.
JavaScript Engine 19.0.0.4
- cWebDateForm: Fixed issue where the OnChange was not firing on iOS (BT: 7156).
- cWebMenuList: Added several setters as part of making the API public.
- cWebMenuButton: Added several missing setter methods so that properties can be changed at runtime.
- cWebMenuList and cWebFloatingPanel classes are now public and on the class palette.
- cWebSuggestionForm: Added pbShowResults property allowing it to be used for keypress event handling only while showing the suggestions / search results in a separate control.
- cWebList: Added phoKeyBuddy property that can be set to make the list respond to keyboard operations on another control (cWebBaseUIObject).
- cWebColumnHighlight: New column type that highlights keywords.
- cWebColorPicker: New color picker control.
- cWebColorForm: Color picker in popup form.
- cWebWindow: Added several missing setter methods.
JavaScript Engine 19.0.0.3
- cWebGroup: Fixed nesting issue showing the caption element on nested groups while it shouldn't (BT: 7136).
- Changed Global.asa template to always include PageScopedSession=True for new projects. This should reduce debugging issues when using the file upload and file download features.
- Removed custom logic for relative URLs when sending AJAX calls as modern browsers handle this better themselves. This also improves support for inclusion in other pages and usage of HTTPS.
- Improved the ClientResize procedure of cWebApp so that it actually enforces an extra resize on top of the one that would be triggered by most operations.
- Several improvements to the sizing logic of controls and containers.
- Fixed: "Attempt to run uncompiled expression" error with numeric fields on mobile (BT: 7117).
JavaScript Engine 19.0.0.2
- Added check to prevent recursive looping in case of an empty grid (BT: 7104).
- Removed assertion "Position x where you want label y is unreachable for the slider." from cWebSlider as it would cause errors when dynamically changing labels and the piMaxValue when reinitializing a view.
- New pbAllowHtml property on cWebBaseMenu_mixin that can be used to allow the usage of HTML in the psCaption of cWebMenuItem objects.
- Fixed the height calculation of cWebGroup which didn't take the box model used on the container element into account (BT: 7105).
- Fixed a bug in cWebGrid causing clicking on the empty rows below the data to not insert a new row if a "new row" was still selected (BT: 7107).
- cWebTreeView: Fixed a bug in the CSS for all themes but Df_Windows_Like causing the expand / collapse icon to not display properly with only a single item at root level (BT: 7113).
- Added maximum-scale to the viewport tag of the WebOrderMobile and new webapp template. This prevents zooming when changing orientation on iOS.
- Extended cCryptographer with ImportPlainTextKey function to use plain text keys as opposed to derived keys.
- Added explicit conversion to StrJoinFromArray to solve strange results when passing in a different type of array.