@gitkraken/gitkraken-components 10.1.30 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,11 +6,12 @@ import type { Sha } from '../../domain/commit/CommitTypes';
6
6
  import type { CssVariables } from '../../domain/generic/GenericTypes';
7
7
  import type { GraphMarkerType, GraphZone, GraphZoneType } from '../../domain/graph/GraphConstants';
8
8
  import type { ThrottledFn } from '../../domain/graph/GraphHelpers';
9
- import type { AbsoluteNodeLeftByColumn, AvatarUrlByEmail, AvatarUrlRequestedByEmail, ChildrenBySha, ColumnColorByColumn, DownstreamsByUpstream, EdgeByColumn, ExcludeByType, ExcludeRefsById, ExcludeRemotesByName, FormatRefShorthand, GetExternalIcon, GetMissingAvatar, GetMissingRefMetadata, GraphColumnSetting, GraphColumnsSettings, GraphContexts, GraphMarkerColors, GraphMarkerRowIndices, GraphPlatform, GraphRefGroup, GraphRefOptData, GraphRow, GraphZoneModeConstants, GraphZonesByType, Head, HighlightedShas, IncludeOnlyRefsById, IncludeOnlyRemotesByName, IsRefShorthandValid, IsSelectedBySha, NodeOffsetByColumn, NodeOpacityByColumn, OnClearCurrentlyHoveredGraphCommit, OnClickCommit, OnClickRef, OnCommitContextMenu, OnCommitMessageChange, OnCurrentlyHoveredGraphCommit, OnDoubleClickCommit, OnDoubleClickRef, OnFilterColumnClick, OnFormatCommitDateTime, OnGraphColumnReOrdered, OnGraphMouseEnter, OnGraphMouseLeave, OnGraphResized, OnGraphVisibleRowsChanged, OnGraphZoneResize, OnGraphZoneResizeEnd, OnPopupGraphHeaderContextMenu, OnRefBeginDrag, OnRefCanDrag, OnRefCanDrop, OnRefCreate, OnRefCreateCancel, OnRefCreateContextMenu, OnRefDragEnter, OnRefDragLeave, OnRefDrop, OnRefEndDrag, OnRefNodeHovered, OnRefNodeUnhovered, OnRefZoneContextMenu, OnRefZoneHovered, OnRefZoneUnhovered, OnScrollForZone, OnSettingsClick, OnToggleRefNodesShown, OnWipMessageBlur, OnWipMessageFocus, ProcessedGraphRow, ProcessedGraphRowBySha, RefMetadataById, RefMetadataItem, RefMetadataRequestedById, RefMetadataType, RefsMissingMetadata, Remote, ReserverInfoBySha, RowEdges, RowStats, RowStatsConstraints, Tag, TopAndBottomVisibleRowIndex } from '../../domain/graph/GraphTypes';
9
+ import type { AbsoluteNodeLeftByColumn, AvatarUrlByEmail, AvatarUrlRequestedByEmail, ChildrenBySha, ColumnColorByColumn, DownstreamsByUpstream, EdgeByColumn, ExcludeByType, ExcludeRefsById, ExcludeRemotesByName, FormatCommitMessage, FormatRefShorthand, GetExternalIcon, GetMissingAvatar, GetMissingRefMetadata, GraphColumnSetting, GraphColumnsSettings, GraphContexts, GraphMarkerColors, GraphMarkerRowIndices, GraphPlatform, GraphRefGroup, GraphRefOptData, GraphRow, GraphZoneModeConstants, GraphZonesByType, Head, HighlightedShas, IncludeOnlyRefsById, IncludeOnlyRemotesByName, IsRefShorthandValid, IsSelectedBySha, NodeOffsetByColumn, NodeOpacityByColumn, OnClearCurrentlyHoveredGraphCommit, OnClickCommit, OnClickRef, OnCommitContextMenu, OnCommitMessageChange, OnCurrentlyHoveredGraphCommit, OnDoubleClickCommit, OnDoubleClickRef, OnFilterColumnClick, OnFormatCommitDateTime, OnGraphColumnReOrdered, OnGraphMouseEnter, OnGraphMouseLeave, OnGraphResized, OnGraphVisibleRowsChanged, OnGraphZoneResize, OnGraphZoneResizeEnd, OnPopupGraphHeaderContextMenu, OnRefBeginDrag, OnRefCanDrag, OnRefCanDrop, OnRefCreate, OnRefCreateCancel, OnRefCreateContextMenu, OnRefDragEnter, OnRefDragLeave, OnRefDrop, OnRefEndDrag, OnRefNodeHovered, OnRefNodeUnhovered, OnRefZoneContextMenu, OnRefZoneHovered, OnRefZoneUnhovered, OnScrollForZone, OnSettingsClick, OnToggleRefNodesShown, OnWipMessageBlur, OnWipMessageFocus, ProcessedGraphRow, ProcessedGraphRowBySha, RefMetadataById, RefMetadataItem, RefMetadataRequestedById, RefMetadataType, RefsMissingMetadata, Remote, ReserverInfoBySha, RowEdges, RowStats, RowStatsConstraints, Tag, TopAndBottomVisibleRowIndex } from '../../domain/graph/GraphTypes';
10
10
  import type { TranslationFn } from '../../domain/language/LanguageTypes';
11
11
  import type { CreateRefFormData } from '../../domain/ref/RefTypes';
12
12
  import type { OnBlur, OnKeyDown, OnKeyUp, OnMouseDown, OnResizeParams } from '../../domain/ui/UiTypes';
13
13
  import type { WorkDirStats } from '../../domain/workdir/WorkDirTypes';
14
+ import type { IGraphContainer } from './IGraphContainer';
14
15
  type OnClickGraphRow = (event: React.MouseEvent<any>, graphZoneType: GraphZoneType, graphRow: GraphRow) => void;
15
16
  type OnDoubleClickGraphRow = (event: React.MouseEvent<any>, graphZoneType: GraphZoneType, graphRow: GraphRow) => void;
16
17
  type OnClickGraphRef = (event: React.MouseEvent<any>, refGroup: GraphRefGroup, graphRow: GraphRow, metadataItem?: RefMetadataItem) => void;
@@ -34,6 +35,7 @@ type OnZoneEnter = (e: React.MouseEvent<any>, zoneType: GraphZoneType, hoveredRe
34
35
  type OnGraphContainerBlurred = (event: React.FocusEvent<any>, hoveredRefGroup?: GraphRefGroup, hoveredSha?: Sha) => void;
35
36
  interface OwnProps {
36
37
  formatCommitDateTime?: OnFormatCommitDateTime;
38
+ formatCommitMessage?: FormatCommitMessage;
37
39
  getExternalIcon: GetExternalIcon;
38
40
  platform?: GraphPlatform;
39
41
  shaLength?: number | null;
@@ -171,7 +173,7 @@ type ColumnsUsed = {
171
173
  type HasMergeNodeChildBySha = {
172
174
  [sha: Sha]: boolean;
173
175
  };
174
- declare class GraphContainer extends React.PureComponent<Props, ComponentState> {
176
+ declare class GraphContainer extends React.PureComponent<Props, ComponentState> implements IGraphContainer {
175
177
  graphContainerRef: any;
176
178
  resizeObserver: ResizeObserver;
177
179
  isSelectedBySha: IsSelectedBySha;
@@ -314,6 +316,7 @@ declare class GraphContainer extends React.PureComponent<Props, ComponentState>
314
316
  processRows(graphRows?: GraphRow[]): void;
315
317
  getStartingEdgesByColumn(currentRow: ProcessedGraphRow): EdgeByColumn;
316
318
  formatCommitDateTimeCallback: OnFormatCommitDateTime;
319
+ formatCommitMessageCallback: FormatCommitMessage;
317
320
  formatRefShorthandCallback: FormatRefShorthand;
318
321
  isRefShorthandValidCallback: IsRefShorthandValid;
319
322
  translateCallback: TranslationFn;
@@ -329,7 +332,6 @@ declare class GraphContainer extends React.PureComponent<Props, ComponentState>
329
332
  getFilteredRemotesForGraphRow(row: GraphRow, hasIncludes: boolean): Remote[];
330
333
  getFilteredTagsForGraphRow(row: GraphRow, hasIncludes: boolean, rowHasVisibleChild: boolean): Tag[];
331
334
  loadRowsbySha(graphRows: GraphRow[]): void;
332
- private getSummaryAndBody;
333
335
  updateRowStatsConstraints(): void;
334
336
  updateTimelines(): void;
335
337
  clearTimelines(): void;
@@ -21,7 +21,7 @@ type Props = {
21
21
  onGraphZoneResize?: OnGraphZoneResize;
22
22
  onGraphZoneResizeEnd?: OnGraphZoneResizeEnd;
23
23
  onGraphZoneResizeFromPropChange?: OnGraphZoneResizeFromPropChange;
24
- onSettingsClick: OnSettingsClick;
24
+ onSettingsClick?: OnSettingsClick;
25
25
  onToggleRefNodesShown: OnToggleRefNodesShown;
26
26
  graphZones: GraphZone[];
27
27
  repoPath: string;
@@ -0,0 +1,6 @@
1
+ import type { FormatCommitMessage } from '../../domain/graph/GraphTypes';
2
+ import type { TranslationFn } from '../../domain/language/LanguageTypes';
3
+ export interface IGraphContainer {
4
+ formatCommitMessageCallback: FormatCommitMessage;
5
+ translateCallback: TranslationFn;
6
+ }
@@ -1,7 +1,7 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import React from 'react';
3
3
  import type { GraphZone, GraphZoneType } from '../../../domain/graph/GraphConstants';
4
- import type { ExcludeRefsById, GetExternalIcon, GraphColumnSetting, GraphRefOptData, IncludeOnlyRefsById, OnFilterColumnClick, OnGraphZoneResize, OnGraphZoneResizeEnd, OnGraphZoneResizeFromPropChange, OnGraphZoneResizeStart, OnToggleRefNodesShown } from '../../../domain/graph/GraphTypes';
4
+ import type { ExcludeRefsById, GetExternalIcon, GraphColumnSetting, GraphItemContext, GraphRefOptData, IncludeOnlyRefsById, OnFilterColumnClick, OnGraphZoneResize, OnGraphZoneResizeEnd, OnGraphZoneResizeFromPropChange, OnGraphZoneResizeStart, OnSettingsClick, OnToggleRefNodesShown } from '../../../domain/graph/GraphTypes';
5
5
  import type { TranslationFn } from '../../../domain/language/LanguageTypes';
6
6
  import type { OnClick, OnMouseEnter, OnMouseLeave } from '../../../domain/ui/UiTypes';
7
7
  type GraphHeaderProps = {
@@ -26,8 +26,10 @@ type GraphHeaderProps = {
26
26
  onResizeEnd?: OnGraphZoneResizeEnd;
27
27
  onResizeFromPropChange?: OnGraphZoneResizeFromPropChange;
28
28
  onResizeStart?: OnGraphZoneResizeStart;
29
+ onSettingsClick?: OnSettingsClick;
29
30
  onToggleRefNodesShown: OnToggleRefNodesShown;
30
31
  onUnhover?: OnMouseLeave;
32
+ settingsContext?: GraphItemContext;
31
33
  showRemoteNamesOnRefs: boolean;
32
34
  translate: TranslationFn;
33
35
  };
@@ -36,6 +38,7 @@ type GraphHeaderState = {
36
38
  refPopoverMenuTarget: React.ReactInstance | undefined;
37
39
  };
38
40
  declare class GraphHeader extends React.Component<GraphHeaderProps, GraphHeaderState> {
41
+ private headIconsRef;
39
42
  constructor(props: GraphHeaderProps);
40
43
  onHiddenRefsClick: OnClick;
41
44
  onShowRefNodes: OnToggleRefNodesShown;
@@ -10,6 +10,7 @@ type RefNodeProps = {
10
10
  groupIsHovered: boolean;
11
11
  hasActive: boolean;
12
12
  hasRefs: boolean;
13
+ isActive: boolean;
13
14
  isGhostRef: boolean;
14
15
  isInUnsupportedRebase: boolean;
15
16
  isRefGroupIncluded: boolean;
@@ -30,6 +31,7 @@ type RefNodeProps = {
30
31
  refGroupContext: GraphItemContext | null;
31
32
  refMetadata: RefMetadataById | null;
32
33
  sha: Sha;
34
+ showRemoteNamesOnRefs: boolean;
33
35
  enabledRefMetadataTypes: RefMetadataType[];
34
36
  translate: TranslationFn;
35
37
  type: CommitType;
@@ -33,9 +33,10 @@ type RefNodesProps = {
33
33
  onRefDrop: OnRefDrop;
34
34
  onRefEndDrag: OnRefEndDrag;
35
35
  sha: Sha;
36
+ showRemoteNamesOnRefs: boolean;
36
37
  showContextMenuForGroupedRef: OnRefZoneContextMenu;
37
38
  translate: TranslationFn;
38
39
  type: CommitType;
39
40
  };
40
- declare function RefNodes({ enabledRefMetadataTypes, column, context, enableShowHideRefsOptions, getTargetRef, hasActive, hasRefs, getExternalIcon, includeOnlyRefsById, includeOnlyRemotesByName, isGhostRef, isHovered, isInUnsupportedRebase, numGraphColumns, onMissingRefMetadata, refGroupContexts, refGroupsByName, refMetadata, refNodeHovered, sha, showContextMenuForGroupedRef, onClickRef, onDoubleClickRef, onToggleRefNodesShown, onRefBeginDrag, onRefCanDrag, onRefCanDrop, onRefDragEnter, onRefDragLeave, onRefDrop, onRefEndDrag, translate, type, }: RefNodesProps): ReactElement<'span' | 'div'>;
41
+ declare function RefNodes({ enabledRefMetadataTypes, column, context, enableShowHideRefsOptions, getTargetRef, hasActive, hasRefs, getExternalIcon, includeOnlyRefsById, includeOnlyRemotesByName, isGhostRef, isHovered, isInUnsupportedRebase, numGraphColumns, onMissingRefMetadata, refGroupContexts, refGroupsByName, refMetadata, refNodeHovered, sha, showRemoteNamesOnRefs, showContextMenuForGroupedRef, onClickRef, onDoubleClickRef, onToggleRefNodesShown, onRefBeginDrag, onRefCanDrag, onRefCanDrop, onRefDragEnter, onRefDragLeave, onRefDrop, onRefEndDrag, translate, type, }: RefNodesProps): ReactElement<'span' | 'div'>;
41
42
  export default RefNodes;
@@ -46,6 +46,7 @@ type RefZoneProps = {
46
46
  shouldShowRefLine: boolean;
47
47
  showColorStrip?: boolean;
48
48
  showContextMenuForGroupedRef: OnRefZoneContextMenu;
49
+ showRemoteNamesOnRefs: boolean;
49
50
  enabledRefMetadataTypes: RefMetadataType[];
50
51
  style: Style;
51
52
  translate: TranslationFn;
@@ -33,6 +33,7 @@ export declare const REF_NODE_ICON_MARGIN = 5;
33
33
  export declare const REF_NODE_ICON_SPACING: number;
34
34
  export declare const REF_NODE_OUTER_SPACING = 10;
35
35
  export declare const REF_ZONE_SHOW_ICON_WIDTH = 55;
36
+ export declare const REF_ZONE_MAX_REFS_TO_RENDER = 100;
36
37
  export declare const CHANGES_ZONE_MIN_WIDTH = 50;
37
38
  export declare const CHANGES_BAR_MIN_WIDTH = 10;
38
39
  export declare const CHANGES_BAR_RIGHT_MARGIN = 25;
@@ -6,7 +6,7 @@ import type { GraphRefType } from '../ref/RefTypes';
6
6
  import type { WorkDirStats } from '../workdir/WorkDirTypes';
7
7
  import type { GraphMarkerType, GraphZone, GraphZoneType, TimelineEntriesByPeriod } from './GraphConstants';
8
8
  import { GraphColumnMode } from './GraphConstants';
9
- import type { BaseMetadata, GetMissingRefMetadata, GraphColumnWidthConstraints, GraphItemContext, GraphRef, GraphRefGroup, GraphRow, GraphZoneModeConstants, HighlightedShas, IsSelectedBySha, ProcessedGraphRow, ProcessedGraphRowBySha, Ref, RefMetadata, RefMetadataById, RefMetadataType, RowStatsConstraints } from './GraphTypes';
9
+ import type { BaseMetadata, GetMissingRefMetadata, GraphColumnWidthConstraints, GraphItemContext, GraphRef, GraphRefGroup, GraphRow, GraphZoneModeConstants, Head, HighlightedShas, IsSelectedBySha, ProcessedGraphRow, ProcessedGraphRowBySha, Ref, RefMetadata, RefMetadataById, RefMetadataType, RowStatsConstraints } from './GraphTypes';
10
10
  export type DebouncableFn = (...args: any) => void;
11
11
  export type DebouncedFn = (...args: any) => void;
12
12
  export declare const debounceFrame: (func: DebouncableFn) => DebouncedFn;
@@ -51,13 +51,9 @@ export declare function workDirStatsHaveChanges(workDirStats?: WorkDirStats): bo
51
51
  export declare function hasSingleSelectedSha(isSelectedBySha: IsSelectedBySha): boolean;
52
52
  export declare function isSingleSelected(isSelectedBySha: IsSelectedBySha, sha: Sha): boolean;
53
53
  export declare function getScrollToAlignment(rowHeight: number, clientHeight: number, scrollTop: number, scrollToIndex: number): Alignment;
54
- export declare function getGraphRefGroup(processedRow: ProcessedGraphRow, showRemoteNamesOnRefs: boolean): GraphRefGroup;
55
- export declare function getGraphRefGroupsByName(refGroupIn: GraphRefGroup): GraphRefGroup[];
56
54
  export declare function getGraphZoneIconByType(zoneType: GraphZoneType): string;
55
+ export declare function isHeadActive(head: Head): boolean;
57
56
  export declare function isGraphRefActive(ref: GraphRef): boolean;
58
- export declare function getActiveGraphRef(refGroup: GraphRefGroup): GraphRef | undefined;
59
- export declare function getActiveRefGroup(refGroups: GraphRefGroup[]): GraphRefGroup | undefined;
60
- export declare function hasActiveRef(refGroup: GraphRefGroup): boolean;
61
57
  export interface GraphRowHelperProps {
62
58
  currentlyHoveredCommitSha?: Sha;
63
59
  cssVariables: CssVariables;
@@ -73,13 +69,11 @@ export interface GraphRowHelperProps {
73
69
  isContainerWindowFocused: boolean;
74
70
  processedRows: ProcessedGraphRow[];
75
71
  processedGraphRowBySha: ProcessedGraphRowBySha;
76
- showRemoteNamesOnRefs: boolean;
77
72
  }
78
73
  export declare class GraphRowHelper {
79
74
  props: GraphRowHelperProps;
80
75
  constructor(props: GraphRowHelperProps);
81
76
  getActiveGraphZone(graphZoneType: GraphZoneType): GraphZone | undefined;
82
- getGraphRefGroupForRow(rowIndex: number): GraphRefGroup;
83
77
  getGraphRefGroupsByNameForRow(rowIndex: number): GraphRefGroup[];
84
78
  getRow(rowIndex: number): ProcessedGraphRow | undefined;
85
79
  getZoneWidth(graphZoneType: GraphZoneType, withoutVerticalScrollWidth?: boolean): number;
@@ -189,6 +189,7 @@ export interface Remote extends Ref {
189
189
  }
190
190
  export interface Tag extends Ref {
191
191
  annotated?: boolean;
192
+ message?: string;
192
193
  }
193
194
  export interface GraphRef extends Head, Remote, Tag {
194
195
  refType: GraphRefType;
@@ -270,6 +271,9 @@ export type GraphRefOptData = {
270
271
  avatarUrl?: string;
271
272
  };
272
273
  export type GraphRefGroup = Array<GraphRef>;
274
+ export type GraphRefGroupsByName = {
275
+ [fullName: RefFullName]: GraphRefGroup;
276
+ };
273
277
  export type HeadsBySha = {
274
278
  [id: Sha]: Head[];
275
279
  };
@@ -300,17 +304,27 @@ export interface GraphRow {
300
304
  remotes?: Remote[];
301
305
  tags?: Tag[];
302
306
  contexts?: RowContexts;
303
- childRefs?: ChildRefsByType;
307
+ }
308
+ export interface GraphRefsData {
309
+ activeGraphRef?: GraphRef;
310
+ activeGraphRefGroup?: GraphRefGroup;
311
+ orderedRefGroups: GraphRefGroup[];
312
+ refGroupsByName: GraphRefGroupsByName;
304
313
  }
305
314
  export interface ProcessedGraphRow extends GraphRow {
306
315
  rowIndex?: number;
307
316
  column: number;
317
+ displayMessage: string;
318
+ displaySummary: string;
319
+ displayBody?: string;
308
320
  edges: RowEdges;
309
321
  edgeColumnMaxes: number;
310
322
  hasRefs?: boolean;
311
323
  summary: string;
312
324
  body?: string;
313
325
  timeLineEntry?: TimelineEntry;
326
+ childRefs?: ChildRefsByType;
327
+ refsData?: GraphRefsData;
314
328
  }
315
329
  export type TopAndBottomVisibleRowIndex = {
316
330
  top: number;
@@ -408,6 +422,7 @@ export type OnGraphMouseLeave = (event: React.MouseEvent<any>) => void;
408
422
  export type OnClearCurrentlyHoveredGraphCommit = (event: React.MouseEvent<any>, graphZoneType: GraphZoneType, sha: Sha, currentlyHoveredCommitSha?: Sha) => void;
409
423
  export type CommitDateTimeSource = CommitDateTimeSources;
410
424
  export type OnFormatCommitDateTime = (commitDateTime: number, source?: CommitDateTimeSource) => string;
425
+ export type FormatCommitMessage = (commitMessage: string) => string;
411
426
  export type OnCurrentlyHoveredGraphCommit = (event: React.MouseEvent<any>, graphZoneType: GraphZoneType, sha: Sha, currentlyHoveredCommitSha?: Sha) => void;
412
427
  export type OnClickCommit = (event: React.MouseEvent<any>, graphZoneType: GraphZoneType, sha: Sha) => void;
413
428
  export type OnClickRef = (event: React.MouseEvent<any>, refGroup: GraphRefGroup, sha: Sha, metadataItem?: RefMetadataItem) => void;
@@ -0,0 +1,48 @@
1
+ import type { IGraphContainer } from '../../../components/graph/IGraphContainer';
2
+ import type { CommitType, Sha } from '../../commit/CommitTypes';
3
+ import type { TimelineEntry } from '../GraphConstants';
4
+ import type { ChildRefsByType, GraphRefsData, GraphRow, Head, ProcessedGraphRow, Remote, RowContexts, RowEdges, Tag } from '../GraphTypes';
5
+ export declare class ProcessedGraphRowObj implements ProcessedGraphRow {
6
+ private _graph;
7
+ private _message;
8
+ private _heads;
9
+ private _remotes;
10
+ private _tags;
11
+ private _activeGraphRef?;
12
+ private _activeGraphRefGroup?;
13
+ private _refGroupsByName;
14
+ private _orderedRefGroups;
15
+ sha: Sha;
16
+ parents: Sha[];
17
+ author: string;
18
+ email: string;
19
+ date: number;
20
+ type: CommitType;
21
+ contexts?: RowContexts;
22
+ rowIndex?: number;
23
+ column: number;
24
+ edgeColumnMaxes: number;
25
+ edges: RowEdges;
26
+ childRefs: ChildRefsByType;
27
+ timeLineEntry?: TimelineEntry;
28
+ summary: string;
29
+ body?: string;
30
+ displayMessage: string;
31
+ displaySummary: string;
32
+ displayBody?: string;
33
+ set message(message: string);
34
+ get message(): string;
35
+ get heads(): Head[];
36
+ set heads(heads: Head[]);
37
+ set remotes(remotes: Remote[]);
38
+ get remotes(): Remote[];
39
+ set tags(tags: Tag[]);
40
+ get tags(): Tag[];
41
+ get hasRefs(): boolean;
42
+ get refsData(): GraphRefsData | undefined;
43
+ constructor(graphContainer: IGraphContainer, row: GraphRow, column?: number, edgeColumnMaxes?: number, edges?: RowEdges, childRefs?: ChildRefsByType, timeLineEntry?: TimelineEntry);
44
+ private updateSummaryAndBody;
45
+ private initializeRefGroups;
46
+ private addRefToRefGroup;
47
+ private loadGraphRefGroupsData;
48
+ }