@qrvey/utils 1.5.0 → 1.6.0-0-to-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/dist/cjs/column_format/helpers/columnTypeByChart.d.ts +1 -1
- package/dist/cjs/column_format/helpers/defineTableChartFormat.js +2 -2
- package/dist/cjs/column_format/helpers/defineXYChartFormat.js +9 -2
- package/dist/cjs/column_format/interfaces/IChartColumn.d.ts +2 -0
- package/dist/cjs/columns/constants/COLUMN.d.ts +1 -0
- package/dist/cjs/columns/constants/COLUMN.js +1 -0
- package/dist/cjs/columns/constants/COLUMNS.js +1 -0
- package/dist/cjs/columns/constants/COLUMN_INFO.js +7 -0
- package/dist/cjs/columns/constants/COLUMN_INFO_LIST.js +1 -0
- package/dist/cjs/columns/constants/COLUMN_LABEL.d.ts +1 -0
- package/dist/cjs/columns/constants/COLUMN_LABEL.js +1 -1
- package/dist/cjs/columns/constants/COLUMN_PROPERTY_INFO.js +1 -1
- package/dist/cjs/columns/constants/COLUMN_PROPERTY_LABEL.d.ts +4 -0
- package/dist/cjs/columns/constants/COLUMN_PROPERTY_LABEL.js +2 -1
- package/dist/cjs/columns/interfaces/IColumnTimeGroupSettings.d.ts +7 -0
- package/dist/cjs/columns/interfaces/IColumnTimeGroupSettings.js +2 -0
- package/dist/cjs/dates/adapters/hmsToDate.d.ts +7 -0
- package/dist/cjs/dates/adapters/hmsToDate.js +24 -0
- package/dist/cjs/dates/adapters/index.d.ts +1 -0
- package/dist/cjs/dates/adapters/index.js +1 -0
- package/dist/cjs/dates/constants/TIME_GROUPING_PROPERTY_INFO.d.ts +5 -0
- package/dist/cjs/dates/constants/TIME_GROUPING_PROPERTY_INFO.js +31 -0
- package/dist/cjs/dates/constants/TIME_GROUPING_PROPERTY_INFO_LIST.d.ts +2 -0
- package/dist/cjs/dates/constants/TIME_GROUPING_PROPERTY_INFO_LIST.js +10 -0
- package/dist/cjs/dates/constants/TIME_GROUPING_PROPERTY_LABEL.d.ts +5 -0
- package/dist/cjs/dates/constants/TIME_GROUPING_PROPERTY_LABEL.js +9 -0
- package/dist/cjs/dates/constants/index.d.ts +3 -0
- package/dist/cjs/dates/constants/index.js +3 -0
- package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +3 -1
- package/dist/cjs/filters/helpers/backend/getBackendProperty.js +2 -1
- package/dist/cjs/filters/services/UChartApi.js +6 -2
- package/dist/cjs/filters/services/UChartPaginationApi.js +6 -2
- package/dist/cjs/format/definition.d.ts +1 -0
- package/dist/cjs/format/definition.js +2 -1
- package/dist/cjs/format/format.d.ts +12 -0
- package/dist/cjs/format/format.js +32 -4
- package/dist/cjs/globalization/interfaces/common/II18nColumnProperties.d.ts +3 -0
- package/dist/cjs/globalization/labels/common/I18N_COLUMN_LABEL.d.ts +1 -0
- package/dist/cjs/globalization/labels/common/I18N_COLUMN_LABEL.js +1 -0
- package/dist/cjs/globalization/labels/common/I18N_COLUMN_PROPERTY_LABEL.js +3 -0
- package/dist/cjs/qrvey/helpers/transformValue.js +5 -0
- package/dist/column_format/helpers/columnTypeByChart.d.ts +1 -1
- package/dist/column_format/helpers/defineTableChartFormat.js +2 -2
- package/dist/column_format/helpers/defineXYChartFormat.js +9 -2
- package/dist/column_format/interfaces/IChartColumn.d.ts +2 -0
- package/dist/columns/constants/COLUMN.d.ts +1 -0
- package/dist/columns/constants/COLUMN.js +1 -0
- package/dist/columns/constants/COLUMNS.js +1 -0
- package/dist/columns/constants/COLUMN_INFO.js +7 -0
- package/dist/columns/constants/COLUMN_INFO_LIST.js +1 -0
- package/dist/columns/constants/COLUMN_LABEL.d.ts +1 -0
- package/dist/columns/constants/COLUMN_LABEL.js +1 -1
- package/dist/columns/constants/COLUMN_PROPERTY_INFO.js +1 -1
- package/dist/columns/constants/COLUMN_PROPERTY_LABEL.d.ts +4 -0
- package/dist/columns/constants/COLUMN_PROPERTY_LABEL.js +2 -1
- package/dist/columns/interfaces/IColumnTimeGroupSettings.d.ts +7 -0
- package/dist/columns/interfaces/IColumnTimeGroupSettings.js +1 -0
- package/dist/dates/adapters/hmsToDate.d.ts +7 -0
- package/dist/dates/adapters/hmsToDate.js +20 -0
- package/dist/dates/adapters/index.d.ts +1 -0
- package/dist/dates/adapters/index.js +1 -0
- package/dist/dates/constants/TIME_GROUPING_PROPERTY_INFO.d.ts +5 -0
- package/dist/dates/constants/TIME_GROUPING_PROPERTY_INFO.js +28 -0
- package/dist/dates/constants/TIME_GROUPING_PROPERTY_INFO_LIST.d.ts +2 -0
- package/dist/dates/constants/TIME_GROUPING_PROPERTY_INFO_LIST.js +7 -0
- package/dist/dates/constants/TIME_GROUPING_PROPERTY_LABEL.d.ts +5 -0
- package/dist/dates/constants/TIME_GROUPING_PROPERTY_LABEL.js +6 -0
- package/dist/dates/constants/index.d.ts +3 -0
- package/dist/dates/constants/index.js +3 -0
- package/dist/filters/helpers/backend/getBackendGroupValue.js +3 -1
- package/dist/filters/helpers/backend/getBackendProperty.js +2 -1
- package/dist/filters/services/UChartApi.js +6 -2
- package/dist/filters/services/UChartPaginationApi.js +6 -2
- package/dist/format/definition.d.ts +1 -0
- package/dist/format/definition.js +1 -0
- package/dist/format/format.d.ts +12 -0
- package/dist/format/format.js +30 -4
- package/dist/globalization/interfaces/common/II18nColumnProperties.d.ts +3 -0
- package/dist/globalization/labels/common/I18N_COLUMN_LABEL.d.ts +1 -0
- package/dist/globalization/labels/common/I18N_COLUMN_LABEL.js +1 -0
- package/dist/globalization/labels/common/I18N_COLUMN_PROPERTY_LABEL.js +3 -0
- package/dist/qrvey/helpers/transformValue.js +5 -0
- package/package.json +1 -1
|
@@ -13,4 +13,4 @@ import { IChartShelfType } from "../interfaces/IChartShelfType";
|
|
|
13
13
|
* grouped.
|
|
14
14
|
* @returns The column type of the column.
|
|
15
15
|
*/
|
|
16
|
-
export declare const columnTypeByChart: (column: IChartColumn, shelfType: IChartShelfType, chartGroup: IChartGroupType, isGroupedTable?: boolean) => import("../..").COMPLEX_COLUMN | import("../..").COMPOUND_COLUMN | NUMERICAL_COLUMN | COLUMN.SINGLE_CHOICE | COLUMN.MULTIPLE_CHOICE | COLUMN.YES_NO | COLUMN.RANKING | COLUMN.DATE | COLUMN.SIGNATURE | COLUMN.DROPDOWN | COLUMN.IMAGE | COLUMN.EMAIL_FORM | COLUMN.PHONE | COLUMN.PASSWORD | COLUMN.CHECKLIST | COLUMN.NPS_SCORE | COLUMN.NPS_FEEDBACK | COLUMN.TEXT_LABEL | COLUMN.TEXT_CATEGORY | COLUMN.LOOKUP | COLUMN.HEADLINE | COLUMN.SECTION | COLUMN.AGGREGATED_FORMULA | COLUMN.BUCKET | COLUMN.SLIDEBAR | COLUMN.NUMERIC | COLUMN.NUMERICC | COLUMN.NUMERICP | COLUMN.NUMERICG | COLUMN.RATING | COLUMN.TEXTFIELD | COLUMN.LONGTEXT | COLUMN.IMAGEUPLOAD | COLUMN.FILEUPLOAD | COLUMN.EXPRESSION | COLUMN.NAME | COLUMN.USADDRESS | COLUMN.ADDRESS | "DATE" | "NUMERIC" | "TEXT_LABEL";
|
|
16
|
+
export declare const columnTypeByChart: (column: IChartColumn, shelfType: IChartShelfType, chartGroup: IChartGroupType, isGroupedTable?: boolean) => import("../..").COMPLEX_COLUMN | import("../..").COMPOUND_COLUMN | NUMERICAL_COLUMN | COLUMN.SINGLE_CHOICE | COLUMN.MULTIPLE_CHOICE | COLUMN.YES_NO | COLUMN.RANKING | COLUMN.DATE | COLUMN.TIME | COLUMN.SIGNATURE | COLUMN.DROPDOWN | COLUMN.IMAGE | COLUMN.EMAIL_FORM | COLUMN.PHONE | COLUMN.PASSWORD | COLUMN.CHECKLIST | COLUMN.NPS_SCORE | COLUMN.NPS_FEEDBACK | COLUMN.TEXT_LABEL | COLUMN.TEXT_CATEGORY | COLUMN.LOOKUP | COLUMN.HEADLINE | COLUMN.SECTION | COLUMN.AGGREGATED_FORMULA | COLUMN.BUCKET | COLUMN.SLIDEBAR | COLUMN.NUMERIC | COLUMN.NUMERICC | COLUMN.NUMERICP | COLUMN.NUMERICG | COLUMN.RATING | COLUMN.TEXTFIELD | COLUMN.LONGTEXT | COLUMN.IMAGEUPLOAD | COLUMN.FILEUPLOAD | COLUMN.EXPRESSION | COLUMN.NAME | COLUMN.USADDRESS | COLUMN.ADDRESS | "DATE" | "NUMERIC" | "TEXT_LABEL";
|
|
@@ -49,13 +49,13 @@ const defineTableChartFormat = (column, settings) => {
|
|
|
49
49
|
if (noFormatSupported) {
|
|
50
50
|
return STRING_FORMAT_1.STRING_FORMAT.NONE;
|
|
51
51
|
}
|
|
52
|
+
if (selectedFormat)
|
|
53
|
+
return selectedFormat;
|
|
52
54
|
if (hasDefaultFormat) {
|
|
53
55
|
const columnDefaultFormat = defaultFormat ||
|
|
54
56
|
outputFormat || { type: "DATE", format: "MM/DD/YYYY" };
|
|
55
57
|
return Object.assign(Object.assign({}, defaultFormat), { format: defaultText, originalFormat: Object.assign({}, columnDefaultFormat), type: "DATE" });
|
|
56
58
|
}
|
|
57
|
-
if (selectedFormat)
|
|
58
|
-
return selectedFormat;
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
case COLUMN_1.COLUMN.NUMERIC:
|
|
@@ -6,6 +6,7 @@ const COLUMN_1 = require("../../columns/constants/COLUMN");
|
|
|
6
6
|
const definition_1 = require("../../format/definition");
|
|
7
7
|
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
8
8
|
const CALCULATION_LABEL_1 = require("../../qrvey/constants/CALCULATION_LABEL");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
9
10
|
const CHART_GROUP_1 = require("../constants/CHART_GROUP");
|
|
10
11
|
const DATEGROUP_UNSUPPORT_FORMAT_1 = require("../constants/DATEGROUP_UNSUPPORT_FORMAT");
|
|
11
12
|
const STRING_FORMAT_1 = require("../constants/STRING_FORMAT");
|
|
@@ -18,7 +19,7 @@ const columnTypeByChart_1 = require("./columnTypeByChart");
|
|
|
18
19
|
* @param {IColumnFormatSettings} settings - IColumnFormatSettings
|
|
19
20
|
*/
|
|
20
21
|
const defineXYChartFormat = (column, settings) => {
|
|
21
|
-
const { aggregate, type, defaultFormat, outputFormat, selectedFormat, dateGroup, calculation, } = column;
|
|
22
|
+
const { aggregate, type, defaultFormat, outputFormat, selectedFormat, dateGroup, timeGroup, calculation, } = column;
|
|
22
23
|
const { shelfType, withoutFormat } = settings;
|
|
23
24
|
const columnDefaultFormat = defaultFormat || outputFormat;
|
|
24
25
|
//Defaults
|
|
@@ -30,7 +31,7 @@ const defineXYChartFormat = (column, settings) => {
|
|
|
30
31
|
format: "Percentage" /* LOCALE_FORMATS.PERCENTAGE */,
|
|
31
32
|
};
|
|
32
33
|
const columnType = (0, columnTypeByChart_1.columnTypeByChart)(column, shelfType, CHART_GROUP_1.CHART_GROUPS.XY);
|
|
33
|
-
const noFormatSupported = DATEGROUP_UNSUPPORT_FORMAT_1.DATEGROUP_UNSUPPORT_FORMAT.some((gp) => gp === (dateGroup === null || dateGroup === void 0 ? void 0 : dateGroup.label));
|
|
34
|
+
const noFormatSupported = DATEGROUP_UNSUPPORT_FORMAT_1.DATEGROUP_UNSUPPORT_FORMAT.some((gp) => gp === (dateGroup === null || dateGroup === void 0 ? void 0 : dateGroup.label) || gp === (timeGroup === null || timeGroup === void 0 ? void 0 : timeGroup.label));
|
|
34
35
|
const isUsedAsNumericColumn = type !== columnType;
|
|
35
36
|
const columnCurrentFormat = isUsedAsNumericColumn
|
|
36
37
|
? selectedFormat
|
|
@@ -50,6 +51,7 @@ const defineXYChartFormat = (column, settings) => {
|
|
|
50
51
|
case COLUMN_1.COLUMN.IMAGE:
|
|
51
52
|
case COLUMN_1.COLUMN.TEXT_LABEL:
|
|
52
53
|
return STRING_FORMAT_1.STRING_FORMAT.NONE;
|
|
54
|
+
case COLUMN_1.COLUMN.TIME:
|
|
53
55
|
case COLUMN_1.COLUMN.DATE: {
|
|
54
56
|
if (noFormatSupported) {
|
|
55
57
|
return STRING_FORMAT_1.STRING_FORMAT.NONE;
|
|
@@ -57,6 +59,11 @@ const defineXYChartFormat = (column, settings) => {
|
|
|
57
59
|
else if (hasDefaultFormat) {
|
|
58
60
|
return Object.assign(Object.assign({}, columnDefaultFormat), { format: defaultText, originalFormat: Object.assign({}, outputFormat) });
|
|
59
61
|
}
|
|
62
|
+
else if (columnType === COLUMN_1.COLUMN.TIME &&
|
|
63
|
+
shelfType === constants_1.SHELF_TYPE.SERIES &&
|
|
64
|
+
(selectedFormat === null || selectedFormat === void 0 ? void 0 : selectedFormat.type) !== COLUMN_1.COLUMN.TIME) {
|
|
65
|
+
return outputFormat;
|
|
66
|
+
}
|
|
60
67
|
return selectedFormat;
|
|
61
68
|
}
|
|
62
69
|
case COLUMN_1.COLUMN.NUMERIC:
|
|
@@ -2,12 +2,14 @@ import { IColumnSortingSettings, IColumnType, IFormatOutputFormat, IFormulaType
|
|
|
2
2
|
import { IColumnAggregate } from "../../columns/interfaces/IColumnAggregate";
|
|
3
3
|
import { IColumnDateGroupSettings } from "../../columns/interfaces/IColumnDateGroupSettings";
|
|
4
4
|
import { IColumnScale } from "../../columns/interfaces/IColumnScale";
|
|
5
|
+
import { IColumnTimeGroupSettings } from "../../columns/interfaces/IColumnTimeGroupSettings";
|
|
5
6
|
import { IColumnCalculation } from "../../columns/interfaces/IColunmCalculation";
|
|
6
7
|
import { IFormatDefaultFormat } from "../../interfaces/format/IFormatDefaultFormat";
|
|
7
8
|
export interface IChartColumn {
|
|
8
9
|
aggregate: IColumnAggregate;
|
|
9
10
|
colIndex: number;
|
|
10
11
|
dateGroup?: IColumnDateGroupSettings;
|
|
12
|
+
timeGroup?: IColumnTimeGroupSettings;
|
|
11
13
|
defaultFormat: IFormatDefaultFormat;
|
|
12
14
|
format?: string;
|
|
13
15
|
formulaType?: IFormulaType;
|
|
@@ -44,6 +44,13 @@ exports.COLUMN_INFO = Object.assign(Object.assign(Object.assign({ [COLUMN_1.COLU
|
|
|
44
44
|
value: COLUMN_1.COLUMN.DATE,
|
|
45
45
|
displayed: true,
|
|
46
46
|
i18nLabelPath: "common.column_types.date_label",
|
|
47
|
+
}, [COLUMN_1.COLUMN.TIME]: {
|
|
48
|
+
label: COLUMN_LABEL_1.COLUMN_LABEL.TIME,
|
|
49
|
+
shortLabel: "Time",
|
|
50
|
+
abbrLabel: "TI",
|
|
51
|
+
value: COLUMN_1.COLUMN.TIME,
|
|
52
|
+
displayed: true,
|
|
53
|
+
i18nLabelPath: "common.column_types.time_label",
|
|
47
54
|
}, [COLUMN_1.COLUMN.SIGNATURE]: {
|
|
48
55
|
label: COLUMN_LABEL_1.COLUMN_LABEL.SIGNATURE,
|
|
49
56
|
shortLabel: "Signature",
|
|
@@ -12,6 +12,7 @@ exports.COLUMN_INFO_LIST = [
|
|
|
12
12
|
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.YES_NO],
|
|
13
13
|
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.RANKING],
|
|
14
14
|
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.DATE],
|
|
15
|
+
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.TIME],
|
|
15
16
|
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.SIGNATURE],
|
|
16
17
|
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.DROPDOWN],
|
|
17
18
|
COLUMN_INFO_1.COLUMN_INFO[COLUMN_1.COLUMN.IMAGE],
|
|
@@ -4,4 +4,4 @@ exports.COLUMN_LABEL = void 0;
|
|
|
4
4
|
const COMPLEX_COLUMN_LABEL_1 = require("./COMPLEX_COLUMN_LABEL");
|
|
5
5
|
const COMPOUND_COLUMN_LABEL_1 = require("./COMPOUND_COLUMN_LABEL");
|
|
6
6
|
const NUMERICAL_COLUMN_LABEL_1 = require("./NUMERICAL_COLUMN_LABEL");
|
|
7
|
-
exports.COLUMN_LABEL = Object.assign(Object.assign(Object.assign({ SINGLE_CHOICE: "Single Choice", MULTIPLE_CHOICE: "Multiple Choice", YES_NO: "Yes No", RANKING: "Ranking", DATE: "Date", SIGNATURE: "Signature", DROPDOWN: "Dropdown", IMAGE: "Image", EMAIL_FORM: "Email Form", PHONE: "Phone", PASSWORD: "Password", CHECKLIST: "Check List", NPS_SCORE: "NPS Score", NPS_FEEDBACK: "NPS Feedback", TEXT: "Text", TEXT_LABEL: "Text Label", TEXT_CATEGORY: "Text Category", LOOKUP: "Lookup", HEADLINE: "Headline", SECTION: "Section", FORMULA: "Formula", AGGREGATED_FORMULA: "Aggregated Formula", BUCKET: "Bucket", STRING: "String" }, NUMERICAL_COLUMN_LABEL_1.NUMERICAL_COLUMN_LABEL), COMPOUND_COLUMN_LABEL_1.COMPOUND_COLUMN_LABEL), COMPLEX_COLUMN_LABEL_1.COMPLEX_COLUMN_LABEL);
|
|
7
|
+
exports.COLUMN_LABEL = Object.assign(Object.assign(Object.assign({ SINGLE_CHOICE: "Single Choice", MULTIPLE_CHOICE: "Multiple Choice", YES_NO: "Yes No", RANKING: "Ranking", DATE: "Date", TIME: "Time", SIGNATURE: "Signature", DROPDOWN: "Dropdown", IMAGE: "Image", EMAIL_FORM: "Email Form", PHONE: "Phone", PASSWORD: "Password", CHECKLIST: "Check List", NPS_SCORE: "NPS Score", NPS_FEEDBACK: "NPS Feedback", TEXT: "Text", TEXT_LABEL: "Text Label", TEXT_CATEGORY: "Text Category", LOOKUP: "Lookup", HEADLINE: "Headline", SECTION: "Section", FORMULA: "Formula", AGGREGATED_FORMULA: "Aggregated Formula", BUCKET: "Bucket", STRING: "String" }, NUMERICAL_COLUMN_LABEL_1.NUMERICAL_COLUMN_LABEL), COMPOUND_COLUMN_LABEL_1.COMPOUND_COLUMN_LABEL), COMPLEX_COLUMN_LABEL_1.COMPLEX_COLUMN_LABEL);
|
|
@@ -31,4 +31,4 @@ exports.COLUMN_PROPERTY_INFO = Object.assign(Object.assign({ [COLUMN_1.COLUMN.LO
|
|
|
31
31
|
...DATE_GROUPING_TIME_PROPERTY_INFO_LIST_1.DATE_GROUPING_TIME_PROPERTY_INFO_LIST,
|
|
32
32
|
...DATE_DISTINCT_PROPERTY_INFO_LIST_1.DATE_DISTINCT_PROPERTY_INFO_LIST,
|
|
33
33
|
...DATE_DISTINCT_TIME_PROPERTY_INFO_LIST_1.DATE_DISTINCT_TIME_PROPERTY_INFO_LIST,
|
|
34
|
-
] }, COMPOUND_COLUMN_PROPERTY_INFO_1.COMPOUND_COLUMN_PROPERTY_INFO), COMPLEX_COLUMN_PROPERTY_INFO_1.COMPLEX_COLUMN_PROPERTY_INFO);
|
|
34
|
+
], [COLUMN_1.COLUMN.TIME]: [...DATE_GROUPING_TIME_PROPERTY_INFO_LIST_1.DATE_GROUPING_TIME_PROPERTY_INFO_LIST] }, COMPOUND_COLUMN_PROPERTY_INFO_1.COMPOUND_COLUMN_PROPERTY_INFO), COMPLEX_COLUMN_PROPERTY_INFO_1.COMPLEX_COLUMN_PROPERTY_INFO);
|
|
@@ -4,6 +4,7 @@ import { DATE_DISTINCT_PROPERTY_LABEL } from "../../dates/constants/DATE_DISTINC
|
|
|
4
4
|
import { DATE_DISTINCT_TIME_PROPERTY_LABEL } from "../../dates/constants/DATE_DISTINCT_TIME_PROPERTY_LABEL";
|
|
5
5
|
import { COMPLEX_COLUMN_PROPERTY_LABEL } from "./COMPLEX_COLUMN_PROPERTY_LABEL";
|
|
6
6
|
import { COMPOUND_COLUMN_PROPERTY_LABEL } from "./COMPOUND_COLUMN_PROPERTY_LABEL";
|
|
7
|
+
import { TIME_GROUPING_PROPERTY_LABEL } from "../../dates/constants/TIME_GROUPING_PROPERTY_LABEL";
|
|
7
8
|
export declare const COLUMN_PROPERTY_LABEL: {
|
|
8
9
|
NAME_FIRST: COMPOUND_COLUMN_PROPERTY_LABEL.NAME_FIRST;
|
|
9
10
|
NAME_LAST: COMPOUND_COLUMN_PROPERTY_LABEL.NAME_LAST;
|
|
@@ -39,6 +40,9 @@ export declare const COLUMN_PROPERTY_LABEL: {
|
|
|
39
40
|
YEAR_QUARTER: DATE_DISTINCT_PROPERTY_LABEL.YEAR_QUARTER;
|
|
40
41
|
YEAR_MONTH: DATE_DISTINCT_PROPERTY_LABEL.YEAR_MONTH;
|
|
41
42
|
MONTH_DAY: DATE_DISTINCT_PROPERTY_LABEL.MONTH_DAY;
|
|
43
|
+
TIME_HOUR: TIME_GROUPING_PROPERTY_LABEL.TIME_HOUR;
|
|
44
|
+
TIME_MINUTE: TIME_GROUPING_PROPERTY_LABEL.TIME_MINUTE;
|
|
45
|
+
TIME_SECOND: TIME_GROUPING_PROPERTY_LABEL.TIME_SECOND;
|
|
42
46
|
HOUR: DATE_GROUPING_TIME_PROPERTY_LABEL.HOUR;
|
|
43
47
|
MINUTE: DATE_GROUPING_TIME_PROPERTY_LABEL.MINUTE;
|
|
44
48
|
SECOND: DATE_GROUPING_TIME_PROPERTY_LABEL.SECOND;
|
|
@@ -7,4 +7,5 @@ const DATE_DISTINCT_PROPERTY_LABEL_1 = require("../../dates/constants/DATE_DISTI
|
|
|
7
7
|
const DATE_DISTINCT_TIME_PROPERTY_LABEL_1 = require("../../dates/constants/DATE_DISTINCT_TIME_PROPERTY_LABEL");
|
|
8
8
|
const COMPLEX_COLUMN_PROPERTY_LABEL_1 = require("./COMPLEX_COLUMN_PROPERTY_LABEL");
|
|
9
9
|
const COMPOUND_COLUMN_PROPERTY_LABEL_1 = require("./COMPOUND_COLUMN_PROPERTY_LABEL");
|
|
10
|
-
|
|
10
|
+
const TIME_GROUPING_PROPERTY_LABEL_1 = require("../../dates/constants/TIME_GROUPING_PROPERTY_LABEL");
|
|
11
|
+
exports.COLUMN_PROPERTY_LABEL = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ IMAGE_ANSWER_ID: "answer_id", LOOKUP_DISPLAY: "display", LOOKUP_VALUE: "value" }, DATE_GROUPING_PROPERTY_LABEL_1.DATE_GROUPING_PROPERTY_LABEL), DATE_GROUPING_TIME_PROPERTY_LABEL_1.DATE_GROUPING_TIME_PROPERTY_LABEL), TIME_GROUPING_PROPERTY_LABEL_1.TIME_GROUPING_PROPERTY_LABEL), DATE_DISTINCT_PROPERTY_LABEL_1.DATE_DISTINCT_PROPERTY_LABEL), DATE_DISTINCT_TIME_PROPERTY_LABEL_1.DATE_DISTINCT_TIME_PROPERTY_LABEL), COMPLEX_COLUMN_PROPERTY_LABEL_1.COMPLEX_COLUMN_PROPERTY_LABEL), COMPOUND_COLUMN_PROPERTY_LABEL_1.COMPOUND_COLUMN_PROPERTY_LABEL);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transforms String time from a [H:m:s] format to Date object.
|
|
3
|
+
* @param monthYearDate String of [H:m:s] time
|
|
4
|
+
* @param time Flag to parse the object date to milliseconds.
|
|
5
|
+
* @returns The date object or the date in milliseconds. If the argument is an unexpected time, the function will return the same value
|
|
6
|
+
*/
|
|
7
|
+
export declare function hmsToDate(hmsDate: string, time?: boolean): string | Date | number;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hmsToDate = void 0;
|
|
4
|
+
const isEmpty_1 = require("../../general/mix/isEmpty");
|
|
5
|
+
const isTokenLabel_1 = require("../../tokens/isTokenLabel");
|
|
6
|
+
const DATE_FORMAT_1 = require("../constants/DATE_FORMAT");
|
|
7
|
+
const validateDate_1 = require("../helpers/validateDate");
|
|
8
|
+
/**
|
|
9
|
+
* Transforms String time from a [H:m:s] format to Date object.
|
|
10
|
+
* @param monthYearDate String of [H:m:s] time
|
|
11
|
+
* @param time Flag to parse the object date to milliseconds.
|
|
12
|
+
* @returns The date object or the date in milliseconds. If the argument is an unexpected time, the function will return the same value
|
|
13
|
+
*/
|
|
14
|
+
function hmsToDate(hmsDate, time = false) {
|
|
15
|
+
if ((0, isEmpty_1.isEmpty)(hmsDate) ||
|
|
16
|
+
(0, isTokenLabel_1.isTokenLabel)(hmsDate) ||
|
|
17
|
+
typeof hmsDate !== "string" ||
|
|
18
|
+
!(0, validateDate_1.validateDate)(hmsDate, DATE_FORMAT_1.DATE_FORMAT.DAY_TIME))
|
|
19
|
+
return hmsDate;
|
|
20
|
+
const [hour, minute, second] = hmsDate.split(":");
|
|
21
|
+
const start = new Date(0, 0, 0, +hour, +minute, +second);
|
|
22
|
+
return time ? +start : start;
|
|
23
|
+
}
|
|
24
|
+
exports.hmsToDate = hmsToDate;
|
|
@@ -4,6 +4,7 @@ export * from "./dateToMonthYear";
|
|
|
4
4
|
export * from "./dateToQuarterYear";
|
|
5
5
|
export * from "./dateToWeekYear";
|
|
6
6
|
export * from "./dateToYear";
|
|
7
|
+
export * from "./hmsToDate";
|
|
7
8
|
export * from "./mdyDateToDate";
|
|
8
9
|
export * from "./monthYearToDate";
|
|
9
10
|
export * from "./quarterYearToDate";
|
|
@@ -20,6 +20,7 @@ __exportStar(require("./dateToMonthYear"), exports);
|
|
|
20
20
|
__exportStar(require("./dateToQuarterYear"), exports);
|
|
21
21
|
__exportStar(require("./dateToWeekYear"), exports);
|
|
22
22
|
__exportStar(require("./dateToYear"), exports);
|
|
23
|
+
__exportStar(require("./hmsToDate"), exports);
|
|
23
24
|
__exportStar(require("./mdyDateToDate"), exports);
|
|
24
25
|
__exportStar(require("./monthYearToDate"), exports);
|
|
25
26
|
__exportStar(require("./quarterYearToDate"), exports);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IColumnPropertyInfo } from "../../columns/interfaces/IColumnPropertyInfo";
|
|
2
|
+
import { IColumnPropertyType } from "../../columns/interfaces/IColumnPropertyType";
|
|
3
|
+
export declare const TIME_GROUPING_PROPERTY_INFO: {
|
|
4
|
+
[key in IColumnPropertyType]?: IColumnPropertyInfo;
|
|
5
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TIME_GROUPING_PROPERTY_INFO = void 0;
|
|
4
|
+
const DATE_GROUPING_TIME_PROPERTY_1 = require("./DATE_GROUPING_TIME_PROPERTY");
|
|
5
|
+
const TIME_GROUPING_PROPERTY_LABEL_1 = require("./TIME_GROUPING_PROPERTY_LABEL");
|
|
6
|
+
exports.TIME_GROUPING_PROPERTY_INFO = {
|
|
7
|
+
[DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.HOUR]: {
|
|
8
|
+
label: TIME_GROUPING_PROPERTY_LABEL_1.TIME_GROUPING_PROPERTY_LABEL.TIME_HOUR,
|
|
9
|
+
shortLabel: "Full Hour",
|
|
10
|
+
abbrLabel: "F-H",
|
|
11
|
+
value: DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.HOUR,
|
|
12
|
+
displayed: true,
|
|
13
|
+
i18nLabelPath: "common.properties.time_hour_label",
|
|
14
|
+
},
|
|
15
|
+
[DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.MINUTE]: {
|
|
16
|
+
label: TIME_GROUPING_PROPERTY_LABEL_1.TIME_GROUPING_PROPERTY_LABEL.TIME_MINUTE,
|
|
17
|
+
shortLabel: "Full Minute",
|
|
18
|
+
abbrLabel: "F-M",
|
|
19
|
+
value: DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.MINUTE,
|
|
20
|
+
displayed: true,
|
|
21
|
+
i18nLabelPath: "common.properties.time_minute_label",
|
|
22
|
+
},
|
|
23
|
+
[DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.SECOND]: {
|
|
24
|
+
label: TIME_GROUPING_PROPERTY_LABEL_1.TIME_GROUPING_PROPERTY_LABEL.TIME_SECOND,
|
|
25
|
+
shortLabel: "Full Second",
|
|
26
|
+
abbrLabel: "F-S",
|
|
27
|
+
value: DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.SECOND,
|
|
28
|
+
displayed: true,
|
|
29
|
+
i18nLabelPath: "common.properties.time_second_label",
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TIME_GROUPING_PROPERTY_INFO_LIST = void 0;
|
|
4
|
+
const TIME_GROUPING_PROPERTY_INFO_1 = require("./TIME_GROUPING_PROPERTY_INFO");
|
|
5
|
+
const DATE_GROUPING_TIME_PROPERTY_1 = require("./DATE_GROUPING_TIME_PROPERTY");
|
|
6
|
+
exports.TIME_GROUPING_PROPERTY_INFO_LIST = [
|
|
7
|
+
TIME_GROUPING_PROPERTY_INFO_1.TIME_GROUPING_PROPERTY_INFO[DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.HOUR],
|
|
8
|
+
TIME_GROUPING_PROPERTY_INFO_1.TIME_GROUPING_PROPERTY_INFO[DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.MINUTE],
|
|
9
|
+
TIME_GROUPING_PROPERTY_INFO_1.TIME_GROUPING_PROPERTY_INFO[DATE_GROUPING_TIME_PROPERTY_1.DATE_GROUPING_TIME_PROPERTY.SECOND],
|
|
10
|
+
];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TIME_GROUPING_PROPERTY_LABEL = void 0;
|
|
4
|
+
var TIME_GROUPING_PROPERTY_LABEL;
|
|
5
|
+
(function (TIME_GROUPING_PROPERTY_LABEL) {
|
|
6
|
+
TIME_GROUPING_PROPERTY_LABEL["TIME_HOUR"] = "Full Hour";
|
|
7
|
+
TIME_GROUPING_PROPERTY_LABEL["TIME_MINUTE"] = "Full Minute";
|
|
8
|
+
TIME_GROUPING_PROPERTY_LABEL["TIME_SECOND"] = "Full Second";
|
|
9
|
+
})(TIME_GROUPING_PROPERTY_LABEL = exports.TIME_GROUPING_PROPERTY_LABEL || (exports.TIME_GROUPING_PROPERTY_LABEL = {}));
|
|
@@ -38,3 +38,6 @@ export * from "./DATE_YEAR_MONTHS_MMMM";
|
|
|
38
38
|
export * from "./DATE_YEAR_QUARTERS";
|
|
39
39
|
export * from "./DATE_YEAR_QUARTERS_RANGE";
|
|
40
40
|
export * from "./DATETIME_COLUMN_FORMAT";
|
|
41
|
+
export * from "./TIME_GROUPING_PROPERTY_INFO_LIST";
|
|
42
|
+
export * from "./TIME_GROUPING_PROPERTY_INFO";
|
|
43
|
+
export * from "./TIME_GROUPING_PROPERTY_LABEL";
|
|
@@ -54,3 +54,6 @@ __exportStar(require("./DATE_YEAR_MONTHS_MMMM"), exports);
|
|
|
54
54
|
__exportStar(require("./DATE_YEAR_QUARTERS"), exports);
|
|
55
55
|
__exportStar(require("./DATE_YEAR_QUARTERS_RANGE"), exports);
|
|
56
56
|
__exportStar(require("./DATETIME_COLUMN_FORMAT"), exports);
|
|
57
|
+
__exportStar(require("./TIME_GROUPING_PROPERTY_INFO_LIST"), exports);
|
|
58
|
+
__exportStar(require("./TIME_GROUPING_PROPERTY_INFO"), exports);
|
|
59
|
+
__exportStar(require("./TIME_GROUPING_PROPERTY_LABEL"), exports);
|
|
@@ -4,6 +4,7 @@ exports.getBackendGroupValue = void 0;
|
|
|
4
4
|
const adaptDateGroupingProperty_1 = require("../../adapters/adaptDateGroupingProperty");
|
|
5
5
|
const isDateColumn_1 = require("../../../columns/helpers/isDateColumn");
|
|
6
6
|
const isEmpty_1 = require("../../../general/mix/isEmpty");
|
|
7
|
+
const COLUMN_1 = require("../../../columns/constants/COLUMN");
|
|
7
8
|
/**
|
|
8
9
|
* Gets a group value for the backend logic structure
|
|
9
10
|
* @param filter The filter
|
|
@@ -11,7 +12,8 @@ const isEmpty_1 = require("../../../general/mix/isEmpty");
|
|
|
11
12
|
*/
|
|
12
13
|
function getBackendGroupValue(filter) {
|
|
13
14
|
if ((0, isEmpty_1.isEmpty)(filter.column.aggregate) &&
|
|
14
|
-
(0, isDateColumn_1.isDateColumn)(filter.column)
|
|
15
|
+
((0, isDateColumn_1.isDateColumn)(filter.column) ||
|
|
16
|
+
filter.column.type === COLUMN_1.COLUMN.TIME) &&
|
|
15
17
|
filter.property != null) {
|
|
16
18
|
return (0, adaptDateGroupingProperty_1.adaptDateGroupingProperty)(filter.property);
|
|
17
19
|
}
|
|
@@ -14,7 +14,8 @@ const isNullValidator_1 = require("../common/isNullValidator");
|
|
|
14
14
|
function getBackendProperty(filter) {
|
|
15
15
|
if ((0, isEmpty_1.isEmpty)(filter.column.aggregate)) {
|
|
16
16
|
if ((0, isNullValidator_1.isNullValidator)(filter.validator) ||
|
|
17
|
-
(0, isDateColumn_1.isDateColumn)(filter.column)
|
|
17
|
+
(0, isDateColumn_1.isDateColumn)(filter.column) ||
|
|
18
|
+
filter.column.type === COLUMN_1.COLUMN.TIME) {
|
|
18
19
|
return undefined;
|
|
19
20
|
}
|
|
20
21
|
else if (filter.column.type === COLUMN_1.COLUMN.EXPRESSION &&
|
|
@@ -219,7 +219,9 @@ UChartApi._getSummariesBody = (uFilter) => {
|
|
|
219
219
|
const summary = {
|
|
220
220
|
aggregate: (0, get_1._get)(column, "aggregate.label", AGGREGATE_1.AGGREGATE.COUNT),
|
|
221
221
|
questionid: column.id,
|
|
222
|
-
property: !(0, isDateColumn_1.isDateColumn)(uFilter.column)
|
|
222
|
+
property: !(0, isDateColumn_1.isDateColumn)(uFilter.column) && uFilter.column.type !== COLUMN_1.COLUMN.TIME
|
|
223
|
+
? uFilter.property
|
|
224
|
+
: undefined,
|
|
223
225
|
type: column.type,
|
|
224
226
|
};
|
|
225
227
|
let summaries = [summary];
|
|
@@ -241,7 +243,8 @@ UChartApi._refineBodies = (bodies, uFilter) => {
|
|
|
241
243
|
const _bodies = (0, cloneDeep_1.cloneDeep)(bodies);
|
|
242
244
|
if (uFilter.property != null) {
|
|
243
245
|
_bodies.forEach((body) => {
|
|
244
|
-
if ((0, isDateColumn_1.isDateColumn)(uFilter.column)
|
|
246
|
+
if ((0, isDateColumn_1.isDateColumn)(uFilter.column) ||
|
|
247
|
+
uFilter.column.type === COLUMN_1.COLUMN.TIME) {
|
|
245
248
|
body.groupType = "DATE";
|
|
246
249
|
body.groupValue = uFilter.property.toUpperCase();
|
|
247
250
|
}
|
|
@@ -261,6 +264,7 @@ UChartApi._refineBodies = (bodies, uFilter) => {
|
|
|
261
264
|
UChartApi._getValidationType = (column, validator) => {
|
|
262
265
|
if ((0, isDateColumn_1.isDateColumn)(column) ||
|
|
263
266
|
column.type === COLUMN_1.COLUMN.BUCKET ||
|
|
267
|
+
column.type === COLUMN_1.COLUMN.TIME ||
|
|
264
268
|
(0, isNumericalColumn_1.isNumericalColumn)(column)) {
|
|
265
269
|
return FILTER_VALIDATOR_1.FILTER_VALIDATOR.EQUALS;
|
|
266
270
|
}
|
|
@@ -233,7 +233,9 @@ UChartPaginationApi._getSummariesBody = (uFilter) => {
|
|
|
233
233
|
const summary = {
|
|
234
234
|
aggregate: (0, get_1._get)(column, "aggregate.label", AGGREGATE_1.AGGREGATE.COUNT),
|
|
235
235
|
questionid: column.id,
|
|
236
|
-
property: !(0, isDateColumn_1.isDateColumn)(uFilter.column)
|
|
236
|
+
property: !(0, isDateColumn_1.isDateColumn)(uFilter.column) && uFilter.column.type !== COLUMN_1.COLUMN.TIME
|
|
237
|
+
? uFilter.property
|
|
238
|
+
: undefined,
|
|
237
239
|
type: column.type,
|
|
238
240
|
};
|
|
239
241
|
let summaries = [summary];
|
|
@@ -255,7 +257,8 @@ UChartPaginationApi._refineBodies = (bodies, uFilter) => {
|
|
|
255
257
|
const _bodies = (0, cloneDeep_1.cloneDeep)(bodies);
|
|
256
258
|
if (uFilter.property != null) {
|
|
257
259
|
_bodies.forEach((body) => {
|
|
258
|
-
if ((0, isDateColumn_1.isDateColumn)(uFilter.column)
|
|
260
|
+
if ((0, isDateColumn_1.isDateColumn)(uFilter.column) ||
|
|
261
|
+
uFilter.column.type === COLUMN_1.COLUMN.TIME) {
|
|
259
262
|
body.groupType = "DATE";
|
|
260
263
|
body.groupValue = uFilter.property.toUpperCase();
|
|
261
264
|
}
|
|
@@ -275,6 +278,7 @@ UChartPaginationApi._refineBodies = (bodies, uFilter) => {
|
|
|
275
278
|
UChartPaginationApi._getValidationType = (column, validator) => {
|
|
276
279
|
if ((0, isDateColumn_1.isDateColumn)(column) ||
|
|
277
280
|
column.type === COLUMN_1.COLUMN.BUCKET ||
|
|
281
|
+
column.type === COLUMN_1.COLUMN.TIME ||
|
|
278
282
|
(0, isNumericalColumn_1.isNumericalColumn)(column)) {
|
|
279
283
|
return FILTER_VALIDATOR_1.FILTER_VALIDATOR.EQUALS;
|
|
280
284
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_OPTIONS = exports.DURATION_PARTS = exports.PARTS_REGEX = exports.DATETIME_OPTIONS = exports.CURRENCY_DEFAULT = exports.LANG_DEFAULT = exports.STANDARD_NUMERIC_FORMATS = exports.currencyISO = exports.isTextColumn = exports.supportNumericFormatting = exports.hasfileSizeProperty = exports.appliesFormatting = exports.DATEGROUP_FORMATTING_UNSUPPORT = exports.QUESTION_FORMAT_SUPPORT = exports.numericalFields = exports.complexFields = exports.textFields = void 0;
|
|
3
|
+
exports.DEFAULT_DATE = exports.DEFAULT_OPTIONS = exports.DURATION_PARTS = exports.PARTS_REGEX = exports.DATETIME_OPTIONS = exports.CURRENCY_DEFAULT = exports.LANG_DEFAULT = exports.STANDARD_NUMERIC_FORMATS = exports.currencyISO = exports.isTextColumn = exports.supportNumericFormatting = exports.hasfileSizeProperty = exports.appliesFormatting = exports.DATEGROUP_FORMATTING_UNSUPPORT = exports.QUESTION_FORMAT_SUPPORT = exports.numericalFields = exports.complexFields = exports.textFields = void 0;
|
|
4
4
|
const isComplexColumn_1 = require("../columns/helpers/isComplexColumn");
|
|
5
5
|
const COLUMN_1 = require("../columns/constants/COLUMN");
|
|
6
6
|
const Charts_Const_1 = require("../constants/Charts.Const");
|
|
@@ -140,3 +140,4 @@ exports.DEFAULT_OPTIONS = {
|
|
|
140
140
|
locale: "en-EN",
|
|
141
141
|
fractionDigits: 0,
|
|
142
142
|
};
|
|
143
|
+
exports.DEFAULT_DATE = "1/1/1970";
|
|
@@ -6,6 +6,18 @@ export declare function formatAbbreviated(num: any, decimals: any): any;
|
|
|
6
6
|
* @param bytes type number
|
|
7
7
|
*/
|
|
8
8
|
export declare function formatFileSize(bytes: number): string;
|
|
9
|
+
/**
|
|
10
|
+
* It returns true if the given string is a valid time string, and false otherwise
|
|
11
|
+
* @param {string} [timeString] - The time string to validate.
|
|
12
|
+
* @returns A boolean value.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isValidTimeString(timeString?: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* It takes a time string and a format string and returns a formatted time string
|
|
17
|
+
* @param {any} timeString - The time string to be formatted.
|
|
18
|
+
* @param {string} format - The format of the time string.
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatTime(timeString: any, format: string): any;
|
|
9
21
|
export declare const addFormat: (value: any, outputFormat?: any, config?: IFormatConfig) => any;
|
|
10
22
|
export declare const parseFormulaType: (type: string) => "DATE" | "NUMERIC" | "TEXT_LABEL";
|
|
11
23
|
export declare const validateColumnType: (column: any) => any;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.defineFormat = exports.validateColumnType = exports.parseFormulaType = exports.addFormat = exports.formatFileSize = exports.formatAbbreviated = exports.formatDate = void 0;
|
|
6
|
+
exports.defineFormat = exports.validateColumnType = exports.parseFormulaType = exports.addFormat = exports.formatTime = exports.isValidTimeString = exports.formatFileSize = exports.formatAbbreviated = exports.formatDate = void 0;
|
|
7
7
|
const d3_1 = require("d3");
|
|
8
8
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
9
|
const definition_1 = require("./definition");
|
|
@@ -105,18 +105,46 @@ function formatFileSize(bytes) {
|
|
|
105
105
|
: `${Math.round(megaBytes)} MB`;
|
|
106
106
|
}
|
|
107
107
|
exports.formatFileSize = formatFileSize;
|
|
108
|
+
/**
|
|
109
|
+
* It returns true if the given string is a valid time string, and false otherwise
|
|
110
|
+
* @param {string} [timeString] - The time string to validate.
|
|
111
|
+
* @returns A boolean value.
|
|
112
|
+
*/
|
|
113
|
+
function isValidTimeString(timeString = "") {
|
|
114
|
+
const regex = new RegExp("^(?:[01]\\d|2[0-3]):(?:[0-5]\\d):(?:[0-5]\\d)$", "g");
|
|
115
|
+
return regex.test(timeString);
|
|
116
|
+
}
|
|
117
|
+
exports.isValidTimeString = isValidTimeString;
|
|
118
|
+
/**
|
|
119
|
+
* It takes a time string and a format string and returns a formatted time string
|
|
120
|
+
* @param {any} timeString - The time string to be formatted.
|
|
121
|
+
* @param {string} format - The format of the time string.
|
|
122
|
+
*/
|
|
123
|
+
function formatTime(timeString, format) {
|
|
124
|
+
if (!format || (0, isEmpty_1.isEmpty)(timeString) || !isNaN(timeString))
|
|
125
|
+
return timeString;
|
|
126
|
+
if (!isValidTimeString(timeString))
|
|
127
|
+
return timeString;
|
|
128
|
+
return (0, dayjs_1.default)(`${definition_1.DEFAULT_DATE} ${timeString}`).format(format.replace("HH24", "HH").replace("MI", "mm").replace("SS", "ss"));
|
|
129
|
+
}
|
|
130
|
+
exports.formatTime = formatTime;
|
|
108
131
|
const addFormat = (value, outputFormat = "None", config) => {
|
|
109
|
-
var _a, _b;
|
|
132
|
+
var _a, _b, _c, _d;
|
|
110
133
|
if ((0, isEmpty_1.isEmpty)(value) || (typeof value === "object" && (0, isEmpty_1.isEmpty)(value[0])))
|
|
111
134
|
return value;
|
|
112
135
|
switch (outputFormat.type) {
|
|
136
|
+
case "TIME":
|
|
137
|
+
return formatTime(value, (outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Default" &&
|
|
138
|
+
((_a = outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.originalFormat) === null || _a === void 0 ? void 0 : _a.format)
|
|
139
|
+
? (_b = outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.originalFormat) === null || _b === void 0 ? void 0 : _b.format
|
|
140
|
+
: outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format);
|
|
113
141
|
case "DATE":
|
|
114
142
|
case "DATETIME":
|
|
115
143
|
return (config === null || config === void 0 ? void 0 : config.lang) && outputFormat.format === "Default"
|
|
116
144
|
? (0, localization_1.formatWithLocale)(value, outputFormat, config)
|
|
117
145
|
: formatDate(value, (outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format) === "Default" &&
|
|
118
|
-
((
|
|
119
|
-
? (
|
|
146
|
+
((_c = outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.originalFormat) === null || _c === void 0 ? void 0 : _c.format)
|
|
147
|
+
? (_d = outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.originalFormat) === null || _d === void 0 ? void 0 : _d.format
|
|
120
148
|
: outputFormat === null || outputFormat === void 0 ? void 0 : outputFormat.format);
|
|
121
149
|
case "NUMERIC": {
|
|
122
150
|
const parse = parseFloat(value);
|
|
@@ -10,6 +10,9 @@ export interface II18nColumnProperties {
|
|
|
10
10
|
date_hour_label: string;
|
|
11
11
|
date_minute_label: string;
|
|
12
12
|
date_second_label: string;
|
|
13
|
+
time_hour_label: string;
|
|
14
|
+
time_minute_label: string;
|
|
15
|
+
time_second_label: string;
|
|
13
16
|
date_quarter_only_label: string;
|
|
14
17
|
date_month_only_label: string;
|
|
15
18
|
date_day_only_label: string;
|
|
@@ -9,6 +9,7 @@ exports.I18N_COLUMN_LABEL = {
|
|
|
9
9
|
yes_no_label: COLUMN_LABEL_1.COLUMN_LABEL.YES_NO,
|
|
10
10
|
ranking_label: COLUMN_LABEL_1.COLUMN_LABEL.RANKING,
|
|
11
11
|
date_label: COLUMN_LABEL_1.COLUMN_LABEL.DATE,
|
|
12
|
+
time_label: COLUMN_LABEL_1.COLUMN_LABEL.TIME,
|
|
12
13
|
slidebar_label: COLUMN_LABEL_1.COLUMN_LABEL.SLIDEBAR,
|
|
13
14
|
signature_label: COLUMN_LABEL_1.COLUMN_LABEL.SIGNATURE,
|
|
14
15
|
dropdown_label: COLUMN_LABEL_1.COLUMN_LABEL.DROPDOWN,
|
|
@@ -14,6 +14,9 @@ exports.I18N_COLUMN_PROPERTY_LABEL = {
|
|
|
14
14
|
date_hour_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.HOUR,
|
|
15
15
|
date_minute_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.MINUTE,
|
|
16
16
|
date_second_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.SECOND,
|
|
17
|
+
time_hour_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.TIME_HOUR,
|
|
18
|
+
time_minute_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.TIME_MINUTE,
|
|
19
|
+
time_second_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.TIME_SECOND,
|
|
17
20
|
date_quarter_only_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.YEAR_QUARTER,
|
|
18
21
|
date_month_only_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.YEAR_MONTH,
|
|
19
22
|
date_day_only_label: COLUMN_PROPERTY_LABEL_1.COLUMN_PROPERTY_LABEL.MONTH_DAY,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.transformValue = void 0;
|
|
4
|
+
const COLUMN_1 = require("../../columns/constants/COLUMN");
|
|
4
5
|
const isDateColumn_1 = require("../../columns/helpers/isDateColumn");
|
|
5
6
|
const isNumericalColumn_1 = require("../../columns/helpers/isNumericalColumn");
|
|
6
7
|
const DATE_GROUPING_PROPERTY_1 = require("../../dates/constants/DATE_GROUPING_PROPERTY");
|
|
@@ -43,6 +44,10 @@ function getOutputFormat(settings) {
|
|
|
43
44
|
type = "DATE";
|
|
44
45
|
format = "Default";
|
|
45
46
|
}
|
|
47
|
+
else if (settings.column.type === COLUMN_1.COLUMN.TIME) {
|
|
48
|
+
type = "TIME";
|
|
49
|
+
format = "Default";
|
|
50
|
+
}
|
|
46
51
|
else if ((0, isNumericalColumn_1.isNumericalColumn)(settings.column)) {
|
|
47
52
|
type = "NUMERIC";
|
|
48
53
|
}
|
|
@@ -13,4 +13,4 @@ import { IChartShelfType } from "../interfaces/IChartShelfType";
|
|
|
13
13
|
* grouped.
|
|
14
14
|
* @returns The column type of the column.
|
|
15
15
|
*/
|
|
16
|
-
export declare const columnTypeByChart: (column: IChartColumn, shelfType: IChartShelfType, chartGroup: IChartGroupType, isGroupedTable?: boolean) => import("../..").COMPLEX_COLUMN | import("../..").COMPOUND_COLUMN | NUMERICAL_COLUMN | COLUMN.SINGLE_CHOICE | COLUMN.MULTIPLE_CHOICE | COLUMN.YES_NO | COLUMN.RANKING | COLUMN.DATE | COLUMN.SIGNATURE | COLUMN.DROPDOWN | COLUMN.IMAGE | COLUMN.EMAIL_FORM | COLUMN.PHONE | COLUMN.PASSWORD | COLUMN.CHECKLIST | COLUMN.NPS_SCORE | COLUMN.NPS_FEEDBACK | COLUMN.TEXT_LABEL | COLUMN.TEXT_CATEGORY | COLUMN.LOOKUP | COLUMN.HEADLINE | COLUMN.SECTION | COLUMN.AGGREGATED_FORMULA | COLUMN.BUCKET | COLUMN.SLIDEBAR | COLUMN.NUMERIC | COLUMN.NUMERICC | COLUMN.NUMERICP | COLUMN.NUMERICG | COLUMN.RATING | COLUMN.TEXTFIELD | COLUMN.LONGTEXT | COLUMN.IMAGEUPLOAD | COLUMN.FILEUPLOAD | COLUMN.EXPRESSION | COLUMN.NAME | COLUMN.USADDRESS | COLUMN.ADDRESS | "DATE" | "NUMERIC" | "TEXT_LABEL";
|
|
16
|
+
export declare const columnTypeByChart: (column: IChartColumn, shelfType: IChartShelfType, chartGroup: IChartGroupType, isGroupedTable?: boolean) => import("../..").COMPLEX_COLUMN | import("../..").COMPOUND_COLUMN | NUMERICAL_COLUMN | COLUMN.SINGLE_CHOICE | COLUMN.MULTIPLE_CHOICE | COLUMN.YES_NO | COLUMN.RANKING | COLUMN.DATE | COLUMN.TIME | COLUMN.SIGNATURE | COLUMN.DROPDOWN | COLUMN.IMAGE | COLUMN.EMAIL_FORM | COLUMN.PHONE | COLUMN.PASSWORD | COLUMN.CHECKLIST | COLUMN.NPS_SCORE | COLUMN.NPS_FEEDBACK | COLUMN.TEXT_LABEL | COLUMN.TEXT_CATEGORY | COLUMN.LOOKUP | COLUMN.HEADLINE | COLUMN.SECTION | COLUMN.AGGREGATED_FORMULA | COLUMN.BUCKET | COLUMN.SLIDEBAR | COLUMN.NUMERIC | COLUMN.NUMERICC | COLUMN.NUMERICP | COLUMN.NUMERICG | COLUMN.RATING | COLUMN.TEXTFIELD | COLUMN.LONGTEXT | COLUMN.IMAGEUPLOAD | COLUMN.FILEUPLOAD | COLUMN.EXPRESSION | COLUMN.NAME | COLUMN.USADDRESS | COLUMN.ADDRESS | "DATE" | "NUMERIC" | "TEXT_LABEL";
|