diff --git a/src/plugins/sections/Models.js b/src/plugins/sections/Models.js index d6c588135..c0d90e7f8 100644 --- a/src/plugins/sections/Models.js +++ b/src/plugins/sections/Models.js @@ -26,12 +26,16 @@ export type UpdateTreeGenerationHierarchyGenerationPayload = {| id: string, reason: string, tree?: Array<{ - didTriggerStateUpdate: boolean, + didTriggerStateUpdate?: boolean, identifier: string, - isDirty: boolean, - isReused: boolean, + isDirty?: boolean, + isReused?: boolean, name: string, - parent: string | 0, + parent: string | '', + inserted?: boolean, + removed?: boolean, + updated?: boolean, + unchanged?: boolean, }>, |}; @@ -40,15 +44,18 @@ export type UpdateTreeGenerationChangesetGenerationPayload = {| tree_generation_id: string, identifier: string, type: string, - changeset: { - inserted_items: {}, - inserted_sections: {}, - moved_items: {}, - removed_sections: [], - updated_items: { - [key: string]: { - context: string, - model: string, + changesets: { + section_key: { + changesets: { + id: { + count: number, + index: number, + toIndex?: number, + type: string, + render_infos?: Array, + prev_data?: Array, + next_data?: Array, + }, }, }, }, @@ -56,14 +63,17 @@ export type UpdateTreeGenerationChangesetGenerationPayload = {| export type UpdateTreeGenerationChangesetApplicationPayload = {| changeset: { - inserted_items: {}, - inserted_sections: {}, - moved_items: {}, - removed_sections: [], - updated_items: { - [key: string]: { - context: string, - model: string, + section_key: { + changesets: { + id: { + count: number, + index: number, + toIndex?: number, + type: string, + render_infos?: Array, + prev_data?: Array, + next_data?: Array, + }, }, }, }, diff --git a/src/plugins/sections/Tree.js b/src/plugins/sections/Tree.js index c4f4c117e..11475ee10 100644 --- a/src/plugins/sections/Tree.js +++ b/src/plugins/sections/Tree.js @@ -54,10 +54,14 @@ const Container = styled('div')({ type TreeData = Array<{ identifier: string, name: string, - parent: string | 0, - didTriggerStateUpdate: boolean, - isReused: boolean, - isDirty: boolean, + parent: string | '', + didTriggerStateUpdate?: boolean, + isReused?: boolean, + isDirty?: boolean, + inserted?: boolean, + removed?: boolean, + updated?: boolean, + unchanged?: boolean, }>; type Props = { @@ -94,6 +98,16 @@ export default class extends PureComponent { fill = colors.grape; } + if (n.removed) { + fill = colors.light20; + } else if (n.inserted) { + fill = colors.pinkDark1; + } else if (n.updated) { + fill = colors.orangeTint15; + } else if (n.unchanged) { + fill = colors.teal; + } + return { name: n.name, children: [], @@ -226,9 +240,12 @@ export default class extends PureComponent { step="0.01" /> - triggered state update - is reused - is dirty + Item removed + Item inserted + Item updated + Item/Section Reused + Section triggered state update + Section is dirty );