ng-virtual-list 16.7.12 → 16.7.13
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 +19 -1
- package/esm2022/lib/components/ng-virtual-list-item.component.mjs +43 -27
- package/esm2022/lib/enums/focus-alignments.mjs +14 -0
- package/esm2022/lib/enums/index.mjs +3 -2
- package/esm2022/lib/models/display-object-config.model.mjs +2 -0
- package/esm2022/lib/models/display-object-measures.model.mjs +2 -0
- package/esm2022/lib/models/index.mjs +1 -1
- package/esm2022/lib/ng-virtual-list.component.mjs +47 -7
- package/esm2022/lib/ng-virtual-list.service.mjs +4 -3
- package/esm2022/lib/types/focus-alignment.mjs +2 -0
- package/esm2022/lib/types/index.mjs +1 -1
- package/fesm2022/ng-virtual-list.mjs +102 -34
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/components/ng-virtual-list-item.component.d.ts +9 -39
- package/lib/enums/focus-alignments.d.ts +12 -0
- package/lib/enums/index.d.ts +2 -1
- package/lib/models/display-object-config.model.d.ts +35 -0
- package/lib/models/display-object-measures.model.d.ts +13 -0
- package/lib/models/index.d.ts +3 -1
- package/lib/ng-virtual-list.component.d.ts +5 -1
- package/lib/ng-virtual-list.service.d.ts +4 -4
- package/lib/types/focus-alignment.d.ts +8 -0
- package/lib/types/index.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,35 +1,11 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, TemplateRef } from '@angular/core';
|
|
2
2
|
import { IRenderVirtualListItem } from '../models/render-item.model';
|
|
3
|
-
import { Id,
|
|
3
|
+
import { Id, ISize } from '../types';
|
|
4
4
|
import { BaseVirtualListItemComponent } from '../models/base-virtual-list-item-component';
|
|
5
5
|
import { NgVirtualListService } from '../ng-virtual-list.service';
|
|
6
|
-
import { BehaviorSubject
|
|
7
|
-
import {
|
|
6
|
+
import { BehaviorSubject } from 'rxjs';
|
|
7
|
+
import { IDisplayObjectConfig, IDisplayObjectMeasures } from '../models';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
interface IItemConfig extends IRenderVirtualListItemConfig {
|
|
10
|
-
/**
|
|
11
|
-
* Determines whether the element has focus or not.
|
|
12
|
-
*/
|
|
13
|
-
focus: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Determines whether the element is selected or not.
|
|
16
|
-
*/
|
|
17
|
-
selected: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Determines whether the element is collapsed or not.
|
|
20
|
-
*/
|
|
21
|
-
collapsed: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Selects a list item
|
|
24
|
-
* @param selected - If the value is undefined, then the toggle method is executed, if false or true, then the selection/deselection is performed.
|
|
25
|
-
*/
|
|
26
|
-
select: (selected: boolean | undefined) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Collapse list items
|
|
29
|
-
* @param collapsed - If the value is undefined, then the toggle method is executed, if false or true, then the collapse/expand is performed.
|
|
30
|
-
*/
|
|
31
|
-
collapse: (collapsed: boolean | undefined) => void;
|
|
32
|
-
}
|
|
33
9
|
/**
|
|
34
10
|
* Virtual list item component
|
|
35
11
|
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/components/ng-virtual-list-item.component.ts
|
|
@@ -40,7 +16,6 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
|
|
|
40
16
|
private _cdr;
|
|
41
17
|
private _elementRef;
|
|
42
18
|
private _service;
|
|
43
|
-
protected _$unsubscribe: Subject<void>;
|
|
44
19
|
private _id;
|
|
45
20
|
get id(): number;
|
|
46
21
|
private _part;
|
|
@@ -48,15 +23,10 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
|
|
|
48
23
|
private _isSelected;
|
|
49
24
|
private _isCollapsed;
|
|
50
25
|
private _$config;
|
|
51
|
-
$config: import("rxjs").Observable<
|
|
52
|
-
measures: BehaviorSubject<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
*/
|
|
56
|
-
delta: number;
|
|
57
|
-
}) | undefined>;
|
|
58
|
-
private _$focus;
|
|
59
|
-
$focus: import("rxjs").Observable<boolean>;
|
|
26
|
+
$config: import("rxjs").Observable<IDisplayObjectConfig>;
|
|
27
|
+
measures: BehaviorSubject<IDisplayObjectMeasures | undefined>;
|
|
28
|
+
private _$focused;
|
|
29
|
+
$focused: import("rxjs").Observable<boolean>;
|
|
60
30
|
private _$part;
|
|
61
31
|
$part: import("rxjs").Observable<string>;
|
|
62
32
|
regular: boolean;
|
|
@@ -73,9 +43,11 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
|
|
|
73
43
|
get element(): HTMLElement;
|
|
74
44
|
private _selectHandler;
|
|
75
45
|
private _collapseHandler;
|
|
46
|
+
private _focusHandler;
|
|
76
47
|
constructor(_cdr: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, _service: NgVirtualListService);
|
|
77
48
|
private focusNext;
|
|
78
49
|
private focusPrev;
|
|
50
|
+
private focus;
|
|
79
51
|
private updateMeasures;
|
|
80
52
|
private updateConfig;
|
|
81
53
|
private update;
|
|
@@ -84,8 +56,6 @@ export declare class NgVirtualListItemComponent extends BaseVirtualListItemCompo
|
|
|
84
56
|
show(): void;
|
|
85
57
|
hide(): void;
|
|
86
58
|
onClickHandler(): void;
|
|
87
|
-
ngOnDestroy(): void;
|
|
88
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListItemComponent, never>;
|
|
89
60
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgVirtualListItemComponent, "ng-virtual-list-item", never, {}, {}, never, never, false, never>;
|
|
90
61
|
}
|
|
91
|
-
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Focus Alignments.
|
|
3
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/enums/focus-alignments.ts
|
|
4
|
+
* @author Evgenii Grebennikov
|
|
5
|
+
* @email djonnyx@gmail.com
|
|
6
|
+
*/
|
|
7
|
+
export declare enum FocusAlignments {
|
|
8
|
+
NONE = "none",
|
|
9
|
+
START = "start",
|
|
10
|
+
CENTER = "center",
|
|
11
|
+
END = "end"
|
|
12
|
+
}
|
package/lib/enums/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ import { MethodsForSelecting } from "./methods-for-selecting";
|
|
|
6
6
|
import { MethodForSelecting } from "./method-for-selecting";
|
|
7
7
|
import { SnappingMethods } from "./snapping-methods";
|
|
8
8
|
import { SnappingMethod } from "./snapping-method";
|
|
9
|
-
|
|
9
|
+
import { FocusAlignments } from "./focus-alignments";
|
|
10
|
+
export { CollectionModes, Directions, MethodsForSelecting, SnappingMethods, FocusAlignments, };
|
|
10
11
|
export type { CollectionMode, Direction, MethodForSelecting, SnappingMethod, };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IRenderVirtualListItemConfig } from "./render-item-config.model";
|
|
2
|
+
/**
|
|
3
|
+
* Display object configuration. A set of `select`, `collapse`, and `focus` methods are also provided.
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/models/display-object-config.model.ts
|
|
5
|
+
* @author Evgenii Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export interface IDisplayObjectConfig extends IRenderVirtualListItemConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Determines whether the element has focused or not.
|
|
11
|
+
*/
|
|
12
|
+
focused: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Determines whether the element is selected or not.
|
|
15
|
+
*/
|
|
16
|
+
selected: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Determines whether the element is collapsed or not.
|
|
19
|
+
*/
|
|
20
|
+
collapsed: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Focus a list item
|
|
23
|
+
*/
|
|
24
|
+
focus: () => void;
|
|
25
|
+
/**
|
|
26
|
+
* Selects a list item
|
|
27
|
+
* @param selected - If the value is undefined, then the toggle method is executed, if false or true, then the selection/deselection is performed.
|
|
28
|
+
*/
|
|
29
|
+
select: (selected: boolean | undefined) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Collapse list items
|
|
32
|
+
* @param collapsed - If the value is undefined, then the toggle method is executed, if false or true, then the collapse/expand is performed.
|
|
33
|
+
*/
|
|
34
|
+
collapse: (collapsed: boolean | undefined) => void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IRect } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Display object metrics.
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/models/display-object-measures.model.ts
|
|
5
|
+
* @author Evgenii Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export interface IDisplayObjectMeasures extends IRect {
|
|
9
|
+
/**
|
|
10
|
+
* Delta is calculated for Snapping Method.ADVANCED
|
|
11
|
+
*/
|
|
12
|
+
delta: number;
|
|
13
|
+
}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ import { IVirtualListItem } from './item.model';
|
|
|
4
4
|
import { IVirtualListItemConfigMap } from './item-config-map.model';
|
|
5
5
|
import { IVirtualListCollection } from './collection.model';
|
|
6
6
|
import { IRenderVirtualListItem } from './render-item.model';
|
|
7
|
-
|
|
7
|
+
import { IDisplayObjectConfig } from './display-object-config.model';
|
|
8
|
+
import { IDisplayObjectMeasures } from './display-object-measures.model';
|
|
9
|
+
export type { IDisplayObjectConfig, IDisplayObjectMeasures, IScrollEvent, IVirtualListItem, IVirtualListItemConfigMap, IVirtualListCollection, IRenderVirtualListItem, ScrollDirection, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
|
|
2
2
|
import { IRenderVirtualListItem, IScrollEvent, IVirtualListCollection, IVirtualListItemConfigMap } from './models';
|
|
3
|
-
import { Id, ISize } from './types';
|
|
3
|
+
import { FocusAlignment, Id, ISize } from './types';
|
|
4
4
|
import { CollectionMode, Direction, Directions, MethodForSelecting, SnappingMethod } from './enums';
|
|
5
5
|
import { NgVirtualListService } from './ng-virtual-list.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -295,6 +295,10 @@ export declare class NgVirtualListComponent implements AfterViewInit, OnInit, On
|
|
|
295
295
|
* Returns the bounds of an element with a given id
|
|
296
296
|
*/
|
|
297
297
|
getItemBounds(id: Id): ISize | undefined;
|
|
298
|
+
/**
|
|
299
|
+
* Focus an list item by a given id.
|
|
300
|
+
*/
|
|
301
|
+
focus(id: Id, align?: FocusAlignment): void;
|
|
298
302
|
/**
|
|
299
303
|
* The method scrolls the list to the element with the given id and returns the value of the scrolled area.
|
|
300
304
|
* Behavior accepts the values "auto", "instant" and "smooth".
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TrackBox } from './utils/trackBox';
|
|
2
2
|
import { IRenderVirtualListItem } from './models';
|
|
3
|
-
import { Id } from './types';
|
|
4
|
-
import { MethodsForSelectingTypes } from './enums/method-for-selecting-types';
|
|
5
3
|
import { IRenderVirtualListCollection } from './models/render-collection.model';
|
|
4
|
+
import { MethodsForSelectingTypes } from './enums/method-for-selecting-types';
|
|
5
|
+
import { FocusAlignment, Id } from './types';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class NgVirtualListService {
|
|
8
8
|
private _nextComponentId;
|
|
@@ -41,8 +41,8 @@ export declare class NgVirtualListService {
|
|
|
41
41
|
*/
|
|
42
42
|
collapse(data: IRenderVirtualListItem | undefined, collapsed?: boolean | undefined): void;
|
|
43
43
|
initialize(trackBox: TrackBox): void;
|
|
44
|
-
itemToFocus: ((element: HTMLElement, position: number) => void) | undefined;
|
|
45
|
-
focus(element: HTMLElement): void;
|
|
44
|
+
itemToFocus: ((element: HTMLElement, position: number, align: FocusAlignment) => void) | undefined;
|
|
45
|
+
focus(element: HTMLElement, align?: FocusAlignment): void;
|
|
46
46
|
areaFocus(id: Id | null): void;
|
|
47
47
|
generateComponentId(): number;
|
|
48
48
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgVirtualListService, never>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FocusAlignments } from "../enums";
|
|
2
|
+
/**
|
|
3
|
+
* Focus Alignment
|
|
4
|
+
* @link https://github.com/DjonnyX/ng-virtual-list/blob/16.x/projects/ng-virtual-list/src/lib/types/focus-alignment.ts
|
|
5
|
+
* @author Evgenii Grebennikov
|
|
6
|
+
* @email djonnyx@gmail.com
|
|
7
|
+
*/
|
|
8
|
+
export type FocusAlignment = FocusAlignments | 'none' | 'start' | 'center' | 'end';
|
package/lib/types/index.d.ts
CHANGED