Skip to content

Releases: trevordevore/levurehelper-dataview

0.7.3

04 May 17:06
Compare
Choose a tag to compare
  • Update README with additional instructions for installation.

0.7.2

04 May 16:50
Compare
Choose a tag to compare
  • Update instructions for adding the DataView to a non-Levure framework LiveCode application.
  • Update assets loader script.

0.7.1

03 May 19:46
Compare
Choose a tag to compare
  • The auto loader was removing the "DataView Behavior" from memory rather than itself.

0.7.0

02 May 17:19
Compare
Choose a tag to compare
  • Add script for loading the DataView in non-Levure apps.
  • Don't account for scrollbar width on mobile.
  • Throw an error if data specifies a style which has no template.
  • Fix issues with restoring the selectedChunk while scrolling.

0.6.0

01 Jan 18:42
Compare
Choose a tag to compare
  • Added Drag Reordering API.

  • showBorder is no longer turned off when initializing the DataView. The developer should be allowed to show the border if they choose, even if it disables acceleratedRendering features. Adding borders is very cumbersome otherwise.

  • Ensure initialization and mobile scroller

    Due to lockMessages there is no guarantee that newGroup or preOpenControl will be called. Initialization is now triggered in preOpenControl, openControl, _renderView and ResetView. This covers all potential entry points.

    In addition, the mobile scroller is not created in the initialization handler so that it will be created under all circumstances.

  • If the DataView can’t scroll then pass rawKeyDown.

    A DataView cannot scroll if the formatted height does not exceed the content height. Pass rawKeyDown so that it can be processed further down in the message path.

  • Update rect model each time DataView is rendered

    The rect of the DataView can change without the resizeControl being notified (e.g. setting the topleft of the group). Update the model so that the rect is always up to date when rendering.

  • Reset hilite state when rendering rows

    If the hilite state is reset then the dvHilite message will not be sent if one of the rows being rendered is hilited.

  • Add MarkAllControlsAsDirty which invalidates all controls in the cache.

  • Define row control properties in the DataView behavior. Row properties such as dvRowControl should not return a value for a control outside of the DataView.

  • Use control id rather than long id for current mouse control.

  • Change Show/HideRowControl to Show/HideControl. In the future a template may not always be for an entire row. Naming convention is same as MouseEnter/MouseLeaveControl.

  • Rename CleanupAfterRowControl to CleanupAfterControl.

  • When deleting a control in time hide right away.

  • Dispatch selectionChanged when changing the selection after creating a field. The front script is now inserted before changing the selection as the developer could technically perform an action that should be logged by the frontscript.

  • Use effective styledText to look for changes in a field.

    There are keys such as spaceAbove that can appear in the styledText keys that don’t actually change the appearance of the text but can trigger a false positive. Using the effective styledText ensures that all keys are always present so the diff is only being done on values that have actually changed.

  • Resize UI when setting scrollbar width.

  • Setting content right padding now resizes the UI.

  • Maintain field editor in proper row when rendering view and controls aren’t cached.

    Calling RefreshViewRows while a field editor is open and the cache setting is none could cause the field editor to appear in a different row as row controls were reassigned. This commit reassociates the field editor with the correct row when moving things around.

    As part of this fix the sViewPropsA["fld_editor"]["control"] variable was changed to use the short id as that will not change as the field is relayered within the DataView.

  • Account for mouse wheels with no precision scrolling deltas on macOS.

  • Only load mac_scroll_wheel.lcb on macOS.

0.5.0

20 Sep 18:05
Compare
Choose a tag to compare
  • Performance optimizations.
    • Use control of id references
    • Only update backgroundColor if it is changing
    • Only set the dvHilite custom property if it is changing
    • Fix control existence check
    • Early exit from vscroll if vscroll isn't changing
  • Improvements to work with acceleratedRendering in LiveCode 9.5.
  • touch messages are now passed.
  • Take borderwidth of group into account when calculating row formattedheight.
  • Add content left padding and content right padding properties.
  • Verify that controls need to be redrawn when showing/hiding scrollbars.
  • Fix the default drop indicator.
  • Add PreDragImageSnapshot and PostDragImageSnapshot in order to customize a row control prior to exporting a snapshot to be used for the dragImage.
  • Add DeleteRowControlFromCache to clear cache for row without redrawing view.
  • Add option to not refresh view when deleting rows.
  • Add DeleteIds to array controller.
  • Do not call ResetView when setting the dvData in the array controller.
  • Use scroll wheel values from NS Event for scrolling on macOS.
  • Added MouseEnterControl, MouseLeaveControl, MouseEnterDataView, and MouseLeaveDataView messages.
  • Initialize topleft of new controls to topleft of dvList.
  • Add the viewProp["top padding template"] property which allows you to specify a group that will be inserted at the top of the DataView. The scrolling section of the DataView will be positioned below the group.
  • Check whether or not control must be cached AFTER potential cleanup.
  • Add setter for row data to array controller.

0.2.6

24 Feb 02:16
Compare
Choose a tag to compare
  • Added a dvRowIsDirty property of a row control. Set to redraw the row the next time the DataView is asked to render that row.
  • No need to call RenderView when setting the dvData property (array controller).
  • If "style" of a row is changing then get new control to match that style.
  • Delete controls in time so that deleting control from within event handler sent to that control doesn't trigger an error.
  • Replace incorrect instances of uTemplateStyle with dvTemplateStyle.

0.2.5

31 Jan 19:48
Compare
Choose a tag to compare
  • Reset and Render the DataView when setting the dvData property.

0.2.4

30 Jan 03:44
Compare
Choose a tag to compare
  • Added an IDE library with commands for creating new DataViews. See dvIdeCreateDataViewControlUsingDialog and dvIdeCreateDataViewControl in the README.

Video demonstration of creating a DataView:

https://youtu.be/ElH0R__QMXk

0.2.3

18 Jan 21:37
Compare
Choose a tag to compare
  • Add name so it can be listed as a dependency to other helpers.