@infomaximum/widget-sdk 6.0.0-view-theme.12 → 6.0.0-view-theme.15

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/index.esm.js CHANGED
@@ -409,6 +409,84 @@ var formattingConfig = {
409
409
  },
410
410
  };
411
411
 
412
+ /******************************************************************************
413
+ Copyright (c) Microsoft Corporation.
414
+
415
+ Permission to use, copy, modify, and/or distribute this software for any
416
+ purpose with or without fee is hereby granted.
417
+
418
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
419
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
420
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
421
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
422
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
423
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
424
+ PERFORMANCE OF THIS SOFTWARE.
425
+ ***************************************************************************** */
426
+ /* global Reflect, Promise, SuppressedError, Symbol */
427
+
428
+
429
+ var __assign = function() {
430
+ __assign = Object.assign || function __assign(t) {
431
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
432
+ s = arguments[i];
433
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
434
+ }
435
+ return t;
436
+ };
437
+ return __assign.apply(this, arguments);
438
+ };
439
+
440
+ function __rest(s, e) {
441
+ var t = {};
442
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
443
+ t[p] = s[p];
444
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
445
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
446
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
447
+ t[p[i]] = s[p[i]];
448
+ }
449
+ return t;
450
+ }
451
+
452
+ function __values(o) {
453
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
454
+ if (m) return m.call(o);
455
+ if (o && typeof o.length === "number") return {
456
+ next: function () {
457
+ if (o && i >= o.length) o = void 0;
458
+ return { value: o && o[i++], done: !o };
459
+ }
460
+ };
461
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
462
+ }
463
+
464
+ function __read(o, n) {
465
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
466
+ if (!m) return o;
467
+ var i = m.call(o), r, ar = [], e;
468
+ try {
469
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
470
+ }
471
+ catch (error) { e = { error: error }; }
472
+ finally {
473
+ try {
474
+ if (r && !r.done && (m = i["return"])) m.call(i);
475
+ }
476
+ finally { if (e) throw e.error; }
477
+ }
478
+ return ar;
479
+ }
480
+
481
+ function __makeTemplateObject(cooked, raw) {
482
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
483
+ return cooked;
484
+ }
485
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
486
+ var e = new Error(message);
487
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
488
+ };
489
+
412
490
  var EWidgetIndicatorType;
413
491
  (function (EWidgetIndicatorType) {
414
492
  EWidgetIndicatorType["MEASURE"] = "MEASURE";
@@ -454,6 +532,9 @@ var EFormatOrFormattingMode;
454
532
  EFormatOrFormattingMode["BASE"] = "BASE";
455
533
  EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
456
534
  })(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
535
+ function inheritDisplayConditionFromHierarchy(dimension, hierarchy) {
536
+ return __assign(__assign({}, dimension), { displayCondition: hierarchy.displayCondition });
537
+ }
457
538
  /** Тип показателя */
458
539
  var EIndicatorType;
459
540
  (function (EIndicatorType) {
@@ -631,10 +712,18 @@ var FormatSchema = function (z) {
631
712
  });
632
713
  };
633
714
  var FormattingSchema = function (z) {
634
- return z.object({
635
- value: z.enum(EFormattingPresets).optional(),
636
- mode: z.enum(EFormatOrFormattingMode),
637
- });
715
+ return z
716
+ .discriminatedUnion("mode", [
717
+ z.object({
718
+ mode: z.literal(EFormatOrFormattingMode.BASE),
719
+ value: z.enum(EFormattingPresets).default(EFormattingPresets.AUTO),
720
+ }),
721
+ z.object({
722
+ mode: z.literal(EFormatOrFormattingMode.TEMPLATE),
723
+ value: z.string().default(""),
724
+ }),
725
+ ])
726
+ .default({ mode: EFormatOrFormattingMode.BASE, value: EFormattingPresets.AUTO });
638
727
  };
639
728
  var WidgetColumnIndicatorSchema = function (z) {
640
729
  return WidgetIndicatorSchema(z).extend({
@@ -728,6 +817,9 @@ var WidgetDimensionSchema = function (z) {
728
817
  hideEmptyValues: z.boolean().default(false),
729
818
  });
730
819
  };
820
+ var WidgetDimensionInHierarchySchema = function (z) {
821
+ return WidgetDimensionSchema(z).omit({ displayCondition: true });
822
+ };
731
823
  var WidgetDimensionHierarchySchema = function (z, dimensionSchema) {
732
824
  return AutoIdentifiedArrayItemSchema(z).extend({
733
825
  name: z.string(),
@@ -824,7 +916,8 @@ var FormulaFilterValueSchema = function (z) {
824
916
  z.number().optional(),
825
917
  ]),
826
918
  _a[EFormulaFilterFieldKeys.string] = z.string(),
827
- _a[EFormulaFilterFieldKeys.lastTimeValue] = z.number(),
919
+ // todo: отказаться от использования z.string(), оставить только z.number() [BI-15912]
920
+ _a[EFormulaFilterFieldKeys.lastTimeValue] = z.number().or(z.string()),
828
921
  _a[EFormulaFilterFieldKeys.lastTimeUnit] = z.enum(ELastTimeUnit),
829
922
  _a[EFormulaFilterFieldKeys.durationUnit] = z.enum(EDurationUnit),
830
923
  _a))
@@ -1159,84 +1252,6 @@ var escapeSingularQuotes$1 = function (formula) {
1159
1252
  return formula.replaceAll("'", "\\'");
1160
1253
  };
1161
1254
 
1162
- /******************************************************************************
1163
- Copyright (c) Microsoft Corporation.
1164
-
1165
- Permission to use, copy, modify, and/or distribute this software for any
1166
- purpose with or without fee is hereby granted.
1167
-
1168
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1169
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1170
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1171
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1172
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1173
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1174
- PERFORMANCE OF THIS SOFTWARE.
1175
- ***************************************************************************** */
1176
- /* global Reflect, Promise, SuppressedError, Symbol */
1177
-
1178
-
1179
- var __assign = function() {
1180
- __assign = Object.assign || function __assign(t) {
1181
- for (var s, i = 1, n = arguments.length; i < n; i++) {
1182
- s = arguments[i];
1183
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1184
- }
1185
- return t;
1186
- };
1187
- return __assign.apply(this, arguments);
1188
- };
1189
-
1190
- function __rest(s, e) {
1191
- var t = {};
1192
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1193
- t[p] = s[p];
1194
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
1195
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1196
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1197
- t[p[i]] = s[p[i]];
1198
- }
1199
- return t;
1200
- }
1201
-
1202
- function __values(o) {
1203
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
1204
- if (m) return m.call(o);
1205
- if (o && typeof o.length === "number") return {
1206
- next: function () {
1207
- if (o && i >= o.length) o = void 0;
1208
- return { value: o && o[i++], done: !o };
1209
- }
1210
- };
1211
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1212
- }
1213
-
1214
- function __read(o, n) {
1215
- var m = typeof Symbol === "function" && o[Symbol.iterator];
1216
- if (!m) return o;
1217
- var i = m.call(o), r, ar = [], e;
1218
- try {
1219
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
1220
- }
1221
- catch (error) { e = { error: error }; }
1222
- finally {
1223
- try {
1224
- if (r && !r.done && (m = i["return"])) m.call(i);
1225
- }
1226
- finally { if (e) throw e.error; }
1227
- }
1228
- return ar;
1229
- }
1230
-
1231
- function __makeTemplateObject(cooked, raw) {
1232
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
1233
- return cooked;
1234
- }
1235
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1236
- var e = new Error(message);
1237
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1238
- };
1239
-
1240
1255
  var ECalculatorFilterMethods;
1241
1256
  (function (ECalculatorFilterMethods) {
1242
1257
  ECalculatorFilterMethods["EQUAL_TO"] = "EQUAL_TO";
@@ -2267,7 +2282,7 @@ var getFormulaFilterValues = function (filterValue) {
2267
2282
  if (filteringMethod === formulaFilterMethods.LAST_TIME) {
2268
2283
  var showTime = format === EFormatTypes.DATETIME;
2269
2284
  return compact([
2270
- convertDateToClickHouse(subtractDurationFromDate(new Date(), lastTimeValue !== null && lastTimeValue !== void 0 ? lastTimeValue : 0, lastTimeUnit), showTime),
2285
+ convertDateToClickHouse(subtractDurationFromDate(new Date(), Number(lastTimeValue !== null && lastTimeValue !== void 0 ? lastTimeValue : 0), lastTimeUnit), showTime),
2271
2286
  convertDateToClickHouse(new Date(), showTime),
2272
2287
  ]);
2273
2288
  }
@@ -2477,8 +2492,8 @@ var ESortDirection;
2477
2492
  * Если к разрезу иерархии применяется INCLUDE-фильтр с одним значением - выбираем следующий за ним разрез
2478
2493
  * Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
2479
2494
  */
2480
- function selectDimensionFromHierarchy(_a, filters) {
2481
- var hierarchyDimensions = _a.hierarchyDimensions;
2495
+ function selectDimensionFromHierarchy(hierarchy, filters) {
2496
+ var hierarchyDimensions = hierarchy.hierarchyDimensions; hierarchy.displayCondition;
2482
2497
  var _loop_1 = function (i) {
2483
2498
  var dimension = hierarchyDimensions[i];
2484
2499
  // todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
@@ -2491,14 +2506,18 @@ function selectDimensionFromHierarchy(_a, filters) {
2491
2506
  return "continue";
2492
2507
  }
2493
2508
  var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1, hierarchyDimensions.length - 1);
2494
- return { value: hierarchyDimensions[selectionIndex] };
2509
+ var dimensionFromHierarchy_1 = hierarchyDimensions[selectionIndex];
2510
+ return { value: (dimensionFromHierarchy_1 &&
2511
+ inheritDisplayConditionFromHierarchy(dimensionFromHierarchy_1, hierarchy)) };
2495
2512
  };
2496
2513
  for (var i = hierarchyDimensions.length - 1; i >= 0; i--) {
2497
2514
  var state_1 = _loop_1(i);
2498
2515
  if (typeof state_1 === "object")
2499
2516
  return state_1.value;
2500
2517
  }
2501
- return hierarchyDimensions[0];
2518
+ var dimensionFromHierarchy = hierarchyDimensions[0];
2519
+ return (dimensionFromHierarchy &&
2520
+ inheritDisplayConditionFromHierarchy(dimensionFromHierarchy, hierarchy));
2502
2521
  }
2503
2522
 
2504
2523
  var getDefaultSortOrders = function (_a) {
@@ -2514,7 +2533,8 @@ var getDefaultSortOrders = function (_a) {
2514
2533
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
2515
2534
  var timeDimension = dimensions.find(function (dimension) {
2516
2535
  var _a;
2517
- return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
2536
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.mode) === EFormatOrFormattingMode.BASE &&
2537
+ dimension.format.value !== undefined &&
2518
2538
  [
2519
2539
  EFormatTypes.DATE,
2520
2540
  EFormatTypes.MONTH,
@@ -2607,8 +2627,7 @@ function prepareSortOrders(_a) {
2607
2627
  var replaceHierarchiesWithDimensions = function (dimensions, filters) {
2608
2628
  return compactMap(dimensions, function (indicator) {
2609
2629
  if (isDimensionsHierarchy(indicator)) {
2610
- var selectedDimension = selectDimensionFromHierarchy(indicator, filters);
2611
- return (selectedDimension && replaceDisplayCondition(selectedDimension, indicator.displayCondition));
2630
+ return selectDimensionFromHierarchy(indicator, filters);
2612
2631
  }
2613
2632
  return indicator;
2614
2633
  });
@@ -2982,4 +3001,4 @@ var ColorSchema = function (z) {
2982
3001
  .default({ mode: EColorMode.AUTO });
2983
3002
  };
2984
3003
 
2985
- export { ActionButtonSchema, ActionGoToURLSchema, ActionOnClickParameterSchema, ActionOpenInSchema, ActionOpenViewSchema, ActionRunScriptSchema, ActionSchema, ActionUpdateVariableSchema, ActionsOnClickSchema, AutoIdentifiedArrayItemSchema, BaseWidgetSettingsSchema, ColorAutoSchema, ColorBaseSchema, ColorByDimensionSchema, ColorDisabledSchema, ColorFormulaSchema, ColorGradientSchema, ColorRuleSchema, ColorSchema, ColorValuesSchema, ColoredValueSchema, ColumnIndicatorValueSchema, DimensionProcessFilterSchema, DimensionValueSchema, DisplayConditionSchema, EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatOrFormattingMode, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EHeightMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureInnerTemplateNames, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, ExtendedFormulaFilterValueSchema, FormatSchema, FormattingSchema, FormulaFilterValueSchema, FormulaNullableSchema, FormulaSchema, KeyNullableSchema, MarkdownMeasureSchema, MeasureValueSchema, NameNullableSchema, OuterAggregation, ParameterFromAggregationSchema, ParameterFromColumnSchema, ParameterFromDataModelSchema, ParameterFromDynamicListSchema, ParameterFromEndEventSchema, ParameterFromEventSchema, ParameterFromFormulaSchema, ParameterFromManualInputSchema, ParameterFromStartEventSchema, ParameterFromStaticListSchema, ParameterFromVariableSchema, ProcessIndicatorSchema, ProcessIndicatorValueSchema, RangeSchema, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValueSchema, WidgetIndicatorDurationValueSchema, WidgetIndicatorFormulaValueSchema, WidgetIndicatorSchema, WidgetIndicatorTemplateValueSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureAggregationValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateSql, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureInnerTemplateFormulas, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, themeValueMetaKey, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
3004
+ export { ActionButtonSchema, ActionGoToURLSchema, ActionOnClickParameterSchema, ActionOpenInSchema, ActionOpenViewSchema, ActionRunScriptSchema, ActionSchema, ActionUpdateVariableSchema, ActionsOnClickSchema, AutoIdentifiedArrayItemSchema, BaseWidgetSettingsSchema, ColorAutoSchema, ColorBaseSchema, ColorByDimensionSchema, ColorDisabledSchema, ColorFormulaSchema, ColorGradientSchema, ColorRuleSchema, ColorSchema, ColorValuesSchema, ColoredValueSchema, ColumnIndicatorValueSchema, DimensionProcessFilterSchema, DimensionValueSchema, DisplayConditionSchema, EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatOrFormattingMode, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EHeightMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureInnerTemplateNames, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, ExtendedFormulaFilterValueSchema, FormatSchema, FormattingSchema, FormulaFilterValueSchema, FormulaNullableSchema, FormulaSchema, KeyNullableSchema, MarkdownMeasureSchema, MeasureValueSchema, NameNullableSchema, OuterAggregation, ParameterFromAggregationSchema, ParameterFromColumnSchema, ParameterFromDataModelSchema, ParameterFromDynamicListSchema, ParameterFromEndEventSchema, ParameterFromEventSchema, ParameterFromFormulaSchema, ParameterFromManualInputSchema, ParameterFromStartEventSchema, ParameterFromStaticListSchema, ParameterFromVariableSchema, ProcessIndicatorSchema, ProcessIndicatorValueSchema, RangeSchema, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionInHierarchySchema, WidgetDimensionSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValueSchema, WidgetIndicatorDurationValueSchema, WidgetIndicatorFormulaValueSchema, WidgetIndicatorSchema, WidgetIndicatorTemplateValueSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureAggregationValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateSql, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, inheritDisplayConditionFromHierarchy, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureInnerTemplateFormulas, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, themeValueMetaKey, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
package/dist/index.js CHANGED
@@ -410,6 +410,84 @@ var formattingConfig = {
410
410
  },
411
411
  };
412
412
 
413
+ /******************************************************************************
414
+ Copyright (c) Microsoft Corporation.
415
+
416
+ Permission to use, copy, modify, and/or distribute this software for any
417
+ purpose with or without fee is hereby granted.
418
+
419
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
420
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
421
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
422
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
423
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
424
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
425
+ PERFORMANCE OF THIS SOFTWARE.
426
+ ***************************************************************************** */
427
+ /* global Reflect, Promise, SuppressedError, Symbol */
428
+
429
+
430
+ var __assign = function() {
431
+ __assign = Object.assign || function __assign(t) {
432
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
433
+ s = arguments[i];
434
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
435
+ }
436
+ return t;
437
+ };
438
+ return __assign.apply(this, arguments);
439
+ };
440
+
441
+ function __rest(s, e) {
442
+ var t = {};
443
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
444
+ t[p] = s[p];
445
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
446
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
447
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
448
+ t[p[i]] = s[p[i]];
449
+ }
450
+ return t;
451
+ }
452
+
453
+ function __values(o) {
454
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
455
+ if (m) return m.call(o);
456
+ if (o && typeof o.length === "number") return {
457
+ next: function () {
458
+ if (o && i >= o.length) o = void 0;
459
+ return { value: o && o[i++], done: !o };
460
+ }
461
+ };
462
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
463
+ }
464
+
465
+ function __read(o, n) {
466
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
467
+ if (!m) return o;
468
+ var i = m.call(o), r, ar = [], e;
469
+ try {
470
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
471
+ }
472
+ catch (error) { e = { error: error }; }
473
+ finally {
474
+ try {
475
+ if (r && !r.done && (m = i["return"])) m.call(i);
476
+ }
477
+ finally { if (e) throw e.error; }
478
+ }
479
+ return ar;
480
+ }
481
+
482
+ function __makeTemplateObject(cooked, raw) {
483
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
484
+ return cooked;
485
+ }
486
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
487
+ var e = new Error(message);
488
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
489
+ };
490
+
413
491
  exports.EWidgetIndicatorType = void 0;
414
492
  (function (EWidgetIndicatorType) {
415
493
  EWidgetIndicatorType["MEASURE"] = "MEASURE";
@@ -455,6 +533,9 @@ exports.EFormatOrFormattingMode = void 0;
455
533
  EFormatOrFormattingMode["BASE"] = "BASE";
456
534
  EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
457
535
  })(exports.EFormatOrFormattingMode || (exports.EFormatOrFormattingMode = {}));
536
+ function inheritDisplayConditionFromHierarchy(dimension, hierarchy) {
537
+ return __assign(__assign({}, dimension), { displayCondition: hierarchy.displayCondition });
538
+ }
458
539
  /** Тип показателя */
459
540
  exports.EIndicatorType = void 0;
460
541
  (function (EIndicatorType) {
@@ -632,10 +713,18 @@ var FormatSchema = function (z) {
632
713
  });
633
714
  };
634
715
  var FormattingSchema = function (z) {
635
- return z.object({
636
- value: z.enum(exports.EFormattingPresets).optional(),
637
- mode: z.enum(exports.EFormatOrFormattingMode),
638
- });
716
+ return z
717
+ .discriminatedUnion("mode", [
718
+ z.object({
719
+ mode: z.literal(exports.EFormatOrFormattingMode.BASE),
720
+ value: z.enum(exports.EFormattingPresets).default(exports.EFormattingPresets.AUTO),
721
+ }),
722
+ z.object({
723
+ mode: z.literal(exports.EFormatOrFormattingMode.TEMPLATE),
724
+ value: z.string().default(""),
725
+ }),
726
+ ])
727
+ .default({ mode: exports.EFormatOrFormattingMode.BASE, value: exports.EFormattingPresets.AUTO });
639
728
  };
640
729
  var WidgetColumnIndicatorSchema = function (z) {
641
730
  return WidgetIndicatorSchema(z).extend({
@@ -729,6 +818,9 @@ var WidgetDimensionSchema = function (z) {
729
818
  hideEmptyValues: z.boolean().default(false),
730
819
  });
731
820
  };
821
+ var WidgetDimensionInHierarchySchema = function (z) {
822
+ return WidgetDimensionSchema(z).omit({ displayCondition: true });
823
+ };
732
824
  var WidgetDimensionHierarchySchema = function (z, dimensionSchema) {
733
825
  return AutoIdentifiedArrayItemSchema(z).extend({
734
826
  name: z.string(),
@@ -825,7 +917,8 @@ var FormulaFilterValueSchema = function (z) {
825
917
  z.number().optional(),
826
918
  ]),
827
919
  _a[exports.EFormulaFilterFieldKeys.string] = z.string(),
828
- _a[exports.EFormulaFilterFieldKeys.lastTimeValue] = z.number(),
920
+ // todo: отказаться от использования z.string(), оставить только z.number() [BI-15912]
921
+ _a[exports.EFormulaFilterFieldKeys.lastTimeValue] = z.number().or(z.string()),
829
922
  _a[exports.EFormulaFilterFieldKeys.lastTimeUnit] = z.enum(exports.ELastTimeUnit),
830
923
  _a[exports.EFormulaFilterFieldKeys.durationUnit] = z.enum(exports.EDurationUnit),
831
924
  _a))
@@ -1160,84 +1253,6 @@ var escapeSingularQuotes$1 = function (formula) {
1160
1253
  return formula.replaceAll("'", "\\'");
1161
1254
  };
1162
1255
 
1163
- /******************************************************************************
1164
- Copyright (c) Microsoft Corporation.
1165
-
1166
- Permission to use, copy, modify, and/or distribute this software for any
1167
- purpose with or without fee is hereby granted.
1168
-
1169
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1170
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1171
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1172
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1173
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1174
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1175
- PERFORMANCE OF THIS SOFTWARE.
1176
- ***************************************************************************** */
1177
- /* global Reflect, Promise, SuppressedError, Symbol */
1178
-
1179
-
1180
- var __assign = function() {
1181
- __assign = Object.assign || function __assign(t) {
1182
- for (var s, i = 1, n = arguments.length; i < n; i++) {
1183
- s = arguments[i];
1184
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1185
- }
1186
- return t;
1187
- };
1188
- return __assign.apply(this, arguments);
1189
- };
1190
-
1191
- function __rest(s, e) {
1192
- var t = {};
1193
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1194
- t[p] = s[p];
1195
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
1196
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1197
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1198
- t[p[i]] = s[p[i]];
1199
- }
1200
- return t;
1201
- }
1202
-
1203
- function __values(o) {
1204
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
1205
- if (m) return m.call(o);
1206
- if (o && typeof o.length === "number") return {
1207
- next: function () {
1208
- if (o && i >= o.length) o = void 0;
1209
- return { value: o && o[i++], done: !o };
1210
- }
1211
- };
1212
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1213
- }
1214
-
1215
- function __read(o, n) {
1216
- var m = typeof Symbol === "function" && o[Symbol.iterator];
1217
- if (!m) return o;
1218
- var i = m.call(o), r, ar = [], e;
1219
- try {
1220
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
1221
- }
1222
- catch (error) { e = { error: error }; }
1223
- finally {
1224
- try {
1225
- if (r && !r.done && (m = i["return"])) m.call(i);
1226
- }
1227
- finally { if (e) throw e.error; }
1228
- }
1229
- return ar;
1230
- }
1231
-
1232
- function __makeTemplateObject(cooked, raw) {
1233
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
1234
- return cooked;
1235
- }
1236
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1237
- var e = new Error(message);
1238
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1239
- };
1240
-
1241
1256
  exports.ECalculatorFilterMethods = void 0;
1242
1257
  (function (ECalculatorFilterMethods) {
1243
1258
  ECalculatorFilterMethods["EQUAL_TO"] = "EQUAL_TO";
@@ -2268,7 +2283,7 @@ var getFormulaFilterValues = function (filterValue) {
2268
2283
  if (filteringMethod === formulaFilterMethods.LAST_TIME) {
2269
2284
  var showTime = format === exports.EFormatTypes.DATETIME;
2270
2285
  return compact([
2271
- convertDateToClickHouse(subtractDurationFromDate(new Date(), lastTimeValue !== null && lastTimeValue !== void 0 ? lastTimeValue : 0, lastTimeUnit), showTime),
2286
+ convertDateToClickHouse(subtractDurationFromDate(new Date(), Number(lastTimeValue !== null && lastTimeValue !== void 0 ? lastTimeValue : 0), lastTimeUnit), showTime),
2272
2287
  convertDateToClickHouse(new Date(), showTime),
2273
2288
  ]);
2274
2289
  }
@@ -2478,8 +2493,8 @@ exports.ESortDirection = void 0;
2478
2493
  * Если к разрезу иерархии применяется INCLUDE-фильтр с одним значением - выбираем следующий за ним разрез
2479
2494
  * Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
2480
2495
  */
2481
- function selectDimensionFromHierarchy(_a, filters) {
2482
- var hierarchyDimensions = _a.hierarchyDimensions;
2496
+ function selectDimensionFromHierarchy(hierarchy, filters) {
2497
+ var hierarchyDimensions = hierarchy.hierarchyDimensions; hierarchy.displayCondition;
2483
2498
  var _loop_1 = function (i) {
2484
2499
  var dimension = hierarchyDimensions[i];
2485
2500
  // todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
@@ -2492,14 +2507,18 @@ function selectDimensionFromHierarchy(_a, filters) {
2492
2507
  return "continue";
2493
2508
  }
2494
2509
  var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1, hierarchyDimensions.length - 1);
2495
- return { value: hierarchyDimensions[selectionIndex] };
2510
+ var dimensionFromHierarchy_1 = hierarchyDimensions[selectionIndex];
2511
+ return { value: (dimensionFromHierarchy_1 &&
2512
+ inheritDisplayConditionFromHierarchy(dimensionFromHierarchy_1, hierarchy)) };
2496
2513
  };
2497
2514
  for (var i = hierarchyDimensions.length - 1; i >= 0; i--) {
2498
2515
  var state_1 = _loop_1(i);
2499
2516
  if (typeof state_1 === "object")
2500
2517
  return state_1.value;
2501
2518
  }
2502
- return hierarchyDimensions[0];
2519
+ var dimensionFromHierarchy = hierarchyDimensions[0];
2520
+ return (dimensionFromHierarchy &&
2521
+ inheritDisplayConditionFromHierarchy(dimensionFromHierarchy, hierarchy));
2503
2522
  }
2504
2523
 
2505
2524
  var getDefaultSortOrders = function (_a) {
@@ -2515,7 +2534,8 @@ var getDefaultSortOrders = function (_a) {
2515
2534
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
2516
2535
  var timeDimension = dimensions.find(function (dimension) {
2517
2536
  var _a;
2518
- return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
2537
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.mode) === exports.EFormatOrFormattingMode.BASE &&
2538
+ dimension.format.value !== undefined &&
2519
2539
  [
2520
2540
  exports.EFormatTypes.DATE,
2521
2541
  exports.EFormatTypes.MONTH,
@@ -2608,8 +2628,7 @@ function prepareSortOrders(_a) {
2608
2628
  var replaceHierarchiesWithDimensions = function (dimensions, filters) {
2609
2629
  return compactMap(dimensions, function (indicator) {
2610
2630
  if (isDimensionsHierarchy(indicator)) {
2611
- var selectedDimension = selectDimensionFromHierarchy(indicator, filters);
2612
- return (selectedDimension && replaceDisplayCondition(selectedDimension, indicator.displayCondition));
2631
+ return selectDimensionFromHierarchy(indicator, filters);
2613
2632
  }
2614
2633
  return indicator;
2615
2634
  });
@@ -3049,6 +3068,7 @@ exports.WidgetActionParameterSchema = WidgetActionParameterSchema;
3049
3068
  exports.WidgetActionSchema = WidgetActionSchema;
3050
3069
  exports.WidgetColumnIndicatorSchema = WidgetColumnIndicatorSchema;
3051
3070
  exports.WidgetDimensionHierarchySchema = WidgetDimensionHierarchySchema;
3071
+ exports.WidgetDimensionInHierarchySchema = WidgetDimensionInHierarchySchema;
3052
3072
  exports.WidgetDimensionSchema = WidgetDimensionSchema;
3053
3073
  exports.WidgetIndicatorAggregationValueSchema = WidgetIndicatorAggregationValueSchema;
3054
3074
  exports.WidgetIndicatorConversionValueSchema = WidgetIndicatorConversionValueSchema;
@@ -3100,6 +3120,7 @@ exports.getMeasureFormula = getMeasureFormula;
3100
3120
  exports.getProcessDimensionValueFormula = getProcessDimensionValueFormula;
3101
3121
  exports.getRuleColor = getRuleColor;
3102
3122
  exports.getTransitionMeasureFormula = getTransitionMeasureFormula;
3123
+ exports.inheritDisplayConditionFromHierarchy = inheritDisplayConditionFromHierarchy;
3103
3124
  exports.isDimensionProcessFilter = isDimensionProcessFilter;
3104
3125
  exports.isDimensionsHierarchy = isDimensionsHierarchy;
3105
3126
  exports.isFormulaFilterValue = isFormulaFilterValue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "6.0.0-view-theme.12",
3
+ "version": "6.0.0-view-theme.15",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",