@myrmidon/gve-core 2.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 +7 -16
- package/fesm2022/myrmidon-gve-core.mjs +833 -833
- 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 +8 -11
- 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 +5 -7
- package/lib/components/base-text-view/base-text-view.component.d.ts +10 -14
- 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 +10 -14
- package/lib/components/chain-result-view/chain-result-view.component.d.ts +6 -10
- 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 +15 -25
- package/lib/components/snapshot-text-editor/snapshot-text-editor.component.d.ts +4 -6
- package/lib/components/steps-map/steps-map.component.d.ts +6 -10
- package/lib/services/gve-api.service.d.ts +37 -0
- package/lib/services/gve-graphviz.service.d.ts +20 -0
- package/package.json +2 -2
- package/public-api.d.ts +2 -1
- package/lib/components/simple-tree/simple-tree.component.d.ts +0 -35
|
@@ -21,30 +21,28 @@ import * as i0 from "@angular/core";
|
|
|
21
21
|
*/
|
|
22
22
|
export declare class FeatureSetViewComponent {
|
|
23
23
|
private _sub?;
|
|
24
|
-
private _features;
|
|
25
24
|
/**
|
|
26
25
|
* The features.
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
|
-
set features(value: Feature[] | OperationFeature[]);
|
|
27
|
+
readonly features: import("@angular/core").InputSignal<Feature[] | OperationFeature[]>;
|
|
30
28
|
/**
|
|
31
29
|
* The list of feature names to display in the name selection.
|
|
32
30
|
* This is used when you have a closed list of features.
|
|
33
31
|
*/
|
|
34
|
-
featNames: LabeledId[] | undefined
|
|
32
|
+
readonly featNames: import("@angular/core").InputSignal<LabeledId[] | undefined>;
|
|
35
33
|
/**
|
|
36
34
|
* The feature values map. When specified and the user selects a feature
|
|
37
35
|
* name present in the map keys, the corresponding values will be used
|
|
38
36
|
* to populate the value selection.
|
|
39
37
|
*/
|
|
40
|
-
featValues: FeatureMap | undefined
|
|
38
|
+
readonly featValues: import("@angular/core").InputSignal<FeatureMap | undefined>;
|
|
41
39
|
/**
|
|
42
40
|
* The threshold at which the features filter should become visible.
|
|
43
41
|
* If set to 0, the filter is always visible; if set to -1, it is always
|
|
44
42
|
* invisible; otherwise, it gets visible when the number of features
|
|
45
43
|
* is greater than the threshold. Default is 5.
|
|
46
44
|
*/
|
|
47
|
-
filterThreshold: number
|
|
45
|
+
readonly filterThreshold: import("@angular/core").InputSignal<number>;
|
|
48
46
|
filter: FormControl<string | null>;
|
|
49
47
|
filteredFeatures: Feature[] | OperationFeature[];
|
|
50
48
|
constructor(formBuilder: FormBuilder);
|
|
@@ -52,5 +50,5 @@ export declare class FeatureSetViewComponent {
|
|
|
52
50
|
ngOnInit(): void;
|
|
53
51
|
ngOnDestroy(): void;
|
|
54
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureSetViewComponent, never>;
|
|
55
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureSetViewComponent, "gve-feature-set-view", never, { "features": { "alias": "features"; "required": false; }; "featNames": { "alias": "featNames"; "required": false; }; "featValues": { "alias": "featValues"; "required": false; }; "filterThreshold": { "alias": "filterThreshold"; "required": false; }; }, {}, never, never, true, never>;
|
|
53
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureSetViewComponent, "gve-feature-set-view", never, { "features": { "alias": "features"; "required": false; "isSignal": true; }; "featNames": { "alias": "featNames"; "required": false; "isSignal": true; }; "featValues": { "alias": "featValues"; "required": false; "isSignal": true; }; "filterThreshold": { "alias": "filterThreshold"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
56
54
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
@@ -15,24 +15,21 @@ import * as i0 from "@angular/core";
|
|
|
15
15
|
export declare class LnHeightsEditorComponent implements OnInit, OnDestroy {
|
|
16
16
|
private _subs?;
|
|
17
17
|
private _heights?;
|
|
18
|
-
private _lineCount;
|
|
19
18
|
lineNumber: FormControl<number>;
|
|
20
19
|
height: FormControl<number>;
|
|
21
20
|
/**
|
|
22
21
|
* The total number of lines in the text.
|
|
23
22
|
*/
|
|
24
|
-
|
|
25
|
-
set lineCount(value: number);
|
|
23
|
+
readonly lineCount: import("@angular/core").InputSignal<number>;
|
|
26
24
|
/**
|
|
27
25
|
* The heights map of the lines. Each key is a line number and the value is
|
|
28
26
|
* the height of the line.
|
|
29
27
|
*/
|
|
30
|
-
|
|
31
|
-
set heights(value: Record<number, number> | undefined | null);
|
|
28
|
+
readonly heights: import("@angular/core").InputSignal<Record<number, number> | undefined>;
|
|
32
29
|
/**
|
|
33
30
|
* The event emitted when the heights change.
|
|
34
31
|
*/
|
|
35
|
-
readonly heightsChange:
|
|
32
|
+
readonly heightsChange: import("@angular/core").OutputEmitterRef<Record<number, number> | undefined>;
|
|
36
33
|
lineNumbers: number[];
|
|
37
34
|
constructor(formBuilder: FormBuilder);
|
|
38
35
|
private pruneHeights;
|
|
@@ -40,5 +37,5 @@ export declare class LnHeightsEditorComponent implements OnInit, OnDestroy {
|
|
|
40
37
|
ngOnDestroy(): void;
|
|
41
38
|
reset(): void;
|
|
42
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<LnHeightsEditorComponent, never>;
|
|
43
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LnHeightsEditorComponent, "gve-ln-heights-editor", never, { "lineCount": { "alias": "lineCount"; "required": false; }; "heights": { "alias": "heights"; "required": false; }; }, { "heightsChange": "heightsChange"; }, never, never, true, never>;
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LnHeightsEditorComponent, "gve-ln-heights-editor", never, { "lineCount": { "alias": "lineCount"; "required": false; "isSignal": true; }; "heights": { "alias": "heights"; "required": false; "isSignal": true; }; }, { "heightsChange": "heightsChange"; }, never, never, true, never>;
|
|
44
41
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
2
|
import { LabeledId, OperationSource } from '@myrmidon/gve-snapshot-view';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
@@ -19,28 +18,26 @@ import * as i0 from "@angular/core";
|
|
|
19
18
|
* edit is canceled.
|
|
20
19
|
*/
|
|
21
20
|
export declare class OperationSourceEditorComponent {
|
|
22
|
-
private _source;
|
|
23
21
|
/**
|
|
24
22
|
* The source to edit.
|
|
25
23
|
*/
|
|
26
|
-
|
|
27
|
-
set source(value: OperationSource | undefined | null);
|
|
24
|
+
readonly source: import("@angular/core").ModelSignal<OperationSource | undefined>;
|
|
28
25
|
/**
|
|
29
|
-
* The list of source IDs when it's closed.
|
|
26
|
+
* The list of source IDs when it's a closed set.
|
|
30
27
|
*/
|
|
31
|
-
ids
|
|
28
|
+
readonly ids: import("@angular/core").InputSignal<LabeledId[] | undefined>;
|
|
32
29
|
/**
|
|
33
|
-
* The list of source types when it's closed.
|
|
30
|
+
* The list of source types when it's a closed set.
|
|
34
31
|
*/
|
|
35
|
-
types
|
|
32
|
+
readonly types: import("@angular/core").InputSignal<LabeledId[] | undefined>;
|
|
36
33
|
/**
|
|
37
34
|
* The event emitted when the source changes.
|
|
38
35
|
*/
|
|
39
|
-
readonly sourceChange:
|
|
36
|
+
readonly sourceChange: import("@angular/core").OutputEmitterRef<OperationSource | undefined>;
|
|
40
37
|
/**
|
|
41
38
|
* The event emitted when the edit is canceled.
|
|
42
39
|
*/
|
|
43
|
-
sourceCancel:
|
|
40
|
+
sourceCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
44
41
|
id: FormControl<string>;
|
|
45
42
|
type: FormControl<string>;
|
|
46
43
|
rank: FormControl<number>;
|
|
@@ -51,5 +48,5 @@ export declare class OperationSourceEditorComponent {
|
|
|
51
48
|
cancel(): void;
|
|
52
49
|
save(): void;
|
|
53
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<OperationSourceEditorComponent, never>;
|
|
54
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<OperationSourceEditorComponent, "gve-operation-source-editor", never, { "source": { "alias": "source"; "required": false; }; "ids": { "alias": "ids"; "required": false; }; "types": { "alias": "types"; "required": false; }; }, { "sourceChange": "sourceChange"; "sourceCancel": "sourceCancel"; }, never, never, true, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OperationSourceEditorComponent, "gve-operation-source-editor", never, { "source": { "alias": "source"; "required": false; "isSignal": true; }; "ids": { "alias": "ids"; "required": false; "isSignal": true; }; "types": { "alias": "types"; "required": false; "isSignal": true; }; }, { "source": "sourceChange"; "sourceChange": "sourceChange"; "sourceCancel": "sourceCancel"; }, never, never, true, never>;
|
|
55
52
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ElementRef
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
4
4
|
import { MatDialog } from '@angular/material/dialog';
|
|
5
5
|
import { DialogService } from '@myrmidon/ngx-mat-tools';
|
|
6
6
|
import { CharChainOperation, CharNode, GveAnimationTimeline, GveVisualEvent, Snapshot, SnapshotViewComponent, SnapshotViewData, SnapshotViewRenderEvent } from '@myrmidon/gve-snapshot-view';
|
|
7
7
|
import { VarBaseTextRange } from '../base-text-view/base-text-view.component';
|
|
8
|
-
import { ChainOperationContextStep, CharChainResult, GveApiService } from '../../services/gve-api.service';
|
|
8
|
+
import { ChainOperationContextStep, CharChain, CharChainResult, GveApiService } from '../../services/gve-api.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
/**
|
|
11
11
|
* 🔑 `gve-snapshot-editor`
|
|
@@ -25,7 +25,6 @@ export declare class SnapshotEditorComponent {
|
|
|
25
25
|
private _dialogService;
|
|
26
26
|
private _snackbar;
|
|
27
27
|
private readonly _nanoid;
|
|
28
|
-
private _snapshot?;
|
|
29
28
|
private _renderer?;
|
|
30
29
|
private _previewing?;
|
|
31
30
|
private _transparentIds?;
|
|
@@ -34,28 +33,27 @@ export declare class SnapshotEditorComponent {
|
|
|
34
33
|
/**
|
|
35
34
|
* The snapshot to edit.
|
|
36
35
|
*/
|
|
37
|
-
|
|
38
|
-
set snapshot(value: Snapshot | undefined | null);
|
|
36
|
+
readonly snapshot: import("@angular/core").ModelSignal<Snapshot | undefined>;
|
|
39
37
|
/**
|
|
40
38
|
* The batch operations text to set for the editor.
|
|
41
39
|
*/
|
|
42
|
-
batchOps
|
|
40
|
+
readonly batchOps: import("@angular/core").InputSignal<string | undefined>;
|
|
43
41
|
/**
|
|
44
42
|
* True to disable saving.
|
|
45
43
|
*/
|
|
46
|
-
noSave
|
|
44
|
+
readonly noSave: import("@angular/core").InputSignal<boolean | undefined>;
|
|
47
45
|
/**
|
|
48
46
|
* True to enable debug mode for view rendition.
|
|
49
47
|
*/
|
|
50
|
-
debug
|
|
48
|
+
readonly debug: import("@angular/core").InputSignal<boolean | undefined>;
|
|
51
49
|
/**
|
|
52
50
|
* Emitted when the user saves the edited snapshot.
|
|
53
51
|
*/
|
|
54
|
-
readonly snapshotChange:
|
|
52
|
+
readonly snapshotChange: import("@angular/core").OutputEmitterRef<Snapshot>;
|
|
55
53
|
/**
|
|
56
54
|
* Emitted when the user cancels the snapshot editing.
|
|
57
55
|
*/
|
|
58
|
-
readonly snapshotCancel:
|
|
56
|
+
readonly snapshotCancel: import("@angular/core").OutputEmitterRef<void>;
|
|
59
57
|
width: FormControl<number>;
|
|
60
58
|
height: FormControl<number>;
|
|
61
59
|
style: FormControl<string | null>;
|
|
@@ -103,6 +101,8 @@ export declare class SnapshotEditorComponent {
|
|
|
103
101
|
result?: CharChainResult;
|
|
104
102
|
resultOperationId?: string;
|
|
105
103
|
initialStepIndex: number;
|
|
104
|
+
readonly showChain: FormControl<boolean>;
|
|
105
|
+
chain?: CharChain;
|
|
106
106
|
constructor(formBuilder: FormBuilder, _api: GveApiService, _dialog: MatDialog, _dialogService: DialogService, _snackbar: MatSnackBar);
|
|
107
107
|
/**
|
|
108
108
|
* Set the view data for the snapshot view.
|
|
@@ -123,7 +123,7 @@ export declare class SnapshotEditorComponent {
|
|
|
123
123
|
* Handle the event fired by the base text editor to pick a text range.
|
|
124
124
|
* @param range The picked range.
|
|
125
125
|
*/
|
|
126
|
-
onRangePick(range
|
|
126
|
+
onRangePick(range?: VarBaseTextRange): void;
|
|
127
127
|
/**
|
|
128
128
|
* Update the lists of operation output tags and element IDs by collecting
|
|
129
129
|
* all the operation tags and the IDs of the elements in their diplomatic.g
|
|
@@ -154,7 +154,7 @@ export declare class SnapshotEditorComponent {
|
|
|
154
154
|
* was a new operation.
|
|
155
155
|
* @param op The changed operation.
|
|
156
156
|
*/
|
|
157
|
-
onOperationChange(op
|
|
157
|
+
onOperationChange(op?: CharChainOperation | null): void;
|
|
158
158
|
/**
|
|
159
159
|
* Delete the operation at the specified index.
|
|
160
160
|
* @param index The index of the operation to delete.
|
|
@@ -224,6 +224,7 @@ export declare class SnapshotEditorComponent {
|
|
|
224
224
|
* all the operations, as users must be able to browse across its steps.
|
|
225
225
|
*/
|
|
226
226
|
runToLast(): void;
|
|
227
|
+
getChainAt(index: number, lastOperation?: CharChainOperation): void;
|
|
227
228
|
/**
|
|
228
229
|
* Update the snapshot view by running the operations up to the
|
|
229
230
|
* currently edited operation if any.
|
|
@@ -231,17 +232,6 @@ export declare class SnapshotEditorComponent {
|
|
|
231
232
|
* @param operation The operation being previewed.
|
|
232
233
|
*/
|
|
233
234
|
onOperationPreview(operation: CharChainOperation): void;
|
|
234
|
-
/**
|
|
235
|
-
* Build the snapshot at the specified execution step. This implies adding
|
|
236
|
-
* the nodes introduced by the operations up to the specified step, and
|
|
237
|
-
* updating the features of the nodes introduced by the specified step.
|
|
238
|
-
* Also, the operations after the specified step are removed from the
|
|
239
|
-
* snapshot.
|
|
240
|
-
*
|
|
241
|
-
* @param step The step to build the snapshot at.
|
|
242
|
-
* @returns The snapshot at the specified step.
|
|
243
|
-
*/
|
|
244
|
-
private buildSnapshotAtStep;
|
|
245
235
|
private playTimeline;
|
|
246
236
|
/**
|
|
247
237
|
* Handle the event fired by the chain result view to pick a step.
|
|
@@ -266,7 +256,7 @@ export declare class SnapshotEditorComponent {
|
|
|
266
256
|
*
|
|
267
257
|
* @param timelines The timelines.
|
|
268
258
|
*/
|
|
269
|
-
onTimelinesChange(timelines
|
|
259
|
+
onTimelinesChange(timelines?: GveAnimationTimeline[] | null): void;
|
|
270
260
|
/**
|
|
271
261
|
* Emit the cancel event for this snapshot edit.
|
|
272
262
|
*/
|
|
@@ -297,5 +287,5 @@ export declare class SnapshotEditorComponent {
|
|
|
297
287
|
*/
|
|
298
288
|
save(): void;
|
|
299
289
|
static ɵfac: i0.ɵɵFactoryDeclaration<SnapshotEditorComponent, never>;
|
|
300
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SnapshotEditorComponent, "gve-snapshot-editor", never, { "snapshot": { "alias": "snapshot"; "required": false; }; "batchOps": { "alias": "batchOps"; "required": false; }; "noSave": { "alias": "noSave"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, { "snapshotChange": "snapshotChange"; "snapshotCancel": "snapshotCancel"; }, never, never, true, never>;
|
|
290
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SnapshotEditorComponent, "gve-snapshot-editor", never, { "snapshot": { "alias": "snapshot"; "required": false; "isSignal": true; }; "batchOps": { "alias": "batchOps"; "required": false; "isSignal": true; }; "noSave": { "alias": "noSave"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; }, { "snapshot": "snapshotChange"; "snapshotChange": "snapshotChange"; "snapshotCancel": "snapshotCancel"; }, never, never, true, never>;
|
|
301
291
|
}
|
|
@@ -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 { CharNode } from '@myrmidon/gve-snapshot-view';
|
|
@@ -18,15 +18,13 @@ export declare class SnapshotTextEditorComponent implements OnInit {
|
|
|
18
18
|
data?: PayloadMatDialogConfig<{
|
|
19
19
|
text?: CharNode[];
|
|
20
20
|
}> | undefined;
|
|
21
|
-
private _nodes;
|
|
22
21
|
userText: FormControl<string>;
|
|
23
22
|
form: FormGroup;
|
|
24
|
-
|
|
25
|
-
set text(value: CharNode[] | undefined | null);
|
|
23
|
+
readonly text: import("@angular/core").ModelSignal<CharNode[]>;
|
|
26
24
|
/**
|
|
27
25
|
* Emitted when text changes.
|
|
28
26
|
*/
|
|
29
|
-
readonly textChange:
|
|
27
|
+
readonly textChange: import("@angular/core").OutputEmitterRef<CharNode[]>;
|
|
30
28
|
constructor(formBuilder: FormBuilder, dialogRef?: MatDialogRef<SnapshotTextEditorComponent> | undefined, data?: PayloadMatDialogConfig<{
|
|
31
29
|
text?: CharNode[];
|
|
32
30
|
}> | undefined);
|
|
@@ -35,5 +33,5 @@ export declare class SnapshotTextEditorComponent implements OnInit {
|
|
|
35
33
|
close(): void;
|
|
36
34
|
save(): void;
|
|
37
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<SnapshotTextEditorComponent, [null, { optional: true; }, { optional: true; }]>;
|
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SnapshotTextEditorComponent, "gve-snapshot-text-editor", never, { "text": { "alias": "text"; "required": false; }; }, { "textChange": "textChange"; }, never, never, true, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SnapshotTextEditorComponent, "gve-snapshot-text-editor", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "textChange": "textChange"; }, never, never, true, never>;
|
|
39
37
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
1
|
import { ChainOperationContextStep } from '../../services/gve-api.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
/**
|
|
@@ -21,32 +20,29 @@ import * as i0 from "@angular/core";
|
|
|
21
20
|
* automatically selected.
|
|
22
21
|
*/
|
|
23
22
|
export declare class StepsMapComponent {
|
|
24
|
-
private _steps?;
|
|
25
|
-
private _selectedStep?;
|
|
26
23
|
lines: {
|
|
27
24
|
[key: string]: string[];
|
|
28
25
|
};
|
|
29
26
|
/**
|
|
30
27
|
* The steps to display.
|
|
31
28
|
*/
|
|
32
|
-
|
|
33
|
-
set steps(value: ChainOperationContextStep[] | undefined | null);
|
|
29
|
+
readonly steps: import("@angular/core").InputSignal<ChainOperationContextStep[]>;
|
|
34
30
|
/**
|
|
35
31
|
* The step that is currently selected.
|
|
36
32
|
*/
|
|
37
|
-
|
|
38
|
-
set selectedStep(value: ChainOperationContextStep | undefined);
|
|
33
|
+
readonly selectedStep: import("@angular/core").ModelSignal<ChainOperationContextStep | undefined>;
|
|
39
34
|
/**
|
|
40
35
|
* The font size of the steps text.
|
|
41
36
|
*/
|
|
42
|
-
textFontSize: string
|
|
37
|
+
readonly textFontSize: import("@angular/core").InputSignal<string>;
|
|
43
38
|
/**
|
|
44
39
|
* Emitted when the selected step has changed by user, or when
|
|
45
40
|
* the steps are set for the first time.
|
|
46
41
|
*/
|
|
47
|
-
selectedStepChange:
|
|
42
|
+
selectedStepChange: import("@angular/core").OutputEmitterRef<ChainOperationContextStep | undefined>;
|
|
43
|
+
constructor();
|
|
48
44
|
private updateLines;
|
|
49
45
|
onStepClick(step: ChainOperationContextStep): void;
|
|
50
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<StepsMapComponent, never>;
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<StepsMapComponent, "gve-steps-map", never, { "steps": { "alias": "steps"; "required": false; }; "selectedStep": { "alias": "selectedStep"; "required": false; }; "textFontSize": { "alias": "textFontSize"; "required": false; }; }, { "selectedStepChange": "selectedStepChange"; }, never, never, true, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepsMapComponent, "gve-steps-map", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "selectedStep": { "alias": "selectedStep"; "required": false; "isSignal": true; }; "textFontSize": { "alias": "textFontSize"; "required": false; "isSignal": true; }; }, { "selectedStep": "selectedStepChange"; "selectedStepChange": "selectedStepChange"; }, never, never, true, never>;
|
|
52
48
|
}
|
|
@@ -76,6 +76,33 @@ export interface ChainOperationTags {
|
|
|
76
76
|
inputTag: string;
|
|
77
77
|
outputTag: string;
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* The node of a character-based chain, used for diagnostic
|
|
81
|
+
* or demonstration purposes.
|
|
82
|
+
*/
|
|
83
|
+
export interface CharChainNode {
|
|
84
|
+
id: number;
|
|
85
|
+
label: string;
|
|
86
|
+
data: string;
|
|
87
|
+
sourceTag?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The link of a character-based chain, used for diagnostic
|
|
91
|
+
* or demonstration purposes.
|
|
92
|
+
*/
|
|
93
|
+
export interface CharChainLink {
|
|
94
|
+
tag: string;
|
|
95
|
+
sourceId: number;
|
|
96
|
+
targetId: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The character-based chain, as resulting from running operations
|
|
100
|
+
* on a base text, used for diagnostic or demonstration purposes.
|
|
101
|
+
*/
|
|
102
|
+
export interface CharChain {
|
|
103
|
+
nodes: CharChainNode[];
|
|
104
|
+
links: CharChainLink[];
|
|
105
|
+
}
|
|
79
106
|
/**
|
|
80
107
|
* Service to interact with the GVE API.
|
|
81
108
|
*/
|
|
@@ -106,6 +133,16 @@ export declare class GveApiService {
|
|
|
106
133
|
* @returns Result wrapper.
|
|
107
134
|
*/
|
|
108
135
|
getTags(operations: CharChainOperation[]): Observable<ResultWrapper<string[]>>;
|
|
136
|
+
/**
|
|
137
|
+
* Get the chain corresponding to the operations run on the
|
|
138
|
+
* specified text. This is used for diagnostic or demonstration
|
|
139
|
+
* purposes.
|
|
140
|
+
*
|
|
141
|
+
* @param text The base text.
|
|
142
|
+
* @param operations The operations to run.
|
|
143
|
+
* @returns Result wrapper.
|
|
144
|
+
*/
|
|
145
|
+
getChain(text: CharNode[], operations: CharChainOperation[]): Observable<ResultWrapper<CharChain>>;
|
|
109
146
|
static ɵfac: i0.ɵɵFactoryDeclaration<GveApiService, never>;
|
|
110
147
|
static ɵprov: i0.ɵɵInjectableDeclaration<GveApiService>;
|
|
111
148
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CharChain } from './gve-api.service';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export type GraphvizRankdir = 'TB' | 'LR' | 'BT' | 'RL';
|
|
4
|
+
export declare class GveGraphvizService {
|
|
5
|
+
private hashString;
|
|
6
|
+
private hslToRgb;
|
|
7
|
+
private getColorForTag;
|
|
8
|
+
private getExcludedNodeIds;
|
|
9
|
+
/**
|
|
10
|
+
* Represent the received chain as a Graphviz digraph.
|
|
11
|
+
*
|
|
12
|
+
* @param chain The source chain if any.
|
|
13
|
+
* @param tags The tags to show. When set, only the links with these tags are shown.
|
|
14
|
+
* @param rankdir The rank direction.
|
|
15
|
+
* @returns Graphviz representation of the chain.
|
|
16
|
+
*/
|
|
17
|
+
generateGraph(chain?: CharChain, tags?: string[], rankdir?: GraphvizRankdir): string;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GveGraphvizService, never>;
|
|
19
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GveGraphvizService>;
|
|
20
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@myrmidon/gve-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "Cadmus - GVE Angular frontend core components.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"GVE"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@angular/core": "^19.0.0",
|
|
19
19
|
"@cisstech/nge": "^18.0.4",
|
|
20
20
|
"@myrmidon/ngx-mat-tools": "^0.0.1",
|
|
21
|
-
"@myrmidon/ngx-tools": "^0.0
|
|
21
|
+
"@myrmidon/ngx-tools": "^1.0.0",
|
|
22
22
|
"@myrmidon/gve-snapshot-view": "^1.1.6",
|
|
23
23
|
"@svgdotjs/svg.js": "^3.2.4",
|
|
24
24
|
"gsap": "^3.12.5",
|
package/public-api.d.ts
CHANGED
|
@@ -7,14 +7,15 @@ export * from './lib/components/base-text-view/base-text-view.component';
|
|
|
7
7
|
export * from './lib/components/batch-operation-editor/batch-operation-editor.component';
|
|
8
8
|
export * from './lib/components/chain-operation-editor/chain-operation-editor.component';
|
|
9
9
|
export * from './lib/components/chain-result-view/chain-result-view.component';
|
|
10
|
+
export * from './lib/components/chain-view/chain-view.component';
|
|
10
11
|
export * from './lib/components/feature-editor/feature-editor.component';
|
|
11
12
|
export * from './lib/components/feature-set-editor/feature-set-editor.component';
|
|
12
13
|
export * from './lib/components/feature-set-view/feature-set-view.component';
|
|
13
14
|
export * from './lib/components/ln-heights-editor/ln-heights-editor.component';
|
|
14
15
|
export * from './lib/components/operation-source-editor/operation-source-editor.component';
|
|
15
|
-
export * from './lib/components/simple-tree/simple-tree.component';
|
|
16
16
|
export * from './lib/components/snapshot-editor/snapshot-editor.component';
|
|
17
17
|
export * from './lib/components/snapshot-text-editor/snapshot-text-editor.component';
|
|
18
18
|
export * from './lib/components/steps-map/steps-map.component';
|
|
19
19
|
export * from './lib/services/gve-api.service';
|
|
20
|
+
export * from './lib/services/gve-graphviz.service';
|
|
20
21
|
export * from './lib/services/settings.service';
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { TreeNode } from '@myrmidon/gve-snapshot-view';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* 🔑 `gve-simple-tree`
|
|
6
|
-
*
|
|
7
|
-
* A simple tree component.
|
|
8
|
-
*
|
|
9
|
-
* - ▶️ `node` (`TreeNode<any>`): the node to display.
|
|
10
|
-
* - ▶️ `selectedNode` (`TreeNode<any> | null`): the selected node.
|
|
11
|
-
* - 🔥 `selectedNodeChange` (`EventEmitter<TreeNode<any> | null>`): the event
|
|
12
|
-
* emitted when the selected node changes.
|
|
13
|
-
*/
|
|
14
|
-
export declare class SimpleTreeComponent implements OnInit {
|
|
15
|
-
private _node;
|
|
16
|
-
/**
|
|
17
|
-
* The node to display.
|
|
18
|
-
*/
|
|
19
|
-
get node(): TreeNode<any> | undefined;
|
|
20
|
-
set node(value: TreeNode<any> | undefined);
|
|
21
|
-
/**
|
|
22
|
-
* The selected node.
|
|
23
|
-
*/
|
|
24
|
-
selectedNode?: TreeNode<any> | null;
|
|
25
|
-
/**
|
|
26
|
-
* The event emitted when the selected node changes.
|
|
27
|
-
*/
|
|
28
|
-
selectedNodeChange: EventEmitter<TreeNode<any> | null>;
|
|
29
|
-
level: number;
|
|
30
|
-
ngOnInit(): void;
|
|
31
|
-
private calculateLevel;
|
|
32
|
-
selectNode(node: TreeNode<any>): void;
|
|
33
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SimpleTreeComponent, never>;
|
|
34
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SimpleTreeComponent, "gve-simple-tree", never, { "node": { "alias": "node"; "required": false; }; "selectedNode": { "alias": "selectedNode"; "required": false; }; }, { "selectedNodeChange": "selectedNodeChange"; }, never, never, true, never>;
|
|
35
|
-
}
|