@progress/kendo-angular-scrollview 17.0.0-develop.4 → 17.0.0-develop.40
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 +34 -15
- package/direction.d.ts +1 -1
- package/enums.d.ts +2 -2
- package/{esm2020 → esm2022}/data.collection.mjs +6 -1
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/localization/messages.mjs +8 -3
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/scrollview-pager.component.mjs +8 -5
- package/{esm2020 → esm2022}/scrollview.component.mjs +112 -89
- package/{esm2020 → esm2022}/scrollview.module.mjs +4 -4
- package/{fesm2020 → fesm2022}/progress-kendo-angular-scrollview.mjs +158 -120
- package/localization/messages.d.ts +1 -1
- package/package.json +13 -19
- package/scrollview-pager.component.d.ts +1 -1
- package/scrollview.component.d.ts +1 -1
- package/fesm2015/progress-kendo-angular-scrollview.mjs +0 -1007
- /package/{esm2020 → esm2022}/change-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/direction.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/enums.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-scrollview.mjs +0 -0
package/README.md
CHANGED
|
@@ -4,30 +4,49 @@
|
|
|
4
4
|
|
|
5
5
|
## Kendo UI for Angular ScrollView Component
|
|
6
6
|
|
|
7
|
-
>
|
|
8
|
-
> *
|
|
9
|
-
> * You will need to install a license key when adding the package to your project. For more information, please refer to the [Kendo UI for Angular My License page](https://www.telerik.com/kendo-angular-ui/my-license?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-scrollview).
|
|
10
|
-
> * To receive a license key, you need to either [purchase a license](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-scrollview) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-scrollview). Doing so indicates that you [accept the Kendo UI for Angular License Agreement](https://www.telerik.com/purchase/license-agreement/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-scrollview).
|
|
7
|
+
> * This package is part of [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui)—a commercial library designed and built for developing business applications with Angular. Every UI component in the Kendo UI for Angular suite has been built from the ground-up specifically for Angular.
|
|
8
|
+
> * You must [install a license key](https://www.telerik.com/kendo-angular-ui/my-license) when adding the package to your project. To receive a license key, either [purchase a license](https://www.telerik.com/purchase/kendo-ui) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui).
|
|
11
9
|
> * The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular dev team!
|
|
12
10
|
>
|
|
13
|
-
> [Start using Kendo UI for Angular](https://www.telerik.com/download-login-v2-kendo-angular-ui
|
|
11
|
+
> [Start using Kendo UI for Angular](https://www.telerik.com/download-login-v2-kendo-angular-ui) and speed up your development process!
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
## Angular ScrollView Component
|
|
14
|
+
|
|
15
|
+
The [Kendo UI for Angular ScrollView](https://www.telerik.com/kendo-angular-ui/components/scrollview) component represents a horizontal collection of content or image views with built-in navigation tools, automatic scrolling and visual indicators to help users keep track of their location in the collection at any time.
|
|
16
|
+
|
|
17
|
+
## Key Features
|
|
18
|
+
|
|
19
|
+
Among the many features which the Kendo UI for Angular ScrollView delivers are:
|
|
20
|
+
|
|
21
|
+
* [Animations](https://www.telerik.com/kendo-angular-ui/components/scrollview/animations)—The ScrollView allows you to enable or disable its built-in animations, which are enabled by default.
|
|
22
|
+
* [Arrows](https://www.telerik.com/kendo-angular-ui/components/scrollview/arrows)—Allows controlling the behavior of the built-in navigation arrows of the ScrollView, which are disabled by default.
|
|
23
|
+
* [Paging](https://www.telerik.com/kendo-angular-ui/components/scrollview/paging)—Provides options for enabling or disabling its built-in paging functionality as well as for adding a pager overlay.
|
|
24
|
+
* [Endless Scrolling](https://www.telerik.com/kendo-angular-ui/components/scrollview/endless-scrolling)—You can enable the endless scrolling mode which loops through its views in an endless fashion and is disabled by default.
|
|
25
|
+
* [Dimensions](https://www.telerik.com/kendo-angular-ui/components/scrollview/dimensions)—Enables customizing the dimensions of the ScrollView by defining its width and height.
|
|
26
|
+
* [Data Sources](https://www.telerik.com/kendo-angular-ui/components/scrollview/data-sources)—You can set a data source for the ScrollView to provide it with data.
|
|
27
|
+
* [Active Items](https://www.telerik.com/kendo-angular-ui/components/scrollview/active-items)—Allows rendering an active item in the ScrollView by using the available configuration of the component.
|
|
28
|
+
* [Globalization](https://www.telerik.com/kendo-angular-ui/components/scrollview/globalization)—By using the available globalization options in Kendo UI for Angular, you can translate the ScrollView messages by adapting them to specific culture locales. Additionally, the ScrollView supports rendering in a right-to-left (RTL) direction.
|
|
29
|
+
* [Accessibility](https://www.telerik.com/kendo-angular-ui/components/scrollview/accessibility)—The ScrollView is accessible for screen readers and supports WAI-ARIA attributes.
|
|
30
|
+
* [Keyboard Navigation](https://www.telerik.com/kendo-angular-ui/components/scrollview/keyboard-navigation)—The ScrollView supports a number of keyboard shortcuts which allow users to accomplish various commands.
|
|
31
|
+
|
|
32
|
+
## Support Options
|
|
33
|
+
|
|
34
|
+
For any issues you might encounter while working with the Kendo UI for Angular ScrollView, you have the following support channels available:
|
|
35
|
+
|
|
36
|
+
* Industry-leading technical support—Kendo UI for Angular paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use the [dedicated Kendo UI for Angular support system](https://www.telerik.com/account/support-tickets).
|
|
37
|
+
* Product forums—The [Kendo UI for Angular forums](https://www.telerik.com/forums/kendo-angular-ui) are part of the free support you can get from the community and from the Kendo UI for Angular team.
|
|
38
|
+
* Feedback portal—The [Kendo UI for Angular feedback portal](https://feedback.telerik.com/kendo-angular-ui) is where you can request and vote for new features to be added.
|
|
16
39
|
|
|
17
40
|
## Resources
|
|
18
41
|
|
|
19
|
-
* [
|
|
20
|
-
* [
|
|
42
|
+
* [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/getting-started)
|
|
43
|
+
* [Getting Started with the Kendo UI for Angular ScrollView](https://www.telerik.com/kendo-angular-ui/components/scrollview/installation/getting-started)
|
|
44
|
+
* [ScrollView Overview page](https://www.telerik.com/kendo-angular-ui/components/scrollview) and [ScrollView API reference](https://www.telerik.com/kendo-angular-ui/components/scrollview/api)
|
|
45
|
+
* [Kendo UI for Angular roadmap](https://www.telerik.com/kendo-angular-ui/roadmap)
|
|
21
46
|
* [Blogs](http://www.telerik.com/blogs/kendo-ui)
|
|
47
|
+
* [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
|
|
22
48
|
* [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
|
|
23
49
|
|
|
24
|
-
## Questions and Feedback
|
|
25
|
-
|
|
26
|
-
* [Official Forums](https://www.telerik.com/forums/kendo-angular-ui)
|
|
27
|
-
* [GitHub Issues](https://github.com/telerik/kendo-angular/issues)
|
|
28
|
-
* [Feedback Portal](https://feedback.telerik.com/kendo-angular-ui)
|
|
29
|
-
* [StackOverflow](https://stackoverflow.com/questions/tagged/kendo-ui-angular2)
|
|
30
|
-
|
|
31
50
|
*Copyright © 2024 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.*
|
|
32
51
|
|
|
33
52
|
*Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
|
package/direction.d.ts
CHANGED
package/enums.d.ts
CHANGED
|
@@ -12,8 +12,8 @@ export declare enum Dir {
|
|
|
12
12
|
/**
|
|
13
13
|
* Represents the available pager overlays of the ScrollView.
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
15
|
+
export type ScrollViewPagerOverlay = 'dark' | 'light' | 'none';
|
|
16
16
|
/**
|
|
17
17
|
* @hidden
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export type AnimationState = "left" | "right" | "center";
|
|
@@ -23,8 +23,12 @@ const EMPTY_OBJ = {};
|
|
|
23
23
|
* @hidden
|
|
24
24
|
*/
|
|
25
25
|
export class DataResultIterator {
|
|
26
|
+
source;
|
|
27
|
+
index;
|
|
28
|
+
endless;
|
|
29
|
+
pageIndex;
|
|
30
|
+
rtl = false;
|
|
26
31
|
constructor(source, index, endless, pageIndex, rtl) {
|
|
27
|
-
this.rtl = false;
|
|
28
32
|
this.source = source ? source : [];
|
|
29
33
|
this.index = index ? index : 0;
|
|
30
34
|
this.endless = endless;
|
|
@@ -68,6 +72,7 @@ export class DataResultIterator {
|
|
|
68
72
|
* @hidden
|
|
69
73
|
*/
|
|
70
74
|
export class DataCollection {
|
|
75
|
+
accessor;
|
|
71
76
|
constructor(accessor) {
|
|
72
77
|
this.accessor = accessor;
|
|
73
78
|
}
|
|
@@ -12,6 +12,7 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
12
12
|
* ([see example](slug:rtl_scrollview#toc-custom-messages)).
|
|
13
13
|
*/
|
|
14
14
|
export class CustomMessagesComponent extends ScrollViewMessages {
|
|
15
|
+
service;
|
|
15
16
|
constructor(service) {
|
|
16
17
|
super();
|
|
17
18
|
this.service = service;
|
|
@@ -19,15 +20,15 @@ export class CustomMessagesComponent extends ScrollViewMessages {
|
|
|
19
20
|
get override() {
|
|
20
21
|
return true;
|
|
21
22
|
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-scrollview-messages", providers: [
|
|
25
|
+
{
|
|
26
|
+
provide: ScrollViewMessages,
|
|
27
|
+
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
28
|
+
}
|
|
29
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
22
30
|
}
|
|
23
|
-
|
|
24
|
-
CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-scrollview-messages", providers: [
|
|
25
|
-
{
|
|
26
|
-
provide: ScrollViewMessages,
|
|
27
|
-
useExisting: forwardRef(() => CustomMessagesComponent)
|
|
28
|
-
}
|
|
29
|
-
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, decorators: [{
|
|
31
32
|
type: Component,
|
|
32
33
|
args: [{
|
|
33
34
|
providers: [
|
|
@@ -11,19 +11,20 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
13
13
|
export class LocalizedMessagesDirective extends ScrollViewMessages {
|
|
14
|
+
service;
|
|
14
15
|
constructor(service) {
|
|
15
16
|
super();
|
|
16
17
|
this.service = service;
|
|
17
18
|
}
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoScrollViewLocalizedMessages]", providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: ScrollViewMessages,
|
|
23
|
+
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
24
|
+
}
|
|
25
|
+
], usesInheritance: true, ngImport: i0 });
|
|
18
26
|
}
|
|
19
|
-
|
|
20
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoScrollViewLocalizedMessages]", providers: [
|
|
21
|
-
{
|
|
22
|
-
provide: ScrollViewMessages,
|
|
23
|
-
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
|
24
|
-
}
|
|
25
|
-
], usesInheritance: true, ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
|
27
28
|
type: Directive,
|
|
28
29
|
args: [{
|
|
29
30
|
providers: [
|
|
@@ -9,10 +9,15 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* @hidden
|
|
10
10
|
*/
|
|
11
11
|
export class ScrollViewMessages extends ComponentMessages {
|
|
12
|
+
/**
|
|
13
|
+
* The label of the buttons in the ScrollView pager. By default they follow the pattern 'Item {itemIndex}'.
|
|
14
|
+
* The default label text when the current item is 1 will be 'Item 1'.
|
|
15
|
+
*/
|
|
16
|
+
pagerButtonLabel;
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ScrollViewMessages, selector: "kendo-scrollview-messages-base", inputs: { pagerButtonLabel: "pagerButtonLabel" }, usesInheritance: true, ngImport: i0 });
|
|
12
19
|
}
|
|
13
|
-
|
|
14
|
-
ScrollViewMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ScrollViewMessages, selector: "kendo-scrollview-messages-base", inputs: { pagerButtonLabel: "pagerButtonLabel" }, usesInheritance: true, ngImport: i0 });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollViewMessages, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewMessages, decorators: [{
|
|
16
21
|
type: Directive,
|
|
17
22
|
args: [{
|
|
18
23
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-scrollview',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '17.0.0-develop.
|
|
12
|
+
publishDate: 1730799119,
|
|
13
|
+
version: '17.0.0-develop.40',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -13,9 +13,12 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
13
13
|
* @hidden
|
|
14
14
|
*/
|
|
15
15
|
export class ScrollViewPagerComponent {
|
|
16
|
+
localization;
|
|
17
|
+
activeIndex;
|
|
18
|
+
data;
|
|
19
|
+
pagerIndexChange = new EventEmitter();
|
|
16
20
|
constructor(localization) {
|
|
17
21
|
this.localization = localization;
|
|
18
|
-
this.pagerIndexChange = new EventEmitter();
|
|
19
22
|
}
|
|
20
23
|
itemClass(idx) {
|
|
21
24
|
return {
|
|
@@ -32,9 +35,8 @@ export class ScrollViewPagerComponent {
|
|
|
32
35
|
replaceMessagePlaceholder(message, name, value) {
|
|
33
36
|
return message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
|
|
34
37
|
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
ScrollViewPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ScrollViewPagerComponent, isStandalone: true, selector: "kendo-scrollview-pager", inputs: { activeIndex: "activeIndex", data: "data" }, outputs: { pagerIndexChange: "pagerIndexChange" }, ngImport: i0, template: `
|
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewPagerComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ScrollViewPagerComponent, isStandalone: true, selector: "kendo-scrollview-pager", inputs: { activeIndex: "activeIndex", data: "data" }, outputs: { pagerIndexChange: "pagerIndexChange" }, ngImport: i0, template: `
|
|
38
40
|
<div class="k-scrollview-nav">
|
|
39
41
|
<span [attr.aria-label]="pagerButtonLabel(i + 1)" role="button" class="k-link" *ngFor="let item of data; let i = index"
|
|
40
42
|
[ngClass]="itemClass(i)"
|
|
@@ -42,7 +44,8 @@ ScrollViewPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
|
|
|
42
44
|
</span>
|
|
43
45
|
</div>
|
|
44
46
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
45
|
-
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewPagerComponent, decorators: [{
|
|
46
49
|
type: Component,
|
|
47
50
|
args: [{
|
|
48
51
|
selector: 'kendo-scrollview-pager',
|
|
@@ -76,73 +76,22 @@ let idx = 0;
|
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
78
|
export class ScrollViewComponent {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
this.data = [];
|
|
96
|
-
/**
|
|
97
|
-
* Enables or disables the endless scrolling mode in which the data source items are endlessly looped
|
|
98
|
-
* ([see example]({% slug endlessscrolling_scrollview %})). By default, `endless` is set to `false`
|
|
99
|
-
* and the endless scrolling mode is disabled.
|
|
100
|
-
*/
|
|
101
|
-
this.endless = false;
|
|
102
|
-
/**
|
|
103
|
-
* Sets `pagerOverlay` to one of three possible values: `dark`, `light` or `none`.
|
|
104
|
-
* By default, the pager overlay is set to `none`.
|
|
105
|
-
*/
|
|
106
|
-
this.pagerOverlay = 'none';
|
|
107
|
-
/**
|
|
108
|
-
* Enables or disables the built-in animations ([see example]({% slug animations_scrollview %})).
|
|
109
|
-
* By default, `animate` is set to `true` and animations are enabled.
|
|
110
|
-
*/
|
|
111
|
-
this.animate = true;
|
|
112
|
-
/**
|
|
113
|
-
* Enables or disables the built-in pager ([see example]({% slug paging_scrollview %})).
|
|
114
|
-
* By default, `pageable` is set to `false` and paging is disabled.
|
|
115
|
-
*/
|
|
116
|
-
this.pageable = false;
|
|
117
|
-
/**
|
|
118
|
-
* Enables or disables the built-in navigation arrows ([see example]({% slug arrows_scrollview %})).
|
|
119
|
-
* By default, `arrows` is set to `false` and arrows are disabled.
|
|
120
|
-
*/
|
|
121
|
-
this.arrows = false;
|
|
122
|
-
/**
|
|
123
|
-
* Fires after the current item is changed.
|
|
124
|
-
*/
|
|
125
|
-
this.itemChanged = new EventEmitter();
|
|
126
|
-
/**
|
|
127
|
-
* Fires after the activeIndex has changed. Allows for two-way binding of the activeIndex property.
|
|
128
|
-
*/
|
|
129
|
-
this.activeIndexChange = new EventEmitter();
|
|
130
|
-
this.scrollViewClass = true;
|
|
131
|
-
this.scrollViewRole = 'application';
|
|
132
|
-
this.scrollViewRoleDescription = 'carousel';
|
|
133
|
-
this.tabIndex = 0;
|
|
134
|
-
this.ariaLive = 'assertive';
|
|
135
|
-
this.touchAction = 'pan-y pinch-zoom';
|
|
136
|
-
this.animationState = null;
|
|
137
|
-
this.view = new DataCollection(() => new DataResultIterator(this.data, this.activeIndex, this.endless, this.pageIndex, this.isRTL));
|
|
138
|
-
this.isDataSourceEmpty = false;
|
|
139
|
-
this.subs = new Subscription();
|
|
140
|
-
this._activeIndex = 0;
|
|
141
|
-
this.index = 0;
|
|
142
|
-
this.pageIndex = null;
|
|
143
|
-
this.transforms = ['translateX(-100%)', 'translateX(0%)', 'translateX(100%)'];
|
|
144
|
-
validatePackage(packageMetadata);
|
|
145
|
-
}
|
|
79
|
+
element;
|
|
80
|
+
localization;
|
|
81
|
+
ngZone;
|
|
82
|
+
renderer;
|
|
83
|
+
/**
|
|
84
|
+
* @hidden
|
|
85
|
+
*/
|
|
86
|
+
chevronLeftIcon = chevronLeftIcon;
|
|
87
|
+
/**
|
|
88
|
+
* @hidden
|
|
89
|
+
*/
|
|
90
|
+
chevronRightIcon = chevronRightIcon;
|
|
91
|
+
/**
|
|
92
|
+
* Provides the data source for the ScrollView ([see example]({% slug datasources_scrollview %})).
|
|
93
|
+
*/
|
|
94
|
+
data = [];
|
|
146
95
|
/**
|
|
147
96
|
* Represents the current item index ([see example]({% slug activeitems_scrollview %})).
|
|
148
97
|
*/
|
|
@@ -152,6 +101,57 @@ export class ScrollViewComponent {
|
|
|
152
101
|
get activeIndex() {
|
|
153
102
|
return this._activeIndex;
|
|
154
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Sets the width of the ScrollView ([see example]({% slug dimensions_scrollview %})).
|
|
106
|
+
* By default, the width is not set and you have to explicitly define the `width` value.
|
|
107
|
+
*/
|
|
108
|
+
width;
|
|
109
|
+
/**
|
|
110
|
+
* Sets the height of the ScrollView ([see example]({% slug dimensions_scrollview %})).
|
|
111
|
+
* By default, the height is not set and you have to explicitly define the `height` value.
|
|
112
|
+
*/
|
|
113
|
+
height;
|
|
114
|
+
/**
|
|
115
|
+
* Enables or disables the endless scrolling mode in which the data source items are endlessly looped
|
|
116
|
+
* ([see example]({% slug endlessscrolling_scrollview %})). By default, `endless` is set to `false`
|
|
117
|
+
* and the endless scrolling mode is disabled.
|
|
118
|
+
*/
|
|
119
|
+
endless = false;
|
|
120
|
+
/**
|
|
121
|
+
* Sets `pagerOverlay` to one of three possible values: `dark`, `light` or `none`.
|
|
122
|
+
* By default, the pager overlay is set to `none`.
|
|
123
|
+
*/
|
|
124
|
+
pagerOverlay = 'none';
|
|
125
|
+
/**
|
|
126
|
+
* Enables or disables the built-in animations ([see example]({% slug animations_scrollview %})).
|
|
127
|
+
* By default, `animate` is set to `true` and animations are enabled.
|
|
128
|
+
*/
|
|
129
|
+
animate = true;
|
|
130
|
+
/**
|
|
131
|
+
* Enables or disables the built-in pager ([see example]({% slug paging_scrollview %})).
|
|
132
|
+
* By default, `pageable` is set to `false` and paging is disabled.
|
|
133
|
+
*/
|
|
134
|
+
pageable = false;
|
|
135
|
+
/**
|
|
136
|
+
* Enables or disables the built-in navigation arrows ([see example]({% slug arrows_scrollview %})).
|
|
137
|
+
* By default, `arrows` is set to `false` and arrows are disabled.
|
|
138
|
+
*/
|
|
139
|
+
arrows = false;
|
|
140
|
+
/**
|
|
141
|
+
* Fires after the current item is changed.
|
|
142
|
+
*/
|
|
143
|
+
itemChanged = new EventEmitter();
|
|
144
|
+
/**
|
|
145
|
+
* Fires after the activeIndex has changed. Allows for two-way binding of the activeIndex property.
|
|
146
|
+
*/
|
|
147
|
+
activeIndexChange = new EventEmitter();
|
|
148
|
+
itemTemplateRef;
|
|
149
|
+
itemWrapper;
|
|
150
|
+
prevButton;
|
|
151
|
+
nextButton;
|
|
152
|
+
scrollViewClass = true;
|
|
153
|
+
scrollViewRole = 'application';
|
|
154
|
+
scrollViewRoleDescription = 'carousel';
|
|
155
155
|
get scrollViewLightOverlayClass() {
|
|
156
156
|
return this.pagerOverlay === 'light';
|
|
157
157
|
}
|
|
@@ -160,12 +160,35 @@ export class ScrollViewComponent {
|
|
|
160
160
|
}
|
|
161
161
|
get hostWidth() { return this.width; }
|
|
162
162
|
get hostHeight() { return this.height; }
|
|
163
|
+
tabIndex = 0;
|
|
164
|
+
ariaLive = 'assertive';
|
|
163
165
|
get dir() {
|
|
164
166
|
return this.direction;
|
|
165
167
|
}
|
|
168
|
+
touchAction = 'pan-y pinch-zoom';
|
|
169
|
+
animationState = null;
|
|
170
|
+
view = new DataCollection(() => new DataResultIterator(this.data, this.activeIndex, this.endless, this.pageIndex, this.isRTL));
|
|
171
|
+
/**
|
|
172
|
+
* @hidden
|
|
173
|
+
*/
|
|
174
|
+
scrollviewId;
|
|
175
|
+
isDataSourceEmpty = false;
|
|
176
|
+
subs = new Subscription();
|
|
177
|
+
_activeIndex = 0;
|
|
178
|
+
index = 0;
|
|
179
|
+
initialTouchCoordinate;
|
|
180
|
+
pageIndex = null;
|
|
181
|
+
transforms = ['translateX(-100%)', 'translateX(0%)', 'translateX(100%)'];
|
|
166
182
|
get direction() {
|
|
167
183
|
return this.localization.rtl ? 'rtl' : 'ltr';
|
|
168
184
|
}
|
|
185
|
+
constructor(element, localization, ngZone, renderer) {
|
|
186
|
+
this.element = element;
|
|
187
|
+
this.localization = localization;
|
|
188
|
+
this.ngZone = ngZone;
|
|
189
|
+
this.renderer = renderer;
|
|
190
|
+
validatePackage(packageMetadata);
|
|
191
|
+
}
|
|
169
192
|
ngOnInit() {
|
|
170
193
|
this.subs.add(this.renderer.listen(this.element.nativeElement, 'keydown', event => this.keyDown(event)));
|
|
171
194
|
if (this.arrows) {
|
|
@@ -434,15 +457,14 @@ export class ScrollViewComponent {
|
|
|
434
457
|
get nextButtonArrowSVGIcon() {
|
|
435
458
|
return this.direction === 'ltr' ? this.chevronRightIcon : this.chevronLeftIcon;
|
|
436
459
|
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
}
|
|
445
|
-
], queries: [{ propertyName: "itemTemplateRef", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "itemWrapper", first: true, predicate: ["itemWrapper"], descendants: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true }], exportAs: ["kendoScrollView"], usesOnChanges: true, ngImport: i0, template: `
|
|
460
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
461
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ScrollViewComponent, isStandalone: true, selector: "kendo-scrollview", inputs: { data: "data", activeIndex: "activeIndex", width: "width", height: "height", endless: "endless", pagerOverlay: "pagerOverlay", animate: "animate", pageable: "pageable", arrows: "arrows" }, outputs: { itemChanged: "itemChanged", activeIndexChange: "activeIndexChange" }, host: { properties: { "class.k-scrollview": "this.scrollViewClass", "attr.role": "this.scrollViewRole", "attr.aria-roledescription": "this.scrollViewRoleDescription", "class.k-scrollview-light": "this.scrollViewLightOverlayClass", "class.k-scrollview-dark": "this.scrollViewDarkOverlayClass", "style.width": "this.hostWidth", "style.height": "this.hostHeight", "attr.tabindex": "this.tabIndex", "attr.aria-live": "this.ariaLive", "attr.dir": "this.dir", "style.touch-action": "this.touchAction" } }, providers: [
|
|
462
|
+
LocalizationService,
|
|
463
|
+
{
|
|
464
|
+
provide: L10N_PREFIX,
|
|
465
|
+
useValue: 'kendo.scrollview'
|
|
466
|
+
}
|
|
467
|
+
], queries: [{ propertyName: "itemTemplateRef", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "itemWrapper", first: true, predicate: ["itemWrapper"], descendants: true }, { propertyName: "prevButton", first: true, predicate: ["prevButton"], descendants: true }, { propertyName: "nextButton", first: true, predicate: ["nextButton"], descendants: true }], exportAs: ["kendoScrollView"], usesOnChanges: true, ngImport: i0, template: `
|
|
446
468
|
|
|
447
469
|
<ng-container kendoScrollViewLocalizedMessages
|
|
448
470
|
i18n-pagerButtonLabel="kendo.scrollview.pagerButtonLabel|The label for the buttons inside the ScrollView Pager"
|
|
@@ -517,20 +539,21 @@ ScrollViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
517
539
|
</div>
|
|
518
540
|
<div class="k-sr-only" aria-live="polite"></div>
|
|
519
541
|
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoScrollViewLocalizedMessages]" }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: ScrollViewPagerComponent, selector: "kendo-scrollview-pager", inputs: ["activeIndex", "data"], outputs: ["pagerIndexChange"] }], animations: [
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
542
|
+
trigger('animateTo', [
|
|
543
|
+
state('center, left, right', style({ transform: 'translateX(0)' })),
|
|
544
|
+
transition('* => right', [
|
|
545
|
+
animate('300ms ease-out', style({ transform: 'translateX(100%)' }))
|
|
546
|
+
]),
|
|
547
|
+
transition('* => left', [
|
|
548
|
+
animate('300ms ease-out', style({ transform: 'translateX(-100%)' }))
|
|
549
|
+
]),
|
|
550
|
+
transition('* => center', [
|
|
551
|
+
animate('300ms ease-out')
|
|
552
|
+
])
|
|
530
553
|
])
|
|
531
|
-
])
|
|
532
|
-
|
|
533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
554
|
+
] });
|
|
555
|
+
}
|
|
556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewComponent, decorators: [{
|
|
534
557
|
type: Component,
|
|
535
558
|
args: [{
|
|
536
559
|
animations: [
|
|
@@ -41,11 +41,11 @@ import * as i2 from "./localization/custom-messages.component";
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
export class ScrollViewModule {
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
45
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewModule, imports: [i1.ScrollViewComponent, i2.CustomMessagesComponent], exports: [i1.ScrollViewComponent, i2.CustomMessagesComponent] });
|
|
46
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewModule, providers: [IconsService], imports: [i1.ScrollViewComponent] });
|
|
44
47
|
}
|
|
45
|
-
|
|
46
|
-
ScrollViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ScrollViewModule, imports: [i1.ScrollViewComponent, i2.CustomMessagesComponent], exports: [i1.ScrollViewComponent, i2.CustomMessagesComponent] });
|
|
47
|
-
ScrollViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollViewModule, providers: [IconsService], imports: [KENDO_SCROLLVIEW] });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollViewModule, decorators: [{
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollViewModule, decorators: [{
|
|
49
49
|
type: NgModule,
|
|
50
50
|
args: [{
|
|
51
51
|
imports: [...KENDO_SCROLLVIEW],
|