moveRenderItem method

void moveRenderItem(
  1. RenderItem<DecorationItem> renderItem
)

RenderItemの移動

Implementation

void moveRenderItem(RenderItem<DecorationItem> renderItem) {
  if (state.isShowingHistory) {
    final updatedRenderItems = state.renderItems
        .map(
          (item) => item.uuid == renderItem.uuid ? renderItem : item,
        )
        .toList();

    state = state.copyWith(
      historyRenderItems: [
        updatedRenderItems,
        ...state.historyRenderItems.sublist(
          state.currentHistoryIndex,
          state.historyRenderItems.length,
        ),
      ],
      currentHistoryIndex: 0,
    );
  } else {
    state = state.copyWith(
      historyRenderItems: [
        state.historyRenderItems[state.currentHistoryIndex]
            .map(
              (item) => item.uuid == renderItem.uuid ? renderItem : item,
            )
            .toList(),
        ...state.historyRenderItems,
      ],
      currentHistoryIndex: 0,
    );
  }
  _paletteState.changeMovingItem(false);
}