Date Released

April 2016


[ADD] 64-bit Support
[FIX] GraffitiMenuWindow should no longer appear orphaned when more than one instance are shown.


[NOTE] Old DatePicker has been deprecated and removed.
[NOTE] Deprecated DatePicker no longer supported by GraffitiWebStorageGW.
[NOTE] GraffitiSuiteWeb now uses a version of the Bootstrap Minified CSS that is compatible (more or less) with Xojo's default styles.
[NOTE] GraffitiWebFontAwesome updated to FA 4.4.0
[NOTE] All classes should now load their scripts and CSS from the 'scripts' directory. While this will increase server load (and possibly load times), GraffitiSuite Web Edition now functions when there is no internet connection (IE: intranet-only applications).
[NOTE] CSS moved from constants to external files, in most cases, this should reduce the footprint of GraffitiSuite within project files.
[NOTE] All GraffitiSuite classes are now a subclass of GraffitiControlWrapper. This change allows for easier code maintenance and consolidates common code.
[NOTE] Resize code optimizied in most classes.
[NOTE] Demo reworked for R21 to showcase multi-page environments.
[ADD] GraffitiWebButton
[ADD] GraffitiWebButtonSegment
[ADD] GraffitiWebMotion
[ADD] GraffitiWebSpeechRecog
[ADD] GraffitiWebPDF
[ADD] GraffitiWebDatePickerSingle
[ADD] GraffitiWebDatePickerMultiple
[ADD] GraffitiWebDatePickerRange
[ADD] GraffitiWebCalculator
[ADD] GraffitiWebSidebar
[ADD] GraffitiWebTabBar
[ADD] GraffitiWebTree
[ADD] SetBarFill, SetBarStroke, SetBarHighlightFill, and SetBarHighlightStroke added to GraffitiWebChart for bar graphs.
[ADD] GraffitiWebAccordionNav now supports tags for items in Variant format.
[ADD] GraffitiWebGrid now supports borders in WebStyles, and has a new StyleCellBorder property.
[ADD] GraffitiWebGrid now has CellKey(Row,Column) and CellValue(Row,Column) methods for retrieving data.
[ADD] GraffitiWebGrid now supports per-column style and header style.
[ADD] GraffitiWebGrid now shows a tooltip on hover is a cell's value is too long for display.
[ADD] GraffitiWebGrid now allows the addition of FontAwesome cells. Add GraffitiWebFontAwesome to your page, then add a column to your Grid using EditTypeFontAwesome, and make that columns value(s) a FontAwesome icon name such as “fa-trash”.
[ADD] GraffitiWebGrid now supports currency cells which formats numbers as 0.00.
[ADD] GraffitiWebGrid now has a ColumnResized() event.
[ADD] GraffitiWebGrid now exposes more methods for handling Column Headers (Count, Get, etc).
[ADD] GraffitiWebGrid now allows for resizing columns programatically by index.
[ADD] GraffitiWebGrid now supports RowTags as Variants, and has accompanying methods.
[ADD] GraffitiWebGrid now has AddCellStyle and RemoveCellStyle methods for styling individual cells.
[ADD] GraffitiWebGrid now has a SelectedCell As Integer property for the currently selected cell.
[ADD] GraffitiWebAccordionNav now has a GetParent method.
[ADD] GraffitiWebChart now has an isAnimating property.
[ADD] GraffitiWebAccordion now has a GetItem(ItemIndex as Integer) method for retrieval.
[ADD] GraffitiWebPopupMenu now supports a variety of skins.
[ADD] GraffitiWebChart now gives AxisX as String in PointsClicked event.
[ADD] GraffitiWebAccordionNav now has Expand, Collapse, ExpandAll, and CollapseAll methods.
[ADD] GraffitiWebAccordionNav now has an ExpandedItems As Integer method.
[ADD] GraffitiWebAccordionNav now supports double-click on items.
[ADD] GraffitiWebAccordionNav now supports FontAwesome icons in both headers and items.
[ADD] GraffitiWebAlert can now be instantiated as a property (IE: in the Session object) and is no longer required to be included on every page where you wish to use it.
[ADD] GraffitiWebTooltip can now be instantiated as a property (IE: in the Session object) and is no longer required to be included on every page where you wish to use it.
[ADD] GraffitiWebNotifier can now be instantiated as a property (IE: in the Session object) and is no longer required to be included on every page where you wish to use it.
[ADD] GraffitiWebAccordionNav now supports WebStyles.
[ADD] GraffitiWebAlert now has CloseAlert and CloseAll methods.
[ADD] GraffitiWebGrid now has a “Deselect All Rows” method.
[FIX] All classes should now behave properly in a multi-page environment.
[FIX] GraffitiWebChart no longer fires click events that were registered while animating.
[FIX] GraffitiWebGrid now properly updates row positions after sort.
[FIX] GraffitiWebAccordionNav no longer throws an OOBE when clicking on a dynamically added header without a tag. Best practice is to define one's own tags.
[FIX] GraffitiWebCalculator now properly fires OperatorPressed for division operations.
[FIX] GraffitiWebCalendar now appropriately themes (to include icons).
[FIX] GraffitiWebCurrencyField will no longer allow for DecimalChar and ThousandsSep to have the same value; instead, the values will be swapped to provide the setting being changed with the new value.
[FIX] GraffitiWebEmailValidator has been updated. It should now provide appropriate suggestions for common email issues, but not those that are less common. For instance “xyz@cyphech.cpm” will validate to “” as opposed to “”, but “” will validate to “” as opposed to “” as it did previously.
[FIX] GraffitiWebFavIcon now supports shape and color selection when flashing.
[FIX] GraffitiWebFontAwesome once again properly resizes.
[FIX] GraffitiWebTooltip's Show() and Hide() methods now properly account for native targets.
[FIX] GraffitiWebPopupMenu now properly allows programmatic addition of items.
[FIX] GraffitiWebPopupMenu now properly allows programmatic removal of items.
[FIX] GraffitiWebGrid no longer throws a NOE in projects where it is the only GraffitiSuite component used.
[FIX] GraffitiWebGrid should properly allow enabling and disabling column reorder during runtime.
[FIX] GraffitiWebGrid should now properly enable or disable column resizing based on column property set at initialization.
[FIX] GraffitiWebGrid now applies StyleHeader universally to the header, and not just individual column headers.
[FIX] GraffitiWebGrid now properly styles selected and unselected rows on selection change.
[FIX] GraffitiWebCalculator no longer throws errors to the Console when not visible.
[FIX] GraffitiWebGrid now uses standard HTML checkboxes for EditTypeCheckbox.
[FIX] GraffitiWebLayout updated with resize fixes.
[FIX] GraffitiWebGrid no longer interprets integers with leading zero as octal numbers.
[FIX] GraffitiWebGrid now properly removes a single row with .RemoveRow
[FIX] GraffitiWebSignature load errors fixed.
[FIX] GraffitiWebFontAwesome updated for 64-bit support.
[FIX] GraffitiWebProgressBar now honors Visible property.
[FIX] GraffitiWebAccordion now honors Visible property.
[FIX] GraffitiWebAccordionNav now honors Visible property.
[FIX] GraffitiWebFontAwesome now honors Visible property.
[FIX] GraffitiWebAccordion no longer orphans containers in HTML when updating.
[FIX] GraffitiWebGrid should now properly display double values using region specific decimal separator.
[FIX] GraffitiWebGrid should now properly format column IDs and columnd fields to avoid JavaScript errors.
[FIX] GraffitiWebGrid should no longer intermittently throw OutOfBoundsExceptions when sorting.
[FIX] GraffitiWebGrid now properly buffers calls to AddRow and InsertRow.
[FIX] GraffitiWebGrid now has a consolidated row construction routine.
[FIX] GraffitiWebGrid now properly returns column of event.
[FIX] GraffitiWebCursor should no longer intermittently throw NilObjectException in DoBind.
[FIX] GraffitiWebAccordionNav should no longer throw a JavaScript assertion with strange notification settings.
[FIX] GraffitiWebAccordion.ToggleItem now functions properly.
[FIX] GraffitiWebCursor should no longer rarely throw NilObjectExceptions in DoBind.
[FIX] GraffitiWebGrid Sorted event now shown in demo.
[FIX] GraffitiWebFontAwesome should now properly center vertically.
[FIX] GraffitiWebTimePicker show once again function properly when compiled in Xojo versions <2015r4.
[FIX] GraffitiWebGrid once again supports keyboard navigation.
[FIX] GraffitiWebNotifier should once again function in Xojo 2015 versions below r4.
[FIX] GraffitiWebNotifier should no longer throw javascript errors on unsupported browsers.
[FIX] GraffitiWebPopupMenu now honors Width property.
[FIX] GraffitiWebPopupMenu now honors Height property.
[FIX] GraffitiWebPopupMenu now honors Visible property.
[FIX] GraffitiWebAlert buttons CSS made more specific to avoid collisions.
[FIX] GraffitiWebWall no longer erroneously adds twice as many panels as needed.
[FIX] GraffitiWebWall no longer fully reloads on Shown event.
[FIX] GraffitiWebGrid now uses Bootstrap Datepicker to reduce conflicts with jQuery UI.
[FIX] GraffitiWebFontAwesome now displays the 4x size properly.
[FIX] GraffitiWebAccordionNav now properly adds/removes items at runtime.
[FIX] GraffitiWebWall now properly honors GutterWidth once again.
[FIX] GraffitiWebTimePicker no longer allows selection when disabled or hidden.
[FIX] GraffitiWebCalendar should properly add events again after initialization.
[FIX] GraffitiWebGrid should no longer intermittently show up empty, even though rows have been added.
[FIX] Classes no longer require round-trip xhr messaging for init. This should significantly improve load times.
[FIX] GraffitiWebAccordionNav should now properly scroll expanded items in to view when selected.
[FIX] GraffitiWebCalendar should no longer ignore event colors based on Alpha comparison.
[FIX] GraffitiWebPopupMenu now properly resizes to control height.
[FIX] GraffitiWebTabPanel now has a SelectItem( ItemIndex As Integer ) method for changing selection.
[FIX] Code for positioning and sizing all classes moved to GraffitiControlWrapper with improved implementation.