jqwidgets-scripts-custom
Version:
jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.
107 lines (95 loc) • 2.9 kB
text/typescript
import { Component, ViewChild, AfterViewInit } from '@angular/core';
import { jqxBarGaugeComponent } from 'jqwidgets-scripts/jqwidgets-ts/angular_jqxbargauge';
import { jqxListBoxComponent } from 'jqwidgets-scripts/jqwidgets-ts/angular_jqxlistbox';
({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent implements AfterViewInit {
('myBarGauge') myBarGauge: jqxBarGaugeComponent;
('myListBox') myListBox: jqxListBoxComponent;
ngAfterViewInit(): void {
this.myListBox.checkIndex(2);
this.myListBox.checkIndex(5);
this.myListBox.checkIndex(6);
}
data: any[] = [{
'id': '1',
'name': 'Hot Chocolate',
'calories': '370'
}, {
'id': '2',
'name': 'Peppermint Hot Chocolate',
'calories': '440'
}, {
'id': '3',
'name': 'Salted Caramel Hot Chocolate',
'calories': '450'
}, {
'id': '4',
'name': 'White Hot Chocolate',
'calories': '420'
}, {
'id': '5',
'name': 'Caffe Americano',
'calories': '15'
}, {
'id': '6',
'name': 'Caffe Latte',
'calories': '190'
}, {
'id': '7',
'name': 'Caffe Mocha',
'calories': '330'
}];
source: any = {
datatype: 'json',
datafields: [
{ name: 'name' },
{ name: 'calories', type: 'int' }
],
id: 'id',
localdata: this.data
};
dataAdapter: any = new jqx.dataAdapter(this.source);
tooltip: any = {
visible: true,
formatFunction: (value: string, index: number) => {
let items = this.myListBox.getCheckedItems();
let item = items[index];
return item.label + ': ' + value + ' cal.';
}
}
labels: any = {
formatFunction: (value: string) => {
return value + ' cal.';
},
precision: 0,
indent: 15,
connectorWidth: 1
};
getSum(array: any[]): number {
array = array || [];
let sum = 0;
if (!!array.length) {
for (let i = 0; i < array.length; i += 1) {
sum += array[i];
}
}
return sum;
}
convertToArray(items: any[]): number[] {
let preparedArray = new Array(items.length);
for (let i = 0; i < items.length; i += 1) {
preparedArray[i] = items[i].value;
}
return preparedArray;
}
onCheckChange(): void {
let items = this.myListBox.getCheckedItems();
let arrayOfItems = this.convertToArray(items);
let log = document.getElementById('log');
log.innerHTML = '<strong>Summary calories: ' + this.getSum(arrayOfItems) + '</strong>';
this.myBarGauge.values(arrayOfItems);
}
}