@myrmidon/gve-core 7.0.17 → 7.0.18
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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MatDialogConfig, MatDialogRef, MatDialog } from '@angular/material/dialog';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { OnInit, OnDestroy,
|
|
4
|
-
import { FormControl, FormGroup, FormBuilder } from '@angular/forms';
|
|
3
|
+
import { OnInit, OnDestroy, AfterViewInit, ElementRef } from '@angular/core';
|
|
4
|
+
import { FormControl, FormGroup, FormBuilder, ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
import { DialogService } from '@myrmidon/ngx-mat-tools';
|
|
6
6
|
import { HttpClient } from '@angular/common/http';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
@@ -727,6 +727,94 @@ declare class BatchOperationEditorComponent implements OnInit {
|
|
|
727
727
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BatchOperationEditorComponent, "gve-batch-operation-editor", never, { "preset": { "alias": "preset"; "required": false; "isSignal": true; }; }, { "operationsChange": "operationsChange"; }, never, never, true, never>;
|
|
728
728
|
}
|
|
729
729
|
|
|
730
|
+
/**
|
|
731
|
+
* 🔑 `gve-searchable-select`
|
|
732
|
+
*
|
|
733
|
+
* A generic, reusable `mat-select` wrapper adding a sticky filter input
|
|
734
|
+
* pinned to the top of the options panel. Users get the best of both
|
|
735
|
+
* worlds: the full, scrollable list is visible as soon as the panel
|
|
736
|
+
* opens, and typing instantly narrows it down in place.
|
|
737
|
+
*
|
|
738
|
+
* Implements `ControlValueAccessor`, so it's a drop-in replacement for a
|
|
739
|
+
* plain `mat-select` bound via `[formControl]` or `formControlName`: the
|
|
740
|
+
* selected value is the `id` of the chosen `LabeledId`.
|
|
741
|
+
*
|
|
742
|
+
* `mat-error` and `mat-hint` elements can be projected as children, just
|
|
743
|
+
* like when nesting them directly under a `mat-form-field`.
|
|
744
|
+
*
|
|
745
|
+
* - ▶️ `options` (`LabeledId[]`): the selectable items.
|
|
746
|
+
* - ▶️ `label` (`string`): the form field label.
|
|
747
|
+
* - ▶️ `filterPlaceholder` (`string`): placeholder for the filter input.
|
|
748
|
+
* - ▶️ `noOptionsText` (`string`): text shown when no option matches the
|
|
749
|
+
* filter.
|
|
750
|
+
* - ▶️ `required` (`boolean`): whether a value is required.
|
|
751
|
+
*/
|
|
752
|
+
declare class SearchableSelectComponent implements ControlValueAccessor {
|
|
753
|
+
private readonly _select;
|
|
754
|
+
private readonly _filterInput;
|
|
755
|
+
/**
|
|
756
|
+
* The selectable items.
|
|
757
|
+
*/
|
|
758
|
+
readonly options: _angular_core.InputSignal<LabeledId[]>;
|
|
759
|
+
/**
|
|
760
|
+
* The form field label.
|
|
761
|
+
*/
|
|
762
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
763
|
+
/**
|
|
764
|
+
* Placeholder for the sticky filter input.
|
|
765
|
+
*/
|
|
766
|
+
readonly filterPlaceholder: _angular_core.InputSignal<string>;
|
|
767
|
+
/**
|
|
768
|
+
* Text shown when no option matches the current filter.
|
|
769
|
+
*/
|
|
770
|
+
readonly noOptionsText: _angular_core.InputSignal<string>;
|
|
771
|
+
/**
|
|
772
|
+
* Whether a value is required.
|
|
773
|
+
*/
|
|
774
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
775
|
+
/**
|
|
776
|
+
* The current filter term, typed into the sticky filter input.
|
|
777
|
+
*/
|
|
778
|
+
readonly filterTerm: _angular_core.WritableSignal<string>;
|
|
779
|
+
/**
|
|
780
|
+
* The currently selected option's ID, or null when none is selected.
|
|
781
|
+
*/
|
|
782
|
+
readonly value: _angular_core.WritableSignal<string | null>;
|
|
783
|
+
/**
|
|
784
|
+
* Whether the control is disabled.
|
|
785
|
+
*/
|
|
786
|
+
readonly disabled: _angular_core.WritableSignal<boolean>;
|
|
787
|
+
/**
|
|
788
|
+
* The options matching the current filter term. Matches against both
|
|
789
|
+
* label and ID, case-insensitively.
|
|
790
|
+
*/
|
|
791
|
+
readonly filteredOptions: _angular_core.Signal<LabeledId[]>;
|
|
792
|
+
private _onChange;
|
|
793
|
+
private _onTouched;
|
|
794
|
+
writeValue(value: string | null): void;
|
|
795
|
+
registerOnChange(fn: (value: string | null) => void): void;
|
|
796
|
+
registerOnTouched(fn: () => void): void;
|
|
797
|
+
setDisabledState(isDisabled: boolean): void;
|
|
798
|
+
onSelectionChange(value: string): void;
|
|
799
|
+
onFilterInput(event: Event): void;
|
|
800
|
+
/**
|
|
801
|
+
* Keys that should still reach mat-select's own panel keydown handler
|
|
802
|
+
* (closing, and moving into / activating the option list). Everything
|
|
803
|
+
* else (letters, digits, etc.) is kept local to the filter input so it
|
|
804
|
+
* doesn't trigger mat-select's built-in type-ahead.
|
|
805
|
+
*/
|
|
806
|
+
private static readonly PASSTHROUGH_KEYS;
|
|
807
|
+
onFilterKeydown(event: KeyboardEvent): void;
|
|
808
|
+
onOpenedChange(opened: boolean): void;
|
|
809
|
+
/**
|
|
810
|
+
* Moves keyboard focus to the select trigger, without opening the
|
|
811
|
+
* panel. Mirrors the native `focus()` behavior of a plain `mat-select`.
|
|
812
|
+
*/
|
|
813
|
+
focus(): void;
|
|
814
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchableSelectComponent, never>;
|
|
815
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchableSelectComponent, "gve-searchable-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "noOptionsText": { "alias": "noOptionsText"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, ["mat-error", "mat-hint"], true, never>;
|
|
816
|
+
}
|
|
817
|
+
|
|
730
818
|
/**
|
|
731
819
|
* Features map. This is used for features from closed sets,
|
|
732
820
|
* and lists the possible values for each feature.
|
|
@@ -776,7 +864,7 @@ interface FeaturePropMap {
|
|
|
776
864
|
*/
|
|
777
865
|
declare class FeatureEditorComponent implements OnInit, OnDestroy {
|
|
778
866
|
private _sub?;
|
|
779
|
-
readonly nameControl: _angular_core.Signal<
|
|
867
|
+
readonly nameControl: _angular_core.Signal<SearchableSelectComponent | HTMLInputElement | undefined>;
|
|
780
868
|
/**
|
|
781
869
|
* The list of feature names to display in the name selection.
|
|
782
870
|
* This is used when you have a closed list of features.
|
|
@@ -1890,5 +1978,5 @@ declare class SettingsService {
|
|
|
1890
1978
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SettingsService>;
|
|
1891
1979
|
}
|
|
1892
1980
|
|
|
1893
|
-
export { BaseTextCharComponent, BaseTextEditorComponent, BaseTextPeepholeComponent, BaseTextViewComponent, BatchOperationEditorComponent, ChainOperationEditorComponent, ChainResultViewComponent, FeatureEditorComponent, FeatureSetEditorComponent, FeatureSetPolicy, FeatureSetViewComponent, GveApiService, GveBaseTextService, GveGraphvizService, OperationSourceEditorComponent, OperationType, SettingsService, SnapshotEditorComponent, SnapshotTextEditorComponent, StepsMapComponent };
|
|
1981
|
+
export { BaseTextCharComponent, BaseTextEditorComponent, BaseTextPeepholeComponent, BaseTextViewComponent, BatchOperationEditorComponent, ChainOperationEditorComponent, ChainResultViewComponent, FeatureEditorComponent, FeatureSetEditorComponent, FeatureSetPolicy, FeatureSetViewComponent, GveApiService, GveBaseTextService, GveGraphvizService, OperationSourceEditorComponent, OperationType, SearchableSelectComponent, SettingsService, SnapshotEditorComponent, SnapshotTextEditorComponent, StepsMapComponent };
|
|
1894
1982
|
export type { BaseTextChar, BaseTextCharEvent, BaseTextRange, ChainOperationContextStep, ChainOperationTags, CharChain, CharChainLink, CharChainNode, CharChainOperation, CharChainResult, CharNode, Feature, FeatureDefinitions, FeatureMap, FeaturePropMap, GraphvizRankdir, LabeledId, OpBaseTextRange, OperationFeature, OperationMetadata, OperationSource, PayloadMatDialogConfig, ResultWrapper, Snapshot, TreeNode };
|