import { joinPaths } from '~/lib/utils/url_utility'; import { WIDGET_TYPE_ASSIGNEES, WIDGET_TYPE_HEALTH_STATUS, WIDGET_TYPE_HIERARCHY, WIDGET_TYPE_LABELS, WIDGET_TYPE_MILESTONE, WIDGET_TYPE_START_AND_DUE_DATE, WIDGET_TYPE_WEIGHT, } from './constants'; export const isAssigneesWidget = (widget) => widget.type === WIDGET_TYPE_ASSIGNEES; export const isHealthStatusWidget = (widget) => widget.type === WIDGET_TYPE_HEALTH_STATUS; export const isLabelsWidget = (widget) => widget.type === WIDGET_TYPE_LABELS; export const isMilestoneWidget = (widget) => widget.type === WIDGET_TYPE_MILESTONE; export const isStartAndDueDateWidget = (widget) => widget.type === WIDGET_TYPE_START_AND_DUE_DATE; export const isWeightWidget = (widget) => widget.type === WIDGET_TYPE_WEIGHT; export const findHierarchyWidgets = (widgets) => widgets?.find((widget) => widget.type === WIDGET_TYPE_HIERARCHY); export const findHierarchyWidgetChildren = (workItem) => findHierarchyWidgets(workItem?.widgets)?.children?.nodes || []; const autocompleteSourcesPath = (autocompleteType, fullPath, workItemIid) => { return `${ gon.relative_url_root || '' }/${fullPath}/-/autocomplete_sources/${autocompleteType}?type=WorkItem&type_id=${workItemIid}`; }; export const autocompleteDataSources = (fullPath, iid) => ({ labels: autocompleteSourcesPath('labels', fullPath, iid), members: autocompleteSourcesPath('members', fullPath, iid), commands: autocompleteSourcesPath('commands', fullPath, iid), }); export const markdownPreviewPath = (fullPath, iid) => `${ gon.relative_url_root || '' }/${fullPath}/preview_markdown?target_type=WorkItem&target_id=${iid}`; export const workItemPath = (fullPath, workItemIid) => { return joinPaths(gon?.relative_url_root || '/', fullPath, '-', 'work_items', workItemIid); };