Update aggregate counts when adding, updating, copying, or moving nodes #3733
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Description of the change(s) you made
Adds logic that increments and decrements the
total_count,resource_count, andcoach_countwhen adding, updating, copying or moving nodes. The code applies these changes to IndexedDB because the main reason the counts were incorrect is that it relied on data that was loaded into Vuex. This updates indexedDB to keep it reflecting the current state as much as possible, but keeps those updates from causing syncable changes.Manual verification steps performed
Folder A, then aFolder Binside of that, andFolder Cinside ofBFolder CMy ChannelspageFolder AFolder CFolder Cas coach contentFolder CDoes this introduce any tech-debt items?
Deleting a node does not require any of this logic, since we move nodes to the trash tree before deleting them, but it does introduce some inconsistencies.
References
Fixes #3508
Fixes #2548
Comments
Contributor's Checklist
PR process:
CHANGELOGlabel been added to this PR. Note: items with this label will be added to the CHANGELOG at a later timedocslabel has been added if this introduces a change that needs to be updated in the user docs?requirements.txtfiles also included in this PRStudio-specifc:
notranslateclass been added to elements that shouldn't be translated by Google Chrome's automatic translation feature (e.g. icons, user-generated text)pages,components, andlayoutsdirectories as described in the docsTesting:
Reviewer's Checklist
This section is for reviewers to fill out.
yarnandpip)