@infomaximum/widget-sdk 7.0.0-15 → 7.0.0-16
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/CHANGELOG.md +247 -111
- package/dist/index.d.ts +17222 -15273
- package/dist/index.esm.js +147 -84
- package/dist/index.js +148 -83
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -31,6 +31,7 @@ var apiVersions = [
|
|
|
31
31
|
"16.2", // Для версии системы 250709
|
|
32
32
|
"17", // 2508
|
|
33
33
|
"18", // 2601
|
|
34
|
+
"19", // 2602
|
|
34
35
|
];
|
|
35
36
|
/**
|
|
36
37
|
* Актуальная версия settings, с которой работает система.
|
|
@@ -221,6 +222,15 @@ function memoize(fn) {
|
|
|
221
222
|
return result;
|
|
222
223
|
};
|
|
223
224
|
}
|
|
225
|
+
var clamp = function (value, min, max) {
|
|
226
|
+
if (value < min) {
|
|
227
|
+
return min;
|
|
228
|
+
}
|
|
229
|
+
if (value > max) {
|
|
230
|
+
return max;
|
|
231
|
+
}
|
|
232
|
+
return value;
|
|
233
|
+
};
|
|
224
234
|
/** Добавляет свойства к функции */
|
|
225
235
|
function assignPropsToFn(fn, props) {
|
|
226
236
|
return Object.assign(fn, props);
|
|
@@ -376,9 +386,9 @@ var AutoIdentifiedArrayItemSchema = SchemaRegistry.define({
|
|
|
376
386
|
});
|
|
377
387
|
var BaseWidgetSettingsSchema = SchemaRegistry.define({
|
|
378
388
|
key: "BaseWidgetSettings",
|
|
379
|
-
latestVersion: "
|
|
380
|
-
history
|
|
381
|
-
|
|
389
|
+
latestVersion: "19",
|
|
390
|
+
get history() {
|
|
391
|
+
var v17 = function (z) {
|
|
382
392
|
return z.object({
|
|
383
393
|
title: z.string().default(""),
|
|
384
394
|
titleSize: themed(z.number().default(14), function (theme) { return theme.widgets.titleSize; }),
|
|
@@ -394,10 +404,14 @@ var BaseWidgetSettingsSchema = SchemaRegistry.define({
|
|
|
394
404
|
ignoreFilters: z.boolean().default(false),
|
|
395
405
|
sorting: z.array(WidgetSortingIndicatorSchema.forVersion("17")(z)).default([]),
|
|
396
406
|
actionButtons: z.array(ActionButtonSchema.forVersion("17")(z)).default([]),
|
|
397
|
-
paddings:
|
|
407
|
+
paddings: z.union([z.number(), z.string()]).default(8),
|
|
398
408
|
viewTheme: z.boolean().default(false),
|
|
399
409
|
});
|
|
400
|
-
}
|
|
410
|
+
};
|
|
411
|
+
return {
|
|
412
|
+
"17": v17,
|
|
413
|
+
"19": function (z) { return v17(z).omit({ paddings: true }); },
|
|
414
|
+
};
|
|
401
415
|
},
|
|
402
416
|
});
|
|
403
417
|
|
|
@@ -2833,7 +2847,7 @@ var ESortDirection;
|
|
|
2833
2847
|
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
2834
2848
|
*/
|
|
2835
2849
|
function selectDimensionFromHierarchy(hierarchy, filters) {
|
|
2836
|
-
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
2850
|
+
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
2837
2851
|
var _loop_1 = function (i) {
|
|
2838
2852
|
var dimension = hierarchyDimensions[i];
|
|
2839
2853
|
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
@@ -3146,6 +3160,39 @@ var replaceFiltersBySelection = function (filters, selection) {
|
|
|
3146
3160
|
}, []);
|
|
3147
3161
|
};
|
|
3148
3162
|
|
|
3163
|
+
var colors = [
|
|
3164
|
+
"#222F3E",
|
|
3165
|
+
"#00D2D3",
|
|
3166
|
+
"#5F27CD",
|
|
3167
|
+
"#FECA57",
|
|
3168
|
+
"#078936",
|
|
3169
|
+
"#E51320",
|
|
3170
|
+
"#96AABF",
|
|
3171
|
+
"#1C55E7",
|
|
3172
|
+
"#341F97",
|
|
3173
|
+
"#FFDD59",
|
|
3174
|
+
"#D82C46",
|
|
3175
|
+
"#0BE881",
|
|
3176
|
+
"#0ABDE3",
|
|
3177
|
+
"#FF9F43",
|
|
3178
|
+
"#EC41D4",
|
|
3179
|
+
"#117F8E",
|
|
3180
|
+
"#B9B9B9",
|
|
3181
|
+
"#505BF1",
|
|
3182
|
+
"#64FFB6",
|
|
3183
|
+
"#485460",
|
|
3184
|
+
"#FFD32A",
|
|
3185
|
+
"#C74E1A",
|
|
3186
|
+
"#6E70A6",
|
|
3187
|
+
"#3C40C6",
|
|
3188
|
+
"#48DBFB",
|
|
3189
|
+
"#486179",
|
|
3190
|
+
"#FF9FF3",
|
|
3191
|
+
"#1DD1A1",
|
|
3192
|
+
"#BCC8D4",
|
|
3193
|
+
"#BA46AA",
|
|
3194
|
+
];
|
|
3195
|
+
|
|
3149
3196
|
var EColorMode;
|
|
3150
3197
|
(function (EColorMode) {
|
|
3151
3198
|
/** Окрашивание отключено */
|
|
@@ -3165,6 +3212,7 @@ var EColorMode;
|
|
|
3165
3212
|
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
3166
3213
|
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
3167
3214
|
})(EColorMode || (EColorMode = {}));
|
|
3215
|
+
|
|
3168
3216
|
var getRuleColor = function (ruleFormula, globalContext) {
|
|
3169
3217
|
var _a, _b;
|
|
3170
3218
|
var link = parseIndicatorLink(ruleFormula);
|
|
@@ -3186,38 +3234,6 @@ var isValidColor = function (color, globalContext) {
|
|
|
3186
3234
|
}
|
|
3187
3235
|
return true;
|
|
3188
3236
|
};
|
|
3189
|
-
var colors = [
|
|
3190
|
-
"#222F3E",
|
|
3191
|
-
"#00D2D3",
|
|
3192
|
-
"#5F27CD",
|
|
3193
|
-
"#FECA57",
|
|
3194
|
-
"#078936",
|
|
3195
|
-
"#E51320",
|
|
3196
|
-
"#96AABF",
|
|
3197
|
-
"#1C55E7",
|
|
3198
|
-
"#341F97",
|
|
3199
|
-
"#FFDD59",
|
|
3200
|
-
"#D82C46",
|
|
3201
|
-
"#0BE881",
|
|
3202
|
-
"#0ABDE3",
|
|
3203
|
-
"#FF9F43",
|
|
3204
|
-
"#EC41D4",
|
|
3205
|
-
"#117F8E",
|
|
3206
|
-
"#B9B9B9",
|
|
3207
|
-
"#505BF1",
|
|
3208
|
-
"#64FFB6",
|
|
3209
|
-
"#485460",
|
|
3210
|
-
"#FFD32A",
|
|
3211
|
-
"#C74E1A",
|
|
3212
|
-
"#6E70A6",
|
|
3213
|
-
"#3C40C6",
|
|
3214
|
-
"#48DBFB",
|
|
3215
|
-
"#486179",
|
|
3216
|
-
"#FF9FF3",
|
|
3217
|
-
"#1DD1A1",
|
|
3218
|
-
"#BCC8D4",
|
|
3219
|
-
"#BA46AA",
|
|
3220
|
-
];
|
|
3221
3237
|
/**
|
|
3222
3238
|
* Получить цвет по индексу элемента
|
|
3223
3239
|
* @param index - индекс элемента, которому требуется цвет
|
|
@@ -3232,51 +3248,6 @@ var getColorByIndex = function (index) {
|
|
|
3232
3248
|
return color;
|
|
3233
3249
|
};
|
|
3234
3250
|
|
|
3235
|
-
var WidgetPresetSettingsSchema = SchemaRegistry.define({
|
|
3236
|
-
key: "WidgetPresetSettings",
|
|
3237
|
-
latestVersion: "17",
|
|
3238
|
-
history: {
|
|
3239
|
-
"17": function (z) {
|
|
3240
|
-
return BaseWidgetSettingsSchema.forVersion("17")(z)
|
|
3241
|
-
.pick({
|
|
3242
|
-
filterMode: true,
|
|
3243
|
-
ignoreFilters: true,
|
|
3244
|
-
stateName: true,
|
|
3245
|
-
titleColor: true,
|
|
3246
|
-
titleSize: true,
|
|
3247
|
-
titleWeight: true,
|
|
3248
|
-
paddings: true,
|
|
3249
|
-
})
|
|
3250
|
-
.extend({
|
|
3251
|
-
textSize: z.number().default(12),
|
|
3252
|
-
});
|
|
3253
|
-
},
|
|
3254
|
-
},
|
|
3255
|
-
});
|
|
3256
|
-
|
|
3257
|
-
/**
|
|
3258
|
-
* Привязывает мета-информацию о теме к Zod-схеме
|
|
3259
|
-
*
|
|
3260
|
-
* @template Value - Тип значения схемы
|
|
3261
|
-
* @template Theme - Тип темы (по умолчанию ITheme)
|
|
3262
|
-
*
|
|
3263
|
-
* @param scheme - Zod схема для привязки
|
|
3264
|
-
* @param selectThemeValue - Функция, возвращающая значение из темы
|
|
3265
|
-
*
|
|
3266
|
-
* @returns Zod схему с мета-информацией о теме
|
|
3267
|
-
*
|
|
3268
|
-
* @example
|
|
3269
|
-
* // Базовое использование
|
|
3270
|
-
* textSize: themed(
|
|
3271
|
-
* z.number().default(12),
|
|
3272
|
-
* (theme) => theme.textSize
|
|
3273
|
-
* )
|
|
3274
|
-
*/
|
|
3275
|
-
var themed = function (scheme, selectThemeValue) {
|
|
3276
|
-
var _a;
|
|
3277
|
-
return scheme.meta((_a = {}, _a[ESettingsSchemaMetaKey.themeValue] = selectThemeValue, _a));
|
|
3278
|
-
};
|
|
3279
|
-
|
|
3280
3251
|
var ColorBaseSchema = SchemaRegistry.define({
|
|
3281
3252
|
key: "ColorBase",
|
|
3282
3253
|
latestVersion: "17",
|
|
@@ -3424,4 +3395,96 @@ var ColorSchema = SchemaRegistry.define({
|
|
|
3424
3395
|
},
|
|
3425
3396
|
});
|
|
3426
3397
|
|
|
3427
|
-
|
|
3398
|
+
var hexToRgb = function (hex) {
|
|
3399
|
+
if (hex.length === 0) {
|
|
3400
|
+
return;
|
|
3401
|
+
}
|
|
3402
|
+
var rgbTuple = [0, 0, 0];
|
|
3403
|
+
var matchArray = hex
|
|
3404
|
+
.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (m, r, g, b) { return "#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b); })
|
|
3405
|
+
.substring(1)
|
|
3406
|
+
.match(/.{2}/g);
|
|
3407
|
+
matchArray === null || matchArray === void 0 ? void 0 : matchArray.forEach(function (value, index) {
|
|
3408
|
+
if (index > 2) {
|
|
3409
|
+
return undefined;
|
|
3410
|
+
}
|
|
3411
|
+
rgbTuple[index] = parseInt(value, 16);
|
|
3412
|
+
});
|
|
3413
|
+
return rgbTuple;
|
|
3414
|
+
};
|
|
3415
|
+
|
|
3416
|
+
var rgbToHex = function (rgb) {
|
|
3417
|
+
return "#".concat(rgb.map(function (x) { return x.toString(16).padStart(2, "0"); }).join(""));
|
|
3418
|
+
};
|
|
3419
|
+
|
|
3420
|
+
var lerp = function (a, b, t) { return a + (b - a) * t; };
|
|
3421
|
+
/**
|
|
3422
|
+
* Вычисляет промежуточный hex цвет между двумя цветами путем линейной интерполяции
|
|
3423
|
+
* в RGB пространстве
|
|
3424
|
+
*
|
|
3425
|
+
* @param startHex цвет начала
|
|
3426
|
+
* @param endHex цвет конца
|
|
3427
|
+
* @param position позиция на градиенте от 0 до 1
|
|
3428
|
+
*/
|
|
3429
|
+
var interpolateHexColor = function (startHex, endHex, position) {
|
|
3430
|
+
var clampedPosition = clamp(position, 0, 1);
|
|
3431
|
+
var startRgb = hexToRgb(startHex);
|
|
3432
|
+
var endRgb = hexToRgb(endHex);
|
|
3433
|
+
if (!startRgb || !endRgb) {
|
|
3434
|
+
throw new Error("\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: start: ".concat(startHex, ", end: ").concat(endHex));
|
|
3435
|
+
}
|
|
3436
|
+
var interpolated = [
|
|
3437
|
+
Math.round(lerp(startRgb[0], endRgb[0], clampedPosition)),
|
|
3438
|
+
Math.round(lerp(startRgb[1], endRgb[1], clampedPosition)),
|
|
3439
|
+
Math.round(lerp(startRgb[2], endRgb[2], clampedPosition)),
|
|
3440
|
+
];
|
|
3441
|
+
return rgbToHex(interpolated);
|
|
3442
|
+
};
|
|
3443
|
+
|
|
3444
|
+
/** @deprecated временно используется для миграции */
|
|
3445
|
+
var WidgetPresetSettingsSchema = SchemaRegistry.define({
|
|
3446
|
+
key: "WidgetPresetSettings",
|
|
3447
|
+
latestVersion: "17",
|
|
3448
|
+
history: {
|
|
3449
|
+
"17": function (z) {
|
|
3450
|
+
return BaseWidgetSettingsSchema.forVersion("17")(z)
|
|
3451
|
+
.pick({
|
|
3452
|
+
filterMode: true,
|
|
3453
|
+
ignoreFilters: true,
|
|
3454
|
+
stateName: true,
|
|
3455
|
+
titleColor: true,
|
|
3456
|
+
titleSize: true,
|
|
3457
|
+
titleWeight: true,
|
|
3458
|
+
paddings: true,
|
|
3459
|
+
})
|
|
3460
|
+
.extend({
|
|
3461
|
+
textSize: z.number().default(12),
|
|
3462
|
+
});
|
|
3463
|
+
},
|
|
3464
|
+
},
|
|
3465
|
+
});
|
|
3466
|
+
|
|
3467
|
+
/**
|
|
3468
|
+
* Привязывает мета-информацию о теме к Zod-схеме
|
|
3469
|
+
*
|
|
3470
|
+
* @template Value - Тип значения схемы
|
|
3471
|
+
* @template Theme - Тип темы (по умолчанию ITheme)
|
|
3472
|
+
*
|
|
3473
|
+
* @param scheme - Zod схема для привязки
|
|
3474
|
+
* @param selectThemeValue - Функция, возвращающая значение из темы
|
|
3475
|
+
*
|
|
3476
|
+
* @returns Zod схему с мета-информацией о теме
|
|
3477
|
+
*
|
|
3478
|
+
* @example
|
|
3479
|
+
* // Базовое использование
|
|
3480
|
+
* textSize: themed(
|
|
3481
|
+
* z.number().default(12),
|
|
3482
|
+
* (theme) => theme.textSize
|
|
3483
|
+
* )
|
|
3484
|
+
*/
|
|
3485
|
+
var themed = function (scheme, selectThemeValue) {
|
|
3486
|
+
var _a;
|
|
3487
|
+
return scheme.meta((_a = {}, _a[ESettingsSchemaMetaKey.themeValue] = selectThemeValue, _a));
|
|
3488
|
+
};
|
|
3489
|
+
|
|
3490
|
+
export { ActionButtonSchema, ActionDrillDownSchema, 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, EFormulaFilterFieldKeys, EHeightMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureInnerTemplateNames, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESettingsSchemaMetaKey, 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, SchemaRegistryReader, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, VersionedSchemaFactory, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionInHierarchySchema, WidgetDimensionSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValueSchema, WidgetIndicatorDurationValueSchema, WidgetIndicatorFormulaValueSchema, WidgetIndicatorSchema, WidgetIndicatorTemplateValueSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureAggregationValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, apiVersion, apiVersions, applyIndexToArrayFormula, availableFormatsBySimpleType, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, defaultActionsConfig, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateSql, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getMeasureFormula, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, hexToRgb, inheritDisplayConditionFromHierarchy, interpolateHexColor, 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, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ var apiVersions = [
|
|
|
32
32
|
"16.2", // Для версии системы 250709
|
|
33
33
|
"17", // 2508
|
|
34
34
|
"18", // 2601
|
|
35
|
+
"19", // 2602
|
|
35
36
|
];
|
|
36
37
|
/**
|
|
37
38
|
* Актуальная версия settings, с которой работает система.
|
|
@@ -222,6 +223,15 @@ function memoize(fn) {
|
|
|
222
223
|
return result;
|
|
223
224
|
};
|
|
224
225
|
}
|
|
226
|
+
var clamp = function (value, min, max) {
|
|
227
|
+
if (value < min) {
|
|
228
|
+
return min;
|
|
229
|
+
}
|
|
230
|
+
if (value > max) {
|
|
231
|
+
return max;
|
|
232
|
+
}
|
|
233
|
+
return value;
|
|
234
|
+
};
|
|
225
235
|
/** Добавляет свойства к функции */
|
|
226
236
|
function assignPropsToFn(fn, props) {
|
|
227
237
|
return Object.assign(fn, props);
|
|
@@ -377,9 +387,9 @@ var AutoIdentifiedArrayItemSchema = SchemaRegistry.define({
|
|
|
377
387
|
});
|
|
378
388
|
var BaseWidgetSettingsSchema = SchemaRegistry.define({
|
|
379
389
|
key: "BaseWidgetSettings",
|
|
380
|
-
latestVersion: "
|
|
381
|
-
history
|
|
382
|
-
|
|
390
|
+
latestVersion: "19",
|
|
391
|
+
get history() {
|
|
392
|
+
var v17 = function (z) {
|
|
383
393
|
return z.object({
|
|
384
394
|
title: z.string().default(""),
|
|
385
395
|
titleSize: themed(z.number().default(14), function (theme) { return theme.widgets.titleSize; }),
|
|
@@ -395,10 +405,14 @@ var BaseWidgetSettingsSchema = SchemaRegistry.define({
|
|
|
395
405
|
ignoreFilters: z.boolean().default(false),
|
|
396
406
|
sorting: z.array(WidgetSortingIndicatorSchema.forVersion("17")(z)).default([]),
|
|
397
407
|
actionButtons: z.array(ActionButtonSchema.forVersion("17")(z)).default([]),
|
|
398
|
-
paddings:
|
|
408
|
+
paddings: z.union([z.number(), z.string()]).default(8),
|
|
399
409
|
viewTheme: z.boolean().default(false),
|
|
400
410
|
});
|
|
401
|
-
}
|
|
411
|
+
};
|
|
412
|
+
return {
|
|
413
|
+
"17": v17,
|
|
414
|
+
"19": function (z) { return v17(z).omit({ paddings: true }); },
|
|
415
|
+
};
|
|
402
416
|
},
|
|
403
417
|
});
|
|
404
418
|
|
|
@@ -2834,7 +2848,7 @@ exports.ESortDirection = void 0;
|
|
|
2834
2848
|
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
2835
2849
|
*/
|
|
2836
2850
|
function selectDimensionFromHierarchy(hierarchy, filters) {
|
|
2837
|
-
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
2851
|
+
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
2838
2852
|
var _loop_1 = function (i) {
|
|
2839
2853
|
var dimension = hierarchyDimensions[i];
|
|
2840
2854
|
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
@@ -3147,6 +3161,39 @@ var replaceFiltersBySelection = function (filters, selection) {
|
|
|
3147
3161
|
}, []);
|
|
3148
3162
|
};
|
|
3149
3163
|
|
|
3164
|
+
var colors = [
|
|
3165
|
+
"#222F3E",
|
|
3166
|
+
"#00D2D3",
|
|
3167
|
+
"#5F27CD",
|
|
3168
|
+
"#FECA57",
|
|
3169
|
+
"#078936",
|
|
3170
|
+
"#E51320",
|
|
3171
|
+
"#96AABF",
|
|
3172
|
+
"#1C55E7",
|
|
3173
|
+
"#341F97",
|
|
3174
|
+
"#FFDD59",
|
|
3175
|
+
"#D82C46",
|
|
3176
|
+
"#0BE881",
|
|
3177
|
+
"#0ABDE3",
|
|
3178
|
+
"#FF9F43",
|
|
3179
|
+
"#EC41D4",
|
|
3180
|
+
"#117F8E",
|
|
3181
|
+
"#B9B9B9",
|
|
3182
|
+
"#505BF1",
|
|
3183
|
+
"#64FFB6",
|
|
3184
|
+
"#485460",
|
|
3185
|
+
"#FFD32A",
|
|
3186
|
+
"#C74E1A",
|
|
3187
|
+
"#6E70A6",
|
|
3188
|
+
"#3C40C6",
|
|
3189
|
+
"#48DBFB",
|
|
3190
|
+
"#486179",
|
|
3191
|
+
"#FF9FF3",
|
|
3192
|
+
"#1DD1A1",
|
|
3193
|
+
"#BCC8D4",
|
|
3194
|
+
"#BA46AA",
|
|
3195
|
+
];
|
|
3196
|
+
|
|
3150
3197
|
exports.EColorMode = void 0;
|
|
3151
3198
|
(function (EColorMode) {
|
|
3152
3199
|
/** Окрашивание отключено */
|
|
@@ -3166,6 +3213,7 @@ exports.EColorMode = void 0;
|
|
|
3166
3213
|
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
3167
3214
|
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
3168
3215
|
})(exports.EColorMode || (exports.EColorMode = {}));
|
|
3216
|
+
|
|
3169
3217
|
var getRuleColor = function (ruleFormula, globalContext) {
|
|
3170
3218
|
var _a, _b;
|
|
3171
3219
|
var link = parseIndicatorLink(ruleFormula);
|
|
@@ -3187,38 +3235,6 @@ var isValidColor = function (color, globalContext) {
|
|
|
3187
3235
|
}
|
|
3188
3236
|
return true;
|
|
3189
3237
|
};
|
|
3190
|
-
var colors = [
|
|
3191
|
-
"#222F3E",
|
|
3192
|
-
"#00D2D3",
|
|
3193
|
-
"#5F27CD",
|
|
3194
|
-
"#FECA57",
|
|
3195
|
-
"#078936",
|
|
3196
|
-
"#E51320",
|
|
3197
|
-
"#96AABF",
|
|
3198
|
-
"#1C55E7",
|
|
3199
|
-
"#341F97",
|
|
3200
|
-
"#FFDD59",
|
|
3201
|
-
"#D82C46",
|
|
3202
|
-
"#0BE881",
|
|
3203
|
-
"#0ABDE3",
|
|
3204
|
-
"#FF9F43",
|
|
3205
|
-
"#EC41D4",
|
|
3206
|
-
"#117F8E",
|
|
3207
|
-
"#B9B9B9",
|
|
3208
|
-
"#505BF1",
|
|
3209
|
-
"#64FFB6",
|
|
3210
|
-
"#485460",
|
|
3211
|
-
"#FFD32A",
|
|
3212
|
-
"#C74E1A",
|
|
3213
|
-
"#6E70A6",
|
|
3214
|
-
"#3C40C6",
|
|
3215
|
-
"#48DBFB",
|
|
3216
|
-
"#486179",
|
|
3217
|
-
"#FF9FF3",
|
|
3218
|
-
"#1DD1A1",
|
|
3219
|
-
"#BCC8D4",
|
|
3220
|
-
"#BA46AA",
|
|
3221
|
-
];
|
|
3222
3238
|
/**
|
|
3223
3239
|
* Получить цвет по индексу элемента
|
|
3224
3240
|
* @param index - индекс элемента, которому требуется цвет
|
|
@@ -3233,51 +3249,6 @@ var getColorByIndex = function (index) {
|
|
|
3233
3249
|
return color;
|
|
3234
3250
|
};
|
|
3235
3251
|
|
|
3236
|
-
var WidgetPresetSettingsSchema = SchemaRegistry.define({
|
|
3237
|
-
key: "WidgetPresetSettings",
|
|
3238
|
-
latestVersion: "17",
|
|
3239
|
-
history: {
|
|
3240
|
-
"17": function (z) {
|
|
3241
|
-
return BaseWidgetSettingsSchema.forVersion("17")(z)
|
|
3242
|
-
.pick({
|
|
3243
|
-
filterMode: true,
|
|
3244
|
-
ignoreFilters: true,
|
|
3245
|
-
stateName: true,
|
|
3246
|
-
titleColor: true,
|
|
3247
|
-
titleSize: true,
|
|
3248
|
-
titleWeight: true,
|
|
3249
|
-
paddings: true,
|
|
3250
|
-
})
|
|
3251
|
-
.extend({
|
|
3252
|
-
textSize: z.number().default(12),
|
|
3253
|
-
});
|
|
3254
|
-
},
|
|
3255
|
-
},
|
|
3256
|
-
});
|
|
3257
|
-
|
|
3258
|
-
/**
|
|
3259
|
-
* Привязывает мета-информацию о теме к Zod-схеме
|
|
3260
|
-
*
|
|
3261
|
-
* @template Value - Тип значения схемы
|
|
3262
|
-
* @template Theme - Тип темы (по умолчанию ITheme)
|
|
3263
|
-
*
|
|
3264
|
-
* @param scheme - Zod схема для привязки
|
|
3265
|
-
* @param selectThemeValue - Функция, возвращающая значение из темы
|
|
3266
|
-
*
|
|
3267
|
-
* @returns Zod схему с мета-информацией о теме
|
|
3268
|
-
*
|
|
3269
|
-
* @example
|
|
3270
|
-
* // Базовое использование
|
|
3271
|
-
* textSize: themed(
|
|
3272
|
-
* z.number().default(12),
|
|
3273
|
-
* (theme) => theme.textSize
|
|
3274
|
-
* )
|
|
3275
|
-
*/
|
|
3276
|
-
var themed = function (scheme, selectThemeValue) {
|
|
3277
|
-
var _a;
|
|
3278
|
-
return scheme.meta((_a = {}, _a[exports.ESettingsSchemaMetaKey.themeValue] = selectThemeValue, _a));
|
|
3279
|
-
};
|
|
3280
|
-
|
|
3281
3252
|
var ColorBaseSchema = SchemaRegistry.define({
|
|
3282
3253
|
key: "ColorBase",
|
|
3283
3254
|
latestVersion: "17",
|
|
@@ -3425,6 +3396,98 @@ var ColorSchema = SchemaRegistry.define({
|
|
|
3425
3396
|
},
|
|
3426
3397
|
});
|
|
3427
3398
|
|
|
3399
|
+
var hexToRgb = function (hex) {
|
|
3400
|
+
if (hex.length === 0) {
|
|
3401
|
+
return;
|
|
3402
|
+
}
|
|
3403
|
+
var rgbTuple = [0, 0, 0];
|
|
3404
|
+
var matchArray = hex
|
|
3405
|
+
.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (m, r, g, b) { return "#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b); })
|
|
3406
|
+
.substring(1)
|
|
3407
|
+
.match(/.{2}/g);
|
|
3408
|
+
matchArray === null || matchArray === void 0 ? void 0 : matchArray.forEach(function (value, index) {
|
|
3409
|
+
if (index > 2) {
|
|
3410
|
+
return undefined;
|
|
3411
|
+
}
|
|
3412
|
+
rgbTuple[index] = parseInt(value, 16);
|
|
3413
|
+
});
|
|
3414
|
+
return rgbTuple;
|
|
3415
|
+
};
|
|
3416
|
+
|
|
3417
|
+
var rgbToHex = function (rgb) {
|
|
3418
|
+
return "#".concat(rgb.map(function (x) { return x.toString(16).padStart(2, "0"); }).join(""));
|
|
3419
|
+
};
|
|
3420
|
+
|
|
3421
|
+
var lerp = function (a, b, t) { return a + (b - a) * t; };
|
|
3422
|
+
/**
|
|
3423
|
+
* Вычисляет промежуточный hex цвет между двумя цветами путем линейной интерполяции
|
|
3424
|
+
* в RGB пространстве
|
|
3425
|
+
*
|
|
3426
|
+
* @param startHex цвет начала
|
|
3427
|
+
* @param endHex цвет конца
|
|
3428
|
+
* @param position позиция на градиенте от 0 до 1
|
|
3429
|
+
*/
|
|
3430
|
+
var interpolateHexColor = function (startHex, endHex, position) {
|
|
3431
|
+
var clampedPosition = clamp(position, 0, 1);
|
|
3432
|
+
var startRgb = hexToRgb(startHex);
|
|
3433
|
+
var endRgb = hexToRgb(endHex);
|
|
3434
|
+
if (!startRgb || !endRgb) {
|
|
3435
|
+
throw new Error("\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: start: ".concat(startHex, ", end: ").concat(endHex));
|
|
3436
|
+
}
|
|
3437
|
+
var interpolated = [
|
|
3438
|
+
Math.round(lerp(startRgb[0], endRgb[0], clampedPosition)),
|
|
3439
|
+
Math.round(lerp(startRgb[1], endRgb[1], clampedPosition)),
|
|
3440
|
+
Math.round(lerp(startRgb[2], endRgb[2], clampedPosition)),
|
|
3441
|
+
];
|
|
3442
|
+
return rgbToHex(interpolated);
|
|
3443
|
+
};
|
|
3444
|
+
|
|
3445
|
+
/** @deprecated временно используется для миграции */
|
|
3446
|
+
var WidgetPresetSettingsSchema = SchemaRegistry.define({
|
|
3447
|
+
key: "WidgetPresetSettings",
|
|
3448
|
+
latestVersion: "17",
|
|
3449
|
+
history: {
|
|
3450
|
+
"17": function (z) {
|
|
3451
|
+
return BaseWidgetSettingsSchema.forVersion("17")(z)
|
|
3452
|
+
.pick({
|
|
3453
|
+
filterMode: true,
|
|
3454
|
+
ignoreFilters: true,
|
|
3455
|
+
stateName: true,
|
|
3456
|
+
titleColor: true,
|
|
3457
|
+
titleSize: true,
|
|
3458
|
+
titleWeight: true,
|
|
3459
|
+
paddings: true,
|
|
3460
|
+
})
|
|
3461
|
+
.extend({
|
|
3462
|
+
textSize: z.number().default(12),
|
|
3463
|
+
});
|
|
3464
|
+
},
|
|
3465
|
+
},
|
|
3466
|
+
});
|
|
3467
|
+
|
|
3468
|
+
/**
|
|
3469
|
+
* Привязывает мета-информацию о теме к Zod-схеме
|
|
3470
|
+
*
|
|
3471
|
+
* @template Value - Тип значения схемы
|
|
3472
|
+
* @template Theme - Тип темы (по умолчанию ITheme)
|
|
3473
|
+
*
|
|
3474
|
+
* @param scheme - Zod схема для привязки
|
|
3475
|
+
* @param selectThemeValue - Функция, возвращающая значение из темы
|
|
3476
|
+
*
|
|
3477
|
+
* @returns Zod схему с мета-информацией о теме
|
|
3478
|
+
*
|
|
3479
|
+
* @example
|
|
3480
|
+
* // Базовое использование
|
|
3481
|
+
* textSize: themed(
|
|
3482
|
+
* z.number().default(12),
|
|
3483
|
+
* (theme) => theme.textSize
|
|
3484
|
+
* )
|
|
3485
|
+
*/
|
|
3486
|
+
var themed = function (scheme, selectThemeValue) {
|
|
3487
|
+
var _a;
|
|
3488
|
+
return scheme.meta((_a = {}, _a[exports.ESettingsSchemaMetaKey.themeValue] = selectThemeValue, _a));
|
|
3489
|
+
};
|
|
3490
|
+
|
|
3428
3491
|
Object.defineProperty(exports, "ELanguages", {
|
|
3429
3492
|
enumerable: true,
|
|
3430
3493
|
get: function () { return localization.ELanguages; }
|
|
@@ -3559,7 +3622,9 @@ exports.getMeasureFormula = getMeasureFormula;
|
|
|
3559
3622
|
exports.getProcessDimensionValueFormula = getProcessDimensionValueFormula;
|
|
3560
3623
|
exports.getRuleColor = getRuleColor;
|
|
3561
3624
|
exports.getTransitionMeasureFormula = getTransitionMeasureFormula;
|
|
3625
|
+
exports.hexToRgb = hexToRgb;
|
|
3562
3626
|
exports.inheritDisplayConditionFromHierarchy = inheritDisplayConditionFromHierarchy;
|
|
3627
|
+
exports.interpolateHexColor = interpolateHexColor;
|
|
3563
3628
|
exports.isDimensionProcessFilter = isDimensionProcessFilter;
|
|
3564
3629
|
exports.isDimensionsHierarchy = isDimensionsHierarchy;
|
|
3565
3630
|
exports.isFormulaFilterValue = isFormulaFilterValue;
|