| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- import * as i0 from '@angular/core';
- import { InjectionToken } from '@angular/core';
- import { IterableChangeRecord } from '@angular/core';
- import { IterableChanges } from '@angular/core';
- import { Observable } from 'rxjs';
- import { OnDestroy } from '@angular/core';
- import { Subject } from 'rxjs';
- import { TemplateRef } from '@angular/core';
- import { ViewContainerRef } from '@angular/core';
- /** DataSource wrapper for a native array. */
- export declare class ArrayDataSource<T> extends DataSource<T> {
- private _data;
- constructor(_data: readonly T[] | Observable<readonly T[]>);
- connect(): Observable<readonly T[]>;
- disconnect(): void;
- }
- /**
- * Interface for any component that provides a view of some data collection and wants to provide
- * information regarding the view and any changes made.
- */
- export declare interface CollectionViewer {
- /**
- * A stream that emits whenever the `CollectionViewer` starts looking at a new portion of the
- * data. The `start` index is inclusive, while the `end` is exclusive.
- */
- viewChange: Observable<ListRange>;
- }
- export declare abstract class DataSource<T> {
- /**
- * Connects a collection viewer (such as a data-table) to this data source. Note that
- * the stream provided will be accessed during change detection and should not directly change
- * values that are bound in template views.
- * @param collectionViewer The component that exposes a view over the data provided by this
- * data source.
- * @returns Observable that emits a new value when the data changes.
- */
- abstract connect(collectionViewer: CollectionViewer): Observable<readonly T[]>;
- /**
- * Disconnects a collection viewer (such as a data-table) from this data source. Can be used
- * to perform any clean-up or tear-down operations when a view is being destroyed.
- *
- * @param collectionViewer The component that exposes a view over the data provided by this
- * data source.
- */
- abstract disconnect(collectionViewer: CollectionViewer): void;
- }
- /**
- * A repeater that destroys views when they are removed from a
- * {@link ViewContainerRef}. When new items are inserted into the container,
- * the repeater will always construct a new embedded view for each item.
- *
- * @template T The type for the embedded view's $implicit property.
- * @template R The type for the item in each IterableDiffer change record.
- * @template C The type for the context passed to each embedded view.
- */
- export declare class _DisposeViewRepeaterStrategy<T, R, C extends _ViewRepeaterItemContext<T>> implements _ViewRepeater<T, R, C> {
- applyChanges(changes: IterableChanges<R>, viewContainerRef: ViewContainerRef, itemContextFactory: _ViewRepeaterItemContextFactory<T, R, C>, itemValueResolver: _ViewRepeaterItemValueResolver<T, R>, itemViewChanged?: _ViewRepeaterItemChanged<R, C>): void;
- detach(): void;
- }
- /**
- * Returns an error that reports that multiple values are passed into a selection model
- * with a single value.
- * @docs-private
- */
- export declare function getMultipleValuesInSingleSelectionError(): Error;
- /** Checks whether an object is a data source. */
- export declare function isDataSource(value: any): value is DataSource<any>;
- /** Represents a range of numbers with a specified start and end. */
- export declare type ListRange = {
- start: number;
- end: number;
- };
- /**
- * A repeater that caches views when they are removed from a
- * {@link ViewContainerRef}. When new items are inserted into the container,
- * the repeater will reuse one of the cached views instead of creating a new
- * embedded view. Recycling cached views reduces the quantity of expensive DOM
- * inserts.
- *
- * @template T The type for the embedded view's $implicit property.
- * @template R The type for the item in each IterableDiffer change record.
- * @template C The type for the context passed to each embedded view.
- */
- export declare class _RecycleViewRepeaterStrategy<T, R, C extends _ViewRepeaterItemContext<T>> implements _ViewRepeater<T, R, C> {
- /**
- * The size of the cache used to store unused views.
- * Setting the cache size to `0` will disable caching. Defaults to 20 views.
- */
- viewCacheSize: number;
- /**
- * View cache that stores embedded view instances that have been previously stamped out,
- * but don't are not currently rendered. The view repeater will reuse these views rather than
- * creating brand new ones.
- *
- * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.
- */
- private _viewCache;
- /** Apply changes to the DOM. */
- applyChanges(changes: IterableChanges<R>, viewContainerRef: ViewContainerRef, itemContextFactory: _ViewRepeaterItemContextFactory<T, R, C>, itemValueResolver: _ViewRepeaterItemValueResolver<T, R>, itemViewChanged?: _ViewRepeaterItemChanged<R, C>): void;
- detach(): void;
- /**
- * Inserts a view for a new item, either from the cache or by creating a new
- * one. Returns `undefined` if the item was inserted into a cached view.
- */
- private _insertView;
- /** Detaches the view at the given index and inserts into the view cache. */
- private _detachAndCacheView;
- /** Moves view at the previous index to the current index. */
- private _moveView;
- /**
- * Cache the given detached view. If the cache is full, the view will be
- * destroyed.
- */
- private _maybeCacheView;
- /** Inserts a recycled view from the cache at the given index. */
- private _insertViewFromCache;
- }
- /**
- * Event emitted when the value of a MatSelectionModel has changed.
- * @docs-private
- */
- export declare interface SelectionChange<T> {
- /** Model that dispatched the event. */
- source: SelectionModel<T>;
- /** Options that were added to the model. */
- added: T[];
- /** Options that were removed from the model. */
- removed: T[];
- }
- /**
- * Class to be used to power selecting one or more options from a list.
- */
- export declare class SelectionModel<T> {
- private _multiple;
- private _emitChanges;
- compareWith?: ((o1: T, o2: T) => boolean) | undefined;
- /** Currently-selected values. */
- private _selection;
- /** Keeps track of the deselected options that haven't been emitted by the change event. */
- private _deselectedToEmit;
- /** Keeps track of the selected options that haven't been emitted by the change event. */
- private _selectedToEmit;
- /** Cache for the array value of the selected items. */
- private _selected;
- /** Selected values. */
- get selected(): T[];
- /** Event emitted when the value has changed. */
- readonly changed: Subject<SelectionChange<T>>;
- constructor(_multiple?: boolean, initiallySelectedValues?: T[], _emitChanges?: boolean, compareWith?: ((o1: T, o2: T) => boolean) | undefined);
- /**
- * Selects a value or an array of values.
- * @param values The values to select
- * @return Whether the selection changed as a result of this call
- * @breaking-change 16.0.0 make return type boolean
- */
- select(...values: T[]): boolean | void;
- /**
- * Deselects a value or an array of values.
- * @param values The values to deselect
- * @return Whether the selection changed as a result of this call
- * @breaking-change 16.0.0 make return type boolean
- */
- deselect(...values: T[]): boolean | void;
- /**
- * Sets the selected values
- * @param values The new selected values
- * @return Whether the selection changed as a result of this call
- * @breaking-change 16.0.0 make return type boolean
- */
- setSelection(...values: T[]): boolean | void;
- /**
- * Toggles a value between selected and deselected.
- * @param value The value to toggle
- * @return Whether the selection changed as a result of this call
- * @breaking-change 16.0.0 make return type boolean
- */
- toggle(value: T): boolean | void;
- /**
- * Clears all of the selected values.
- * @param flushEvent Whether to flush the changes in an event.
- * If false, the changes to the selection will be flushed along with the next event.
- * @return Whether the selection changed as a result of this call
- * @breaking-change 16.0.0 make return type boolean
- */
- clear(flushEvent?: boolean): boolean | void;
- /**
- * Determines whether a value is selected.
- */
- isSelected(value: T): boolean;
- /**
- * Determines whether the model does not have a value.
- */
- isEmpty(): boolean;
- /**
- * Determines whether the model has a value.
- */
- hasValue(): boolean;
- /**
- * Sorts the selected values based on a predicate function.
- */
- sort(predicate?: (a: T, b: T) => number): void;
- /**
- * Gets whether multiple values can be selected.
- */
- isMultipleSelection(): boolean;
- /** Emits a change event and clears the records of selected and deselected values. */
- private _emitChangeEvent;
- /** Selects a value. */
- private _markSelected;
- /** Deselects a value. */
- private _unmarkSelected;
- /** Clears out the selected values. */
- private _unmarkAll;
- /**
- * Verifies the value assignment and throws an error if the specified value array is
- * including multiple values while the selection model is not supporting multiple values.
- */
- private _verifyValueAssignment;
- /** Whether there are queued up change to be emitted. */
- private _hasQueuedChanges;
- /** Returns a value that is comparable to inputValue by applying compareWith function, returns the same inputValue otherwise. */
- private _getConcreteValue;
- }
- /**
- * Interface for a class that can flatten hierarchical structured data and re-expand the flattened
- * data back into its original structure. Should be used in conjunction with the cdk-tree.
- */
- export declare interface TreeDataNodeFlattener<T> {
- /** Transforms a set of hierarchical structured data into a flattened data array. */
- flattenNodes(structuredData: any[]): T[];
- /**
- * Expands a flattened array of data into its hierarchical form using the provided expansion
- * model.
- */
- expandFlattenedNodes(nodes: T[], expansionModel: SelectionModel<T>): T[];
- /**
- * Put node descendants of node in array.
- * If `onlyExpandable` is true, then only process expandable descendants.
- */
- nodeDescendents(node: T, nodes: T[], onlyExpandable: boolean): void;
- }
- /**
- * Class to coordinate unique selection based on name.
- * Intended to be consumed as an Angular service.
- * This service is needed because native radio change events are only fired on the item currently
- * being selected, and we still need to uncheck the previous selection.
- *
- * This service does not *store* any IDs and names because they may change at any time, so it is
- * less error-prone if they are simply passed through when the events occur.
- */
- export declare class UniqueSelectionDispatcher implements OnDestroy {
- private _listeners;
- /**
- * Notify other items that selection for the given name has been set.
- * @param id ID of the item.
- * @param name Name of the item.
- */
- notify(id: string, name: string): void;
- /**
- * Listen for future changes to item selection.
- * @return Function used to deregister listener
- */
- listen(listener: UniqueSelectionDispatcherListener): () => void;
- ngOnDestroy(): void;
- static ɵfac: i0.ɵɵFactoryDeclaration<UniqueSelectionDispatcher, never>;
- static ɵprov: i0.ɵɵInjectableDeclaration<UniqueSelectionDispatcher>;
- }
- export declare type UniqueSelectionDispatcherListener = (id: string, name: string) => void;
- /**
- * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.
- * @docs-private
- */
- export declare const _VIEW_REPEATER_STRATEGY: InjectionToken<_ViewRepeater<unknown, unknown, _ViewRepeaterItemContext<unknown>>>;
- /**
- * Describes a strategy for rendering items in a {@link ViewContainerRef}.
- *
- * @template T The type for the embedded view's $implicit property.
- * @template R The type for the item in each IterableDiffer change record.
- * @template C The type for the context passed to each embedded view.
- */
- export declare interface _ViewRepeater<T, R, C extends _ViewRepeaterItemContext<T>> {
- applyChanges(changes: IterableChanges<R>, viewContainerRef: ViewContainerRef, itemContextFactory: _ViewRepeaterItemContextFactory<T, R, C>, itemValueResolver: _ViewRepeaterItemValueResolver<T, R>, itemViewChanged?: _ViewRepeaterItemChanged<R, C>): void;
- detach(): void;
- }
- /**
- * Meta data describing the state of a view after it was updated by a
- * {@link _ViewRepeater}.
- *
- * @template R The type for the item in each IterableDiffer change record.
- * @template C The type for the context passed to each embedded view.
- */
- export declare interface _ViewRepeaterItemChange<R, C> {
- /** The view's context after it was changed. */
- context?: C;
- /** Indicates how the view was changed. */
- operation: _ViewRepeaterOperation;
- /** The view's corresponding change record. */
- record: IterableChangeRecord<R>;
- }
- /**
- * Type for a callback to be executed after a view has changed.
- *
- * @template R The type for the item in each IterableDiffer change record.
- * @template C The type for the context passed to each embedded view.
- */
- export declare type _ViewRepeaterItemChanged<R, C> = (change: _ViewRepeaterItemChange<R, C>) => void;
- /**
- * The context for an embedded view in the repeater's view container.
- *
- * @template T The type for the embedded view's $implicit property.
- */
- export declare interface _ViewRepeaterItemContext<T> {
- $implicit?: T;
- }
- /**
- * A factory that derives the embedded view context for an item in a view
- * container.
- *
- * @template T The type for the embedded view's $implicit property.
- * @template R The type for the item in each IterableDiffer change record.
- * @template C The type for the context passed to each embedded view.
- */
- export declare type _ViewRepeaterItemContextFactory<T, R, C extends _ViewRepeaterItemContext<T>> = (record: IterableChangeRecord<R>, adjustedPreviousIndex: number | null, currentIndex: number | null) => _ViewRepeaterItemInsertArgs<C>;
- /**
- * The arguments needed to construct an embedded view for an item in a view
- * container.
- *
- * @template C The type for the context passed to each embedded view.
- */
- export declare interface _ViewRepeaterItemInsertArgs<C> {
- templateRef: TemplateRef<C>;
- context?: C;
- index?: number;
- }
- /**
- * Extracts the value of an item from an {@link IterableChangeRecord}.
- *
- * @template T The type for the embedded view's $implicit property.
- * @template R The type for the item in each IterableDiffer change record.
- */
- export declare type _ViewRepeaterItemValueResolver<T, R> = (record: IterableChangeRecord<R>) => T;
- /** Indicates how a view was changed by a {@link _ViewRepeater}. */
- export declare const enum _ViewRepeaterOperation {
- /** The content of an existing view was replaced with another item. */
- REPLACED = 0,
- /** A new view was created with `createEmbeddedView`. */
- INSERTED = 1,
- /** The position of a view changed, but the content remains the same. */
- MOVED = 2,
- /** A view was detached from the view container. */
- REMOVED = 3
- }
- export { }
|