Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Persistable + ViewManager #3821

Merged
merged 64 commits into from
Nov 12, 2024
Merged

Persistable + ViewManager #3821

merged 64 commits into from
Nov 12, 2024

Conversation

amcclain
Copy link
Member

@amcclain amcclain commented Oct 31, 2024

Hoist P/R Checklist

Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

  • Caught up with develop branch as of last change.
  • Added CHANGELOG entry, or determined not required.
  • Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
  • Updated doc comments / prop-types, or determined not required.
  • Reviewed and tested on Mobile, or determined not required.
  • Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

ghsolomon and others added 25 commits October 17, 2024 15:08
* Updates to persistable column widths

+ Report on-demand and sizing-mode autosize events as if they were manually sized - we want to persist these widths as if the user had made them individually themselves.  Only in managed mode are we truly deferring to autosize.
+ Clarify that `mode` can not be passed as an option to `autosizeAsync() - we always read and respect the gridModel's mode.
+ Additional typing / comment tweaks

* Updates to PersistenceProvider

+ Catch unknown type / unparseable config in factory and return null - see TB Admin Grid Test - it has an option to pass a bogus key.
+ Minor comment formatting / put ctor in protected block

---------

Co-authored-by: Greg Solomon <greg@xh.io>
# Conflicts:
#	CHANGELOG.md
+ Remove property on superclass that was storing reference to provider - as of now we don't think we will generally be saving or using those references
+ Remove try/catch - create() catches internally
+ Add/export `JsonBlob` interface
+ Type service APIs
* Updates to persistable column widths

+ Report on-demand and sizing-mode autosize events as if they were manually sized - we want to persist these widths as if the user had made them individually themselves.  Only in managed mode are we truly deferring to autosize.
+ Clarify that `mode` can not be passed as an option to `autosizeAsync() - we always read and respect the gridModel's mode.
+ Additional typing / comment tweaks

* Updates to PersistenceProvider

+ Catch unknown type / unparseable config in factory and return null - see TB Admin Grid Test - it has an option to pass a bogus key.
+ Minor comment formatting / put ctor in protected block

* Fix DashContainerModel PersistenceProvider construction

* Remove DashCanvasModel.publishState

* Fix DashViewProvider.clearRaw impl and add Persistence Provider logging

* Rename PersistablePanelState -> PanelPersistState

---------

Co-authored-by: Anselm McClain <atm@xh.io>
@amcclain
Copy link
Member Author

Current WIP state implements the approach sketched out in my comments from last night on #3814.

Note also new Toolbox branch with PR @ xh/toolbox#737 - revised Portfolio app example to help us exercise the new persistence code.

amcclain and others added 26 commits November 6, 2024 09:39
+ Update `listAsync()` to inline `loadSpec` with all other args in a single object.
+ Expand `JsonBlob` interface to include additional properties present on all blobs.
+ Only POST back params to `updateAsync` that have actually been spec'd for update.
+ Respect `showSaveButton` prop, specifically allow showing button when not dirty if prop set to `always`.
+ Avoid weird/empty menu dividers if private/shared views show in submenu. Ensure separators render in general as expected.
+ Add doc comments to `View` interface.
+ Additional minor tweaks and cleanups
+ Update `FilterChooserFilterLike` for accuracy - remove base `Filter` from union type.
+ Additional usages of `Thunkable`
+ Add trailing `s` for consistency for actual model property and default persisted sub-path.
@amcclain amcclain marked this pull request as ready for review November 12, 2024 01:13
@amcclain amcclain merged commit b527e75 into develop Nov 12, 2024
2 checks passed
@amcclain amcclain deleted the persistableWithViewManager branch November 12, 2024 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants