graph(state, getters, rootState, rootGetters) {
    // TODO: does it make sense to keep data for entire tree even when a custom root is selected?
    const parentUuidByUuid = _.mapValues(rootState.tasks.allTasksByUuid, 'parent_id');
    const childrenUuidsByUuid = getChildrenUuidsByUuid(parentUuidByUuid);
    const graphDataByUuid = getGraphDataByUuid(
      rootGetters['tasks/rootUuid'],
      parentUuidByUuid,
      childrenUuidsByUuid,
    );
    return {
      parentUuidByUuid,
      childrenUuidsByUuid,
      graphDataByUuid,
    };
  }
// TODO: update incrementally with each new parent/child relationship.
update incrementally with each new parent/child relationship.
update incrementally with each new parent / child relationship .
graph(state, getters, rootState, rootGetters) {
    const parentUuidByUuid = _.mapValues(rootState.tasks.allTasksByUuid, 'parent_id');
    const childrenUuidsByUuid = getChildrenUuidsByUuid(parentUuidByUuid);
    const graphDataByUuid = getGraphDataByUuid(
      rootGetters['tasks/rootUuid'],
      parentUuidByUuid,
      childrenUuidsByUuid,
    );
    return {
      parentUuidByUuid,
      childrenUuidsByUuid,
      graphDataByUuid,
    };
  }
graph ( state , getters , rootState , rootGetters ) { const parentUuidByUuid = _ . mapValues ( rootState . tasks . allTasksByUuid , 'parent_id' ) ; const childrenUuidsByUuid = getChildrenUuidsByUuid ( parentUuidByUuid ) ; const graphDataByUuid = getGraphDataByUuid ( rootGetters [ 'tasks/rootUuid' ] , parentUuidByUuid , childrenUuidsByUuid , ) ; return { parentUuidByUuid , childrenUuidsByUuid , graphDataByUuid , } ; }
TODO: update incrementally with each new parent/child relationship.
TODO : update incrementally with each new parent / child relationship .
// TODO: does it make sense to keep data for entire tree even when a custom root is selected?