@progress/kendo-angular-toolbar 17.0.0-develop.9 → 17.0.0
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 +28 -20
- package/common/fillmode.d.ts +8 -0
- package/common/size.d.ts +1 -1
- package/direction.d.ts +1 -1
- package/display-mode.d.ts +1 -1
- package/{esm2020 → esm2022}/common/preventable-event.mjs +1 -3
- package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/localization/localized-toolbar-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/localization/messages.mjs +7 -3
- package/{esm2020 → esm2022}/navigation.service.mjs +9 -7
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/refresh.service.mjs +4 -6
- package/{esm2020 → esm2022}/renderer.component.mjs +22 -10
- package/{esm2020 → esm2022}/renderer.service.mjs +5 -3
- package/esm2022/tool-options.mjs +5 -0
- package/{esm2020 → esm2022}/toolbar.component.mjs +104 -64
- package/{esm2020 → esm2022}/toolbar.module.mjs +4 -4
- package/{esm2020 → esm2022}/tools/toolbar-button.component.mjs +110 -98
- package/{esm2020 → esm2022}/tools/toolbar-buttongroup.component.mjs +49 -25
- package/{esm2020 → esm2022}/tools/toolbar-dropdownbutton.component.mjs +112 -95
- package/{esm2020 → esm2022}/tools/toolbar-separator.component.mjs +7 -12
- package/{esm2020 → esm2022}/tools/toolbar-spacer.component.mjs +10 -16
- package/{esm2020 → esm2022}/tools/toolbar-splitbutton.component.mjs +117 -102
- package/{esm2020 → esm2022}/tools/toolbar-tool.component.mjs +23 -13
- package/{esm2020 → esm2022}/tools/tools.service.mjs +8 -10
- package/{esm2020 → esm2022}/util.mjs +5 -0
- package/{fesm2020 → fesm2022}/progress-kendo-angular-toolbar.mjs +612 -484
- package/group-selection-settings.d.ts +1 -1
- package/index.d.ts +1 -0
- package/localization/messages.d.ts +1 -1
- package/package.json +15 -21
- package/render-location.d.ts +1 -1
- package/renderer.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +1 -1
- package/toolbar.component.d.ts +11 -1
- package/tools/toolbar-button.component.d.ts +2 -8
- package/tools/toolbar-buttongroup.component.d.ts +8 -4
- package/tools/toolbar-dropdownbutton.component.d.ts +2 -4
- package/tools/toolbar-separator.component.d.ts +1 -3
- package/tools/toolbar-spacer.component.d.ts +1 -3
- package/tools/toolbar-splitbutton.component.d.ts +2 -4
- package/tools/toolbar-tool.component.d.ts +3 -3
- package/fesm2015/progress-kendo-angular-toolbar.mjs +0 -3374
- /package/{esm2020/common/renderer-click.mjs → esm2022/common/fillmode.mjs} +0 -0
- /package/{esm2020/common/size.mjs → esm2022/common/renderer-click.mjs} +0 -0
- /package/{esm2020/direction.mjs → esm2022/common/size.mjs} +0 -0
- /package/{esm2020/display-mode.mjs → esm2022/direction.mjs} +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020/group-selection-settings.mjs → esm2022/display-mode.mjs} +0 -0
- /package/{esm2020/popup-settings.mjs → esm2022/group-selection-settings.mjs} +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020/render-location.mjs → esm2022/popup-settings.mjs} +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-toolbar.mjs +0 -0
- /package/{esm2020/tool-options.mjs → esm2022/render-location.mjs} +0 -0
package/README.md
CHANGED
|
@@ -1,34 +1,42 @@
|
|
|
1
|
-
<a href="https://www.telerik.com/kendo-angular-ui/" target="_blank">
|
|
1
|
+
<a href="https://www.telerik.com/kendo-angular-ui/components/toolbar" target="_blank">
|
|
2
2
|
<img width="631" src="https://www.telerik.com/kendo-angular-ui/npm-banner.svg">
|
|
3
3
|
</a>
|
|
4
4
|
|
|
5
5
|
## Kendo UI for Angular ToolBar Component
|
|
6
6
|
|
|
7
|
-
>
|
|
8
|
-
> *
|
|
9
|
-
> *
|
|
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-toolbar) 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-toolbar). 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-toolbar).
|
|
11
|
-
> * 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
|
-
>
|
|
13
|
-
> [Start using Kendo UI for Angular](https://www.telerik.com/download-login-v2-kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar) and speed up your development process!
|
|
7
|
+
> * This package is part of the [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/)—a commercial UI library.
|
|
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).
|
|
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 team!
|
|
14
10
|
|
|
15
|
-
The Kendo UI for Angular
|
|
11
|
+
The Kendo UI for Angular ToolBar provides a graphical container for holding button elements and allows users to effortlessly structure and access them. The ToolBar is built from the ground up and specifically for Angular, so that you get a high-performance control which integrates tightly with your application and with the rest of the Kendo UI for Angular components.
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
## Key Features
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
Among the many features which the Kendo UI for Angular ToolBar delivers are:
|
|
16
|
+
|
|
17
|
+
* Control Types—The ToolBar features built-in control types, which enable you to display specific tools and controls to the ToolBar container. [Read more about the built-in ToolBar control types...](https://www.telerik.com/kendo-angular-ui/components/toolbar/control-types)
|
|
18
|
+
* Custom Control Types—The ToolBar allows you to create custom tools that can be added to the ToolBar and Overflow Popup. [Read more about the custom control types of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/custom-control-types)
|
|
19
|
+
* Responsive ToolBar—The ToolBar provides options to hide the tools that do not fit its width in an overflow popup. [Read more about the responsive behavior of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/responsive-toolbar)
|
|
20
|
+
* Appearance—The ToolBar provides built-in options that allow you to customize its appearance. [Read more about customizing the appearance of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/appearance)
|
|
21
|
+
* Globalization—The Kendo UI for Angular ToolBar supports globalization to ensure that it can fit well in any application, no matter what languages and locales need to be supported. Additionally, the ToolBar supports rendering in a right-to-left (RTL) direction. [Read more about the globalization of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/globalization)
|
|
22
|
+
* Accessibility—The ToolBar is accessible for screen readers and supports WAI-ARIA attributes. [Read more about the accessibility of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/accessibility)
|
|
23
|
+
* Keyboard Navigation—The ToolBar supports a number of keyboard shortcuts which allow users to accomplish various commands. [Read more about the keyboard navigation of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/keyboard-navigation)
|
|
24
|
+
|
|
25
|
+
## Support Options
|
|
20
26
|
|
|
21
|
-
|
|
22
|
-
* [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
|
|
23
|
-
* [Blogs](http://www.telerik.com/blogs/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
|
|
24
|
-
* [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
|
|
27
|
+
For any issues you might encounter while working with the Kendo UI for Angular ToolBar, you have the following support channels available:
|
|
25
28
|
|
|
26
|
-
|
|
29
|
+
* 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-center/contact-us/technical-support).
|
|
30
|
+
* 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.
|
|
31
|
+
* 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.
|
|
32
|
+
|
|
33
|
+
## Resources
|
|
27
34
|
|
|
28
|
-
* [
|
|
29
|
-
* [
|
|
30
|
-
* [
|
|
31
|
-
* [
|
|
35
|
+
* [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/getting-started)
|
|
36
|
+
* [Getting Started with the Kendo UI for Angular ToolBar](https://www.telerik.com/kendo-angular-ui/components/toolbar/installation/getting-started)
|
|
37
|
+
* [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
|
|
38
|
+
* [Blogs](http://www.telerik.com/blogs/kendo-ui)
|
|
39
|
+
* [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
|
|
32
40
|
|
|
33
41
|
*Copyright © 2024 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.*
|
|
34
42
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
/**
|
|
6
|
+
* Represents the possible fillMode options of the Toolbar.
|
|
7
|
+
*/
|
|
8
|
+
export type ToolbarFillMode = 'solid' | 'flat' | 'outline' | 'none';
|
package/common/size.d.ts
CHANGED
package/direction.d.ts
CHANGED
package/display-mode.d.ts
CHANGED
|
@@ -6,9 +6,7 @@
|
|
|
6
6
|
* @hidden
|
|
7
7
|
*/
|
|
8
8
|
export class PreventableEvent {
|
|
9
|
-
|
|
10
|
-
this.prevented = false;
|
|
11
|
-
}
|
|
9
|
+
prevented = false;
|
|
12
10
|
/**
|
|
13
11
|
* Prevents the default action for a specified event.
|
|
14
12
|
* In this way, the source component suppresses the built-in behavior that follows the event.
|
|
@@ -11,6 +11,7 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
11
11
|
* Custom component messages override default component messages.
|
|
12
12
|
*/
|
|
13
13
|
export class ToolbarCustomMessagesComponent extends ToolbarMessages {
|
|
14
|
+
service;
|
|
14
15
|
constructor(service) {
|
|
15
16
|
super();
|
|
16
17
|
this.service = service;
|
|
@@ -18,15 +19,15 @@ export class ToolbarCustomMessagesComponent extends ToolbarMessages {
|
|
|
18
19
|
get override() {
|
|
19
20
|
return true;
|
|
20
21
|
}
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarCustomMessagesComponent, isStandalone: true, selector: "kendo-toolbar-messages", providers: [
|
|
24
|
+
{
|
|
25
|
+
provide: ToolbarMessages,
|
|
26
|
+
useExisting: forwardRef(() => ToolbarCustomMessagesComponent)
|
|
27
|
+
}
|
|
28
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
21
29
|
}
|
|
22
|
-
|
|
23
|
-
ToolbarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToolbarCustomMessagesComponent, isStandalone: true, selector: "kendo-toolbar-messages", providers: [
|
|
24
|
-
{
|
|
25
|
-
provide: ToolbarMessages,
|
|
26
|
-
useExisting: forwardRef(() => ToolbarCustomMessagesComponent)
|
|
27
|
-
}
|
|
28
|
-
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarCustomMessagesComponent, decorators: [{
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarCustomMessagesComponent, decorators: [{
|
|
30
31
|
type: Component,
|
|
31
32
|
args: [{
|
|
32
33
|
providers: [
|
|
@@ -11,19 +11,20 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
13
13
|
export class LocalizedToolbarMessagesDirective extends ToolbarMessages {
|
|
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: LocalizedToolbarMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedToolbarMessagesDirective, isStandalone: true, selector: "[kendoToolbarLocalizedMessages]", providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: ToolbarMessages,
|
|
23
|
+
useExisting: forwardRef(() => LocalizedToolbarMessagesDirective)
|
|
24
|
+
}
|
|
25
|
+
], usesInheritance: true, ngImport: i0 });
|
|
18
26
|
}
|
|
19
|
-
|
|
20
|
-
LocalizedToolbarMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedToolbarMessagesDirective, isStandalone: true, selector: "[kendoToolbarLocalizedMessages]", providers: [
|
|
21
|
-
{
|
|
22
|
-
provide: ToolbarMessages,
|
|
23
|
-
useExisting: forwardRef(() => LocalizedToolbarMessagesDirective)
|
|
24
|
-
}
|
|
25
|
-
], usesInheritance: true, ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedToolbarMessagesDirective, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedToolbarMessagesDirective, decorators: [{
|
|
27
28
|
type: Directive,
|
|
28
29
|
args: [{
|
|
29
30
|
providers: [
|
|
@@ -9,10 +9,14 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* @hidden
|
|
10
10
|
*/
|
|
11
11
|
export class ToolbarMessages extends ComponentMessages {
|
|
12
|
+
/**
|
|
13
|
+
* The title of the **more tools** button in a responsive ToolBar
|
|
14
|
+
*/
|
|
15
|
+
moreToolsTitle;
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarMessages, selector: "kendo-toolbar-messages-base", inputs: { moreToolsTitle: "moreToolsTitle" }, usesInheritance: true, ngImport: i0 });
|
|
12
18
|
}
|
|
13
|
-
|
|
14
|
-
ToolbarMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolbarMessages, selector: "kendo-toolbar-messages-base", inputs: { moreToolsTitle: "moreToolsTitle" }, usesInheritance: true, ngImport: i0 });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarMessages, decorators: [{
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarMessages, decorators: [{
|
|
16
20
|
type: Directive,
|
|
17
21
|
args: [{
|
|
18
22
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -10,12 +10,14 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* @hidden
|
|
11
11
|
*/
|
|
12
12
|
export class NavigationService {
|
|
13
|
+
zone;
|
|
14
|
+
overflowButton;
|
|
15
|
+
focused = { renderedTool: null, index: -1 };
|
|
16
|
+
renderedTools = [];
|
|
17
|
+
isPopupFocused = false;
|
|
18
|
+
isOverflowButtonFocused = false;
|
|
13
19
|
constructor(zone) {
|
|
14
20
|
this.zone = zone;
|
|
15
|
-
this.focused = { renderedTool: null, index: -1 };
|
|
16
|
-
this.renderedTools = [];
|
|
17
|
-
this.isPopupFocused = false;
|
|
18
|
-
this.isOverflowButtonFocused = false;
|
|
19
21
|
}
|
|
20
22
|
setRenderedTools(rts) {
|
|
21
23
|
this.renderedTools = rts;
|
|
@@ -147,9 +149,9 @@ export class NavigationService {
|
|
|
147
149
|
return (isPresent(this.overflowButton) &&
|
|
148
150
|
window.getComputedStyle(this.overflowButton.nativeElement).getPropertyValue('visibility') === 'visible');
|
|
149
151
|
}
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
153
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
|
|
150
154
|
}
|
|
151
|
-
|
|
152
|
-
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
|
|
154
156
|
type: Injectable
|
|
155
157
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-toolbar',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '17.0.0
|
|
12
|
+
publishDate: 1731413941,
|
|
13
|
+
version: '17.0.0',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -8,15 +8,13 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
10
|
export class RefreshService {
|
|
11
|
-
|
|
12
|
-
this.onRefresh = new EventEmitter();
|
|
13
|
-
}
|
|
11
|
+
onRefresh = new EventEmitter();
|
|
14
12
|
refresh(tool) {
|
|
15
13
|
this.onRefresh.emit(tool);
|
|
16
14
|
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService });
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
RefreshService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RefreshService });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RefreshService, decorators: [{
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, decorators: [{
|
|
21
19
|
type: Injectable
|
|
22
20
|
}] });
|
|
@@ -17,19 +17,28 @@ const MIN_SPACER_WIDTH = 18;
|
|
|
17
17
|
* @hidden
|
|
18
18
|
*/
|
|
19
19
|
export class ToolBarRendererComponent {
|
|
20
|
+
renderer;
|
|
21
|
+
rendererService;
|
|
22
|
+
refreshService;
|
|
23
|
+
toolsService;
|
|
24
|
+
viewContainer;
|
|
25
|
+
tool;
|
|
26
|
+
location;
|
|
27
|
+
resizable;
|
|
28
|
+
rendererClick = new EventEmitter();
|
|
29
|
+
template;
|
|
30
|
+
element;
|
|
31
|
+
get isSpacer() {
|
|
32
|
+
return this.tool && this.tool.__isSpacer;
|
|
33
|
+
}
|
|
34
|
+
refreshSubscription;
|
|
35
|
+
internalComponentRef;
|
|
20
36
|
constructor(renderer, rendererService, refreshService, toolsService, viewContainer) {
|
|
21
37
|
this.renderer = renderer;
|
|
22
38
|
this.rendererService = rendererService;
|
|
23
39
|
this.refreshService = refreshService;
|
|
24
40
|
this.toolsService = toolsService;
|
|
25
41
|
this.viewContainer = viewContainer;
|
|
26
|
-
this.rendererClick = new EventEmitter();
|
|
27
|
-
this.onClick = (ev) => {
|
|
28
|
-
this.rendererClick.emit({ context: this, event: ev });
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
get isSpacer() {
|
|
32
|
-
return this.tool && this.tool.__isSpacer;
|
|
33
42
|
}
|
|
34
43
|
ngOnInit() {
|
|
35
44
|
const viewContainerRootNodes = this.viewContainer.get(0)?.rootNodes?.filter(isElementOrTextNode);
|
|
@@ -101,6 +110,9 @@ export class ToolBarRendererComponent {
|
|
|
101
110
|
setAttribute(element, attr, value) {
|
|
102
111
|
this.renderer.setAttribute(element, attr, value);
|
|
103
112
|
}
|
|
113
|
+
onClick = (ev) => {
|
|
114
|
+
this.rendererClick.emit({ context: this, event: ev });
|
|
115
|
+
};
|
|
104
116
|
updateTools() {
|
|
105
117
|
const isInToolbar = this.toolsService.renderedTools.some(t => t.tool === this.tool);
|
|
106
118
|
const isInPopup = this.toolsService.overflowTools.some(t => t.tool === this.tool);
|
|
@@ -118,10 +130,10 @@ export class ToolBarRendererComponent {
|
|
|
118
130
|
}
|
|
119
131
|
}
|
|
120
132
|
}
|
|
133
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: i1.RendererService }, { token: i2.RefreshService }, { token: i3.ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
134
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
121
135
|
}
|
|
122
|
-
|
|
123
|
-
ToolBarRendererComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
|
|
125
137
|
type: Directive,
|
|
126
138
|
args: [{
|
|
127
139
|
providers: [RendererService],
|
|
@@ -9,6 +9,8 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* @hidden
|
|
10
10
|
*/
|
|
11
11
|
export class RendererService {
|
|
12
|
+
element;
|
|
13
|
+
renderer;
|
|
12
14
|
getElement() {
|
|
13
15
|
return this.element.nativeElement;
|
|
14
16
|
}
|
|
@@ -42,9 +44,9 @@ export class RendererService {
|
|
|
42
44
|
setAttribute(element, attr, value) {
|
|
43
45
|
this.renderer.setAttribute(element, attr, value);
|
|
44
46
|
}
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RendererService });
|
|
45
49
|
}
|
|
46
|
-
|
|
47
|
-
RendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RendererService });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RendererService, decorators: [{
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RendererService, decorators: [{
|
|
49
51
|
type: Injectable
|
|
50
52
|
}] });
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
|
@@ -32,6 +32,7 @@ import * as i3 from "./refresh.service";
|
|
|
32
32
|
import * as i4 from "./navigation.service";
|
|
33
33
|
import * as i5 from "./tools/tools.service";
|
|
34
34
|
const DEFAULT_SIZE = 'medium';
|
|
35
|
+
const DEFAULT_FILL_MODE = 'solid';
|
|
35
36
|
const immediateResizeThreshold = 300;
|
|
36
37
|
const getInitialPopupSettings = (isRtl) => ({
|
|
37
38
|
animate: true,
|
|
@@ -42,56 +43,22 @@ const getInitialPopupSettings = (isRtl) => ({
|
|
|
42
43
|
* Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
|
|
43
44
|
*/
|
|
44
45
|
export class ToolBarComponent {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this.renderer = renderer;
|
|
55
|
-
this._cdr = _cdr;
|
|
56
|
-
this.toolsService = toolsService;
|
|
57
|
-
/**
|
|
58
|
-
* Hides the overflowing tools in a popup.
|
|
59
|
-
*/
|
|
60
|
-
this.overflow = false;
|
|
61
|
-
/**
|
|
62
|
-
* Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the ToolBar.
|
|
63
|
-
*/
|
|
64
|
-
this.tabindex = 0;
|
|
65
|
-
/**
|
|
66
|
-
* Fires when the overflow popup of the ToolBar is opened.
|
|
67
|
-
*/
|
|
68
|
-
this.open = new EventEmitter();
|
|
69
|
-
/**
|
|
70
|
-
* Fires when the overflow popup of the ToolBar is closed.
|
|
71
|
-
*/
|
|
72
|
-
this.close = new EventEmitter();
|
|
73
|
-
this.hostClass = true;
|
|
74
|
-
this.cancelRenderedToolsSubscription$ = new Subject();
|
|
75
|
-
this._size = DEFAULT_SIZE;
|
|
76
|
-
this.overflowButtonClickedTime = null;
|
|
77
|
-
this.subscriptions = new Subscription();
|
|
78
|
-
this.popupSubs = new Subscription();
|
|
79
|
-
this.role = 'toolbar';
|
|
80
|
-
this.moreVerticalIcon = moreVerticalIcon;
|
|
81
|
-
/**
|
|
82
|
-
* @hidden
|
|
83
|
-
*/
|
|
84
|
-
this.overflowBtnId = guid();
|
|
85
|
-
/**
|
|
86
|
-
* @hidden
|
|
87
|
-
*/
|
|
88
|
-
this.popupId = guid();
|
|
89
|
-
validatePackage(packageMetadata);
|
|
90
|
-
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
91
|
-
}
|
|
46
|
+
localization;
|
|
47
|
+
popupService;
|
|
48
|
+
refreshService;
|
|
49
|
+
navigationService;
|
|
50
|
+
element;
|
|
51
|
+
zone;
|
|
52
|
+
renderer;
|
|
53
|
+
_cdr;
|
|
54
|
+
toolsService;
|
|
92
55
|
get overflowClass() {
|
|
93
56
|
return `k-button-${SIZES[this.size]}`;
|
|
94
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Hides the overflowing tools in a popup.
|
|
60
|
+
*/
|
|
61
|
+
overflow = false;
|
|
95
62
|
/**
|
|
96
63
|
* @hidden
|
|
97
64
|
*/
|
|
@@ -114,6 +81,24 @@ export class ToolBarComponent {
|
|
|
114
81
|
get popupSettings() {
|
|
115
82
|
return this._popupSettings || getInitialPopupSettings(this.localization.rtl);
|
|
116
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* The fillMode property specifies the background and border styles of the Toolbar
|
|
86
|
+
* ([see example](slug:appearance_toolbar#toc-fill-mode)).
|
|
87
|
+
*
|
|
88
|
+
* @default 'solid'
|
|
89
|
+
*/
|
|
90
|
+
set fillMode(fillMode) {
|
|
91
|
+
const newFillMode = fillMode ? fillMode : DEFAULT_FILL_MODE;
|
|
92
|
+
this.handleClasses(newFillMode, 'fillMode');
|
|
93
|
+
this._fillMode = newFillMode;
|
|
94
|
+
}
|
|
95
|
+
get fillMode() {
|
|
96
|
+
return this._fillMode;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the ToolBar.
|
|
100
|
+
*/
|
|
101
|
+
tabindex = 0;
|
|
117
102
|
/**
|
|
118
103
|
* Specifies the padding of all Toolbar elements.
|
|
119
104
|
*
|
|
@@ -140,6 +125,21 @@ export class ToolBarComponent {
|
|
|
140
125
|
get tabIndex() {
|
|
141
126
|
return this.tabindex;
|
|
142
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Fires when the overflow popup of the ToolBar is opened.
|
|
130
|
+
*/
|
|
131
|
+
open = new EventEmitter();
|
|
132
|
+
/**
|
|
133
|
+
* Fires when the overflow popup of the ToolBar is closed.
|
|
134
|
+
*/
|
|
135
|
+
close = new EventEmitter();
|
|
136
|
+
allTools;
|
|
137
|
+
overflowButton;
|
|
138
|
+
popupTemplate;
|
|
139
|
+
resizeSensor;
|
|
140
|
+
container;
|
|
141
|
+
popupRef;
|
|
142
|
+
direction;
|
|
143
143
|
get appendTo() {
|
|
144
144
|
const { appendTo } = this.popupSettings;
|
|
145
145
|
if (!appendTo || appendTo === 'root') {
|
|
@@ -166,6 +166,19 @@ export class ToolBarComponent {
|
|
|
166
166
|
get popupOpen() {
|
|
167
167
|
return this._open;
|
|
168
168
|
}
|
|
169
|
+
hostClass = true;
|
|
170
|
+
_popupSettings;
|
|
171
|
+
cachedOverflowAnchorWidth;
|
|
172
|
+
_open;
|
|
173
|
+
toolbarKeydownListener;
|
|
174
|
+
overflowKeydownListener;
|
|
175
|
+
cancelRenderedToolsSubscription$ = new Subject();
|
|
176
|
+
cachedGap;
|
|
177
|
+
_size = DEFAULT_SIZE;
|
|
178
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
179
|
+
overflowButtonClickedTime = null;
|
|
180
|
+
subscriptions = new Subscription();
|
|
181
|
+
popupSubs = new Subscription();
|
|
169
182
|
/**
|
|
170
183
|
* @hidden
|
|
171
184
|
*/
|
|
@@ -186,12 +199,29 @@ export class ToolBarComponent {
|
|
|
186
199
|
}
|
|
187
200
|
this.element.nativeElement.setAttribute('tabindex', this.tabindex.toString());
|
|
188
201
|
}
|
|
202
|
+
role = 'toolbar';
|
|
189
203
|
get getDir() {
|
|
190
204
|
return this.direction;
|
|
191
205
|
}
|
|
192
206
|
get resizableClass() {
|
|
193
207
|
return this.overflow;
|
|
194
208
|
}
|
|
209
|
+
moreVerticalIcon = moreVerticalIcon;
|
|
210
|
+
constructor(localization, popupService, refreshService, navigationService,
|
|
211
|
+
// Needs to be public as it is being accessed in the Editor component
|
|
212
|
+
element, zone, renderer, _cdr, toolsService) {
|
|
213
|
+
this.localization = localization;
|
|
214
|
+
this.popupService = popupService;
|
|
215
|
+
this.refreshService = refreshService;
|
|
216
|
+
this.navigationService = navigationService;
|
|
217
|
+
this.element = element;
|
|
218
|
+
this.zone = zone;
|
|
219
|
+
this.renderer = renderer;
|
|
220
|
+
this._cdr = _cdr;
|
|
221
|
+
this.toolsService = toolsService;
|
|
222
|
+
validatePackage(packageMetadata);
|
|
223
|
+
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
224
|
+
}
|
|
195
225
|
ngAfterContentInit() {
|
|
196
226
|
this.toolsService.allTools = this.allTools.toArray();
|
|
197
227
|
this.subscriptions.add(this.allTools.changes.subscribe(changes => {
|
|
@@ -266,7 +296,10 @@ export class ToolBarComponent {
|
|
|
266
296
|
});
|
|
267
297
|
}
|
|
268
298
|
this.navigationService.setRenderedTools(this.toolsService.renderedTools);
|
|
269
|
-
|
|
299
|
+
const stylingOptions = ['size', 'fillMode'];
|
|
300
|
+
stylingOptions.forEach(option => {
|
|
301
|
+
this.handleClasses(this[option], option);
|
|
302
|
+
});
|
|
270
303
|
}
|
|
271
304
|
ngOnInit() {
|
|
272
305
|
this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
@@ -431,6 +464,14 @@ export class ToolBarComponent {
|
|
|
431
464
|
}
|
|
432
465
|
this.renderer.removeAttribute(this.overflowButton.nativeElement, 'aria-controls');
|
|
433
466
|
}
|
|
467
|
+
/**
|
|
468
|
+
* @hidden
|
|
469
|
+
*/
|
|
470
|
+
overflowBtnId = guid();
|
|
471
|
+
/**
|
|
472
|
+
* @hidden
|
|
473
|
+
*/
|
|
474
|
+
popupId = guid();
|
|
434
475
|
displayAnchor() {
|
|
435
476
|
const visibility = this.allTools.filter(t => t.overflows && t.responsive).length > 0 ? 'visible' : 'hidden';
|
|
436
477
|
this.overflowButton && this.renderer.setStyle(this.overflowButton.nativeElement, 'visibility', visibility);
|
|
@@ -578,18 +619,17 @@ export class ToolBarComponent {
|
|
|
578
619
|
}
|
|
579
620
|
return classes;
|
|
580
621
|
}
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
}
|
|
592
|
-
], queries: [{ propertyName: "allTools", predicate: ToolBarToolComponent }], viewQueries: [{ propertyName: "overflowButton", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoToolBar"], usesOnChanges: true, ngImport: i0, template: `
|
|
622
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.RefreshService }, { token: i4.NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i5.ToolbarToolsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
623
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
|
|
624
|
+
RefreshService,
|
|
625
|
+
NavigationService,
|
|
626
|
+
LocalizationService,
|
|
627
|
+
ToolbarToolsService,
|
|
628
|
+
{
|
|
629
|
+
provide: L10N_PREFIX,
|
|
630
|
+
useValue: 'kendo.toolbar'
|
|
631
|
+
}
|
|
632
|
+
], queries: [{ propertyName: "allTools", predicate: ToolBarToolComponent }], viewQueries: [{ propertyName: "overflowButton", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoToolBar"], usesOnChanges: true, ngImport: i0, template: `
|
|
593
633
|
<ng-container kendoToolbarLocalizedMessages
|
|
594
634
|
i18n-moreToolsTitle="kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar"
|
|
595
635
|
moreToolsTitle="More tools"
|
|
@@ -656,7 +696,8 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
656
696
|
<ng-container #container></ng-container>
|
|
657
697
|
<kendo-resize-sensor *ngIf="overflow" #resizeSensor></kendo-resize-sensor>
|
|
658
698
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LocalizedToolbarMessagesDirective, selector: "[kendoToolbarLocalizedMessages]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ToolBarRendererComponent, selector: "[kendoToolbarRenderer]", inputs: ["tool", "location", "resizable"], outputs: ["rendererClick"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
|
|
659
|
-
|
|
699
|
+
}
|
|
700
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, decorators: [{
|
|
660
701
|
type: Component,
|
|
661
702
|
args: [{
|
|
662
703
|
exportAs: 'kendoToolBar',
|
|
@@ -747,6 +788,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
747
788
|
type: Input
|
|
748
789
|
}], popupSettings: [{
|
|
749
790
|
type: Input
|
|
791
|
+
}], fillMode: [{
|
|
792
|
+
type: Input
|
|
750
793
|
}], tabindex: [{
|
|
751
794
|
type: Input
|
|
752
795
|
}], size: [{
|
|
@@ -776,9 +819,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
776
819
|
}], hostClass: [{
|
|
777
820
|
type: HostBinding,
|
|
778
821
|
args: ['class.k-toolbar']
|
|
779
|
-
}, {
|
|
780
|
-
type: HostBinding,
|
|
781
|
-
args: ['class.k-toolbar-solid']
|
|
782
822
|
}], onFocus: [{
|
|
783
823
|
type: HostListener,
|
|
784
824
|
args: ['focus', ['$event']]
|