@Override public Set<String> getClassnamesForScreen(String screenId) { Set<String> classNames = new HashSet<String>(); if(StringUtils.isNumeric(screenId)) { FieldScreen screen = fieldScreenManager.getFieldScreen(Long.parseLong(screenId)); for(FieldScreenTab tab : screen.getTabs()) { List<FieldScreenLayoutItem> items = tab.getFieldScreenLayoutItems(); for(FieldScreenLayoutItem item : items) { String cfClassname = customFieldsHelper.getCustomFieldTypeClassname(item.getFieldId()); if(StringUtils.isNotBlank(cfClassname)) { classNames.add(cfClassname); } } } } return classNames; }
public ErrorCollection execute() { ErrorCollection errorCollection = new SimpleErrorCollection(); // If the tab has any fields on it, then highlight the fields that are being added boolean highlightFields = !getTab().getFieldScreenLayoutItems().isEmpty(); // Go through the array backwards so that the fields are added in the order they appear in the listbox on the page for (int i = fieldId.length - 1; i >= 0; i--) { getTab().addFieldScreenLayoutItem(fieldId[i], fieldPos); if (highlightFields) { hlFields.add(fieldId[i]); } } return errorCollection; }
@Override public String[] getCustomFieldIdsForWorkflowScreens(JiraWorkflow workflow) { Set<String> ids = new HashSet<String>(); Collection<ActionDescriptor> allActions = workflow.getAllActions(); for (ActionDescriptor action : allActions) { if(FIELDSCREEN_VIEW.equals(action.getView()) && action.getMetaAttributes().containsKey(FIELDSCREEN_ID_NAME)) { String screenId = (String) action.getMetaAttributes().get(FIELDSCREEN_ID_NAME); if(StringUtils.isNumeric(screenId)) { FieldScreen screen = fieldScreenManager.getFieldScreen(Long.parseLong(screenId)); for(FieldScreenTab tab : screen.getTabs()) { List<FieldScreenLayoutItem> items = tab.getFieldScreenLayoutItems(); for(FieldScreenLayoutItem item : items) { ids.add(item.getFieldId()); } } } } } return ids.toArray(new String[0]); }
final List<FieldScreenLayoutItem> fieldScreenLayoutItems = tab.getFieldScreenLayoutItems(); final List<ScreenableFieldBean> fieldBeans = new ArrayList<ScreenableFieldBean>(fieldScreenLayoutItems.size());
for (FieldScreenLayoutItem fieldScreenLayoutItem : fieldScreenTab.getFieldScreenLayoutItems())
List<FieldScreenLayoutItem> items = tab.getFieldScreenLayoutItems();
for (final FieldScreenTab fieldScreenTab : fieldScreenTabs) final List<FieldScreenLayoutItem> fieldScreenLayoutItems = fieldScreenTab.getFieldScreenLayoutItems(); final List<FieldScreenRenderLayoutItem> fieldScreenRenderLayoutItems = new ArrayList<FieldScreenRenderLayoutItem>(fieldScreenLayoutItems.size()); for (FieldScreenLayoutItem fieldScreenLayoutItem : fieldScreenLayoutItems)
public FieldScreenRenderTabImpl createTabRender(final IssueTabRendererDto issueTabRendererDto) { final Issue issue = issueTabRendererDto.getIssue(); final FieldScreenTab fieldScreenTab = issueTabRendererDto.getFieldScreenTab(); final List<FieldScreenLayoutItem> fieldLayoutItems = fieldScreenTab.getFieldScreenLayoutItems(); final Collection<FieldScreenLayoutItem> availableFieldLayoutItems = fieldLayoutItemsFilter.filterAvailableFieldScreenLayoutItems(issueTabRendererDto.getCondition(), fieldLayoutItems); final Collection<FieldScreenLayoutItem> visibleFieldScreenLayoutItems = fieldLayoutItemsFilter.filterVisibleFieldScreenLayoutItems(issue, availableFieldLayoutItems); final Iterable<FieldScreenRenderLayoutItem> fieldScreenRenderLayoutItems = transformFieldScreenLayoutItemsToRenderers(issueTabRendererDto, visibleFieldScreenLayoutItems); return new FieldScreenRenderTabImpl(fieldScreenTab.getName(), issueTabRendererDto.getCurrentTabPosition(), newArrayList(fieldScreenRenderLayoutItems)); }
target = target + 1; if (target >= tab.getFieldScreenLayoutItems().size()) { tab.moveFieldScreenLayoutItemLast(fieldToMove.getPosition());
private Field addFieldToScreen(final Long screenId, final Long tabId, final String fieldId) { final FieldScreenTab tab = getTabById(getFieldScreen(screenId), tabId); final AddFieldToScreenUtil addFieldToScreenUtil = new AddFieldToScreenUtilImpl(jiraAuthenticationContext, fieldManager, fieldScreenManager); addFieldToScreenUtil.setFieldScreenId(screenId); addFieldToScreenUtil.setTabPosition(tab.getPosition()); addFieldToScreenUtil.setFieldId(new String[] { fieldId }); addFieldToScreenUtil.setFieldPosition("" + (tab.getFieldScreenLayoutItems().size() + 1)); final com.atlassian.jira.util.ErrorCollection errorCollection = addFieldToScreenUtil.validate(); if (errorCollection.hasAnyErrors()) { throwWebException(errorCollection); } addFieldToScreenUtil.execute(); return fieldManager.getField(fieldId); }
if (fieldPos < 0 || fieldPos > getTab().getFieldScreenLayoutItems().size()) fieldPos = getTab().getFieldScreenLayoutItems().size();
for (FieldScreenLayoutItem fieldScreenLayoutItem : fieldScreenTab.getFieldScreenLayoutItems())