Hi team,
I am working on a simple UI where kendo combo-box is a column of a kendo tree-list. The problem is, the opening and closing of kendo combo-box also expands and collapses the kendo tree-list's row.
I think the event of kendo-combo-box is bubbled to treelist. Is this a bug or am I missing something? Here's my Stackblitz example for reproducing the issue (Link: https://stackblitz.com/edit/angular-18guak?file=src/app/app.component.ts)
Thanks,
Deepak
The data is charged correctly, and the selected values are added correctly into the list.
It binds correctly when the values are already selected, but when you try to add more doesnt work. Like this:
The code is down below.
I have used the kendo tree view component with multi select check boxes.
and when I check them it will return the position of the node tree item. like below image.
My problem is how can I get the text of the selected items instead of this checked keys.
Here is my code
<div class="example-config">Checked keys: {{ checkedKeys.join(",") }}</div>
<kendo-treeview
textField="moduleName"
[nodes]="nodes"
[children]="children"
[hasChildren]="hasChildren"
kendoTreeViewExpandable
kendoTreeViewCheckable
class="k-treeview"
[(checkedKeys)]="checkedKeys"
(checkedChange)="checked(checkedKeys)"
>
<ng-template kendoTreeViewNodeTemplate let-dataItem>
{{dataItem.moduleName || dataItem.featureName}}
</ng-template>
</kendo-treeview> public checkedKeys: any[] = [];
public nodes: any[] = [
{
moduleId: 1,
moduleName: 'Home',
features: [
{
featureId: 2,
featureName: 'Orgonization',
subFeatures: [
{
featureId: 4,
featureName: 'Group Activity Solution',
subFeatures: [
{
featureId: 10,
featureName: 'Test',
subFeatures: [{
featureId: 8,
featureName: '8888888888',
subFeatures: []
}]
},
{
featureId: 11,
featureName: 'New',
subFeatures: []
},
]
},
{
featureId: 4,
featureName: 'Office of the CIO',
subFeatures: []
},
]
},
{
featureId: 3,
featureName: 'Planing',
subFeatures: [
{
featureId: 4,
featureName: 'Group Activity Solution',
subFeatures: []
},
{
featureId: 4,
featureName: 'Office of the CIO',
subFeatures: []
},
]
},
],
},
];
/**
* A function that returns an observable instance which contains the
* [child nodes](https://www.telerik.com/kendo-angular-ui/components/treeview/api/TreeViewComponent/#toc-children)
* for a given parent node.
*/
public children = (dataitem: any): Observable<any[]> =>
of(dataitem.features || dataitem.subFeatures);
/**
* A function that determines whether a given node
* [has children](https://www.telerik.com/kendo-angular-ui/components/treeview/api/TreeViewComponent/#toc-haschildren).
*/
public hasChildren = (dataitem: any): boolean =>
!!dataitem.features || !!dataitem.subFeatures;I have used the kendo tree view component with multi select check boxes.
and when I check them it will return the position of the node tree item. like below image.
My problem is how can I get the text of the selected items instead of this checked keys.
Here is my code
<div class="example-config">Checked keys: {{ checkedKeys.join(",") }}</div>
<kendo-treeview
textField="moduleName"
[nodes]="nodes"
[children]="children"
[hasChildren]="hasChildren"
kendoTreeViewExpandable
kendoTreeViewCheckable
class="k-treeview"
[(checkedKeys)]="checkedKeys"
(checkedChange)="checked(checkedKeys)"
>
<ng-template kendoTreeViewNodeTemplate let-dataItem>
{{dataItem.moduleName || dataItem.featureName}}
</ng-template>
</kendo-treeview> public checkedKeys: any[] = [];
public nodes: any[] = [
{
moduleId: 1,
moduleName: 'Home',
features: [
{
featureId: 2,
featureName: 'Orgonization',
subFeatures: [
{
featureId: 4,
featureName: 'Group Activity Solution',
subFeatures: [
{
featureId: 10,
featureName: 'Test',
subFeatures: [{
featureId: 8,
featureName: '8888888888',
subFeatures: []
}]
},
{
featureId: 11,
featureName: 'New',
subFeatures: []
},
]
},
{
featureId: 4,
featureName: 'Office of the CIO',
subFeatures: []
},
]
},
{
featureId: 3,
featureName: 'Planing',
subFeatures: [
{
featureId: 4,
featureName: 'Group Activity Solution',
subFeatures: []
},
{
featureId: 4,
featureName: 'Office of the CIO',
subFeatures: []
},
]
},
],
},
];
/**
* A function that returns an observable instance which contains the
* [child nodes](https://www.telerik.com/kendo-angular-ui/components/treeview/api/TreeViewComponent/#toc-children)
* for a given parent node.
*/
public children = (dataitem: any): Observable<any[]> =>
of(dataitem.features || dataitem.subFeatures);
/**
* A function that determines whether a given node
* [has children](https://www.telerik.com/kendo-angular-ui/components/treeview/api/TreeViewComponent/#toc-haschildren).
*/
public hasChildren = (dataitem: any): boolean =>
!!dataitem.features || !!dataitem.subFeatures;I am using Kendo UI timeline view for scheduling events in a day.
I want to provide a feature where user can clone (create a copy of) existing events and edit them as required in order to minimize their work.
I found this concept in jQuery where they are cloning events using keyboard shortcuts(https://docs.telerik.com/kendo-ui/knowledge-base/clone-events-on-ctrl-and-click) but there is no way available to do the same in Angular.
Kindly help in achieving this feature as I am new to Telerik UI.
My treeview is defined as follows:
<kendo-treeview
#treeView
kendoTreeViewExpandable
kendoTreeViewSelectable
(selectionChange)="edit($event)"
[(expandedKeys)]="expandedKeys"
textField="text"
[filter]="filterTerm"
[nodes]="keyValues$ | async"
[children]="fetchChildren"
[hasChildren]="hasChildren"
>
As the screen is opened I set the expandedKeys so that some of my nodes are by default opened, and the data is automatically loaded in.
However certain nodes have children which I would also like to load when their parent is opened, and to further complicate the matter, a different call to the server is required than the one defined in fetchChildren for fetching this data.
Is there any way I can independently load this data, not using fetchChildren and then programmatically insert it into the tree? It seems as though there isn't a way to perform a hybrid approach to data loading...


Hi together,
On my local environment my license activation works well - I use the license key file there. But during deployment, I have a problem with the license activation - I need it because I call ng build there. I use an environment variable there.
This is how I do the license activation during deployment with Azure DevOps and YAML script:
- task: Npm@1
displayName: Install Packages for Angular Client
inputs:
command: ci
workingDir: '<my working dir>'
- script: 'npx kendo-ui-license activate'
displayName: Activate Kendo UI License
workingDirectory: '<my working dir>'
env:
KENDO_UI_LICENSE: $(KENDO_UI_LICENSE)
- task: Npm@1
displayName: Build Angular Client
inputs:
command: custom
workingDir: '<my working dir>'
customCommand: 'run build'
Everything works well except the "Activate Kendo UI License" script, there I get the error "License key signature is not valid". I think there is a problem with the environment variable.
Here is the output of the DevOps Pipeline console:
For 'npm ci':
> @progress/kendo-licensing@1.2.2 postinstall D:\agent\_work\1\s\DSO.Isys.Web.Client\IsysApp\node_modules\@progress\kendo-licensing
(INFO) Kendo UI: KENDO_UI_LICENSE environment variable not set
For 'npx kendo-ui-license activate':
Skriptinhalte:
What am I doing wrong here?
Thanks for your help,
Katharina