I have kendo chart and i want to show loading indicator before data load. I used render function but cannot achieve? How can i show load indicator?
Here is my example on Stackblitz
Hi, I'm working on generating a PDF of a form I've created and I'm trying to style the PDF so that inputs have no background and just show their entered text. I've been able to do this with all of the form elements aside from my Kendo date range. For some reason, I cannot set the background of these inputs for the PDF.
When I set the background to transparent in the regular CSS, it works, and the PDF is generated without the background... but when I set the background to transparent just for the PDF CSS, it does not.
I've tried using both background, background-color, background: transparent, background: none, etc. with no luck.
Stackblitz: https://stackblitz.com/edit/kendo-angular-date-range-gxnuby (try downloading the PDF - background of date inputs will be white)
.k-pdf-export .k-dateinput-wrap, .k-pdf-export .k-dateinput-wrap {
background: transparent !important;
border: 3px solid red;
}
Hi
I have grid with dynamic data and when i change colunms from column menu i want to write column state or selected columns on my console. Is it possible?
Thanks
When using Menu filters I can define date range filter in the following way
<kendo-grid-date-filter-menu
[filter]="filter"
[operator]="filterOperator"
[column]="column"
[filterService]="filterService"
[extra]="true"
>
<kendo-filter-gte-operator text="{{'Is greater or equal'|i18n}}"></kendo-filter-gte-operator>
<kendo-filter-gt-operator text="{{'Is greater than'|i18n}}"></kendo-filter-gt-operator>
<kendo-filter-lte-operator text="{{'Is less or equal'|i18n}}"></kendo-filter-lte-operator>
<kendo-filter-lt-operator text="{{'Is less than'|i18n}}"></kendo-filter-lt-operator>
<kendo-filter-eq-operator text="{{'Is equal to'|i18n}}"></kendo-filter-eq-operator>
<kendo-filter-neq-operator text="{{'Is not equal to'|i18n}}"></kendo-filter-neq-operator>
<kendo-filter-isempty-operator text="{{ 'Is empty' | i18n }}"></kendo-filter-isempty-operator>
<kendo-filter-isnotempty-operator text="{{ 'Is not empty' | i18n }}"></kendo-filter-isnotempty-operator>
</kendo-grid-date-filter-menu>
Both the primary and secondary search criteria now get the same list of operators and in the same order. As the end used most likely wants to filter some date range this means that every time the user needs to also change the operator in addition to selecting dates. So is there a built-in way to have a different default operator for only the secondary criteria?
Even more cool would be some kind of interactive selection component where user can define start and end date. Similar to DateRange picker of materia UI.
I have kendo chart and i want to show loading indicator before data load. I used render function but cannot achieve? How can i show load indicator?
Here is my example on Stackblitz
Hi people, I hope you can help me
I tried to reply this functionality in my proyect: (I used the same code)
but I get this error message on browser console: "Class constructor fe cannot be invoked without 'new'."
I have tried to change the "ES2015" target to something else, but nothing works.
Any other idea? thanks in advanced.
Angular CLI: 11.1.3
Node: 16.13.0
OS: win32 x64
Angular: 11.1.2
... animations, cdk, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, router
Ivy Workspace: Yes
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1101.3
@angular-devkit/build-angular 0.1101.3
@angular-devkit/core 11.1.3
@angular-devkit/schematics 11.1.3
@angular/cli 11.1.3
@schematics/angular 11.1.3
@schematics/update 0.1101.3
ng-packagr 11.1.3
rxjs 6.6.3
typescript 4.1.3
I have a dropdown when I choose a record (ex: 2019) initially it is reading the value. When I switch focus to next element (say button) by pressing tab key and come back to the dropdown again, the screen reader is not reading the already selected value. It is reading the value if it is a 3 digit number i.e <= 999. But its not reading value greater than 999.
Any idea on how to resolve this?
Hi
I have kendo chart with dynamic data and data load based on date selection when i set daily data i'm showing daily data when i set range weekly showing weekly ... like this. I'm using baseUnit function for this of course... but looks like chart is rendering 2 times.
Here is my example
<kendo-chart
[categoryAxis]="{ categories: categories, baseUnit:baseUnit, labels: { rotation: 'auto', format: format } }"
>
<kendo-chart-legend
position="bottom"
orientation="horizontal"
></kendo-chart-legend>
<kendo-chart-tooltip format="{0:c}"></kendo-chart-tooltip>
<kendo-chart-series>
<kendo-chart-series-item
*ngFor="let item of series"
[type]="type"
[line]="{ style: style }"
[data]="item.data"
[name]="item.name"
>
</kendo-chart-series-item>
</kendo-chart-series>
</kendo-chart>
here is ts code
public startDate: Date
public endDate: Date
public dateDifference = 0;
private eodRequestBody: EndOfDayChartRequest;
public type = "area" as SeriesType;
public style = "smooth";
public areaSeries = []
public areaSeriesData: any[]
public categories = "dateRange";
public groupField = "fuel";
public areaSeriesField = "totalAmount";
public noData = false;
public _subscription : Subscription
public format= ""
public baseUnit = ""
constructor(private eodSharedService: EodSharedService,private eodService:EODService,private cdr:ChangeDetectorRef) { }
ngOnDestroy(): void {
this._subscription.unsubscribe();
}
ngOnInit(): void {
this.loadData();
}
dateDiff(startDate: Date, endDate: Date): number { //date diffirence calc
var Time = endDate.getTime() - startDate.getTime();
var Diff = Time / (1000 * 3600 * 24);
return Diff;
}
loadData() {
this._subscription = this.eodSharedService.GetUpdatedDates().subscribe(data => { //subscribing start/end date values from shared service
this.startDate = data.startDate;
this.endDate = data.endDate;
this.dateDifference = this.dateDiff(this.startDate, this.endDate);
let range = "";
//console.log("dateDiff : "+ this.dateDifference)
if (this.dateDifference == 0 || this.dateDifference <= 1) {range = "hourly"; this.format = "HH:mm"; this.baseUnit = "hours"}
else if (this.dateDifference <= 14) {range = "daily"; this.format = "dd/MM"; this.baseUnit = "days"}
else if (this.dateDifference <= 30) {range = "weekly"; this.format = "dd/MM"; this.baseUnit = "weeks"}
else if (this.dateDifference > 30 && this.dateDifference < 365) {range = "monthly"; this.format = "dd-MM-yyyy"; this.baseUnit = "months"}
else if (this.dateDifference >= 365) {range = "yearly"; this.format = "yyyy"; this.baseUnit = "years"}
this.eodRequestBody = {
startDate: getISOStringFromDate(this.startDate),
endDate: getISOStringFromDate(this.endDate),
client: null,
type:range
};
this.getFuelAmountsChart(this.eodRequestBody)
});
}
getFuelAmountsChart(eodRequestBody: EndOfDayChartRequest) {
console.log(eodRequestBody);
this.eodService.getEndOfDayDistrubutionOfFuel(eodRequestBody).pipe(take(1)).subscribe(
(res) => {
this.areaSeriesData = [];
res.result.items.forEach(item=>{
if(eodRequestBody.type != "weekly"){
if(item.totalAmount > 0){
item.dateRange = new Date(item.dateRange);
this.areaSeriesData.push(item);
}
}
else{
item.dateRange = item.dateRange;
this.areaSeriesData.push(item);
}
})
console.log(JSON.stringify(this.areaSeries));
this.areaSeries = groupBy(this.areaSeriesData, [{ field: this.groupField }]) as GroupResult[];
this.noData = false;
var count = res.result.items.length;
if(count == 0){this.noData = true;}
this.cdr.markForCheck()
},
(err) => {
console.log('ERROR ON FETCHING EOD getEndOfDayDistrubutionOfFuel', JSON.stringify(err));
}
)
}
Can you help me on this??
Thanks
Hi Telerik
I modified your example as in example Stackblitz . When i filtered one column i cannot see color changed and cannot understand is it filtered or not and also when i add new filter and then clear it all the data returns to me but in your example it should return back first filter.
Is it a bug?
Thanks
Hello everyone, I have a kendo-expansionpanel defined like this:
<kendo-expansionpanel gdArea="filters" [title]="expandedState ? initialPannelTitle : pannelTitleFilters" [(expanded)]="expandedState">
- pannelTitleFilters is a string that consists of multiple key: values, here's an example of how it can look (style included):
EXTRA: ALL - Initial state: executed - STAINING: all - acceptance date: today - location: milan
I've been asked to make everything that specifies the filter bold, so the result would be something like:
EXTRA: ALL - INITIAL STATE: EXECUTED - STAINING: ALL - ACCEPTANCE DATE: TODAY - LOCATION: MILAN
I am struggling to find a way to do that: [innerHTML] instead of [title] breaks the component, as it removes the styles and it doesn't make possible to expand or collapse the panel.
NOTE: the string is generated using the function below, so it'd be possible for me to put some "special characters" (eg: **) to surround the parts that need to be bolded, but I didn't find any pipe that would make the text bolded without the use of innerHTML. How can I solve this?
for (let [key, value] of Object.entries(obj)) {
// Filter out falsey values
if (Boolean(value)) {
// Manage multiselect string
if (Array.isArray(value)) {
let tmp = value.join();
// Truncate string if it exceeds max length
if (tmp.length > maxStringLenght) {
value = tmp.substring(0, maxStringLenght).concat('...');
} else {
value = tmp;
}
}
// eg: LOCATION: MILAN -
title += `${key}: ${value}${separator}`
}
}
// Remove last separator
return title.trim().substring(0, title.length - 2);
}