@lumeer/pivot 0.0.13 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/lumeer-pivot.mjs +56 -43
- package/fesm2022/lumeer-pivot.mjs.map +1 -1
- package/index.d.ts +332 -5
- package/lumeer-pivot-0.2.0.tgz +0 -0
- package/package.json +4 -6
- package/esm2022/lib/directives/lmr-templates.directive.mjs +0 -27
- package/esm2022/lib/lmr-pivot-table.component.mjs +0 -147
- package/esm2022/lib/lmr-pivot-table.module.mjs +0 -63
- package/esm2022/lib/lmr-simple-pivot-table.component.mjs +0 -101
- package/esm2022/lib/pipes/cell-has-value.pipe.mjs +0 -35
- package/esm2022/lib/pipes/contrast-color.pipe.mjs +0 -41
- package/esm2022/lib/pipes/filter-visible-cells.pipe.mjs +0 -35
- package/esm2022/lib/pipes/is-cell-expandable.pipe.mjs +0 -35
- package/esm2022/lib/pipes/is-cell-expanded.pipe.mjs +0 -37
- package/esm2022/lib/pipes/is-cell-rows-expandable.pipe.mjs +0 -35
- package/esm2022/lib/pipes/pivot-data-empty.pipe.mjs +0 -38
- package/esm2022/lib/util/lmr-pivot-config.mjs +0 -17
- package/esm2022/lib/util/lmr-pivot-constants.mjs +0 -12
- package/esm2022/lib/util/lmr-pivot-data.mjs +0 -2
- package/esm2022/lib/util/lmr-pivot-state.mjs +0 -156
- package/esm2022/lib/util/lmr-pivot-table.mjs +0 -2
- package/esm2022/lib/util/lmr-simple-pivot-config.mjs +0 -2
- package/esm2022/lib/util/pivot-data-converter.mjs +0 -507
- package/esm2022/lib/util/pivot-table-converter.mjs +0 -1017
- package/esm2022/lib/util/pivot-util.mjs +0 -75
- package/esm2022/lumeer-pivot.mjs +0 -5
- package/esm2022/public-api.mjs +0 -13
- package/lib/directives/lmr-templates.directive.d.ts +0 -14
- package/lib/lmr-pivot-table.component.d.ts +0 -49
- package/lib/lmr-pivot-table.module.d.ts +0 -18
- package/lib/lmr-simple-pivot-table.component.d.ts +0 -38
- package/lib/pipes/cell-has-value.pipe.d.ts +0 -8
- package/lib/pipes/contrast-color.pipe.d.ts +0 -11
- package/lib/pipes/filter-visible-cells.pipe.d.ts +0 -9
- package/lib/pipes/is-cell-expandable.pipe.d.ts +0 -8
- package/lib/pipes/is-cell-expanded.pipe.d.ts +0 -9
- package/lib/pipes/is-cell-rows-expandable.pipe.d.ts +0 -8
- package/lib/pipes/pivot-data-empty.pipe.d.ts +0 -8
- package/lib/util/lmr-pivot-config.d.ts +0 -84
- package/lib/util/lmr-pivot-constants.d.ts +0 -11
- package/lib/util/lmr-pivot-data.d.ts +0 -50
- package/lib/util/lmr-pivot-state.d.ts +0 -14
- package/lib/util/lmr-pivot-table.d.ts +0 -25
- package/lib/util/lmr-simple-pivot-config.d.ts +0 -9
- package/lib/util/pivot-data-converter.d.ts +0 -46
- package/lib/util/pivot-table-converter.d.ts +0 -74
- package/lib/util/pivot-util.d.ts +0 -12
- package/lumeer-pivot-0.0.13.tgz +0 -0
- package/public-api.d.ts +0 -9
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Lumeer: Modern Data Definition and Processing Platform
|
|
3
|
-
*
|
|
4
|
-
* Copyright (C) since 2017 Lumeer.io, s.r.o. and/or its affiliates.
|
|
5
|
-
*
|
|
6
|
-
* This program is free software: you can redistribute it and/or modify
|
|
7
|
-
* it under the terms of the GNU General Public License as published by
|
|
8
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
-
* (at your option) any later version.
|
|
10
|
-
*
|
|
11
|
-
* This program is distributed in the hope that it will be useful,
|
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
-
* GNU General Public License for more details.
|
|
15
|
-
*
|
|
16
|
-
* You should have received a copy of the GNU General Public License
|
|
17
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
18
|
-
*/
|
|
19
|
-
import { cleanQueryAttribute } from '@lumeer/data-filters';
|
|
20
|
-
import { deepObjectsEquals, hex2rgba } from '@lumeer/utils';
|
|
21
|
-
import { LmrPivotConfigVersion } from './lmr-pivot-config';
|
|
22
|
-
import { COLOR_LIGHT, COLOR_PRIMARY } from './lmr-pivot-constants';
|
|
23
|
-
export function pivotAttributesAreSame(a1, a2) {
|
|
24
|
-
return deepObjectsEquals(cleanQueryAttribute(a1), cleanQueryAttribute(a2));
|
|
25
|
-
}
|
|
26
|
-
export function isPivotConfigChanged(viewConfig, currentConfig) {
|
|
27
|
-
if (!!viewConfig?.mergeTables !== !!currentConfig?.mergeTables && (currentConfig?.stemsConfigs || []).length > 1) {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
return pivotStemConfigsHasChanged(viewConfig?.stemsConfigs || [], currentConfig?.stemsConfigs || []);
|
|
31
|
-
}
|
|
32
|
-
function pivotStemConfigsHasChanged(s1, s2) {
|
|
33
|
-
if (s1.length !== s2.length) {
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
return s1.some((stemConfig, index) => pivotStemConfigHasChanged(stemConfig, s2[index]));
|
|
37
|
-
}
|
|
38
|
-
function pivotStemConfigHasChanged(s1, s2) {
|
|
39
|
-
return (!deepObjectsEquals(cleanRowAttributes(s1.rowAttributes), cleanRowAttributes(s2.rowAttributes)) ||
|
|
40
|
-
!deepObjectsEquals(s1.columnAttributes || [], s2.columnAttributes || []) ||
|
|
41
|
-
!deepObjectsEquals(s1.valueAttributes || [], s2.valueAttributes || []));
|
|
42
|
-
}
|
|
43
|
-
function cleanRowAttributes(attrs) {
|
|
44
|
-
return (attrs || []).map(attr => ({ ...attr, showHeader: undefined }));
|
|
45
|
-
}
|
|
46
|
-
export function createDefaultPivotConfig(query) {
|
|
47
|
-
const stems = (query && query.stems) || [];
|
|
48
|
-
const stemsConfigs = stems.map(stem => createDefaultPivotStemConfig(stem));
|
|
49
|
-
return { version: LmrPivotConfigVersion.V1, stemsConfigs: stemsConfigs, mergeTables: true };
|
|
50
|
-
}
|
|
51
|
-
export function createDefaultPivotStemConfig(stem) {
|
|
52
|
-
return { stem, rowAttributes: [], columnAttributes: [], valueAttributes: [] };
|
|
53
|
-
}
|
|
54
|
-
export function pivotConfigIsEmpty(config) {
|
|
55
|
-
return (config.stemsConfigs || []).every(stemConfig => pivotStemConfigIsEmpty(stemConfig));
|
|
56
|
-
}
|
|
57
|
-
export function pivotStemConfigIsEmpty(config) {
|
|
58
|
-
return (((config && config.rowAttributes) || []).length === 0 &&
|
|
59
|
-
((config && config.columnAttributes) || []).length === 0 &&
|
|
60
|
-
((config && config.valueAttributes) || []).length === 0);
|
|
61
|
-
}
|
|
62
|
-
export function contrastColor(color, returnCodes, opacity) {
|
|
63
|
-
if (!color) {
|
|
64
|
-
return returnCodes ? returnCodes.dark : COLOR_PRIMARY;
|
|
65
|
-
}
|
|
66
|
-
const f = parseInt(color.indexOf('#') === 0 ? color.slice(1) : color, 16), R = f >> 16, G = (f >> 8) & 0x00ff, B = f & 0x0000ff;
|
|
67
|
-
const luminance = (0.299 * R + 0.587 * G + 0.114 * B) / 255;
|
|
68
|
-
if (luminance > 0.5) {
|
|
69
|
-
return returnCodes ? returnCodes.dark : hex2rgba(COLOR_PRIMARY, opacity || 1);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
return returnCodes ? returnCodes.light : hex2rgba(COLOR_LIGHT, opacity || 1);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvbGliL3V0aWwvcGl2b3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCxPQUFPLEVBQUMsbUJBQW1CLEVBQW1CLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQW9DLHFCQUFxQixFQUEyQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RJLE9BQU8sRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFakUsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEVBQXFCLEVBQUUsRUFBcUI7SUFDakYsT0FBTyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBMEIsRUFBRSxhQUE2QjtJQUM1RixJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxLQUFLLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxJQUFJLENBQUMsYUFBYSxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTywwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZHLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLEVBQXdCLEVBQUUsRUFBd0I7SUFDcEYsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLEVB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LE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFDdkUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQ1gsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFDckIsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7SUFFbkIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUU1RCxJQUFJLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNwQixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTHVtZWVyOiBNb2Rlcm4gRGF0YSBEZWZpbml0aW9uIGFuZCBQcm9jZXNzaW5nIFBsYXRmb3JtXG4gKlxuICogQ29weXJpZ2h0IChDKSBzaW5jZSAyMDE3IEx1bWVlci5pbywgcy5yLm8uIGFuZC9vciBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7Y2xlYW5RdWVyeUF0dHJpYnV0ZSwgUXVlcnksIFF1ZXJ5U3RlbX0gZnJvbSAnQGx1bWVlci9kYXRhLWZpbHRlcnMnO1xuaW1wb3J0IHtkZWVwT2JqZWN0c0VxdWFscywgaGV4MnJnYmF9IGZyb20gJ0BsdW1lZXIvdXRpbHMnO1xuaW1wb3J0IHtMbXJQaXZvdEF0dHJpYnV0ZSwgTG1yUGl2b3RDb25maWcsIExtclBpdm90Q29uZmlnVmVyc2lvbiwgTG1yUGl2b3RSb3dBdHRyaWJ1dGUsIExtclBpdm90U3RlbUNvbmZpZ30gZnJvbSAnLi9sbXItcGl2b3QtY29uZmlnJztcbmltcG9ydCB7Q09MT1JfTElHSFQsIENPTE9SX1BSSU1BUll9IGZyb20gJy4vbG1yLXBpdm90LWNvbnN0YW50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwaXZvdEF0dHJpYnV0ZXNBcmVTYW1lKGExOiBMbXJQaXZvdEF0dHJpYnV0ZSwgYTI6IExtclBpdm90QXR0cmlidXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBkZWVwT2JqZWN0c0VxdWFscyhjbGVhblF1ZXJ5QXR0cmlidXRlKGExKSwgY2xlYW5RdWVyeUF0dHJpYnV0ZShhMikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQaXZvdENvbmZpZ0NoYW5nZWQodmlld0NvbmZpZzogTG1yUGl2b3RDb25maWcsIGN1cnJlbnRDb25maWc6IExtclBpdm90Q29uZmlnKTogYm9vbGVhbiB7XG4gIGlmICghIXZpZXdDb25maWc/Lm1lcmdlVGFibGVzICE9PSAhIWN1cnJlbnRDb25maWc/Lm1lcmdlVGFibGVzICYmIChjdXJyZW50Q29uZmlnPy5zdGVtc0NvbmZpZ3MgfHwgW10pLmxlbmd0aCA+IDEpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBwaXZvdFN0ZW1Db25maWdzSGFzQ2hhbmdlZCh2aWV3Q29uZmlnPy5zdGVtc0NvbmZpZ3MgfHwgW10sIGN1cnJlbnRDb25maWc/LnN0ZW1zQ29uZmlncyB8fCBbXSk7XG59XG5cbmZ1bmN0aW9uIHBpdm90U3RlbUNvbmZpZ3NIYXNDaGFuZ2VkKHMxOiBMbXJQaXZvdFN0ZW1Db25maWdbXSwgczI6IExtclBpdm90U3RlbUNvbmZpZ1tdKTogYm9vbGVhbiB7XG4gIGlmIChzMS5sZW5ndGggIT09IHMyLmxlbmd0aCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHMxLnNvbWUoKHN0ZW1Db25maWcsIGluZGV4KSA9PiBwaXZvdFN0ZW1Db25maWdIYXNDaGFuZ2VkKHN0ZW1Db25maWcsIHMyW2luZGV4XSkpO1xufVxuXG5mdW5jdGlvbiBwaXZvdFN0ZW1Db25maWdIYXNDaGFuZ2VkKHMxOiBMbXJQaXZvdFN0ZW1Db25maWcsIHMyOiBMbXJQaXZvdFN0ZW1Db25maWcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAhZGVlcE9iamVjdHNFcXVhbHMoY2xlYW5Sb3dBdHRyaWJ1dGVzKHMxLnJvd0F0dHJpYnV0ZXMpLCBjbGVhblJvd0F0dHJpYnV0ZXMoczIucm93QXR0cmlidXRlcykpIHx8XG4gICAgIWRlZXBPYmplY3RzRXF1YWxzKHMxLmNvbHVtbkF0dHJpYnV0ZXMgfHwgW10sIHMyLmNvbHVtbkF0dHJpYnV0ZXMgfHwgW10pIHx8XG4gICAgIWRlZXBPYmplY3RzRXF1YWxzKHMxLnZhbHVlQXR0cmlidXRlcyB8fCBbXSwgczIudmFsdWVBdHRyaWJ1dGVzIHx8IFtdKVxuICApO1xufVxuXG5mdW5jdGlvbiBjbGVhblJvd0F0dHJpYnV0ZXMoYXR0cnM6IExtclBpdm90Um93QXR0cmlidXRlW10pOiBMbXJQaXZvdFJvd0F0dHJpYnV0ZVtdIHtcbiAgcmV0dXJuIChhdHRycyB8fCBbXSkubWFwKGF0dHIgPT4gKHsuLi5hdHRyLCBzaG93SGVhZGVyOiB1bmRlZmluZWR9KSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRQaXZvdENvbmZpZyhxdWVyeTogUXVlcnkpOiBMbXJQaXZvdENvbmZpZyB7XG4gIGNvbnN0IHN0ZW1zID0gKHF1ZXJ5ICYmIHF1ZXJ5LnN0ZW1zKSB8fCBbXTtcbiAgY29uc3Qgc3RlbXNDb25maWdzID0gc3RlbXMubWFwKHN0ZW0gPT4gY3JlYXRlRGVmYXVsdFBpdm90U3RlbUNvbmZpZyhzdGVtKSk7XG4gIHJldHVybiB7dmVyc2lvbjogTG1yUGl2b3RDb25maWdWZXJzaW9uLlYxLCBzdGVtc0NvbmZpZ3M6IHN0ZW1zQ29uZmlncywgbWVyZ2VUYWJsZXM6IHRydWV9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdFBpdm90U3RlbUNvbmZpZyhzdGVtPzogUXVlcnlTdGVtKTogTG1yUGl2b3RTdGVtQ29uZmlnIHtcbiAgcmV0dXJuIHtzdGVtLCByb3dBdHRyaWJ1dGVzOiBbXSwgY29sdW1uQXR0cmlidXRlczogW10sIHZhbHVlQXR0cmlidXRlczogW119O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGl2b3RDb25maWdJc0VtcHR5KGNvbmZpZzogTG1yUGl2b3RDb25maWcpOiBib29sZWFuIHtcbiAgcmV0dXJuIChjb25maWcuc3RlbXNDb25maWdzIHx8IFtdKS5ldmVyeShzdGVtQ29uZmlnID0+IHBpdm90U3RlbUNvbmZpZ0lzRW1wdHkoc3RlbUNvbmZpZykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGl2b3RTdGVtQ29uZmlnSXNFbXB0eShjb25maWc6IExtclBpdm90U3RlbUNvbmZpZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgICgoY29uZmlnICYmIGNvbmZpZy5yb3dBdHRyaWJ1dGVzKSB8fCBbXSkubGVuZ3RoID09PSAwICYmXG4gICAgKChjb25maWcgJiYgY29uZmlnLmNvbHVtbkF0dHJpYnV0ZXMpIHx8IFtdKS5sZW5ndGggPT09IDAgJiZcbiAgICAoKGNvbmZpZyAmJiBjb25maWcudmFsdWVBdHRyaWJ1dGVzKSB8fCBbXSkubGVuZ3RoID09PSAwXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cmFzdENvbG9yKGNvbG9yOiBzdHJpbmcsIHJldHVybkNvZGVzPzoge2Rhcms6IHN0cmluZzsgbGlnaHQ6IHN0cmluZ30sIG9wYWNpdHk/OiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAoIWNvbG9yKSB7XG4gICAgcmV0dXJuIHJldHVybkNvZGVzID8gcmV0dXJuQ29kZXMuZGFyayA6IENPTE9SX1BSSU1BUlk7XG4gIH1cblxuICBjb25zdCBmID0gcGFyc2VJbnQoY29sb3IuaW5kZXhPZignIycpID09PSAwID8gY29sb3Iuc2xpY2UoMSkgOiBjb2xvciwgMTYpLFxuICAgIFIgPSBmID4+IDE2LFxuICAgIEcgPSAoZiA+PiA4KSAmIDB4MDBmZixcbiAgICBCID0gZiAmIDB4MDAwMGZmO1xuXG4gIGNvbnN0IGx1bWluYW5jZSA9ICgwLjI5OSAqIFIgKyAwLjU4NyAqIEcgKyAwLjExNCAqIEIpIC8gMjU1O1xuXG4gIGlmIChsdW1pbmFuY2UgPiAwLjUpIHtcbiAgICByZXR1cm4gcmV0dXJuQ29kZXMgPyByZXR1cm5Db2Rlcy5kYXJrIDogaGV4MnJnYmEoQ09MT1JfUFJJTUFSWSwgb3BhY2l0eSB8fCAxKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmV0dXJuQ29kZXMgPyByZXR1cm5Db2Rlcy5saWdodCA6IGhleDJyZ2JhKENPTE9SX0xJR0hULCBvcGFjaXR5IHx8IDEpO1xuICB9XG59XG4iXX0=
|
package/esm2022/lumeer-pivot.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVtZWVyLXBpdm90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbG1yLXBpdm90LXRhYmxlL3NyYy9sdW1lZXItcGl2b3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of lmr-pivot-table
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/lmr-pivot-table.component';
|
|
5
|
-
export * from './lib/lmr-simple-pivot-table.component';
|
|
6
|
-
export * from './lib/lmr-pivot-table.module';
|
|
7
|
-
export * from './lib/util/lmr-pivot-config';
|
|
8
|
-
export * from './lib/util/lmr-simple-pivot-config';
|
|
9
|
-
export * from './lib/util/lmr-pivot-data';
|
|
10
|
-
export * from './lib/util/lmr-pivot-table';
|
|
11
|
-
export * from './lib/util/pivot-util';
|
|
12
|
-
export * from './lib/directives/lmr-templates.directive';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xtci1waXZvdC10YWJsZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBsbXItcGl2b3QtdGFibGVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sbXItcGl2b3QtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xtci1zaW1wbGUtcGl2b3QtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xtci1waXZvdC10YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9sbXItcGl2b3QtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWwvbG1yLXNpbXBsZS1waXZvdC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbC9sbXItcGl2b3QtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL2xtci1waXZvdC10YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlsL3Bpdm90LXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9sbXItdGVtcGxhdGVzLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TemplateRef } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class LmrEmptyTablesTemplateDirective {
|
|
4
|
-
template: TemplateRef<any>;
|
|
5
|
-
constructor(template: TemplateRef<any>);
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LmrEmptyTablesTemplateDirective, never>;
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<LmrEmptyTablesTemplateDirective, "[lmr-empty-tables-tmp]", never, {}, {}, never, never, false, never>;
|
|
8
|
-
}
|
|
9
|
-
export declare class LmrTableCellTemplateDirective {
|
|
10
|
-
template: TemplateRef<any>;
|
|
11
|
-
constructor(template: TemplateRef<any>);
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LmrTableCellTemplateDirective, never>;
|
|
13
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<LmrTableCellTemplateDirective, "[lmr-table-cell-tmp]", never, {}, {}, never, never, false, never>;
|
|
14
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
|
|
2
|
-
import { LmrPivotConfig, LmrPivotTransform } from './util/lmr-pivot-config';
|
|
3
|
-
import { Collection, ConstraintData, DocumentsAndLinksData, LinkType, Query } from '@lumeer/data-filters';
|
|
4
|
-
import { LmrPivotData } from './util/lmr-pivot-data';
|
|
5
|
-
import { BehaviorSubject, Observable } from 'rxjs';
|
|
6
|
-
import { LmrPivotTable, LmrPivotTableCell } from './util/lmr-pivot-table';
|
|
7
|
-
import { LmrPivotTableState } from './util/lmr-pivot-state';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class LmrPivotTableComponent implements OnInit, OnChanges {
|
|
10
|
-
collections: Collection[];
|
|
11
|
-
data: DocumentsAndLinksData;
|
|
12
|
-
linkTypes: LinkType[];
|
|
13
|
-
query: Query;
|
|
14
|
-
constraintData: ConstraintData;
|
|
15
|
-
config: LmrPivotConfig;
|
|
16
|
-
transform: LmrPivotTransform;
|
|
17
|
-
emptyTablesTemplateInput: TemplateRef<any>;
|
|
18
|
-
tableCellTemplateInput: TemplateRef<any>;
|
|
19
|
-
initiallyCollapsed: boolean;
|
|
20
|
-
cellClick: EventEmitter<{
|
|
21
|
-
cell: LmrPivotTableCell;
|
|
22
|
-
tableIndex: number;
|
|
23
|
-
rowIndex: number;
|
|
24
|
-
columnIndex: number;
|
|
25
|
-
}>;
|
|
26
|
-
pivotDataChange: EventEmitter<LmrPivotData>;
|
|
27
|
-
pivotTablesChange: EventEmitter<LmrPivotTable[]>;
|
|
28
|
-
emptyTablesTemplate: TemplateRef<any>;
|
|
29
|
-
tableCellTemplate: TemplateRef<any>;
|
|
30
|
-
private readonly pivotTransformer;
|
|
31
|
-
private readonly pivotTableConverter;
|
|
32
|
-
readonly stickyColumnWidth = 150;
|
|
33
|
-
readonly stickyColumnHeight = 40;
|
|
34
|
-
private dataSubject$;
|
|
35
|
-
private currentTables;
|
|
36
|
-
pivotData$: Observable<LmrPivotData>;
|
|
37
|
-
pivotTables$: Observable<LmrPivotTable[]>;
|
|
38
|
-
pivotStates$: BehaviorSubject<LmrPivotTableState[]>;
|
|
39
|
-
ngOnInit(): void;
|
|
40
|
-
private onPivotDataChange;
|
|
41
|
-
private onPivotTablesChange;
|
|
42
|
-
private handleData;
|
|
43
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
44
|
-
private resetState;
|
|
45
|
-
onCellClick(cell: LmrPivotTableCell, row: LmrPivotTableCell[], tableIndex: number, rowIndex: number, columnIndex: number): void;
|
|
46
|
-
private setState;
|
|
47
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LmrPivotTableComponent, never>;
|
|
48
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LmrPivotTableComponent, "lmr-pivot-table", never, { "collections": { "alias": "collections"; "required": false; }; "data": { "alias": "data"; "required": false; }; "linkTypes": { "alias": "linkTypes"; "required": false; }; "query": { "alias": "query"; "required": false; }; "constraintData": { "alias": "constraintData"; "required": false; }; "config": { "alias": "config"; "required": false; }; "transform": { "alias": "transform"; "required": false; }; "emptyTablesTemplateInput": { "alias": "emptyTablesTemplateInput"; "required": false; }; "tableCellTemplateInput": { "alias": "tableCellTemplateInput"; "required": false; }; "initiallyCollapsed": { "alias": "initiallyCollapsed"; "required": false; }; }, { "cellClick": "cellClick"; "pivotDataChange": "pivotDataChange"; "pivotTablesChange": "pivotTablesChange"; }, ["emptyTablesTemplate", "tableCellTemplate"], never, false, never>;
|
|
49
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./lmr-pivot-table.component";
|
|
3
|
-
import * as i2 from "./lmr-simple-pivot-table.component";
|
|
4
|
-
import * as i3 from "./pipes/pivot-data-empty.pipe";
|
|
5
|
-
import * as i4 from "./pipes/cell-has-value.pipe";
|
|
6
|
-
import * as i5 from "./pipes/is-cell-expandable.pipe";
|
|
7
|
-
import * as i6 from "./pipes/is-cell-expanded.pipe";
|
|
8
|
-
import * as i7 from "./pipes/is-cell-rows-expandable.pipe";
|
|
9
|
-
import * as i8 from "./pipes/filter-visible-cells.pipe";
|
|
10
|
-
import * as i9 from "./pipes/contrast-color.pipe";
|
|
11
|
-
import * as i10 from "./directives/lmr-templates.directive";
|
|
12
|
-
import * as i11 from "@angular/common";
|
|
13
|
-
import * as i12 from "@angular/cdk/scrolling";
|
|
14
|
-
export declare class LmrPivotTableModule {
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LmrPivotTableModule, never>;
|
|
16
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<LmrPivotTableModule, [typeof i1.LmrPivotTableComponent, typeof i2.LmrSimplePivotTableComponent, typeof i3.PivotDataEmptyPipe, typeof i4.CellHasValuePipe, typeof i5.IsCellExpandablePipe, typeof i6.IsCellExpandedPipe, typeof i7.IsCellRowsExpandablePipe, typeof i8.FilterVisibleCellsPipe, typeof i9.ContrastColorPipe, typeof i10.LmrEmptyTablesTemplateDirective, typeof i10.LmrTableCellTemplateDirective], [typeof i11.CommonModule, typeof i12.ScrollingModule], [typeof i1.LmrPivotTableComponent, typeof i2.LmrSimplePivotTableComponent, typeof i10.LmrEmptyTablesTemplateDirective, typeof i10.LmrTableCellTemplateDirective]>;
|
|
17
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<LmrPivotTableModule>;
|
|
18
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';
|
|
2
|
-
import { LmrPivotConfig, LmrPivotTransform } from './util/lmr-pivot-config';
|
|
3
|
-
import { Attribute, Collection, ConstraintData, DocumentsAndLinksData, LanguageTag, Query } from '@lumeer/data-filters';
|
|
4
|
-
import { LmrPivotData } from './util/lmr-pivot-data';
|
|
5
|
-
import { LmrPivotTable, LmrPivotTableCell } from './util/lmr-pivot-table';
|
|
6
|
-
import { LmrSimplePivotConfig } from './util/lmr-simple-pivot-config';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class LmrSimplePivotTableComponent implements OnChanges {
|
|
9
|
-
rows: Record<string, any>[];
|
|
10
|
-
attributes: Attribute[];
|
|
11
|
-
color: string;
|
|
12
|
-
config: LmrSimplePivotConfig;
|
|
13
|
-
transform: LmrPivotTransform;
|
|
14
|
-
locale: LanguageTag;
|
|
15
|
-
initiallyCollapsed: boolean;
|
|
16
|
-
cellClick: EventEmitter<{
|
|
17
|
-
cell: LmrPivotTableCell;
|
|
18
|
-
tableIndex: number;
|
|
19
|
-
rowIndex: number;
|
|
20
|
-
columnIndex: number;
|
|
21
|
-
}>;
|
|
22
|
-
pivotDataChange: EventEmitter<LmrPivotData>;
|
|
23
|
-
pivotTablesChange: EventEmitter<LmrPivotTable[]>;
|
|
24
|
-
emptyTablesTemplate: TemplateRef<any>;
|
|
25
|
-
tableCellTemplate: TemplateRef<any>;
|
|
26
|
-
readonly collectionId: string;
|
|
27
|
-
readonly query: Query;
|
|
28
|
-
collection: Collection;
|
|
29
|
-
pivotConfig: LmrPivotConfig;
|
|
30
|
-
data: DocumentsAndLinksData;
|
|
31
|
-
constraintData: ConstraintData;
|
|
32
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
33
|
-
private createCollection;
|
|
34
|
-
private createConfig;
|
|
35
|
-
private createRows;
|
|
36
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LmrSimplePivotTableComponent, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LmrSimplePivotTableComponent, "lmr-simple-pivot-table", never, { "rows": { "alias": "rows"; "required": false; }; "attributes": { "alias": "attributes"; "required": false; }; "color": { "alias": "color"; "required": false; }; "config": { "alias": "config"; "required": false; }; "transform": { "alias": "transform"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "initiallyCollapsed": { "alias": "initiallyCollapsed"; "required": false; }; }, { "cellClick": "cellClick"; "pivotDataChange": "pivotDataChange"; "pivotTablesChange": "pivotTablesChange"; }, ["emptyTablesTemplate", "tableCellTemplate"], never, false, never>;
|
|
38
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { LmrPivotTableCell } from '../util/lmr-pivot-table';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class CellHasValuePipe implements PipeTransform {
|
|
5
|
-
transform(cell: LmrPivotTableCell): boolean;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CellHasValuePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<CellHasValuePipe, "cellHasValue", false>;
|
|
8
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class ContrastColorPipe implements PipeTransform {
|
|
4
|
-
transform(color: string, returnCodes?: {
|
|
5
|
-
dark: string;
|
|
6
|
-
light: string;
|
|
7
|
-
}, opacity?: number): string;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ContrastColorPipe, never>;
|
|
9
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<ContrastColorPipe, "contrastColor", false>;
|
|
10
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ContrastColorPipe>;
|
|
11
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { LmrPivotTable, LmrPivotTableCell } from '../util/lmr-pivot-table';
|
|
3
|
-
import { LmrPivotTableState } from '../util/lmr-pivot-state';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class FilterVisibleCellsPipe implements PipeTransform {
|
|
6
|
-
transform(table: LmrPivotTable, state: LmrPivotTableState): LmrPivotTableCell[][];
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FilterVisibleCellsPipe, never>;
|
|
8
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<FilterVisibleCellsPipe, "filterVisibleCells", false>;
|
|
9
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { LmrPivotTableCell } from '../util/lmr-pivot-table';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class IsCellExpandablePipe implements PipeTransform {
|
|
5
|
-
transform(cell: LmrPivotTableCell): boolean;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IsCellExpandablePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<IsCellExpandablePipe, "isCellExpandable", false>;
|
|
8
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { LmrPivotTableCell } from '../util/lmr-pivot-table';
|
|
3
|
-
import { LmrPivotTableState } from '../util/lmr-pivot-state';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class IsCellExpandedPipe implements PipeTransform {
|
|
6
|
-
transform(cell: LmrPivotTableCell, columnIndex: number, state: LmrPivotTableState): boolean;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IsCellExpandedPipe, never>;
|
|
8
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<IsCellExpandedPipe, "isCellExpanded", false>;
|
|
9
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { LmrPivotTableCell } from '../util/lmr-pivot-table';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class IsCellRowsExpandablePipe implements PipeTransform {
|
|
5
|
-
transform(cell: LmrPivotTableCell): boolean;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IsCellRowsExpandablePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<IsCellRowsExpandablePipe, "isCellRowsExpandable", false>;
|
|
8
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { LmrPivotData } from '../util/lmr-pivot-data';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class PivotDataEmptyPipe implements PipeTransform {
|
|
5
|
-
transform(value: LmrPivotData): boolean;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PivotDataEmptyPipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<PivotDataEmptyPipe, "pivotDataEmpty", false>;
|
|
8
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Constraint, DataAggregationType, QueryAttribute, QueryStem } from '@lumeer/data-filters';
|
|
2
|
-
import { LmrPivotDataHeader } from './lmr-pivot-data';
|
|
3
|
-
export interface LmrPivotConfig {
|
|
4
|
-
version?: LmrPivotConfigVersion;
|
|
5
|
-
stemsConfigs: LmrPivotStemConfig[];
|
|
6
|
-
mergeTables?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface LmrPivotTransform {
|
|
9
|
-
checkValidConstraintOverride?: (c1: Constraint, c2: Constraint) => Constraint;
|
|
10
|
-
formatAggregation?: (type: DataAggregationType) => string;
|
|
11
|
-
formatSummaryHeader?: (header: LmrPivotDataHeader, level: number) => {
|
|
12
|
-
title?: string;
|
|
13
|
-
summary: string;
|
|
14
|
-
};
|
|
15
|
-
formatRowHeader?: (title: string, level: number) => string;
|
|
16
|
-
formatColumnHeader?: (title: string, level: number) => string;
|
|
17
|
-
}
|
|
18
|
-
export interface LmrPivotStemConfig {
|
|
19
|
-
stem?: QueryStem;
|
|
20
|
-
rowAttributes: LmrPivotRowAttribute[];
|
|
21
|
-
columnAttributes: LmrPivotColumnAttribute[];
|
|
22
|
-
valueAttributes: LmrPivotValueAttribute[];
|
|
23
|
-
}
|
|
24
|
-
export declare enum LmrPivotConfigVersion {
|
|
25
|
-
V1 = "1"
|
|
26
|
-
}
|
|
27
|
-
export interface LmrPivotAttribute extends QueryAttribute {
|
|
28
|
-
}
|
|
29
|
-
export interface LmrPivotRowColumnAttribute extends LmrPivotAttribute {
|
|
30
|
-
showSums?: boolean;
|
|
31
|
-
sticky?: boolean;
|
|
32
|
-
sort?: LmrPivotSort;
|
|
33
|
-
expressions?: LmrPivotExpression[];
|
|
34
|
-
}
|
|
35
|
-
export interface LmrPivotRowAttribute extends LmrPivotRowColumnAttribute {
|
|
36
|
-
showHeader?: boolean;
|
|
37
|
-
}
|
|
38
|
-
export interface LmrPivotColumnAttribute extends LmrPivotRowColumnAttribute {
|
|
39
|
-
}
|
|
40
|
-
export interface LmrPivotSortValue {
|
|
41
|
-
title: string;
|
|
42
|
-
isSummary?: boolean;
|
|
43
|
-
}
|
|
44
|
-
export interface LmrPivotSortList {
|
|
45
|
-
valueTitle: string;
|
|
46
|
-
values: LmrPivotSortValue[];
|
|
47
|
-
}
|
|
48
|
-
export interface LmrPivotSort {
|
|
49
|
-
attribute?: LmrPivotAttribute;
|
|
50
|
-
list?: LmrPivotSortList;
|
|
51
|
-
asc: boolean;
|
|
52
|
-
}
|
|
53
|
-
export declare enum LmrPivotValueType {
|
|
54
|
-
Default = "default",
|
|
55
|
-
ColumnPercentage = "column",
|
|
56
|
-
RowPercentage = "row",
|
|
57
|
-
AllPercentage = "all"
|
|
58
|
-
}
|
|
59
|
-
export interface LmrPivotValueAttribute extends LmrPivotAttribute {
|
|
60
|
-
aggregation: DataAggregationType;
|
|
61
|
-
valueType?: LmrPivotValueType;
|
|
62
|
-
}
|
|
63
|
-
export interface LmrPivotExpression {
|
|
64
|
-
operation: LmrPivotExpressionOperation;
|
|
65
|
-
operands: LmrPivotOperand[];
|
|
66
|
-
title: string;
|
|
67
|
-
type: 'expression';
|
|
68
|
-
position: LmrPivotPosition;
|
|
69
|
-
expandable?: boolean;
|
|
70
|
-
}
|
|
71
|
-
export declare enum LmrPivotPosition {
|
|
72
|
-
BeforeHeader = "beforeHeader",
|
|
73
|
-
StickToEnd = "stickToEnd"
|
|
74
|
-
}
|
|
75
|
-
export type LmrPivotExpressionOperation = 'add' | 'subtract' | 'multiply' | 'divide';
|
|
76
|
-
export interface LmrPivotHeaderOperand {
|
|
77
|
-
type: 'header';
|
|
78
|
-
value: string;
|
|
79
|
-
}
|
|
80
|
-
export interface LmrPivotValueOperand {
|
|
81
|
-
type: 'value';
|
|
82
|
-
value: number;
|
|
83
|
-
}
|
|
84
|
-
export type LmrPivotOperand = LmrPivotHeaderOperand | LmrPivotValueOperand | LmrPivotExpression;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const COLOR_GRAY100 = "#f8f9fa";
|
|
2
|
-
export declare const COLOR_GRAY200 = "#ecf0f1";
|
|
3
|
-
export declare const COLOR_GRAY300 = "#dee2e6";
|
|
4
|
-
export declare const COLOR_GRAY400 = "#ced4da";
|
|
5
|
-
export declare const COLOR_GRAY500 = "#b4bcc2";
|
|
6
|
-
export declare const COLOR_GRAY600 = "#95a5a6";
|
|
7
|
-
export declare const COLOR_GRAY700 = "#7b8a8b";
|
|
8
|
-
export declare const COLOR_GRAY800 = "#343a40";
|
|
9
|
-
export declare const COLOR_GRAY900 = "#212529";
|
|
10
|
-
export declare const COLOR_PRIMARY = "#253746";
|
|
11
|
-
export declare const COLOR_LIGHT = "#ecf0f1";
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Constraint, ConstraintData, DataAggregationType, DataResource } from '@lumeer/data-filters';
|
|
2
|
-
import { LmrPivotExpression, LmrPivotHeaderOperand, LmrPivotSort, LmrPivotValueOperand, LmrPivotValueType } from './lmr-pivot-config';
|
|
3
|
-
export interface LmrPivotData {
|
|
4
|
-
data: LmrPivotStemData[];
|
|
5
|
-
constraintData?: ConstraintData;
|
|
6
|
-
mergeTables?: boolean;
|
|
7
|
-
ableToMerge?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface LmrPivotStemData {
|
|
10
|
-
columnHeaders: LmrPivotDataHeader[];
|
|
11
|
-
columnHeaderAttributes: LmrPivotHeaderAttribute[];
|
|
12
|
-
rowHeaders: LmrPivotDataHeader[];
|
|
13
|
-
rowHeaderAttributes: LmrPivotHeaderAttribute[];
|
|
14
|
-
valueTitles: string[];
|
|
15
|
-
values: any[][];
|
|
16
|
-
dataResources: DataResource[][][];
|
|
17
|
-
valuesConstraints?: Constraint[];
|
|
18
|
-
valueTypes?: LmrPivotValueType[];
|
|
19
|
-
valueAggregations?: DataAggregationType[];
|
|
20
|
-
rowsConfig: LmrPivotDimensionConfig[];
|
|
21
|
-
columnsConfig: LmrPivotDimensionConfig[];
|
|
22
|
-
hasAdditionalColumnLevel?: boolean;
|
|
23
|
-
}
|
|
24
|
-
export interface LmrPivotDimensionConfig {
|
|
25
|
-
showSums?: boolean;
|
|
26
|
-
sticky?: boolean;
|
|
27
|
-
sort?: LmrPivotSort;
|
|
28
|
-
expressions?: LmrPivotExpression[];
|
|
29
|
-
}
|
|
30
|
-
export interface LmrPivotHeaderAttribute {
|
|
31
|
-
title: string;
|
|
32
|
-
color: string;
|
|
33
|
-
}
|
|
34
|
-
export interface LmrPivotDataHeader {
|
|
35
|
-
title: string;
|
|
36
|
-
children?: LmrPivotDataHeader[];
|
|
37
|
-
targetIndex?: number;
|
|
38
|
-
color: string;
|
|
39
|
-
isValueHeader: boolean;
|
|
40
|
-
constraint?: Constraint;
|
|
41
|
-
attributeName?: string;
|
|
42
|
-
expressions?: LmrPivotDataHeaderExpression[];
|
|
43
|
-
}
|
|
44
|
-
export interface LmrPivotDataHeaderExpression extends LmrPivotExpression {
|
|
45
|
-
firstHeaderIndex?: number;
|
|
46
|
-
operands: LmrPivotDataHeaderOperand[];
|
|
47
|
-
}
|
|
48
|
-
export type LmrPivotDataHeaderOperand = LmrPivotHeaderOperand & {
|
|
49
|
-
headers: LmrPivotDataHeader[];
|
|
50
|
-
} | LmrPivotValueOperand | LmrPivotDataHeaderExpression;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LmrPivotTable, LmrPivotTableCell } from './lmr-pivot-table';
|
|
2
|
-
export interface LmrPivotTableState {
|
|
3
|
-
cells?: LmrPivotTableCellState[][];
|
|
4
|
-
}
|
|
5
|
-
export interface LmrPivotTableCellState {
|
|
6
|
-
collapsed?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function isCellExpandable(cell: LmrPivotTableCell): boolean;
|
|
9
|
-
export declare function isCellColumnsExpandable(cell: LmrPivotTableCell): boolean;
|
|
10
|
-
export declare function isCellRowsExpandable(cell: LmrPivotTableCell): boolean;
|
|
11
|
-
export declare function toggleExpanded(cell: LmrPivotTableCell, columnIndex: number, state: LmrPivotTableState): LmrPivotTableState;
|
|
12
|
-
export declare function areCellsSame(c1: LmrPivotTableCell, c2: LmrPivotTableCell): boolean;
|
|
13
|
-
export declare function filterVisibleCells(cells: LmrPivotTableCell[][], state: LmrPivotTableCellState[][], parentIndex?: number): LmrPivotTableCell[][];
|
|
14
|
-
export declare function collapseAllCells(table: LmrPivotTable): LmrPivotTableState;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Constraint, DataResource } from '@lumeer/data-filters';
|
|
2
|
-
export interface LmrPivotTable {
|
|
3
|
-
cells: LmrPivotTableCell[][];
|
|
4
|
-
}
|
|
5
|
-
export interface LmrPivotTableCell {
|
|
6
|
-
value: any;
|
|
7
|
-
dataResources?: DataResource[];
|
|
8
|
-
constraint?: Constraint;
|
|
9
|
-
summary?: string;
|
|
10
|
-
rowSpan: number;
|
|
11
|
-
colSpan: number;
|
|
12
|
-
cssClass: string;
|
|
13
|
-
isValue?: boolean;
|
|
14
|
-
isHeader?: boolean;
|
|
15
|
-
isAttributeHeader?: boolean;
|
|
16
|
-
isSummary?: boolean;
|
|
17
|
-
background?: string;
|
|
18
|
-
label?: string;
|
|
19
|
-
stickyTop?: boolean;
|
|
20
|
-
stickyStart?: boolean;
|
|
21
|
-
rowIndexes?: number[];
|
|
22
|
-
childIndexes?: number[];
|
|
23
|
-
originalRowIndex?: number;
|
|
24
|
-
expandable?: boolean;
|
|
25
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { LmrPivotColumnAttribute, LmrPivotRowAttribute, LmrPivotValueAttribute } from './lmr-pivot-config';
|
|
2
|
-
export interface LmrSimplePivotConfig {
|
|
3
|
-
rowAttributes: LmrSimplePivotRowAttribute[];
|
|
4
|
-
columnAttributes: LmrSimplePivotColumnAttribute[];
|
|
5
|
-
valueAttributes: LmrSimplePivotValueAttribute[];
|
|
6
|
-
}
|
|
7
|
-
export type LmrSimplePivotRowAttribute = Omit<LmrPivotRowAttribute, 'resourceType' | 'resourceId' | 'resourceIndex'>;
|
|
8
|
-
export type LmrSimplePivotColumnAttribute = Omit<LmrPivotColumnAttribute, 'resourceType' | 'resourceId' | 'resourceIndex'>;
|
|
9
|
-
export type LmrSimplePivotValueAttribute = Omit<LmrPivotValueAttribute, 'resourceType' | 'resourceId' | 'resourceIndex'>;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ConstraintData, DataAggregationType, DocumentsAndLinksData, Collection, LinkType, Query } from '@lumeer/data-filters';
|
|
2
|
-
import { LmrPivotConfig, LmrPivotTransform } from './lmr-pivot-config';
|
|
3
|
-
import { LmrPivotData } from './lmr-pivot-data';
|
|
4
|
-
export declare class PivotDataConverter {
|
|
5
|
-
private collections;
|
|
6
|
-
private linkTypes;
|
|
7
|
-
private collectionsAttributesMap;
|
|
8
|
-
private linkTypesAttributesMap;
|
|
9
|
-
private data;
|
|
10
|
-
private config;
|
|
11
|
-
private transform;
|
|
12
|
-
private constraintData;
|
|
13
|
-
private dataAggregator;
|
|
14
|
-
constructor();
|
|
15
|
-
private formatPivotValue;
|
|
16
|
-
private formatDataValue;
|
|
17
|
-
private updateData;
|
|
18
|
-
createData(config: LmrPivotConfig, transform: LmrPivotTransform, collections: Collection[], linkTypes: LinkType[], data: DocumentsAndLinksData, query: Query, constraintData?: ConstraintData): LmrPivotData;
|
|
19
|
-
private filterEmptyConfigs;
|
|
20
|
-
private createPivotMergeData;
|
|
21
|
-
private mergePivotData;
|
|
22
|
-
private transformStems;
|
|
23
|
-
private mapStickyValues;
|
|
24
|
-
private pivotAttributeConstraint;
|
|
25
|
-
private pivotAttributeAttribute;
|
|
26
|
-
private mergeAggregatedData;
|
|
27
|
-
private mergeMaps;
|
|
28
|
-
private getAttributesColors;
|
|
29
|
-
private convertPivotRowColumnAttribute;
|
|
30
|
-
private convertPivotAttribute;
|
|
31
|
-
private convertValueAttributes;
|
|
32
|
-
private findDataResourcesByPivotAttribute;
|
|
33
|
-
private convertAggregatedData;
|
|
34
|
-
private convertMapToPivotDataHeader;
|
|
35
|
-
private iterateThroughPivotDataHeader;
|
|
36
|
-
private numChildren;
|
|
37
|
-
private numChildrenRecursive;
|
|
38
|
-
private createValueTitles;
|
|
39
|
-
createValueTitle(aggregation: DataAggregationType, attributeName: string): string;
|
|
40
|
-
private initMatrix;
|
|
41
|
-
private fillValues;
|
|
42
|
-
private iterateThroughRowHeaders;
|
|
43
|
-
private iterateThroughColumnHeaders;
|
|
44
|
-
private aggregateValue;
|
|
45
|
-
private findAttributeByPivotAttribute;
|
|
46
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { ConstraintData } from '@lumeer/data-filters';
|
|
2
|
-
import { LmrPivotData, LmrPivotStemData } from './lmr-pivot-data';
|
|
3
|
-
import { LmrPivotTable } from './lmr-pivot-table';
|
|
4
|
-
import { LmrPivotTransform } from './lmr-pivot-config';
|
|
5
|
-
export declare class PivotTableConverter {
|
|
6
|
-
static readonly emptyClass = "pivot-empty-cell";
|
|
7
|
-
static readonly dataClass = "pivot-data-cell";
|
|
8
|
-
static readonly groupDataClass = "pivot-data-group-cell";
|
|
9
|
-
static readonly rowHeaderClass = "pivot-row-header-cell";
|
|
10
|
-
static readonly rowGroupHeaderClass = "pivot-row-group-header-cell";
|
|
11
|
-
static readonly rowAttributeHeaderClass = "pivot-row-attribute-header-cell";
|
|
12
|
-
static readonly columnHeaderClass = "pivot-column-header-cell";
|
|
13
|
-
static readonly columnGroupHeaderClass = "pivot-column-group-header-cell";
|
|
14
|
-
private readonly groupColors;
|
|
15
|
-
private readonly percentageConstraint;
|
|
16
|
-
private data;
|
|
17
|
-
private transform;
|
|
18
|
-
private values;
|
|
19
|
-
private dataResources;
|
|
20
|
-
private constraintData;
|
|
21
|
-
private rowLevels;
|
|
22
|
-
private rowsTransformationArray;
|
|
23
|
-
private columnLevels;
|
|
24
|
-
private columnsTransformationArray;
|
|
25
|
-
private valueTypeInfo;
|
|
26
|
-
private nonStickyRowIndex;
|
|
27
|
-
private nonStickyColumnIndex;
|
|
28
|
-
createTables(pivotData: LmrPivotData, transform: LmrPivotTransform): LmrPivotTable[];
|
|
29
|
-
private dataAreEmpty;
|
|
30
|
-
private updateData;
|
|
31
|
-
private get rowShowSums();
|
|
32
|
-
private get columnShowSums();
|
|
33
|
-
private transformData;
|
|
34
|
-
private fillCellsByRows;
|
|
35
|
-
private iterateAndFillCellsByRows;
|
|
36
|
-
private fillCellsForExpressions;
|
|
37
|
-
private splitRowGroupHeader;
|
|
38
|
-
private formatSummaryHeader;
|
|
39
|
-
private formatRowHeader;
|
|
40
|
-
private formatColumnHeader;
|
|
41
|
-
private getHeaderBackground;
|
|
42
|
-
private getLevelOpacity;
|
|
43
|
-
private isRowLevelSticky;
|
|
44
|
-
private isColumnLevelSticky;
|
|
45
|
-
private getSummaryBackground;
|
|
46
|
-
private fillCellsForRow;
|
|
47
|
-
private getValueIndexForColumns;
|
|
48
|
-
private formatValueByValueType;
|
|
49
|
-
private formatGroupedValueByValueType;
|
|
50
|
-
private formatValueByPercentage;
|
|
51
|
-
private formatValueByConstraint;
|
|
52
|
-
private fillCellsForGroupedRow;
|
|
53
|
-
private fillCellsForExpressionRow;
|
|
54
|
-
private evaluateExpression;
|
|
55
|
-
private evaluateOperand;
|
|
56
|
-
private transformRowIndexes;
|
|
57
|
-
private getGroupedValuesForRowsAndCols;
|
|
58
|
-
private fillCellsByColumns;
|
|
59
|
-
private iterateAndFillCellsByColumns;
|
|
60
|
-
private fillCellsForGroupedColumn;
|
|
61
|
-
private aggregateAndFormatDataValues;
|
|
62
|
-
private aggregateDataValues;
|
|
63
|
-
private aggregationByColumns;
|
|
64
|
-
private fillCellsForColumn;
|
|
65
|
-
private aggregateOrFormatSingleValue;
|
|
66
|
-
private fillCellsByGroupIntersection;
|
|
67
|
-
private getValuesIndexesFromCellsIndexes;
|
|
68
|
-
private fillRowWithColor;
|
|
69
|
-
private fillColumnWithColor;
|
|
70
|
-
private initCells;
|
|
71
|
-
private getRowsCount;
|
|
72
|
-
private getColumnsCount;
|
|
73
|
-
}
|
|
74
|
-
export declare function sortPivotData(data: LmrPivotStemData, constraintData: ConstraintData): LmrPivotStemData;
|