@myrmidon/gve-core 1.0.0 → 3.0.2
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.
- package/README.md +32 -2
- package/fesm2022/myrmidon-gve-core.mjs +1277 -927
- package/fesm2022/myrmidon-gve-core.mjs.map +1 -1
- package/lib/components/animation-timeline/animation-timeline.component.d.ts +7 -10
- package/lib/components/animation-timeline-set/animation-timeline-set.component.d.ts +9 -12
- package/lib/components/animation-tween/animation-tween.component.d.ts +6 -8
- package/lib/components/base-text-char/base-text-char.component.d.ts +3 -6
- package/lib/components/base-text-editor/base-text-editor.component.d.ts +6 -8
- package/lib/components/base-text-view/base-text-view.component.d.ts +15 -12
- package/lib/components/batch-operation-editor/batch-operation-editor.component.d.ts +5 -7
- package/lib/components/chain-operation-editor/chain-operation-editor.component.d.ts +14 -15
- package/lib/components/chain-result-view/chain-result-view.component.d.ts +8 -11
- package/lib/components/chain-view/chain-view.component.d.ts +42 -0
- package/lib/components/feature-editor/feature-editor.component.d.ts +8 -12
- package/lib/components/feature-set-editor/feature-set-editor.component.d.ts +11 -13
- package/lib/components/feature-set-view/feature-set-view.component.d.ts +5 -7
- package/lib/components/ln-heights-editor/ln-heights-editor.component.d.ts +5 -8
- package/lib/components/operation-source-editor/operation-source-editor.component.d.ts +8 -11
- package/lib/components/snapshot-editor/snapshot-editor.component.d.ts +46 -35
- package/lib/components/snapshot-text-editor/snapshot-text-editor.component.d.ts +37 -0
- package/lib/components/steps-map/steps-map.component.d.ts +9 -9
- package/lib/services/gve-api.service.d.ts +48 -4
- package/lib/services/gve-graphviz.service.d.ts +20 -0
- package/lib/services/settings.service.d.ts +40 -5
- package/package.json +5 -5
- package/public-api.d.ts +3 -1
- package/lib/components/simple-tree/simple-tree.component.d.ts +0 -35
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
2
|
import { GveAnimationTimeline, GveAnimationTween } from '@myrmidon/gve-snapshot-view';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
@@ -17,29 +16,27 @@ import * as i0 from "@angular/core";
|
|
|
17
16
|
* - 🔥 `timelineCancel` (`void`): emitted when the timeline editing is canceled.
|
|
18
17
|
*/
|
|
19
18
|
export declare class AnimationTimelineComponent {
|
|
20
|
-
private _timeline?;
|
|
21
19
|
/**
|
|
22
20
|
* The animation timeline to edit.
|
|
23
21
|
*/
|
|
24
|
-
|
|
25
|
-
set timeline(value: GveAnimationTimeline | undefined | null);
|
|
22
|
+
readonly timeline: import("@angular/core").ModelSignal<GveAnimationTimeline | undefined>;
|
|
26
23
|
/**
|
|
27
24
|
* The IDs of the elements that can be selected by the tween.
|
|
28
25
|
* This list is used to allow the user to select an element from a dropdown.
|
|
29
26
|
*/
|
|
30
|
-
elementIds
|
|
27
|
+
readonly elementIds: import("@angular/core").InputSignal<string[] | undefined>;
|
|
31
28
|
/**
|
|
32
29
|
* The tags that can be used by the timeline.
|
|
33
30
|
*/
|
|
34
|
-
tags: string[]
|
|
31
|
+
readonly tags: import("@angular/core").InputSignal<string[]>;
|
|
35
32
|
/**
|
|
36
33
|
* Emitted when the timeline is changed.
|
|
37
34
|
*/
|
|
38
|
-
readonly timelineChange:
|
|
35
|
+
readonly timelineChange: import("@angular/core").OutputEmitterRef<GveAnimationTimeline>;
|
|
39
36
|
/**
|
|
40
37
|
* Emitted when the timeline editing is canceled.
|
|
41
38
|
*/
|
|
42
|
-
readonly timelineCancel:
|
|
39
|
+
readonly timelineCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
43
40
|
tag: FormControl<string>;
|
|
44
41
|
tweens: FormControl<GveAnimationTween[]>;
|
|
45
42
|
vars: FormControl<string | null>;
|
|
@@ -53,12 +50,12 @@ export declare class AnimationTimelineComponent {
|
|
|
53
50
|
editTween(index: number): void;
|
|
54
51
|
deleteTween(index: number): void;
|
|
55
52
|
closeTween(): void;
|
|
56
|
-
saveTween(tween
|
|
53
|
+
saveTween(tween?: GveAnimationTween): void;
|
|
57
54
|
moveTweenUp(index: number): void;
|
|
58
55
|
moveTweenDown(index: number): void;
|
|
59
56
|
private getTimeline;
|
|
60
57
|
close(): void;
|
|
61
58
|
save(): void;
|
|
62
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimationTimelineComponent, never>;
|
|
63
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimationTimelineComponent, "gve-animation-timeline", never, { "timeline": { "alias": "timeline"; "required": false; }; "elementIds": { "alias": "elementIds"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; }, { "timelineChange": "timelineChange"; "timelineCancel": "timelineCancel"; }, never, never, true, never>;
|
|
60
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimationTimelineComponent, "gve-animation-timeline", never, { "timeline": { "alias": "timeline"; "required": false; "isSignal": true; }; "elementIds": { "alias": "elementIds"; "required": false; "isSignal": true; }; "tags": { "alias": "tags"; "required": false; "isSignal": true; }; }, { "timeline": "timelineChange"; "timelineChange": "timelineChange"; "timelineCancel": "timelineCancel"; }, never, never, true, never>;
|
|
64
61
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import { DialogService } from '@myrmidon/
|
|
2
|
+
import { DialogService } from '@myrmidon/ngx-mat-tools';
|
|
4
3
|
import { GveAnimationTimeline } from '@myrmidon/gve-snapshot-view';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
/**
|
|
@@ -17,30 +16,28 @@ import * as i0 from "@angular/core";
|
|
|
17
16
|
*/
|
|
18
17
|
export declare class AnimationTimelineSetComponent {
|
|
19
18
|
private _dialogService;
|
|
20
|
-
private _timelines;
|
|
21
|
-
editedTimeline?: GveAnimationTimeline;
|
|
22
19
|
/**
|
|
23
20
|
* The animation timelines to edit.
|
|
24
21
|
*/
|
|
25
|
-
|
|
26
|
-
set timelines(value: GveAnimationTimeline[] | undefined | null);
|
|
22
|
+
readonly timelines: import("@angular/core").ModelSignal<GveAnimationTimeline[]>;
|
|
27
23
|
/**
|
|
28
24
|
* The IDs of the elements that can be selected by the tween.
|
|
29
25
|
* This list is used to allow the user to select an element from a dropdown.
|
|
30
26
|
*/
|
|
31
|
-
elementIds
|
|
27
|
+
readonly elementIds: import("@angular/core").InputSignal<string[] | undefined>;
|
|
32
28
|
/**
|
|
33
29
|
* The tags that can be used by the timeline.
|
|
34
30
|
*/
|
|
35
|
-
tags: string[]
|
|
31
|
+
readonly tags: import("@angular/core").InputSignal<string[]>;
|
|
36
32
|
/**
|
|
37
33
|
* Emitted when the timelines are changed.
|
|
38
34
|
*/
|
|
39
|
-
readonly timelinesChange:
|
|
35
|
+
readonly timelinesChange: import("@angular/core").OutputEmitterRef<GveAnimationTimeline[]>;
|
|
40
36
|
/**
|
|
41
37
|
* Emitted when the timeline editing is canceled.
|
|
42
38
|
*/
|
|
43
|
-
readonly timelinesCancel:
|
|
39
|
+
readonly timelinesCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
40
|
+
editedTimeline?: GveAnimationTimeline;
|
|
44
41
|
set: FormControl<GveAnimationTimeline[]>;
|
|
45
42
|
form: FormGroup;
|
|
46
43
|
constructor(formBuilder: FormBuilder, _dialogService: DialogService);
|
|
@@ -48,8 +45,8 @@ export declare class AnimationTimelineSetComponent {
|
|
|
48
45
|
closeTimeline(): void;
|
|
49
46
|
newTimeline(): void;
|
|
50
47
|
editTimeline(index: number): void;
|
|
51
|
-
onTimelineChange(timeline
|
|
48
|
+
onTimelineChange(timeline?: GveAnimationTimeline | null): void;
|
|
52
49
|
deleteTimeline(index: number): void;
|
|
53
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimationTimelineSetComponent, never>;
|
|
54
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimationTimelineSetComponent, "gve-animation-timeline-set", never, { "timelines": { "alias": "timelines"; "required": false; }; "elementIds": { "alias": "elementIds"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; }, { "timelinesChange": "timelinesChange"; "timelinesCancel": "timelinesCancel"; }, never, never, true, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimationTimelineSetComponent, "gve-animation-timeline-set", never, { "timelines": { "alias": "timelines"; "required": false; "isSignal": true; }; "elementIds": { "alias": "elementIds"; "required": false; "isSignal": true; }; "tags": { "alias": "tags"; "required": false; "isSignal": true; }; }, { "timelines": "timelinesChange"; "timelinesChange": "timelinesChange"; "timelinesCancel": "timelinesCancel"; }, never, never, true, never>;
|
|
55
52
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { GveAnimationTween, TweenType } from '@myrmidon/gve-snapshot-view';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -15,25 +15,23 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
*/
|
|
16
16
|
export declare class AnimationTweenComponent implements OnInit, OnDestroy {
|
|
17
17
|
private _sub?;
|
|
18
|
-
private _tween?;
|
|
19
18
|
/**
|
|
20
19
|
* The tween to edit.
|
|
21
20
|
*/
|
|
22
|
-
|
|
23
|
-
set tween(value: GveAnimationTween | undefined | null);
|
|
21
|
+
readonly tween: import("@angular/core").ModelSignal<GveAnimationTween | undefined>;
|
|
24
22
|
/**
|
|
25
23
|
* The IDs of the elements that can be selected by the tween.
|
|
26
24
|
* This list is used to allow the user to select an element from a dropdown.
|
|
27
25
|
*/
|
|
28
|
-
elementIds
|
|
26
|
+
readonly elementIds: import("@angular/core").InputSignal<string[] | undefined>;
|
|
29
27
|
/**
|
|
30
28
|
* Emitted when the tween is changed.
|
|
31
29
|
*/
|
|
32
|
-
readonly tweenChange:
|
|
30
|
+
readonly tweenChange: import("@angular/core").OutputEmitterRef<GveAnimationTween>;
|
|
33
31
|
/**
|
|
34
32
|
* Emitted when the user cancels the edit.
|
|
35
33
|
*/
|
|
36
|
-
readonly tweenCancel:
|
|
34
|
+
readonly tweenCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
37
35
|
types: string[];
|
|
38
36
|
label: FormControl<string>;
|
|
39
37
|
note: FormControl<string | null>;
|
|
@@ -56,5 +54,5 @@ export declare class AnimationTweenComponent implements OnInit, OnDestroy {
|
|
|
56
54
|
openUrl(url: string): void;
|
|
57
55
|
save(): void;
|
|
58
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<AnimationTweenComponent, never>;
|
|
59
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AnimationTweenComponent, "gve-animation-tween", never, { "tween": { "alias": "tween"; "required": false; }; "elementIds": { "alias": "elementIds"; "required": false; }; }, { "tweenChange": "tweenChange"; "tweenCancel": "tweenCancel"; }, never, never, true, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AnimationTweenComponent, "gve-animation-tween", never, { "tween": { "alias": "tween"; "required": false; "isSignal": true; }; "elementIds": { "alias": "elementIds"; "required": false; "isSignal": true; }; }, { "tween": "tweenChange"; "tweenChange": "tweenChange"; "tweenCancel": "tweenCancel"; }, never, never, true, never>;
|
|
60
58
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
2
|
/**
|
|
4
3
|
* A single character from a base text.
|
|
@@ -26,20 +25,18 @@ export interface BaseTextCharEvent {
|
|
|
26
25
|
* Used by `gve-base-text-view`.
|
|
27
26
|
*/
|
|
28
27
|
export declare class BaseTextCharComponent {
|
|
29
|
-
private _char;
|
|
30
28
|
defaultColor: string;
|
|
31
29
|
defaultBorderColor: string;
|
|
32
30
|
defaultEmSize: number;
|
|
33
31
|
/**
|
|
34
32
|
* The character to display.
|
|
35
33
|
*/
|
|
36
|
-
|
|
37
|
-
set char(value: BaseTextChar | undefined | null);
|
|
34
|
+
readonly char: import("@angular/core").InputSignal<BaseTextChar | undefined>;
|
|
38
35
|
/**
|
|
39
36
|
* Emitted when the character is clicked.
|
|
40
37
|
*/
|
|
41
|
-
charPick:
|
|
38
|
+
readonly charPick: import("@angular/core").OutputEmitterRef<BaseTextCharEvent>;
|
|
42
39
|
onCharClick(event: MouseEvent): void;
|
|
43
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextCharComponent, never>;
|
|
44
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseTextCharComponent, "gve-base-text-char", never, { "char": { "alias": "char"; "required": false; }; }, { "charPick": "charPick"; }, never, never, true, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseTextCharComponent, "gve-base-text-char", never, { "char": { "alias": "char"; "required": false; "isSignal": true; }; }, { "charPick": "charPick"; }, never, never, true, never>;
|
|
45
42
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
2
|
import { CharNode, Feature } from '@myrmidon/gve-snapshot-view';
|
|
4
|
-
import { DialogService } from '@myrmidon/
|
|
3
|
+
import { DialogService } from '@myrmidon/ngx-mat-tools';
|
|
5
4
|
import { BaseTextCharEvent } from '../base-text-char/base-text-char.component';
|
|
6
5
|
import { VarBaseTextRange } from '../base-text-view/base-text-view.component';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
@@ -16,17 +15,16 @@ import * as i0 from "@angular/core";
|
|
|
16
15
|
*/
|
|
17
16
|
export declare class BaseTextEditorComponent {
|
|
18
17
|
private _dialogService;
|
|
19
|
-
private _text;
|
|
20
18
|
/**
|
|
21
19
|
* The text to edit. In input this can be a string, an array of `CharNode`
|
|
22
|
-
* objects. In output this will be an array of `CharNode`
|
|
20
|
+
* objects, or undefined. In output this will be an array of `CharNode`
|
|
21
|
+
* objects.
|
|
23
22
|
*/
|
|
24
|
-
|
|
25
|
-
set text(value: string | CharNode[] | undefined | null);
|
|
23
|
+
readonly text: import("@angular/core").InputSignalWithTransform<CharNode[] | undefined, string | CharNode[] | undefined>;
|
|
26
24
|
/**
|
|
27
25
|
* Emitted for the edited text as an array of `CharNode`'s whenever it changes.
|
|
28
26
|
*/
|
|
29
|
-
readonly textChange:
|
|
27
|
+
readonly textChange: import("@angular/core").OutputEmitterRef<CharNode[]>;
|
|
30
28
|
userText: FormControl<string>;
|
|
31
29
|
form: FormGroup;
|
|
32
30
|
selectedChar?: CharNode;
|
|
@@ -40,5 +38,5 @@ export declare class BaseTextEditorComponent {
|
|
|
40
38
|
patchTextFromUser(): void;
|
|
41
39
|
setTextFromUser(): void;
|
|
42
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextEditorComponent, never>;
|
|
43
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseTextEditorComponent, "gve-base-text-editor", never, { "text": { "alias": "text"; "required":
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseTextEditorComponent, "gve-base-text-editor", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; }, { "textChange": "textChange"; }, never, never, true, never>;
|
|
44
42
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { BaseTextChar, BaseTextCharEvent } from '../base-text-char/base-text-char.component';
|
|
3
1
|
import { CharNode } from '@myrmidon/gve-snapshot-view';
|
|
2
|
+
import { BaseTextChar, BaseTextCharEvent } from '../base-text-char/base-text-char.component';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
/**
|
|
6
5
|
* A range in the base text.
|
|
@@ -24,43 +23,47 @@ export interface VarBaseTextRange {
|
|
|
24
23
|
* - 🔥 `rangePick` (`VarBaseTextRange`): emitted when a range is picked.
|
|
25
24
|
*/
|
|
26
25
|
export declare class BaseTextViewComponent {
|
|
27
|
-
private _text?;
|
|
28
26
|
private _lastSelectedChar?;
|
|
29
27
|
/**
|
|
30
28
|
* The default color for the text.
|
|
31
29
|
*/
|
|
32
|
-
defaultColor: string
|
|
30
|
+
readonly defaultColor: import("@angular/core").InputSignal<string>;
|
|
33
31
|
/**
|
|
34
32
|
* The default border color for the text.
|
|
35
33
|
*/
|
|
36
|
-
defaultBorderColor: string
|
|
34
|
+
readonly defaultBorderColor: import("@angular/core").InputSignal<string>;
|
|
37
35
|
/**
|
|
38
36
|
* The color for the selected text.
|
|
39
37
|
*/
|
|
40
|
-
selectionColor: string
|
|
38
|
+
readonly selectionColor: import("@angular/core").InputSignal<string>;
|
|
41
39
|
/**
|
|
42
40
|
* True if line numbers should be displayed next to each line.
|
|
43
41
|
*/
|
|
44
|
-
hasLineNumber: boolean
|
|
42
|
+
readonly hasLineNumber: import("@angular/core").InputSignal<boolean>;
|
|
45
43
|
/**
|
|
46
44
|
* The text to display.
|
|
47
45
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
readonly text: import("@angular/core").InputSignal<CharNode[]>;
|
|
47
|
+
/**
|
|
48
|
+
* An optional callback to get the color of a character node.
|
|
49
|
+
* Return null to use the default color.
|
|
50
|
+
*/
|
|
51
|
+
readonly borderColorCallback: import("@angular/core").InputSignal<((node: CharNode) => string | null) | undefined>;
|
|
50
52
|
/**
|
|
51
53
|
* Emitted when a character is picked.
|
|
52
54
|
*/
|
|
53
|
-
charPick:
|
|
55
|
+
readonly charPick: import("@angular/core").OutputEmitterRef<BaseTextCharEvent>;
|
|
54
56
|
/**
|
|
55
57
|
* Emitted when a range is picked. This is preceded by a character pick event.
|
|
56
58
|
* The range is defined by the starting character and the number of characters.
|
|
57
59
|
* The range is inclusive.
|
|
58
60
|
*/
|
|
59
|
-
rangePick:
|
|
61
|
+
readonly rangePick: import("@angular/core").OutputEmitterRef<VarBaseTextRange>;
|
|
60
62
|
lines: BaseTextChar[][];
|
|
63
|
+
constructor();
|
|
61
64
|
private buildLines;
|
|
62
65
|
private resetColors;
|
|
63
66
|
onCharPick(event: BaseTextCharEvent): void;
|
|
64
67
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextViewComponent, never>;
|
|
65
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseTextViewComponent, "gve-base-text-view", never, { "defaultColor": { "alias": "defaultColor"; "required": false; }; "defaultBorderColor": { "alias": "defaultBorderColor"; "required": false; }; "selectionColor": { "alias": "selectionColor"; "required": false; }; "hasLineNumber": { "alias": "hasLineNumber"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, { "charPick": "charPick"; "rangePick": "rangePick"; }, never, never, true, never>;
|
|
68
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseTextViewComponent, "gve-base-text-view", never, { "defaultColor": { "alias": "defaultColor"; "required": false; "isSignal": true; }; "defaultBorderColor": { "alias": "defaultBorderColor"; "required": false; "isSignal": true; }; "selectionColor": { "alias": "selectionColor"; "required": false; "isSignal": true; }; "hasLineNumber": { "alias": "hasLineNumber"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "borderColorCallback": { "alias": "borderColorCallback"; "required": false; "isSignal": true; }; }, { "charPick": "charPick"; "rangePick": "rangePick"; }, never, never, true, never>;
|
|
66
69
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
4
|
import { CharChainOperation } from '@myrmidon/gve-snapshot-view';
|
|
@@ -20,7 +20,6 @@ export declare class BatchOperationEditorComponent implements OnInit {
|
|
|
20
20
|
data?: PayloadMatDialogConfig<{
|
|
21
21
|
preset?: string;
|
|
22
22
|
}> | undefined;
|
|
23
|
-
private _preset?;
|
|
24
23
|
busy?: boolean;
|
|
25
24
|
parseError?: string;
|
|
26
25
|
text: FormControl<string | null>;
|
|
@@ -29,18 +28,17 @@ export declare class BatchOperationEditorComponent implements OnInit {
|
|
|
29
28
|
* The preset text to parse if any. Usually you start with a blank
|
|
30
29
|
* text, but sometimes you might want to pre-set it.
|
|
31
30
|
*/
|
|
32
|
-
|
|
33
|
-
set preset(value: string | undefined | null);
|
|
31
|
+
readonly preset: import("@angular/core").InputSignal<string | undefined>;
|
|
34
32
|
/**
|
|
35
33
|
* Emitted when operations change.
|
|
36
34
|
*/
|
|
37
|
-
readonly operationsChange:
|
|
35
|
+
readonly operationsChange: import("@angular/core").OutputEmitterRef<CharChainOperation[]>;
|
|
38
36
|
constructor(formBuilder: FormBuilder, _api: GveApiService, dialogRef?: MatDialogRef<BatchOperationEditorComponent> | undefined, data?: PayloadMatDialogConfig<{
|
|
39
37
|
preset?: string;
|
|
40
38
|
}> | undefined);
|
|
41
39
|
ngOnInit(): void;
|
|
42
|
-
parseOperations(): void;
|
|
40
|
+
parseOperations(text?: string): void;
|
|
43
41
|
close(): void;
|
|
44
42
|
static ɵfac: i0.ɵɵFactoryDeclaration<BatchOperationEditorComponent, [null, null, { optional: true; }, { optional: true; }]>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BatchOperationEditorComponent, "gve-batch-operation-editor", never, { "preset": { "alias": "preset"; "required": false; }; }, { "operationsChange": "operationsChange"; }, never, never, true, never>;
|
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BatchOperationEditorComponent, "gve-batch-operation-editor", never, { "preset": { "alias": "preset"; "required": false; "isSignal": true; }; }, { "operationsChange": "operationsChange"; }, never, never, true, never>;
|
|
46
44
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { Clipboard } from '@angular/cdk/clipboard';
|
|
4
|
-
import { DialogService } from '@myrmidon/
|
|
4
|
+
import { DialogService } from '@myrmidon/ngx-mat-tools';
|
|
5
5
|
import { CharChainOperation, Feature, OperationFeature, OperationType, OperationSource, SnapshotBase } from '@myrmidon/gve-snapshot-view';
|
|
6
6
|
import { SettingsService } from '../../services/settings.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -60,39 +60,35 @@ export declare class ChainOperationEditorComponent implements OnInit, OnDestroy
|
|
|
60
60
|
private _settings;
|
|
61
61
|
private _dialogService;
|
|
62
62
|
private readonly _disposables;
|
|
63
|
-
private _editorModel?;
|
|
64
|
-
private _editor?;
|
|
65
63
|
private readonly _subs;
|
|
66
64
|
private readonly _nanoid;
|
|
67
|
-
private
|
|
65
|
+
private _editorModel?;
|
|
66
|
+
private _editor?;
|
|
68
67
|
private _editedSourceIndex;
|
|
69
|
-
private _snapshot;
|
|
70
68
|
/**
|
|
71
69
|
* The operation to edit.
|
|
72
70
|
*/
|
|
73
|
-
|
|
74
|
-
set operation(value: CharChainOperation | undefined);
|
|
71
|
+
readonly operation: import("@angular/core").ModelSignal<CharChainOperation | undefined>;
|
|
75
72
|
/**
|
|
76
73
|
* The snapshot the operation refers to.
|
|
77
74
|
*/
|
|
78
|
-
|
|
79
|
-
set snapshot(value: SnapshotBase | undefined | null);
|
|
75
|
+
readonly snapshot: import("@angular/core").InputSignal<SnapshotBase | undefined>;
|
|
80
76
|
/**
|
|
81
77
|
* Whether to hide the preview request button.
|
|
82
78
|
*/
|
|
83
|
-
hidePreview
|
|
79
|
+
readonly hidePreview: import("@angular/core").InputSignal<boolean | undefined>;
|
|
84
80
|
/**
|
|
85
81
|
* Emitted when the operation is changed.
|
|
86
82
|
*/
|
|
87
|
-
readonly operationChange:
|
|
83
|
+
readonly operationChange: import("@angular/core").OutputEmitterRef<CharChainOperation>;
|
|
88
84
|
/**
|
|
89
85
|
* Emitted when the operation preview is requested.
|
|
90
86
|
*/
|
|
91
|
-
readonly operationPreview:
|
|
87
|
+
readonly operationPreview: import("@angular/core").OutputEmitterRef<CharChainOperation>;
|
|
92
88
|
/**
|
|
93
89
|
* Emitted when operation editing is cancelled.
|
|
94
90
|
*/
|
|
95
|
-
readonly operationCancel:
|
|
91
|
+
readonly operationCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
96
92
|
tabIndex: number;
|
|
97
93
|
id?: string;
|
|
98
94
|
hasTo: boolean;
|
|
@@ -114,6 +110,7 @@ export declare class ChainOperationEditorComponent implements OnInit, OnDestroy
|
|
|
114
110
|
value: FormControl<string | null>;
|
|
115
111
|
svg: FormControl<string>;
|
|
116
112
|
elementFeatures: FormControl<Record<string, Feature[]>>;
|
|
113
|
+
newTextHidden: FormControl<boolean>;
|
|
117
114
|
dpFeatures: FormControl<Feature[]>;
|
|
118
115
|
form: FormGroup;
|
|
119
116
|
elements: SVGElement[];
|
|
@@ -135,6 +132,8 @@ export declare class ChainOperationEditorComponent implements OnInit, OnDestroy
|
|
|
135
132
|
loadSvg(): void;
|
|
136
133
|
setSvgFromClipboard(): void;
|
|
137
134
|
private parseSvg;
|
|
135
|
+
removeDecimals(): void;
|
|
136
|
+
wrapInGroup(): void;
|
|
138
137
|
onTabIndexChange(index: number): void;
|
|
139
138
|
editElementFeatures(element: SVGElement): void;
|
|
140
139
|
deleteElementFeatures(element: SVGElement): void;
|
|
@@ -146,5 +145,5 @@ export declare class ChainOperationEditorComponent implements OnInit, OnDestroy
|
|
|
146
145
|
requestPreview(): void;
|
|
147
146
|
save(): void;
|
|
148
147
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChainOperationEditorComponent, never>;
|
|
149
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ChainOperationEditorComponent, "gve-chain-operation-editor", never, { "operation": { "alias": "operation"; "required": false; }; "snapshot": { "alias": "snapshot"; "required": false; }; "hidePreview": { "alias": "hidePreview"; "required": false; }; }, { "operationChange": "operationChange"; "operationPreview": "operationPreview"; "operationCancel": "operationCancel"; }, never, never, true, never>;
|
|
148
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChainOperationEditorComponent, "gve-chain-operation-editor", never, { "operation": { "alias": "operation"; "required": false; "isSignal": true; }; "snapshot": { "alias": "snapshot"; "required": false; "isSignal": true; }; "hidePreview": { "alias": "hidePreview"; "required": false; "isSignal": true; }; }, { "operation": "operationChange"; "operationChange": "operationChange"; "operationPreview": "operationPreview"; "operationCancel": "operationCancel"; }, never, never, true, never>;
|
|
150
149
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl } from '@angular/forms';
|
|
3
|
-
import { OperationFeature } from '@myrmidon/gve-snapshot-view';
|
|
3
|
+
import { CharNode, OperationFeature } from '@myrmidon/gve-snapshot-view';
|
|
4
4
|
import { VarBaseTextRange } from '../base-text-view/base-text-view.component';
|
|
5
5
|
import { ChainOperationContextStep, CharChainResult } from '../../services/gve-api.service';
|
|
6
6
|
import { BaseTextCharEvent } from '../base-text-char/base-text-char.component';
|
|
@@ -20,23 +20,19 @@ import * as i0 from "@angular/core";
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class ChainResultViewComponent implements OnInit, OnDestroy {
|
|
22
22
|
private _subs?;
|
|
23
|
-
private _result?;
|
|
24
|
-
private _initialStepIndex?;
|
|
25
23
|
/**
|
|
26
24
|
* The result to display.
|
|
27
25
|
*/
|
|
28
|
-
|
|
29
|
-
set result(value: CharChainResult | undefined | null);
|
|
26
|
+
readonly result: import("@angular/core").InputSignal<CharChainResult | undefined>;
|
|
30
27
|
/**
|
|
31
28
|
* The index of the initial step to display after the result is set.
|
|
32
29
|
* If the index is negative, it is counted from the end of the steps.
|
|
33
30
|
*/
|
|
34
|
-
|
|
35
|
-
set initialStepIndex(value: number | undefined | null);
|
|
31
|
+
readonly initialStepIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
36
32
|
/**
|
|
37
33
|
* Emitted when a result's step is picked by the user.
|
|
38
34
|
*/
|
|
39
|
-
stepPick:
|
|
35
|
+
readonly stepPick: import("@angular/core").OutputEmitterRef<ChainOperationContextStep>;
|
|
40
36
|
versionTags: string[];
|
|
41
37
|
tags: string[];
|
|
42
38
|
versionTag: FormControl<string | null>;
|
|
@@ -46,6 +42,7 @@ export declare class ChainResultViewComponent implements OnInit, OnDestroy {
|
|
|
46
42
|
selectionFeatures: OperationFeature[];
|
|
47
43
|
constructor(formBuilder: FormBuilder);
|
|
48
44
|
ngOnInit(): void;
|
|
45
|
+
getCharBorderColor(node: CharNode): string | null;
|
|
49
46
|
private selectInitialStep;
|
|
50
47
|
ngOnDestroy(): void;
|
|
51
48
|
private updateVersionTags;
|
|
@@ -55,7 +52,7 @@ export declare class ChainResultViewComponent implements OnInit, OnDestroy {
|
|
|
55
52
|
private findNode;
|
|
56
53
|
onStepCharPick(event: BaseTextCharEvent): void;
|
|
57
54
|
onStepRangePick(range: VarBaseTextRange): void;
|
|
58
|
-
onStepChange(step
|
|
55
|
+
onStepChange(step?: ChainOperationContextStep): void;
|
|
59
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<ChainResultViewComponent, never>;
|
|
60
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ChainResultViewComponent, "gve-chain-result-view", never, { "result": { "alias": "result"; "required": false; }; "initialStepIndex": { "alias": "initialStepIndex"; "required": false; }; }, { "stepPick": "stepPick"; }, never, never, true, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChainResultViewComponent, "gve-chain-result-view", never, { "result": { "alias": "result"; "required": false; "isSignal": true; }; "initialStepIndex": { "alias": "initialStepIndex"; "required": false; "isSignal": true; }; }, { "stepPick": "stepPick"; }, never, never, true, never>;
|
|
61
58
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
4
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
5
|
+
import { GraphvizRankdir, GveGraphvizService } from '../../services/gve-graphviz.service';
|
|
6
|
+
import { CharChain } from '../../services/gve-api.service';
|
|
7
|
+
import { SettingsService } from '../../services/settings.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class ChainViewComponent implements OnDestroy {
|
|
10
|
+
private _graphviz;
|
|
11
|
+
private _settings;
|
|
12
|
+
private _clipboard;
|
|
13
|
+
private _snackbar;
|
|
14
|
+
private readonly _sub?;
|
|
15
|
+
/**
|
|
16
|
+
* The chain to display.
|
|
17
|
+
*/
|
|
18
|
+
readonly chain: import("@angular/core").InputSignal<CharChain | undefined>;
|
|
19
|
+
/**
|
|
20
|
+
* The direction of the graph.
|
|
21
|
+
*/
|
|
22
|
+
readonly direction: import("@angular/core").InputSignal<GraphvizRankdir>;
|
|
23
|
+
/**
|
|
24
|
+
* All the distinct tags in the chain.
|
|
25
|
+
*/
|
|
26
|
+
readonly tags: import("@angular/core").Signal<string[]>;
|
|
27
|
+
/**
|
|
28
|
+
* The tags to show, or empty to show all of them.
|
|
29
|
+
*/
|
|
30
|
+
readonly selectedTags: import("@angular/core").ModelSignal<string[]>;
|
|
31
|
+
/**
|
|
32
|
+
* The Graphviz representation of the chain.
|
|
33
|
+
*/
|
|
34
|
+
readonly graph: import("@angular/core").Signal<string>;
|
|
35
|
+
userTags: FormControl<string[]>;
|
|
36
|
+
constructor(_graphviz: GveGraphvizService, _settings: SettingsService, _clipboard: Clipboard, _snackbar: MatSnackBar);
|
|
37
|
+
ngOnDestroy(): void;
|
|
38
|
+
copyGraph(): void;
|
|
39
|
+
openExternalEditor(): void;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChainViewComponent, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChainViewComponent, "gve-chain-view", never, { "chain": { "alias": "chain"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "selectedTags": { "alias": "selectedTags"; "required": false; "isSignal": true; }; }, { "selectedTags": "selectedTagsChange"; }, never, never, true, never>;
|
|
42
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementRef,
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { Feature, FeatureSetPolicy, LabeledId, OperationFeature } from '@myrmidon/gve-snapshot-view';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -32,40 +32,36 @@ export interface FeatureMap {
|
|
|
32
32
|
*/
|
|
33
33
|
export declare class FeatureEditorComponent implements OnInit, OnDestroy {
|
|
34
34
|
private _sub?;
|
|
35
|
-
private _feature?;
|
|
36
|
-
private _map?;
|
|
37
35
|
private _frozen?;
|
|
38
36
|
nameControl?: ElementRef;
|
|
39
37
|
/**
|
|
40
38
|
* The list of feature names to display in the name selection.
|
|
41
39
|
* This is used when you have a closed list of features.
|
|
42
40
|
*/
|
|
43
|
-
featNames: LabeledId[] | undefined
|
|
41
|
+
readonly featNames: import("@angular/core").InputSignal<LabeledId[] | undefined>;
|
|
44
42
|
/**
|
|
45
43
|
* The feature values map. When specified and the user selects a feature
|
|
46
44
|
* name present in the map keys, the corresponding values will be used
|
|
47
45
|
* to populate the value selection.
|
|
48
46
|
*/
|
|
49
|
-
|
|
50
|
-
set featValues(value: FeatureMap | undefined | null);
|
|
47
|
+
readonly featValues: import("@angular/core").InputSignal<FeatureMap | undefined>;
|
|
51
48
|
/**
|
|
52
49
|
* The feature to edit.
|
|
53
50
|
*/
|
|
54
|
-
|
|
55
|
-
set feature(value: Feature | OperationFeature | undefined | null);
|
|
51
|
+
readonly feature: import("@angular/core").ModelSignal<Feature | OperationFeature | undefined>;
|
|
56
52
|
/**
|
|
57
53
|
* True if the feature is a variant operation feature, which has
|
|
58
54
|
* additional properties like negation, global, and short-lived.
|
|
59
55
|
*/
|
|
60
|
-
isVar: boolean
|
|
56
|
+
readonly isVar: import("@angular/core").InputSignal<boolean>;
|
|
61
57
|
/**
|
|
62
58
|
* Event emitted when the user cancels the feature editing.
|
|
63
59
|
*/
|
|
64
|
-
featureCancel:
|
|
60
|
+
readonly featureCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
65
61
|
/**
|
|
66
62
|
* Event emitted when the user saves the edited feature.
|
|
67
63
|
*/
|
|
68
|
-
featureChange:
|
|
64
|
+
readonly featureChange: import("@angular/core").OutputEmitterRef<Feature | OperationFeature>;
|
|
69
65
|
name: FormControl<string>;
|
|
70
66
|
value: FormControl<string>;
|
|
71
67
|
setPolicy: FormControl<FeatureSetPolicy>;
|
|
@@ -82,5 +78,5 @@ export declare class FeatureEditorComponent implements OnInit, OnDestroy {
|
|
|
82
78
|
cancel(): void;
|
|
83
79
|
save(): void;
|
|
84
80
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureEditorComponent, never>;
|
|
85
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureEditorComponent, "gve-feature-editor", never, { "featNames": { "alias": "featNames"; "required": false; }; "featValues": { "alias": "featValues"; "required": false; }; "feature": { "alias": "feature"; "required": false; }; "isVar": { "alias": "isVar"; "required": false; }; }, { "featureCancel": "featureCancel"; "featureChange": "featureChange"; }, never, never, true, never>;
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureEditorComponent, "gve-feature-editor", never, { "featNames": { "alias": "featNames"; "required": false; "isSignal": true; }; "featValues": { "alias": "featValues"; "required": false; "isSignal": true; }; "feature": { "alias": "feature"; "required": false; "isSignal": true; }; "isVar": { "alias": "isVar"; "required": false; "isSignal": true; }; }, { "feature": "featureChange"; "featureCancel": "featureCancel"; "featureChange": "featureChange"; }, never, never, true, never>;
|
|
86
82
|
}
|