@Override public void addAction(Action action, int index) { checkNotNullArgument(action, "action must be non null"); int oldIndex = findActionById(actionList, action.getId()); if (oldIndex >= 0) { removeAction(actionList.get(oldIndex)); if (index > oldIndex) { index--; } } if (StringUtils.isNotEmpty(action.getCaption())) { CubaButton contextMenuButton = createContextMenuButton(); initContextMenuButton(contextMenuButton, action); int visibleActionsIndex = 0; int i = 0; while (i < index && i < actionList.size()) { if (StringUtils.isNotEmpty(actionList.get(i).getCaption())) { visibleActionsIndex++; } i++; } contextMenuPopup.addComponent(contextMenuButton, visibleActionsIndex); actionButtons.put(action, contextMenuButton); } actionList.add(index, action); shortcutsDelegate.addAction(null, action); attachAction(action); actionsPermissions.apply(action); }
@Override public void addAction(Action action, int index) { checkNotNullArgument(action, "Action must be non null"); int oldIndex = findActionById(actionList, action.getId()); if (oldIndex >= 0) { removeAction(actionList.get(oldIndex)); if (index > oldIndex) { index--; } } if (StringUtils.isNotEmpty(action.getCaption())) { ActionMenuItemWrapper menuItemWrapper = createContextMenuItem(action); menuItemWrapper.setAction(action); contextMenuItems.add(menuItemWrapper); } actionList.add(index, action); shortcutsDelegate.addAction(null, action); attachAction(action); actionsPermissions.apply(action); }
@Override public void addAction(Action action, int index) { checkNotNullArgument(action, "Action must be non null"); int oldIndex = findActionById(actionList, action.getId()); if (oldIndex >= 0) { removeAction(actionList.get(oldIndex)); if (index > oldIndex) { index--; } } if (StringUtils.isNotEmpty(action.getCaption())) { WebAbstractDataGrid.ActionMenuItemWrapper menuItemWrapper = createContextMenuItem(action); menuItemWrapper.setAction(action); contextMenuItems.add(menuItemWrapper); } actionList.add(index, action); shortcutsDelegate.addAction(null, action); attachAction(action); actionsPermissions.apply(action); }