@thachnuida/ngx-uplot
Version:
Angular wrapper for uplot.
55 lines • 7.32 kB
JavaScript
// This file is based on https://github.com/skalinichev/uplot-wrappers/blob/master/common/index.ts
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
if (!Object.is) {
// eslint-disable-next-line
Object.defineProperty(Object, "is", { value: (x, y) => (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y)
});
}
export class NgxUplotService {
constructor() { }
optionsUpdateState(_lhs, _rhs) {
if (!_lhs)
return 'create';
const { width: lhsWidth, height: lhsHeight, ...lhs } = _lhs;
const { width: rhsWidth, height: rhsHeight, ...rhs } = _rhs;
let state = 'keep';
if (lhsHeight !== rhsHeight || lhsWidth !== rhsWidth) {
state = 'update';
}
if (Object.keys(lhs).length !== Object.keys(rhs).length) {
return 'create';
}
for (const k of Object.keys(lhs)) {
if (!Object.is(lhs[k], rhs[k])) {
state = 'create';
break;
}
}
return state;
}
dataMatch(lhs, rhs) {
if (!lhs)
return false;
if (lhs.length !== rhs.length) {
return false;
}
return lhs.every((lhsOneSeries, seriesIdx) => {
const rhsOneSeries = rhs[seriesIdx];
if (lhsOneSeries.length !== rhsOneSeries.length) {
return false;
}
return lhsOneSeries.every((value, valueIdx) => value === rhsOneSeries[valueIdx]);
});
}
}
NgxUplotService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgxUplotService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
NgxUplotService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgxUplotService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgxUplotService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVwbG90LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdXBsb3Qvc3JjL2xpYi9uZ3gtdXBsb3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrR0FBa0c7QUFFbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsNkZBQTZGO0FBQzdGLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0lBQ2QsMkJBQTJCO0lBQzNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUMzRCxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEUsQ0FBQyxDQUFDO0NBQ0o7QUFLRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixnQkFBZ0IsQ0FBQztJQUVqQixrQkFBa0IsQ0FBQyxJQUFtQixFQUFFLElBQW1CO1FBQ3pELElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFFM0IsTUFBTSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQztRQUMxRCxNQUFNLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRTFELElBQUksS0FBSyxHQUF1QixNQUFNLENBQUM7UUFDdkMsSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDbEQsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUNwQjtRQUNELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDckQsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUUsR0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFHLEdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5QyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUNqQixNQUFNO2FBQ1Q7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFzQixFQUFFLEdBQXNCO1FBQ3RELElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFdkIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDM0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDekMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUM3QyxPQUFPLEtBQUssQ0FBQzthQUNoQjtZQUNELE9BQVEsWUFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFVLEVBQUUsUUFBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzNHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBdkNVLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3NrYWxpbmljaGV2L3VwbG90LXdyYXBwZXJzL2Jsb2IvbWFzdGVyL2NvbW1vbi9pbmRleC50c1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCAqIGFzIHVQbG90IGZyb20gJ3VwbG90JztcblxudHlwZSBPcHRpb25zVXBkYXRlU3RhdGUgPSAna2VlcCcgfCAndXBkYXRlJyB8ICdjcmVhdGUnO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcbmlmICghT2JqZWN0LmlzKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCBcImlzXCIsIHt2YWx1ZTogKHg6IGFueSwgeTogYW55KSA9PlxuICAgICAgKHggPT09IHkgJiYgKHggIT09IDAgfHwgMSAvIHggPT09IDEgLyB5KSkgfHwgKHggIT09IHggJiYgeSAhPT0geSlcbiAgfSk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neFVwbG90U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBvcHRpb25zVXBkYXRlU3RhdGUoX2xoczogdVBsb3QuT3B0aW9ucywgX3JoczogdVBsb3QuT3B0aW9ucyk6IE9wdGlvbnNVcGRhdGVTdGF0ZSB7XG4gICAgaWYgKCFfbGhzKSByZXR1cm4gJ2NyZWF0ZSc7XG5cbiAgICBjb25zdCB7d2lkdGg6IGxoc1dpZHRoLCBoZWlnaHQ6IGxoc0hlaWdodCwgLi4ubGhzfSA9IF9saHM7XG4gICAgY29uc3Qge3dpZHRoOiByaHNXaWR0aCwgaGVpZ2h0OiByaHNIZWlnaHQsIC4uLnJoc30gPSBfcmhzO1xuXG4gICAgbGV0IHN0YXRlOiBPcHRpb25zVXBkYXRlU3RhdGUgPSAna2VlcCc7XG4gICAgaWYgKGxoc0hlaWdodCAhPT0gcmhzSGVpZ2h0IHx8IGxoc1dpZHRoICE9PSByaHNXaWR0aCkge1xuICAgICAgICBzdGF0ZSA9ICd1cGRhdGUnO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXMobGhzKS5sZW5ndGggIT09IE9iamVjdC5rZXlzKHJocykubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAnY3JlYXRlJztcbiAgICB9XG4gICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKGxocykpIHtcbiAgICAgICAgaWYgKCFPYmplY3QuaXMoKGxocyBhcyBhbnkpW2tdLCAocmhzIGFzIGFueSlba10pKSB7XG4gICAgICAgICAgICBzdGF0ZSA9ICdjcmVhdGUnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgZGF0YU1hdGNoKGxoczogdVBsb3QuQWxpZ25lZERhdGEsIHJoczogdVBsb3QuQWxpZ25lZERhdGEpOiBib29sZWFuIHtcbiAgICBpZiAoIWxocykgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKGxocy5sZW5ndGggIT09IHJocy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbGhzLmV2ZXJ5KChsaHNPbmVTZXJpZXMsIHNlcmllc0lkeCkgPT4ge1xuICAgICAgICBjb25zdCByaHNPbmVTZXJpZXMgPSByaHNbc2VyaWVzSWR4XTtcbiAgICAgICAgaWYgKGxoc09uZVNlcmllcy5sZW5ndGggIT09IHJoc09uZVNlcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGxoc09uZVNlcmllcyBhcyBhbnkpLmV2ZXJ5KCh2YWx1ZTogYW55LCB2YWx1ZUlkeDogbnVtYmVyKSA9PiB2YWx1ZSA9PT0gcmhzT25lU2VyaWVzW3ZhbHVlSWR4XSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==