private getDatasets()

in desktop/src/@batch-flask/ui/charts/chart.directive.ts [169:199]


    private getDatasets(): any {
        let datasets: any = void 0;
        // in case if datasets is not provided, but data is present
        if (!this.datasets || !this.datasets.length && (this.data && this.data.length)) {
            if (Array.isArray(this.data[0])) {
                datasets = (this.data as number[][]).map((data: number[], index: number) => {
                    return { data, label: this.labels[index] || `Label ${index}` };
                });
            } else {
                datasets = [{ data: this.data, label: `Label 0` }];
            }
        }

        if (this.datasets && this.datasets.length ||
            (datasets && datasets.length)) {
            datasets = (this.datasets || datasets)
                .map((elm: number, index: number) => {
                    const newElm: any = Object.assign({}, elm);
                    if (!newElm.borderColor && !newElm.backgroundColor) {
                        if (this.colors && this.colors.length) {
                            Object.assign(newElm, this.colors[index]);
                        } else {
                            Object.assign(newElm, getColors(this.chartType, index, newElm.data.length));
                        }
                    }
                    return newElm;
                });
        }

        return datasets;
    }