/** * Moves all items one position down. * * @param dashboardItems dashboard items which are moved one position down. * @param firstNewRow the first row, starting from which the items are moved down. * @param column in which the items are going to be moved. */ private void moveDashboardItemsOnePositionDown(final Iterable<DashboardItemState> dashboardItems, final int firstNewRow, final int column) { final Long dashboardId = toLong(updateDashboardState.getId()); final Iterable<DashboardItemState> itemsBelowNewItem = drop(firstNewRow, dashboardItems); int row = firstNewRow; for (DashboardItemState dashboardItemState : itemsBelowNewItem) { portletConfigurationStore.updateGadgetPosition(toLong(dashboardItemState.getId()), row, column, dashboardId); row += 1; } } }
public void visit(final RemoveGadgetChange removeGadgetChange) { final PortletConfiguration gadgetToRemove = portletConfigurationStore.getByPortletId(toLong(removeGadgetChange.getGadgetId())); final Iterable<DashboardItemState> gadgets = updateDashboardState.getDashboardColumns().getItemsInColumn(DashboardState.ColumnIndex.from(gadgetToRemove.getColumn())); portletConfigurationStore.delete(gadgetToRemove); int row = 0; for (DashboardItemState gadget : gadgets) { portletConfigurationStore.updateGadgetPosition(toLong(gadget.getId()), row, gadgetToRemove.getColumn(), toLong(updateDashboardState.getId())); row++; } }
delegateStore.updateGadgetPosition(gadgetId, row, column, dashboardId);
public void visit(final UpdateLayoutChange updateLayoutChange) { final Long dashboardId = toLong(updateDashboardState.getId()); final PortalPage portalPage = portalPageStore.getPortalPage(dashboardId); if (!portalPage.getLayout().equals(updateLayoutChange.getLayout())) { portalPageStore.update(PortalPage.portalPage(portalPage).layout(updateLayoutChange.getLayout()).build()); } final GadgetLayout newLayout = updateLayoutChange.getGadgetLayout(); for (int column = 0; column < newLayout.getNumberOfColumns(); column++) { int row = 0; final Iterable<GadgetId> gadgets = newLayout.getGadgetsInColumn(column); for (GadgetId gadgetId : gadgets) { final Long gadgetIdLong = toLong(gadgetId); final PortletConfiguration portletConfiguration = portletConfigurationStore.getByPortletId(gadgetIdLong); if (portletConfiguration.getColumn() != column || portletConfiguration.getRow() != row) { portletConfigurationStore.updateGadgetPosition(gadgetIdLong, row, column, dashboardId); } row += 1; } } }