I have a component with kendo-dropdownlist and kendo-multiselect. When I expand the multi-select and then try to expand the dropdown, the multiselect popup item list is not closed automatically. Clicking outside however, closes both popups.
I think this is because of the stop propagation on kendo-dropdownlist onBlur and onFocus methods. Please advise.
export class CustomMultiSelectFilterComponent implements AfterViewInit {
@Output() public handleFilterChange = new EventEmitter<CompositeFilterDescriptor>()
@Input() public data: string[] = []
@Input() public textField: string = ""
@Input() public valueField: string = ""
@Input() public filter: CompositeFilterDescriptor = { logic: "or", filters: [] }
@Input() public preFilterValue: string | null = null
@Input() public filterService: FilterService
@Input() public currentFilter: CompositeFilterDescriptor = { logic: "or", filters: [] }
public constructor(
filterService: FilterService
) {
this.filterService = filterService
}
public filterChange(filter: CompositeFilterDescriptor): void {
this.filter = filter
this.data = filterBy(this.data , filter)
this.handleFilterChange.emit(filter)
}
public onChange(values: string[], filterService: FilterService): void {
filterService.filter({
filters: values.map((value) => ({
field: this.valueField,
operator: "contains",
value,
})),
logic: "or",
})
}
public ngAfterViewInit(): void {
if (this.filterService) {
this.filterService.changes.subscribe((filter: CompositeFilterDescriptor) => {
this.currentFilter = filter
console.log("Current Filters:", this.currentFilter)
})
}
}
}<kendo-multiselect
[data]="data"
[valuePrimitive]="true"
[textField]="textField"
[valueField]="valueField"
[value]="filter | filterValues"
(valueChange)="onChange($event, filterService)"
>
</kendo-multiselect><kendo-grid
kendoGridSelectBy="id"
[kendoGridBinding]="users"
filterable="menu"
[sortable]="true"
[resizable]="true"
(selectionChange)="selectionChange($event)"
[selectable]="selectableSettings"
[selectedKeys]="[selectedKeyArray]"
(filterChange)="handleFilterChange($event)"
[filter]="filter"
>
<kendo-grid-column-group title="{{ 'literal:Users | Total:' | translate }} {{ users.length }}" [columnMenu]="true">
<kendo-grid-column field="roles" title="{{ 'literal:Roles' | translate }}" [width]="220" [headerStyle]="{ 'font-weight': 'bold' }">
<ng-template kendoGridFilterMenuTemplate let-filter="filter" let-filterService="filterService">
<app-custom-multiselect-filter
[data]="rolesToFilter"
textField="rolesToFilter"
valueField="filterRoles"
[preFilterValue]="preFilter"
[filterService]="filterService"
[currentFilter]="filter"
>
</app-custom
Hello,
I need to set the value of a kendo-combobox inside an angular form using code after receive the value from a webservice.
<form class="k-form" [formGroup]="usrForm">
<kendo-combobox #formContractor formControlName="formCity" [data]="cities"
textField="name" valueField="id" (valueChange)="ControlValueChange($event)" [clearButton]="true">
</kendo-combobox>
</form>I have tried to set the value using object (my desire) or primitive value but the value is alwais null.
this.usrForm.controls['formCity'].setValue(newCityObj);
this.usrForm.controls['formCity'].patchValue(newCityObj);
this.usrForm.patchValue({formCity: newCityObj});buth the control alwais remain blank,
if I show the form value in the console:
console.log(this.usrForm.value);
the formCity value is set but the value in the kendo-combobox are not displayed (kombo text remain blank)
I have see a lot of documentation and sample on read the value...but nothing about the set value by code.
Thanks
Maurizio
I am using the WindowService to open a window and passing in a template for the content. Once the user performs their action within the window, I want to close it.
I tried adding
public window : WindowRefto my constructor, but this threw an error, 'No provider for WindowRef'
Using formBuilder to create a reactive form when I noticed that it turns array properties in to the first object in the array. This is breaking my multiselect drop down as it is expecting an array.
I create a stack blitz demonstration.
https://stackblitz.com/edit/angular-bnet6z?file=src%2Fapp%2Fapp.component.ts
This is based off of you https://www.telerik.com/kendo-angular-ui/components/dropdowns/multiselect/forms/#toc-reactive-forms demonstration where I changed the form building to use the form builder.
Multiselect then reports these errors.
Hello,
I need to highlight using a css the filtered strings in a kendo ui multiselect for angular.
Is there an option for this?
Thanks
I want to hide the toolbar that is framed in red. How can it be done?
<kendo-drawer-container>
<kendo-drawer
#drawer
[items]="drawerItems"
[mode]="'push'"
[mini]="true"
[expanded]="false"
(select)="onDrawerSelect($event)"
drawerItems: DrawerRoutingItem[] = [
{
svgIcon: ?????????,
text: "Chargements",
path: "",
selected: window.location.pathname==="/"
},
{
svgIcon: ????????????,
text: "Horaire des reprises",
path: "horaire",
selected: window.location.pathname==="/horaire"
}
];
I have a chargements.svg file in an Assets directory however the svgIcons in drawerItems will only take SVGIcon object from @progress/kendo-svg-icons
How can I use my own svg files inside the drawerItems array?

I am trying to get rid of the current ng-deep use cases in our app.
The class that being override is as follows:
css:
::ng-deep .k-chat.k-selected {
margin-bottom: 0px !important;
};
html:
<kendo-chat class="chatbox" [messages]="messages" [user]="user">
<ng-template kendoChatMessageTemplate let-message>
<div [innerHTML]="message.text | sanitizeHtml"></div>
</ng-template>
</kendo-chat>