@vizzly/dashboard 0.15.0-dev-bc6f8543474a2b6449f75c417595b4e1144c9d0a → 0.15.0-dev-4beae8623ea0574c0fe50b5f3fd0ef2ec64b955a
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.
|
@@ -10,6 +10,7 @@ var isEmpty$2 = _interopDefault(require('lodash/isEmpty'));
|
|
|
10
10
|
var _ = require('lodash');
|
|
11
11
|
var ___default = _interopDefault(_);
|
|
12
12
|
var semanticLayerPublic = require('@vizzly/semantic-layer-public');
|
|
13
|
+
var pino = _interopDefault(require('pino'));
|
|
13
14
|
var moment = _interopDefault(require('moment-timezone'));
|
|
14
15
|
var Joi = _interopDefault(require('@vizzly/joi'));
|
|
15
16
|
var uuid = require('uuid');
|
|
@@ -773,6 +774,43 @@ var snakeCaseToHumanReadable = function snakeCaseToHumanReadable(str) {
|
|
|
773
774
|
return capitalise(_replaceAll(str, '_', ' '));
|
|
774
775
|
};
|
|
775
776
|
|
|
777
|
+
var enableBrowserLogging = function enableBrowserLogging() {
|
|
778
|
+
if (typeof window !== 'undefined' && typeof document !== 'undefined') return true;
|
|
779
|
+
return false;
|
|
780
|
+
};
|
|
781
|
+
var getOptions = function getOptions() {
|
|
782
|
+
if (enableBrowserLogging()) {
|
|
783
|
+
return {
|
|
784
|
+
browser: {
|
|
785
|
+
asObject: true
|
|
786
|
+
}
|
|
787
|
+
};
|
|
788
|
+
} else {
|
|
789
|
+
var _process$env, _process$env2, _process$env3, _process$env4;
|
|
790
|
+
var otelExporter = (_process$env = process.env) == null ? void 0 : _process$env['OTEL_EXPORTER_OTLP_ENDPOINT'];
|
|
791
|
+
var otelLogsExporter = (_process$env2 = process.env) == null ? void 0 : _process$env2['OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'];
|
|
792
|
+
var enableTerminalLogging = !!((_process$env3 = process.env) != null && _process$env3['TERMINAL_LOGGING']);
|
|
793
|
+
var enableOTEL = !!otelExporter || !!otelLogsExporter;
|
|
794
|
+
var logLevel = ((_process$env4 = process.env) == null ? void 0 : _process$env4['LOG_LEVEL']) || 'info';
|
|
795
|
+
var targets = [];
|
|
796
|
+
if (!!process.stdout.isTTY || !enableOTEL || !!enableTerminalLogging) {
|
|
797
|
+
targets.push({
|
|
798
|
+
target: 'pino-pretty',
|
|
799
|
+
level: logLevel,
|
|
800
|
+
customPrettifiers: {},
|
|
801
|
+
options: {
|
|
802
|
+
colorize: true,
|
|
803
|
+
singleLine: false
|
|
804
|
+
}
|
|
805
|
+
});
|
|
806
|
+
}
|
|
807
|
+
return pino.transport({
|
|
808
|
+
targets: targets
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
};
|
|
812
|
+
var logger = /*#__PURE__*/pino( /*#__PURE__*/getOptions());
|
|
813
|
+
|
|
776
814
|
var LOG_LEVELS = ['debug', 'info', 'warning', 'error', 'properties'];
|
|
777
815
|
|
|
778
816
|
// Singleton.
|
|
@@ -807,46 +845,66 @@ var shouldLog = function shouldLog(level) {
|
|
|
807
845
|
});
|
|
808
846
|
return currentLogLevelIndex <= logLevelIndex;
|
|
809
847
|
};
|
|
810
|
-
var format = function format(value) {
|
|
811
|
-
if (value instanceof Error) return value;
|
|
812
|
-
if (_.isObject(value)) return JSON.stringify(value);
|
|
813
|
-
if (_.isArray(value)) return JSON.stringify(value);
|
|
814
|
-
return value;
|
|
815
|
-
};
|
|
816
848
|
var logDebug = function logDebug() {
|
|
817
|
-
var _console;
|
|
818
849
|
for (var _len = arguments.length, message = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
819
850
|
message[_key] = arguments[_key];
|
|
820
851
|
}
|
|
821
852
|
// Actually log as info because then it shows in browsers without making another change...
|
|
822
|
-
if (shouldLog('debug'))
|
|
853
|
+
if (shouldLog('debug')) logger.info.apply(logger, parseToPino("[VIZZLY DEBUG]", message));
|
|
823
854
|
};
|
|
824
855
|
var logInfo = function logInfo() {
|
|
825
|
-
var _console2;
|
|
826
856
|
for (var _len2 = arguments.length, message = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
827
857
|
message[_key2] = arguments[_key2];
|
|
828
858
|
}
|
|
829
|
-
if (shouldLog('info'))
|
|
859
|
+
if (shouldLog('info')) logger.info.apply(logger, parseToPino("[VIZZLY INFO]", message));
|
|
830
860
|
};
|
|
831
861
|
var logProperties = function logProperties() {
|
|
832
862
|
for (var _len3 = arguments.length, message = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
833
863
|
message[_key3] = arguments[_key3];
|
|
834
864
|
}
|
|
835
|
-
if (shouldLog('properties'))
|
|
865
|
+
if (shouldLog('properties')) logger.info.apply(logger, parseToPino("[VIZZLY Dashboard Properties]", message));
|
|
836
866
|
};
|
|
837
867
|
var logWarning = function logWarning() {
|
|
838
|
-
var _console3;
|
|
839
868
|
for (var _len4 = arguments.length, message = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
840
869
|
message[_key4] = arguments[_key4];
|
|
841
870
|
}
|
|
842
|
-
if (shouldLog('warning'))
|
|
871
|
+
if (shouldLog('warning')) logger.warn.apply(logger, parseToPino("[VIZZLY WARNING]", message));
|
|
843
872
|
};
|
|
844
873
|
var logError = function logError() {
|
|
845
|
-
var _console4;
|
|
846
874
|
for (var _len5 = arguments.length, message = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
847
875
|
message[_key5] = arguments[_key5];
|
|
848
876
|
}
|
|
849
|
-
if (shouldLog('error'))
|
|
877
|
+
if (shouldLog('error')) logger.error.apply(logger, parseToPino("[VIZZLY ERROR]", message));
|
|
878
|
+
};
|
|
879
|
+
var parseToPino = function parseToPino(prefix, args) {
|
|
880
|
+
var inputs = _.isArray(args) ? args : [args];
|
|
881
|
+
var err;
|
|
882
|
+
var parts = [];
|
|
883
|
+
for (var _iterator = _createForOfIteratorHelperLoose(inputs), _step; !(_step = _iterator()).done;) {
|
|
884
|
+
var val = _step.value;
|
|
885
|
+
if (!err && val instanceof Error) {
|
|
886
|
+
err = val;
|
|
887
|
+
continue;
|
|
888
|
+
}
|
|
889
|
+
if (_.isObject(val) || _.isArray(val)) {
|
|
890
|
+
parts.push(JSON.stringify(val));
|
|
891
|
+
} else if (val !== undefined && val !== null) {
|
|
892
|
+
parts.push(String(val));
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
var msg = parts.length ? prefix + " " + parts.join(' ') : prefix;
|
|
896
|
+
return err ? [err, msg] : [msg];
|
|
897
|
+
};
|
|
898
|
+
var wrapCallbackInDebugLog = function wrapCallbackInDebugLog(name, fn) {
|
|
899
|
+
if (fn === undefined) return undefined;
|
|
900
|
+
return function () {
|
|
901
|
+
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
|
902
|
+
args[_key6] = arguments[_key6];
|
|
903
|
+
}
|
|
904
|
+
var result = fn.apply(void 0, args);
|
|
905
|
+
logDebug("Function " + name + " called with", args, 'and returned', result);
|
|
906
|
+
return result;
|
|
907
|
+
};
|
|
850
908
|
};
|
|
851
909
|
|
|
852
910
|
var NULL_REPLACEMENT = 'No value';
|
|
@@ -13026,7 +13084,7 @@ var formatShortDateAndTime = function formatShortDateAndTime(date) {
|
|
|
13026
13084
|
});
|
|
13027
13085
|
return date.toLocaleTimeString(EN_GB_LOCALE, options);
|
|
13028
13086
|
};
|
|
13029
|
-
var format
|
|
13087
|
+
var format = function format(value, _format) {
|
|
13030
13088
|
if (_format === 'day_of_month' && (typeof value === 'number' || typeof value === 'string')) {
|
|
13031
13089
|
return "" + value + numberPostfix(typeof value === 'string' ? parseInt(value) : value);
|
|
13032
13090
|
}
|
|
@@ -13416,7 +13474,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
|
|
|
13416
13474
|
noValueReplacement = noValue;
|
|
13417
13475
|
}
|
|
13418
13476
|
if (value === null || value === undefined) return noValueReplacement;
|
|
13419
|
-
return format
|
|
13477
|
+
return format(value, 'hour_of_day');
|
|
13420
13478
|
}
|
|
13421
13479
|
},
|
|
13422
13480
|
_vizzly_month_of_year: {
|
|
@@ -13426,7 +13484,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
|
|
|
13426
13484
|
noValueReplacement = noValue;
|
|
13427
13485
|
}
|
|
13428
13486
|
if (value === null || value === undefined) return noValueReplacement;
|
|
13429
|
-
return format
|
|
13487
|
+
return format(value, 'month_of_year');
|
|
13430
13488
|
}
|
|
13431
13489
|
},
|
|
13432
13490
|
_vizzly_day_of_month: {
|
|
@@ -13436,7 +13494,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
|
|
|
13436
13494
|
noValueReplacement = noValue;
|
|
13437
13495
|
}
|
|
13438
13496
|
if (value === null || value === undefined) return noValueReplacement;
|
|
13439
|
-
return format
|
|
13497
|
+
return format(value, 'day_of_month');
|
|
13440
13498
|
}
|
|
13441
13499
|
},
|
|
13442
13500
|
_vizzly_day_of_week_iso: {
|
|
@@ -13446,7 +13504,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
|
|
|
13446
13504
|
noValueReplacement = noValue;
|
|
13447
13505
|
}
|
|
13448
13506
|
if (value === null || value === undefined) return noValueReplacement;
|
|
13449
|
-
return format
|
|
13507
|
+
return format(value, 'day_of_week_iso');
|
|
13450
13508
|
}
|
|
13451
13509
|
},
|
|
13452
13510
|
_vizzly_week_of_year: {
|
|
@@ -13456,7 +13514,7 @@ var defaultNumberFormatOptions = function defaultNumberFormatOptions(textOverrid
|
|
|
13456
13514
|
noValueReplacement = noValue;
|
|
13457
13515
|
}
|
|
13458
13516
|
if (value === null || value === undefined) return noValueReplacement;
|
|
13459
|
-
return format
|
|
13517
|
+
return format(value, 'week_of_year');
|
|
13460
13518
|
}
|
|
13461
13519
|
}
|
|
13462
13520
|
};
|
|
@@ -13828,7 +13886,7 @@ function formattedFallbackDateTime(value) {
|
|
|
13828
13886
|
var formattedDate;
|
|
13829
13887
|
try {
|
|
13830
13888
|
// Attempt to format using your custom DateTime functions
|
|
13831
|
-
formattedDate = format
|
|
13889
|
+
formattedDate = format(date, 'DD MMMM YYYY, hh:mm') || '';
|
|
13832
13890
|
if (!formattedDate) throw new Error('Invalid format');
|
|
13833
13891
|
} catch (e) {
|
|
13834
13892
|
// Fallback to native Date handling if custom format fails
|
|
@@ -16181,119 +16239,119 @@ var defaultDateTimeFormatOptions = {
|
|
|
16181
16239
|
hour_of_day: {
|
|
16182
16240
|
description: 'Hour of the day',
|
|
16183
16241
|
formatter: function formatter(date) {
|
|
16184
|
-
return format
|
|
16242
|
+
return format(date, 'hour_of_day');
|
|
16185
16243
|
}
|
|
16186
16244
|
},
|
|
16187
16245
|
/** @deprecated - moved to number formatting option */
|
|
16188
16246
|
month_of_year: {
|
|
16189
16247
|
description: 'Month of the year',
|
|
16190
16248
|
formatter: function formatter(date) {
|
|
16191
|
-
return format
|
|
16249
|
+
return format(date, 'month_of_year');
|
|
16192
16250
|
}
|
|
16193
16251
|
},
|
|
16194
16252
|
/** @deprecated - moved to number formatting option */
|
|
16195
16253
|
day_of_month: {
|
|
16196
16254
|
description: 'Day of month',
|
|
16197
16255
|
formatter: function formatter(date) {
|
|
16198
|
-
return format
|
|
16256
|
+
return format(date, 'day_of_month');
|
|
16199
16257
|
}
|
|
16200
16258
|
},
|
|
16201
16259
|
/** @deprecated - moved to number formatting option */
|
|
16202
16260
|
day_of_week_iso: {
|
|
16203
16261
|
description: 'Day of week',
|
|
16204
16262
|
formatter: function formatter(date) {
|
|
16205
|
-
return format
|
|
16263
|
+
return format(date, 'day_of_week_iso');
|
|
16206
16264
|
}
|
|
16207
16265
|
},
|
|
16208
16266
|
/** @deprecated - moved to number formatting option */
|
|
16209
16267
|
week_of_year: {
|
|
16210
16268
|
description: 'Week of year',
|
|
16211
16269
|
formatter: function formatter(date) {
|
|
16212
|
-
return format
|
|
16270
|
+
return format(date, 'week_of_year');
|
|
16213
16271
|
}
|
|
16214
16272
|
},
|
|
16215
16273
|
'DD/MM/YYYY': {
|
|
16216
16274
|
description: 'DD/MM/YYYY',
|
|
16217
16275
|
formatter: function formatter(date) {
|
|
16218
|
-
return format
|
|
16276
|
+
return format(date, 'DD/MM/YYYY');
|
|
16219
16277
|
}
|
|
16220
16278
|
},
|
|
16221
16279
|
'MM/DD/YYYY': {
|
|
16222
16280
|
description: 'MM/DD/YYYY',
|
|
16223
16281
|
formatter: function formatter(date) {
|
|
16224
|
-
return format
|
|
16282
|
+
return format(date, 'MM/DD/YYYY');
|
|
16225
16283
|
}
|
|
16226
16284
|
},
|
|
16227
16285
|
'DD-MM-YYYY': {
|
|
16228
16286
|
description: 'DD-MM-YYYY',
|
|
16229
16287
|
formatter: function formatter(date) {
|
|
16230
|
-
return format
|
|
16288
|
+
return format(date, 'DD-MM-YYYY');
|
|
16231
16289
|
}
|
|
16232
16290
|
},
|
|
16233
16291
|
'MM-DD-YYYY': {
|
|
16234
16292
|
description: 'MM-DD-YYYY',
|
|
16235
16293
|
formatter: function formatter(date) {
|
|
16236
|
-
return format
|
|
16294
|
+
return format(date, 'MM-DD-YYYY');
|
|
16237
16295
|
}
|
|
16238
16296
|
},
|
|
16239
16297
|
'DD MMMM YYYY, hh:mm': {
|
|
16240
16298
|
description: 'DD MMMM YYYY, hh:mm',
|
|
16241
16299
|
formatter: function formatter(date) {
|
|
16242
|
-
return format
|
|
16300
|
+
return format(date, 'DD MMMM YYYY, hh:mm');
|
|
16243
16301
|
}
|
|
16244
16302
|
},
|
|
16245
16303
|
'dddd DD MMMM YYYY, hh:mm': {
|
|
16246
16304
|
description: 'dddd DD MMMM YYYY, hh:mm',
|
|
16247
16305
|
formatter: function formatter(date) {
|
|
16248
|
-
return format
|
|
16306
|
+
return format(date, 'dddd DD MMMM YYYY, hh:mm');
|
|
16249
16307
|
}
|
|
16250
16308
|
},
|
|
16251
16309
|
'hh:mm': {
|
|
16252
16310
|
description: 'hh:mm',
|
|
16253
16311
|
formatter: function formatter(date) {
|
|
16254
|
-
return format
|
|
16312
|
+
return format(date, 'hh:mm');
|
|
16255
16313
|
}
|
|
16256
16314
|
},
|
|
16257
16315
|
'hh:mm:ss': {
|
|
16258
16316
|
description: 'hh:mm:ss',
|
|
16259
16317
|
formatter: function formatter(date) {
|
|
16260
|
-
return format
|
|
16318
|
+
return format(date, 'hh:mm:ss');
|
|
16261
16319
|
}
|
|
16262
16320
|
},
|
|
16263
16321
|
'DD MMMM YYYY': {
|
|
16264
16322
|
description: 'DD MMMM YYYY',
|
|
16265
16323
|
formatter: function formatter(date) {
|
|
16266
|
-
return format
|
|
16324
|
+
return format(date, 'DD MMMM YYYY');
|
|
16267
16325
|
}
|
|
16268
16326
|
},
|
|
16269
16327
|
'MMMM YYYY': {
|
|
16270
16328
|
description: 'MMMM YYYY',
|
|
16271
16329
|
formatter: function formatter(date) {
|
|
16272
|
-
return format
|
|
16330
|
+
return format(date, 'MMMM YYYY');
|
|
16273
16331
|
}
|
|
16274
16332
|
},
|
|
16275
16333
|
YYYY: {
|
|
16276
16334
|
description: 'YYYY',
|
|
16277
16335
|
formatter: function formatter(date) {
|
|
16278
|
-
return format
|
|
16336
|
+
return format(date, 'YYYY');
|
|
16279
16337
|
}
|
|
16280
16338
|
},
|
|
16281
16339
|
'YYYY-MM-DD[T]HH:mm:ss': {
|
|
16282
16340
|
description: 'YYYY-MM-DD[T]HH:mm:ss',
|
|
16283
16341
|
formatter: function formatter(date) {
|
|
16284
|
-
return format
|
|
16342
|
+
return format(date, 'YYYY-MM-DD[T]HH:mm:ss');
|
|
16285
16343
|
}
|
|
16286
16344
|
},
|
|
16287
16345
|
quarter: {
|
|
16288
16346
|
description: 'Quarter',
|
|
16289
16347
|
formatter: function formatter(date) {
|
|
16290
|
-
return format
|
|
16348
|
+
return format(date, 'quarter');
|
|
16291
16349
|
}
|
|
16292
16350
|
},
|
|
16293
16351
|
week: {
|
|
16294
16352
|
description: 'Week',
|
|
16295
16353
|
formatter: function formatter(date) {
|
|
16296
|
-
return format
|
|
16354
|
+
return format(date, 'week');
|
|
16297
16355
|
}
|
|
16298
16356
|
}
|
|
16299
16357
|
};
|
|
@@ -28765,7 +28823,7 @@ function DateFilter(props) {
|
|
|
28765
28823
|
gap: "0.25rem",
|
|
28766
28824
|
children: [jsxRuntime.jsxs(Flex, {
|
|
28767
28825
|
children: [dateType === DateType.Fixed && jsxRuntime.jsx(DateTimeInput, {
|
|
28768
|
-
value: value ? format
|
|
28826
|
+
value: value ? format(new Date(value), 'YYYY-MM-DD[T]HH:mm:ss') : undefined,
|
|
28769
28827
|
onChange: function onChange(date) {
|
|
28770
28828
|
var value = date ? date.toISOString() : null;
|
|
28771
28829
|
setFilter({
|
|
@@ -69144,7 +69202,7 @@ function available(dashboard) {
|
|
|
69144
69202
|
return Array.from(tagSet);
|
|
69145
69203
|
}
|
|
69146
69204
|
|
|
69147
|
-
function getOptions(allAvailableTags) {
|
|
69205
|
+
function getOptions$1(allAvailableTags) {
|
|
69148
69206
|
var seenKeys = new Set();
|
|
69149
69207
|
var tagOptions = [];
|
|
69150
69208
|
allAvailableTags.forEach(function (tag) {
|
|
@@ -69181,7 +69239,7 @@ var TagsForm = function TagsForm(props) {
|
|
|
69181
69239
|
dashboard = _useDashboardContext.dashboard;
|
|
69182
69240
|
var allAvailableTags = available(dashboard);
|
|
69183
69241
|
var getTagOptions = function getTagOptions() {
|
|
69184
|
-
return getOptions(allAvailableTags);
|
|
69242
|
+
return getOptions$1(allAvailableTags);
|
|
69185
69243
|
};
|
|
69186
69244
|
var selectedTags = function selectedTags() {
|
|
69187
69245
|
var options = getTagOptions();
|
|
@@ -81256,7 +81314,7 @@ var GlobalProviderContents = function GlobalProviderContents(props) {
|
|
|
81256
81314
|
maxCSVDownloadLimit: props.maxCSVDownloadLimit,
|
|
81257
81315
|
textOverrides: props.textOverrides,
|
|
81258
81316
|
developerTools: props.developerTools,
|
|
81259
|
-
dashboardFilters: props.dashboardFilters,
|
|
81317
|
+
dashboardFilters: wrapCallbackInDebugLog('dashboardFilters', props.dashboardFilters),
|
|
81260
81318
|
onDashboardFilterChange: props.onDashboardFilterChange,
|
|
81261
81319
|
onSave: onSave,
|
|
81262
81320
|
onOpenConfigManagerUi: canOpenConfigManagerUi ? onOpenConfigManagerUi : undefined,
|