@lightdash/common 0.1374.0 → 0.1374.1
Sign up to get free protection for your applications and to get access to all the features.
package/dist/types/filter.d.ts
CHANGED
@@ -94,6 +94,7 @@ export declare const isMetricFilterTarget: (value: unknown) => value is {
|
|
94
94
|
export declare const getFilterRules: (filters: Filters) => FilterRule[];
|
95
95
|
export declare const updateFieldIdInFilterGroupItem: (filterGroupItem: FilterGroupItem, previousName: string, newName: string) => void;
|
96
96
|
export declare const updateFieldIdInFilters: (filterGroup: FilterGroup | undefined, previousName: string, newName: string) => void;
|
97
|
+
export declare const updateFilterValueInFilters: (filterGroup: FilterGroup | undefined, valueChange: (fieldId: string, oldValue: any[] | undefined) => any[] | undefined) => void;
|
97
98
|
export declare const removeFieldFromFilterGroup: (filterGroup: FilterGroup | undefined, fieldId: string) => FilterGroup | undefined;
|
98
99
|
export declare const applyDimensionOverrides: (dashboardFilters: DashboardFilters, overrides: DashboardFilters | SchedulerFilterRule[]) => DashboardFilterRule<ConditionalOperator, DashboardFieldTarget, any, any>[];
|
99
100
|
export declare const isDashboardFilterRule: (value: ConditionalRule) => value is DashboardFilterRule<ConditionalOperator, DashboardFieldTarget, any, any>;
|
package/dist/types/filter.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.FilterOperator = exports.isFilterRuleDefinedForFieldId = exports.compressDashboardFiltersToParam = exports.convertDashboardFiltersParamToDashboardFilters = exports.convertDashboardFiltersToFilters = exports.FilterGroupOperator = exports.isDashboardFilterRule = exports.applyDimensionOverrides = exports.removeFieldFromFilterGroup = exports.updateFieldIdInFilters = exports.updateFieldIdInFilterGroupItem = exports.getFilterRules = exports.isMetricFilterTarget = exports.isFilterTarget = exports.isFilterRule = exports.isFilterGroup = exports.isAndFilterGroup = exports.isOrFilterGroup = exports.unitOfTimeFormat = exports.UnitOfTime = exports.FilterType = void 0;
|
3
|
+
exports.FilterOperator = exports.isFilterRuleDefinedForFieldId = exports.compressDashboardFiltersToParam = exports.convertDashboardFiltersParamToDashboardFilters = exports.convertDashboardFiltersToFilters = exports.FilterGroupOperator = exports.isDashboardFilterRule = exports.applyDimensionOverrides = exports.removeFieldFromFilterGroup = exports.updateFilterValueInFilters = exports.updateFieldIdInFilters = exports.updateFieldIdInFilterGroupItem = exports.getFilterRules = exports.isMetricFilterTarget = exports.isFilterTarget = exports.isFilterRule = exports.isFilterGroup = exports.isAndFilterGroup = exports.isOrFilterGroup = exports.unitOfTimeFormat = exports.UnitOfTime = exports.FilterType = void 0;
|
4
4
|
const conditionalRule_1 = require("./conditionalRule");
|
5
5
|
Object.defineProperty(exports, "FilterOperator", { enumerable: true, get: function () { return conditionalRule_1.ConditionalOperator; } });
|
6
6
|
var FilterType;
|
@@ -96,6 +96,27 @@ const updateFieldIdInFilters = (filterGroup, previousName, newName) => {
|
|
96
96
|
}
|
97
97
|
};
|
98
98
|
exports.updateFieldIdInFilters = updateFieldIdInFilters;
|
99
|
+
const updateFilterValueInFilters = (filterGroup, valueChange) => {
|
100
|
+
const updateFilterValueInFilterGroupItem = (filterGroupItem) => {
|
101
|
+
if ((0, exports.isFilterGroup)(filterGroupItem)) {
|
102
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
103
|
+
(0, exports.updateFilterValueInFilters)(filterGroupItem, valueChange);
|
104
|
+
}
|
105
|
+
else {
|
106
|
+
// eslint-disable-next-line no-param-reassign
|
107
|
+
filterGroupItem.values = valueChange(filterGroupItem.target.fieldId, filterGroupItem.values);
|
108
|
+
}
|
109
|
+
};
|
110
|
+
if (filterGroup) {
|
111
|
+
if ((0, exports.isOrFilterGroup)(filterGroup)) {
|
112
|
+
filterGroup.or.forEach((item) => updateFilterValueInFilterGroupItem(item));
|
113
|
+
}
|
114
|
+
else if ((0, exports.isAndFilterGroup)(filterGroup)) {
|
115
|
+
filterGroup.and.forEach((item) => updateFilterValueInFilterGroupItem(item));
|
116
|
+
}
|
117
|
+
}
|
118
|
+
};
|
119
|
+
exports.updateFilterValueInFilters = updateFilterValueInFilters;
|
99
120
|
const removeFieldFromFilterGroup = (filterGroup, fieldId) => {
|
100
121
|
if (!filterGroup) {
|
101
122
|
return undefined;
|
@@ -6,6 +6,7 @@ export declare const currencies: string[];
|
|
6
6
|
export declare const formatBoolean: <T>(v: T) => "True" | "False";
|
7
7
|
export declare const getDateFormat: (timeInterval?: TimeFrames | undefined) => string;
|
8
8
|
export declare const isMomentInput: (value: unknown) => value is moment.MomentInput;
|
9
|
+
export declare function getFirstDayOfQuarter(date: string, convertToUTC?: boolean): string;
|
9
10
|
export declare function formatDate(date: MomentInput, timeInterval?: TimeFrames, convertToUTC?: boolean): string;
|
10
11
|
export declare function formatTimestamp(value: MomentInput, timeInterval?: TimeFrames | undefined, convertToUTC?: boolean): string;
|
11
12
|
export declare function getLocalTimeDisplay(value: MomentInput, showTimezone?: boolean): string;
|
package/dist/utils/formatting.js
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.formatItemValue = exports.applyCustomFormat = exports.getCustomFormat = exports.getCustomFormatFromLegacy = exports.formatNumberValue = exports.isNumber = exports.valueIsNaN = exports.parseTimestamp = exports.parseDate = exports.getLocalTimeDisplay = exports.formatTimestamp = exports.formatDate = exports.isMomentInput = exports.getDateFormat = exports.formatBoolean = exports.currencies = void 0;
|
3
|
+
exports.formatItemValue = exports.applyCustomFormat = exports.getCustomFormat = exports.getCustomFormatFromLegacy = exports.formatNumberValue = exports.isNumber = exports.valueIsNaN = exports.parseTimestamp = exports.parseDate = exports.getLocalTimeDisplay = exports.formatTimestamp = exports.formatDate = exports.getFirstDayOfQuarter = exports.isMomentInput = exports.getDateFormat = exports.formatBoolean = exports.currencies = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
5
|
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
6
|
+
const quarterOfYear_1 = tslib_1.__importDefault(require("dayjs/plugin/quarterOfYear"));
|
6
7
|
const timezone_1 = tslib_1.__importDefault(require("dayjs/plugin/timezone"));
|
7
8
|
const moment_1 = tslib_1.__importDefault(require("moment"));
|
8
9
|
const field_1 = require("../types/field");
|
@@ -11,6 +12,7 @@ const timeFrames_1 = require("../types/timeFrames");
|
|
11
12
|
const assertUnreachable_1 = tslib_1.__importDefault(require("./assertUnreachable"));
|
12
13
|
const item_1 = require("./item");
|
13
14
|
dayjs_1.default.extend(timezone_1.default);
|
15
|
+
dayjs_1.default.extend(quarterOfYear_1.default);
|
14
16
|
exports.currencies = [
|
15
17
|
'USD',
|
16
18
|
'EUR',
|
@@ -90,6 +92,11 @@ const isMomentInput = (value) => typeof value === 'string' ||
|
|
90
92
|
value instanceof moment_1.default ||
|
91
93
|
value instanceof dayjs_1.default;
|
92
94
|
exports.isMomentInput = isMomentInput;
|
95
|
+
function getFirstDayOfQuarter(date, convertToUTC = false) {
|
96
|
+
const momentDate = convertToUTC ? (0, dayjs_1.default)(date).utc() : (0, dayjs_1.default)(date);
|
97
|
+
return momentDate.startOf('quarter').format('YYYY-MM-DD');
|
98
|
+
}
|
99
|
+
exports.getFirstDayOfQuarter = getFirstDayOfQuarter;
|
93
100
|
function formatDate(date, timeInterval = timeFrames_1.TimeFrames.DAY, convertToUTC = false) {
|
94
101
|
const momentDate = convertToUTC ? (0, moment_1.default)(date).utc() : (0, moment_1.default)(date);
|
95
102
|
return momentDate.format((0, exports.getDateFormat)(timeInterval));
|