@evergis/react 4.0.104 → 4.0.105
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/components/Dashboard/componentTypes.d.ts +3 -3
- package/dist/components/Dashboard/components/TextTrim/index.d.ts +1 -0
- package/dist/components/Dashboard/components/TextTrim/styled.d.ts +4 -0
- package/dist/components/Dashboard/containers/DataSourceContainer/constants.d.ts +7 -0
- package/dist/components/Dashboard/containers/DataSourceContainer/styled.d.ts +7 -12
- package/dist/components/Dashboard/containers/FiltersContainer/components/ChipsFilter.styled.d.ts +2 -1
- package/dist/components/Dashboard/containers/RoundedBackgroundContainer/styled.d.ts +1 -0
- package/dist/components/Dashboard/containers/TitleContainer/styled.d.ts +2 -2
- package/dist/components/Dashboard/hooks/index.d.ts +1 -0
- package/dist/components/Dashboard/hooks/useEqualTileWidth.d.ts +13 -0
- package/dist/components/Dashboard/types.d.ts +17 -2
- package/dist/components/Layer/types.d.ts +2 -2
- package/dist/core/classification/getLayerClientStyle.d.ts +3 -0
- package/dist/core/classification/index.d.ts +1 -0
- package/dist/index.js +223 -188
- package/dist/index.js.map +1 -1
- package/dist/react.esm.js +221 -189
- package/dist/react.esm.js.map +1 -1
- package/dist/types/styling.d.ts +6 -20
- package/package.json +2 -3
package/dist/react.esm.js
CHANGED
|
@@ -3400,6 +3400,11 @@ const asResourceId = (value) => value;
|
|
|
3400
3400
|
const CHART_TYPES = ["bar", "line", "pie", "stack"];
|
|
3401
3401
|
/** Выравнивание текста/блоков. */
|
|
3402
3402
|
const ALIGNMENTS = ["left", "center", "right"];
|
|
3403
|
+
/**
|
|
3404
|
+
* Выравнивание плиток контейнера DataSource+RoundedBackground: к базовым `left/center/right`
|
|
3405
|
+
* добавлен режим `stretch` — плитки строки растягиваются на всю ширину (ТЗ 9.4/9.5).
|
|
3406
|
+
*/
|
|
3407
|
+
const TILE_ALIGNMENTS = ["left", "center", "right", "stretch"];
|
|
3403
3408
|
/** Выравнивание детей контейнера по поперечной оси (CSS `align-items`). */
|
|
3404
3409
|
const ALIGN_ITEMS = ["flex-start", "center", "flex-end", "stretch", "baseline"];
|
|
3405
3410
|
/** Масштабирование изображения внутри своего бокса (CSS `object-fit`). */
|
|
@@ -7217,6 +7222,56 @@ const useDiffPage = (type) => {
|
|
|
7217
7222
|
return useMemo(() => isDiffPage, [isDiffPage]);
|
|
7218
7223
|
};
|
|
7219
7224
|
|
|
7225
|
+
/**
|
|
7226
|
+
* Уравнивает ширину всех плиток контейнера по самой широкой.
|
|
7227
|
+
*
|
|
7228
|
+
* Натуральная ширина каждой плитки измеряется через временное inline `width: max-content`
|
|
7229
|
+
* (снимает применённое ограничение `--tile-width`, поэтому замер устойчив к динамике данных и не
|
|
7230
|
+
* зацикливает ResizeObserver — итоговый максимум совпадает с уже применённым). Возвращаемое число
|
|
7231
|
+
* контейнер прокидывает в CSS-переменную `--tile-width`, которую читает каждая плитка.
|
|
7232
|
+
*
|
|
7233
|
+
* `enabled: false` (режим «Растянуть», «В столбец» или старые конфиги без `columns`) полностью
|
|
7234
|
+
* отключает измерение — ширина берётся из grid-ячейки.
|
|
7235
|
+
*/
|
|
7236
|
+
const useEqualTileWidth = (enabled, itemsCount) => {
|
|
7237
|
+
const ref = useRef(null);
|
|
7238
|
+
const [width, setWidth] = useState();
|
|
7239
|
+
const measure = useCallback(() => {
|
|
7240
|
+
const node = ref.current;
|
|
7241
|
+
if (!node)
|
|
7242
|
+
return;
|
|
7243
|
+
const tiles = Array.from(node.querySelectorAll("[data-tile]"));
|
|
7244
|
+
if (!tiles.length)
|
|
7245
|
+
return;
|
|
7246
|
+
tiles.forEach(tile => {
|
|
7247
|
+
tile.style.width = "max-content";
|
|
7248
|
+
});
|
|
7249
|
+
let max = 0;
|
|
7250
|
+
tiles.forEach(tile => {
|
|
7251
|
+
max = Math.max(max, tile.getBoundingClientRect().width);
|
|
7252
|
+
});
|
|
7253
|
+
tiles.forEach(tile => {
|
|
7254
|
+
tile.style.width = "";
|
|
7255
|
+
});
|
|
7256
|
+
const next = Math.ceil(max);
|
|
7257
|
+
setWidth(previous => (max && previous !== next ? next : previous));
|
|
7258
|
+
}, []);
|
|
7259
|
+
useEffect(() => {
|
|
7260
|
+
if (!enabled) {
|
|
7261
|
+
setWidth(undefined);
|
|
7262
|
+
return;
|
|
7263
|
+
}
|
|
7264
|
+
const node = ref.current;
|
|
7265
|
+
if (!node)
|
|
7266
|
+
return;
|
|
7267
|
+
measure();
|
|
7268
|
+
const observer = new ResizeObserver(() => measure());
|
|
7269
|
+
observer.observe(node);
|
|
7270
|
+
return () => observer.disconnect();
|
|
7271
|
+
}, [enabled, itemsCount, measure]);
|
|
7272
|
+
return [ref, enabled ? width : undefined];
|
|
7273
|
+
};
|
|
7274
|
+
|
|
7220
7275
|
const SAVE_HOOK_RESULT_DURATION = 4000;
|
|
7221
7276
|
const NOTIFICATION_ID_RADIX = 36;
|
|
7222
7277
|
const NOTIFICATION_ID_LENGTH = 8;
|
|
@@ -8684,33 +8739,70 @@ const IconContainer = memo(({ elementConfig, renderElement }) => {
|
|
|
8684
8739
|
return (jsxs(IconContainerWrapper, { id: id, style: style, children: [jsxs(IconContainerHeaderWrapper, { children: [jsxs(IconContainerHeader, { children: [renderElement({ id: "icon" }), jsx(IconContainerTitle, { children: renderElement({ id: "alias" }) })] }), renderElement({ id: "link" })] }), jsx(IconContainerText, { children: renderElement({ id: "text" }) })] }));
|
|
8685
8740
|
});
|
|
8686
8741
|
|
|
8687
|
-
/**
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8692
|
-
|
|
8693
|
-
|
|
8694
|
-
|
|
8695
|
-
|
|
8696
|
-
|
|
8697
|
-
|
|
8742
|
+
/** Дефолтный внутренний отступ между плитками, px (ТЗ §11). */
|
|
8743
|
+
const DEFAULT_TILE_GAP = 8;
|
|
8744
|
+
/** Раскладка ряда плиток (grid `justify-content`) для не-`stretch` выравнивания. */
|
|
8745
|
+
const ROW_JUSTIFY = {
|
|
8746
|
+
left: "start",
|
|
8747
|
+
center: "center",
|
|
8748
|
+
right: "end",
|
|
8749
|
+
stretch: "stretch",
|
|
8750
|
+
};
|
|
8751
|
+
/** Горизонтальное положение плитки в режиме «В столбец» (CSS `align-items`). */
|
|
8752
|
+
const COLUMN_ALIGN_ITEMS = {
|
|
8753
|
+
left: "flex-start",
|
|
8754
|
+
center: "center",
|
|
8755
|
+
right: "flex-end",
|
|
8756
|
+
stretch: "stretch",
|
|
8757
|
+
};
|
|
8758
|
+
|
|
8698
8759
|
const DataSourceContainerWrapper = styled(Container).withConfig({ displayName: "DataSourceContainerWrapper", componentId: "sc-1xnd27m" }) `
|
|
8699
|
-
${({ $
|
|
8700
|
-
|
|
8701
|
-
|
|
8702
|
-
|
|
8703
|
-
|
|
8704
|
-
|
|
8760
|
+
${({ $tileWidth }) => $tileWidth != null && `--tile-width: ${$tileWidth}px;`}
|
|
8761
|
+
|
|
8762
|
+
${({ $isRow, $columns, $gap, $align, $stretch }) => {
|
|
8763
|
+
if ($isRow) {
|
|
8764
|
+
if ($columns) {
|
|
8765
|
+
return css `
|
|
8766
|
+
display: grid;
|
|
8767
|
+
grid-template-columns: repeat(${$columns}, ${$stretch ? "minmax(0, 1fr)" : "auto"});
|
|
8768
|
+
justify-content: ${$stretch ? "stretch" : ROW_JUSTIFY[$align ?? "left"]};
|
|
8769
|
+
align-items: stretch;
|
|
8770
|
+
gap: ${$gap ?? DEFAULT_TILE_GAP}px;
|
|
8771
|
+
`;
|
|
8772
|
+
}
|
|
8773
|
+
return css `
|
|
8774
|
+
flex-wrap: wrap;
|
|
8775
|
+
justify-content: flex-start;
|
|
8776
|
+
gap: ${$gap != null ? `${$gap}px` : "0.5rem"};
|
|
8777
|
+
`;
|
|
8778
|
+
}
|
|
8779
|
+
return css `
|
|
8780
|
+
align-items: ${$stretch ? "stretch" : COLUMN_ALIGN_ITEMS[$align ?? "left"]};
|
|
8781
|
+
|
|
8782
|
+
> * {
|
|
8783
|
+
width: ${$stretch ? "100%" : "auto"};
|
|
8784
|
+
}
|
|
8785
|
+
|
|
8786
|
+
/* Вертикальный отступ между плитками в столбце — настраиваемый gap (ТЗ §7): переопределяем
|
|
8787
|
+
фикс. margin-bottom 0.5rem, который навешивает детям база Container(isColumn). */
|
|
8788
|
+
&& > *:not(:last-child) {
|
|
8789
|
+
margin-bottom: ${$gap != null ? `${$gap}px` : `${DEFAULT_TILE_GAP}px`};
|
|
8790
|
+
}
|
|
8791
|
+
`;
|
|
8792
|
+
}};
|
|
8705
8793
|
`;
|
|
8706
8794
|
|
|
8707
8795
|
const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent, renderElement }) => {
|
|
8796
|
+
const { t } = useGlobalContext();
|
|
8708
8797
|
const { dataSources, expandedContainers } = useWidgetContext(type);
|
|
8709
8798
|
const { id, options } = elementConfig || {};
|
|
8710
|
-
const { column = true, relatedDataSource, expandable, expanded } = options || {};
|
|
8799
|
+
const { column = true, relatedDataSource, expandable, expanded, columns, gap, align } = options || {};
|
|
8711
8800
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
8801
|
+
const { sliceItems, checkIsSliced, showMore, onShowMore } = useShownOtherItems(options);
|
|
8712
8802
|
const dataSource = useMemo(() => dataSources?.find(({ name }) => name === relatedDataSource), [dataSources, relatedDataSource]);
|
|
8713
8803
|
const isLoading = !dataSource?.features;
|
|
8804
|
+
const stretch = align === "stretch";
|
|
8805
|
+
const [tilesRef, tileWidth] = useEqualTileWidth(!column && !!columns && !stretch, dataSource?.features?.length ?? 0);
|
|
8714
8806
|
const defaults = useMemo(() => ({ height: isLoading ? "3rem" : "auto" }), [isLoading]);
|
|
8715
8807
|
const root = useWrapperSize({ elementConfig, defaults });
|
|
8716
8808
|
if (!relatedDataSource)
|
|
@@ -8718,7 +8810,9 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
|
|
|
8718
8810
|
if (dataSource && !dataSource.features) {
|
|
8719
8811
|
return jsx(DataSourceError, { name: elementConfig.templateName });
|
|
8720
8812
|
}
|
|
8721
|
-
return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsx(DataSourceContainerWrapper, { ...root, isColumn: column, "$isRow": !column, children: dataSource.features?.map((feature, index) => (jsx(DataSourceInnerContainer, { index: index, type: type, config: config, feature: feature, elementConfig: elementConfig, innerComponent: innerComponent }, index))) }))
|
|
8813
|
+
return (jsxs(Fragment$1, { children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsxs(Fragment$1, { children: [jsx(DataSourceContainerWrapper, { ...root, ref: tilesRef, isColumn: column, "$isRow": !column, "$columns": columns, "$gap": gap, "$align": align, "$stretch": stretch, "$tileWidth": tileWidth, children: sliceItems(dataSource.features)?.map((feature, index) => (jsx(DataSourceInnerContainer, { index: index, type: type, config: config, feature: feature, elementConfig: elementConfig, innerComponent: innerComponent }, index))) }), checkIsSliced(dataSource.features) && (jsx(ContainerToggler, { toggled: showMore, onClick: onShowMore, children: showMore
|
|
8814
|
+
? t("hide", { ns: "dashboard", defaultValue: "Свернуть" })
|
|
8815
|
+
: t("showAll", { ns: "dashboard", defaultValue: "Показать все" }) }))] })) : (jsx(ContainerLoading, {}))] }));
|
|
8722
8816
|
});
|
|
8723
8817
|
|
|
8724
8818
|
const SvgContainerColorMixin = css `
|
|
@@ -8741,11 +8835,11 @@ const SvgContainer = styled.div.withConfig({ displayName: "SvgContainer", compon
|
|
|
8741
8835
|
}
|
|
8742
8836
|
`;
|
|
8743
8837
|
|
|
8744
|
-
/** Выравнивание заголовка по горизонтали — в терминах flex-раскладки. */
|
|
8745
8838
|
const ALIGN_TO_JUSTIFY = {
|
|
8746
8839
|
left: "flex-start",
|
|
8747
8840
|
center: "center",
|
|
8748
8841
|
right: "flex-end",
|
|
8842
|
+
stretch: "flex-start",
|
|
8749
8843
|
};
|
|
8750
8844
|
const ContainerIconTitle = styled(Flex).withConfig({ displayName: "ContainerIconTitle", componentId: "sc-1jfnkqo" }) `
|
|
8751
8845
|
/* inline-flex, а не блочный flex во всю ширину: иначе text-align родителя игнорируется. */
|
|
@@ -9023,16 +9117,14 @@ const ContainerIconValue = styled(Flex).withConfig({ displayName: "ContainerIcon
|
|
|
9023
9117
|
const RoundedBackgroundContainerWrapper = styled(Flex).withConfig({ displayName: "RoundedBackgroundContainerWrapper", componentId: "sc-a1l8h3" }) `
|
|
9024
9118
|
position: relative;
|
|
9025
9119
|
flex-direction: ${({ $bigIcon }) => ($bigIcon ? "row" : "column")};
|
|
9026
|
-
width: 9rem;
|
|
9120
|
+
width: ${({ $fillWidth }) => ($fillWidth ? "var(--tile-width, 100%)" : "9rem")};
|
|
9121
|
+
height: 100%;
|
|
9122
|
+
box-sizing: border-box;
|
|
9027
9123
|
padding: 0.75rem 0.75rem 0.5rem;
|
|
9028
9124
|
background-color: ${({ theme: { palette } }) => palette.element};
|
|
9029
9125
|
border-radius: ${({ theme: { borderRadius } }) => borderRadius.large};
|
|
9030
9126
|
flex-wrap: nowrap;
|
|
9031
9127
|
|
|
9032
|
-
&& {
|
|
9033
|
-
margin-bottom: 0.5rem;
|
|
9034
|
-
}
|
|
9035
|
-
|
|
9036
9128
|
${({ $center }) => $center &&
|
|
9037
9129
|
css `
|
|
9038
9130
|
align-items: center;
|
|
@@ -9049,7 +9141,7 @@ const RoundedBackgroundContainerWrapper = styled(Flex).withConfig({ displayName:
|
|
|
9049
9141
|
css `
|
|
9050
9142
|
background-color: ${transparentizeColor($color, 6)};
|
|
9051
9143
|
|
|
9052
|
-
|
|
9144
|
+
${ContainerValue}, ${ContainerUnits}, ${ContainerAlias} {
|
|
9053
9145
|
color: ${$color};
|
|
9054
9146
|
fill: ${$color};
|
|
9055
9147
|
}
|
|
@@ -9109,11 +9201,13 @@ const RoundedBackgroundContainerWrapper = styled(Flex).withConfig({ displayName:
|
|
|
9109
9201
|
}
|
|
9110
9202
|
|
|
9111
9203
|
${ContainerAlias} {
|
|
9112
|
-
margin-top:
|
|
9204
|
+
margin-top: auto;
|
|
9205
|
+
padding-top: 0.25rem;
|
|
9113
9206
|
}
|
|
9114
9207
|
`;
|
|
9115
9208
|
|
|
9116
9209
|
const ALIAS_DEFAULT_MAX_LENGTH = 28;
|
|
9210
|
+
const DESCRIPTION_DEFAULT_MAX_LINES = 2;
|
|
9117
9211
|
const RoundedBackgroundContainer = memo(({ type, elementConfig, feature, renderElement, }) => {
|
|
9118
9212
|
const { t } = useGlobalContext();
|
|
9119
9213
|
const { dataSources, attributes: ctxAttributes } = useWidgetContext(type);
|
|
@@ -9125,7 +9219,7 @@ const RoundedBackgroundContainer = memo(({ type, elementConfig, feature, renderE
|
|
|
9125
9219
|
});
|
|
9126
9220
|
const attributes = isEmpty(dsAttributes) ? ctxAttributes : dsAttributes;
|
|
9127
9221
|
const { id, options, style, children } = elementConfig || {};
|
|
9128
|
-
const { maxLength, wordBreak, center, fontColor, innerTemplateStyle, inlineUnits, big, bigIcon, hideEmpty, colorAttribute } = options || {};
|
|
9222
|
+
const { maxLength, maxLines, wordBreak, center, fontColor, innerTemplateStyle, inlineUnits, big, bigIcon, hideEmpty, colorAttribute, columns } = options || {};
|
|
9129
9223
|
const iconElement = children?.find(item => item.id === "icon");
|
|
9130
9224
|
const aliasElement = children?.find(item => item.id === "alias");
|
|
9131
9225
|
const unitsElement = children?.find(item => item.id === "units");
|
|
@@ -9144,11 +9238,35 @@ const RoundedBackgroundContainer = memo(({ type, elementConfig, feature, renderE
|
|
|
9144
9238
|
return null;
|
|
9145
9239
|
return (jsx(FlexSpan, { width: iconElement.options?.width || "1rem", alignItems: "center", mr: "0.5rem", children: renderElement({ id: "icon", wrap: false }) }));
|
|
9146
9240
|
}, [iconElement, renderElement]);
|
|
9147
|
-
const
|
|
9148
|
-
|
|
9241
|
+
const aliasAttribute = useMemo(() => aliasElement && !aliasElement.type && aliasElement.attributeName
|
|
9242
|
+
? attributes.find(({ attributeName }) => attributeName === aliasElement.attributeName)
|
|
9243
|
+
: undefined, [attributes, aliasElement]);
|
|
9244
|
+
const aliasContent = useMemo(() => aliasAttribute
|
|
9245
|
+
? formatAttributeValue({
|
|
9246
|
+
t,
|
|
9247
|
+
type: aliasAttribute.type,
|
|
9248
|
+
value: aliasAttribute.value,
|
|
9249
|
+
stringFormat: aliasAttribute.stringFormat,
|
|
9250
|
+
noUnits: true,
|
|
9251
|
+
})
|
|
9252
|
+
: renderElement({ id: "alias", wrap: false }), [aliasAttribute, t, renderElement]);
|
|
9253
|
+
const renderAlias = useMemo(() => (jsx(ContainerAlias, { style: aliasElement?.style, children: jsx(TextTrim, { maxLength: maxLength || ALIAS_DEFAULT_MAX_LENGTH, maxLines: maxLines ?? (columns ? DESCRIPTION_DEFAULT_MAX_LINES : undefined), wordBreak: wordBreak, children: aliasContent }) })), [aliasElement?.style, maxLength, maxLines, columns, aliasContent, wordBreak]);
|
|
9254
|
+
const unitsAttribute = useMemo(() => unitsElement && !unitsElement.type && unitsElement.attributeName
|
|
9255
|
+
? attributes.find(({ attributeName }) => attributeName === unitsElement.attributeName)
|
|
9256
|
+
: undefined, [attributes, unitsElement]);
|
|
9257
|
+
const unitsContent = useMemo(() => unitsAttribute
|
|
9258
|
+
? formatAttributeValue({
|
|
9259
|
+
t,
|
|
9260
|
+
type: unitsAttribute.type,
|
|
9261
|
+
value: unitsAttribute.value,
|
|
9262
|
+
stringFormat: unitsAttribute.stringFormat,
|
|
9263
|
+
noUnits: true,
|
|
9264
|
+
})
|
|
9265
|
+
: renderElement({ id: "units" }), [unitsAttribute, t, renderElement]);
|
|
9266
|
+
const renderValue = useMemo(() => isNil(value) ? null : (jsxs(ContainerValue, { style: valueElement?.style, big: true, children: [value, !!unitsElement && (jsx(ContainerUnits, { style: unitsElement?.style, children: unitsContent }))] })), [valueElement?.style, value, unitsElement, unitsContent]);
|
|
9149
9267
|
if (isNil(value) && hideEmpty)
|
|
9150
9268
|
return null;
|
|
9151
|
-
return (jsxs(RoundedBackgroundContainerWrapper, { id: id, style: innerTemplateStyle || style, "$center": center, "$color": color, "$inlineUnits": inlineUnits, "$big": big, "$bigIcon": bigIcon, children: [jsxs(ContainerIconValue, { children: [renderIcon, big ? renderAlias : renderValue] }), big ? renderValue : renderAlias] }));
|
|
9269
|
+
return (jsxs(RoundedBackgroundContainerWrapper, { id: id, "data-tile": true, style: innerTemplateStyle || style, "$center": center !== false, "$color": color, "$inlineUnits": inlineUnits, "$big": big, "$bigIcon": bigIcon, "$fillWidth": !!columns, children: [jsxs(ContainerIconValue, { children: [renderIcon, big ? renderAlias : renderValue] }), big ? renderValue : renderAlias] }));
|
|
9152
9270
|
});
|
|
9153
9271
|
|
|
9154
9272
|
const AddFeatureContainer = memo(({ elementConfig }) => {
|
|
@@ -9423,23 +9541,16 @@ var EditGeometryType;
|
|
|
9423
9541
|
|
|
9424
9542
|
var StyligClassificationTypes;
|
|
9425
9543
|
(function (StyligClassificationTypes) {
|
|
9426
|
-
StyligClassificationTypes["FillColor"] = "fill";
|
|
9427
|
-
StyligClassificationTypes["
|
|
9428
|
-
StyligClassificationTypes["
|
|
9429
|
-
StyligClassificationTypes["
|
|
9430
|
-
StyligClassificationTypes["
|
|
9544
|
+
StyligClassificationTypes["FillColor"] = "fill-color";
|
|
9545
|
+
StyligClassificationTypes["FillExtrusionColor"] = "fill-extrusion-color";
|
|
9546
|
+
StyligClassificationTypes["CircleColor"] = "circle-color";
|
|
9547
|
+
StyligClassificationTypes["LineColor"] = "line-color";
|
|
9548
|
+
StyligClassificationTypes["CircleStrokeColor"] = "circle-stroke-color";
|
|
9431
9549
|
StyligClassificationTypes["CircleRadius"] = "circle-radius";
|
|
9432
9550
|
StyligClassificationTypes["CircleStrokeWidth"] = "circle-stroke-width";
|
|
9433
9551
|
StyligClassificationTypes["LineWidth"] = "line-width";
|
|
9434
|
-
StyligClassificationTypes["PolygonStrokeWidth"] = "polygon-stroke-width";
|
|
9435
9552
|
StyligClassificationTypes["CircleBlur"] = "circle-blur";
|
|
9436
9553
|
StyligClassificationTypes["LineBlur"] = "line-blur";
|
|
9437
|
-
StyligClassificationTypes["PolygonStrokeBlur"] = "polygon-stroke-blur";
|
|
9438
|
-
StyligClassificationTypes["FillOpacity"] = "fill-opacity";
|
|
9439
|
-
StyligClassificationTypes["CircleOpacity"] = "circle-opacity";
|
|
9440
|
-
StyligClassificationTypes["LineOpacity"] = "line-opacity";
|
|
9441
|
-
StyligClassificationTypes["PolygonStrokeOpacity"] = "polygon-stroke-opacity";
|
|
9442
|
-
StyligClassificationTypes["CircleTranslate"] = "circle-translate";
|
|
9443
9554
|
})(StyligClassificationTypes || (StyligClassificationTypes = {}));
|
|
9444
9555
|
|
|
9445
9556
|
const StyledButton = styled(FlatButton).withConfig({ displayName: "StyledButton", componentId: "sc-13r9ztd" }) `
|
|
@@ -9495,7 +9606,7 @@ const buildFiltersFromResponse = (responseFilters, result) => {
|
|
|
9495
9606
|
return Object.keys(filters).length ? filters : null;
|
|
9496
9607
|
};
|
|
9497
9608
|
|
|
9498
|
-
const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-138git7" }) `
|
|
9609
|
+
const ClampedText$1 = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-138git7" }) `
|
|
9499
9610
|
display: -webkit-box;
|
|
9500
9611
|
-webkit-line-clamp: 2;
|
|
9501
9612
|
-webkit-box-orient: vertical;
|
|
@@ -9503,7 +9614,7 @@ const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componen
|
|
|
9503
9614
|
text-overflow: ellipsis;
|
|
9504
9615
|
word-break: break-word;
|
|
9505
9616
|
`;
|
|
9506
|
-
const clampDescription = (text) => createElement(ClampedText, null, text);
|
|
9617
|
+
const clampDescription = (text) => createElement(ClampedText$1, null, text);
|
|
9507
9618
|
|
|
9508
9619
|
const RUN_ID_RADIX = 36;
|
|
9509
9620
|
const RUN_ID_LENGTH = 8;
|
|
@@ -14418,6 +14529,13 @@ const ExpandableTitle = memo(({ elementConfig, type, renderElement }) => {
|
|
|
14418
14529
|
const titleElement = children?.find(item => item.id === "title");
|
|
14419
14530
|
if (!titleElement)
|
|
14420
14531
|
return null;
|
|
14532
|
+
const titleIconElement = children?.find(item => item.id === "titleIcon");
|
|
14533
|
+
const isLayers = templateName === ContainerTemplate.Layers;
|
|
14534
|
+
const hasTitleText = !!titleElement.value?.toString().trim() || !!titleElement.attributeName;
|
|
14535
|
+
const hasTitleIcon = !!titleIconElement?.value;
|
|
14536
|
+
const hasControls = !!expandable || !!titleElement.options?.downloadById || isLayers;
|
|
14537
|
+
if (!hasTitleText && !hasTitleIcon && !hasControls)
|
|
14538
|
+
return null;
|
|
14421
14539
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
14422
14540
|
return (jsx(TitleContainer, { containerId: id, elementConfig: titleElement, templateName: templateName, layerNames: layerNames, fontColor: fontColor, expandable: expandable, expanded: expanded, type: type, isVisible: isVisible, renderElement: renderElement }));
|
|
14423
14541
|
});
|
|
@@ -14743,8 +14861,40 @@ const TextTrimValue = styled.div.withConfig({ displayName: "TextTrimValue", comp
|
|
|
14743
14861
|
word-break: ${({ wordBreak }) => wordBreak ?? "break-word"};
|
|
14744
14862
|
overflow: hidden;
|
|
14745
14863
|
`;
|
|
14864
|
+
const ClampedText = styled.div.withConfig({ displayName: "ClampedText", componentId: "sc-asq1h5" }) `
|
|
14865
|
+
display: -webkit-box;
|
|
14866
|
+
-webkit-line-clamp: ${({ $maxLines }) => $maxLines};
|
|
14867
|
+
-webkit-box-orient: vertical;
|
|
14868
|
+
overflow: hidden;
|
|
14869
|
+
width: 100%;
|
|
14870
|
+
max-width: 100%;
|
|
14871
|
+
word-break: ${({ wordBreak }) => wordBreak ?? "break-word"};
|
|
14872
|
+
`;
|
|
14746
14873
|
|
|
14747
|
-
|
|
14874
|
+
/**
|
|
14875
|
+
* Обрезка описания по числу строк (line-clamp). Тултип с полным текстом показывается ТОЛЬКО при
|
|
14876
|
+
* реальном переполнении (`scrollHeight > clientHeight`), отслеживаемом через ResizeObserver, —
|
|
14877
|
+
* у необрезанного текста тултипа нет (ТЗ 9.7).
|
|
14878
|
+
*/
|
|
14879
|
+
const TextTrimLineClamp = memo(({ maxLines, wordBreak, children }) => {
|
|
14880
|
+
const ref = useRef(null);
|
|
14881
|
+
const [isOverflow, setIsOverflow] = useState(false);
|
|
14882
|
+
useEffect(() => {
|
|
14883
|
+
const node = ref.current;
|
|
14884
|
+
if (!node)
|
|
14885
|
+
return;
|
|
14886
|
+
const check = () => setIsOverflow(node.scrollHeight > node.clientHeight);
|
|
14887
|
+
check();
|
|
14888
|
+
const observer = new ResizeObserver(check);
|
|
14889
|
+
observer.observe(node);
|
|
14890
|
+
return () => observer.disconnect();
|
|
14891
|
+
}, [children, maxLines]);
|
|
14892
|
+
const clamped = (jsx(ClampedText, { ref: ref, "$maxLines": maxLines, wordBreak: wordBreak, children: children }));
|
|
14893
|
+
if (!isOverflow)
|
|
14894
|
+
return clamped;
|
|
14895
|
+
return (jsx(Tooltip$1, { placement: "top", arrow: true, content: children, children: tooltipRef => jsx("div", { ref: tooltipRef, children: clamped }) }));
|
|
14896
|
+
});
|
|
14897
|
+
const TextTrim = memo(({ maxLength, maxLines, expandable, lineBreak, wordBreak, children }) => {
|
|
14748
14898
|
const { t } = useGlobalContext();
|
|
14749
14899
|
const [expanded, toggleExpanded] = useToggle();
|
|
14750
14900
|
const text = children?.toString();
|
|
@@ -14753,6 +14903,9 @@ const TextTrim = memo(({ maxLength, expandable, lineBreak, wordBreak, children }
|
|
|
14753
14903
|
return jsx(TextTrimValue, { wordBreak: wordBreak, children: value });
|
|
14754
14904
|
return jsx(TextTrimValue, { wordBreak: wordBreak, dangerouslySetInnerHTML: { __html: unescape(value).split(lineBreak).join("<br />") } });
|
|
14755
14905
|
}, [lineBreak, wordBreak]);
|
|
14906
|
+
if (maxLines && text?.length) {
|
|
14907
|
+
return jsx(TextTrimLineClamp, { maxLines: maxLines, wordBreak: wordBreak, children: text });
|
|
14908
|
+
}
|
|
14756
14909
|
if (!text?.length || !maxLength || text.length <= maxLength)
|
|
14757
14910
|
return jsx(Fragment$1, { children: formatValue(text) });
|
|
14758
14911
|
const substring = `${text.substring(0, maxLength)}...`;
|
|
@@ -14799,41 +14952,6 @@ const RasterLayer = ({ layer, tileUrl, visible, beforeId, }) => {
|
|
|
14799
14952
|
return (jsx(Source, { id: layer.name, type: "raster", tiles: tiles, children: jsx(Layer$1, { id: layer.name, type: "raster", "source-layer": "default", beforeId: beforeId, layout: { visibility: visible ? "visible" : "none" } }) }, `${layer.name}-${tileUrl}`));
|
|
14800
14953
|
};
|
|
14801
14954
|
|
|
14802
|
-
const getClientStyleItemPrefixSuffix = (geometryType, itemType) => {
|
|
14803
|
-
switch (geometryType) {
|
|
14804
|
-
case OgcGeometryType.Point:
|
|
14805
|
-
case OgcGeometryType.MultiPoint:
|
|
14806
|
-
switch (itemType) {
|
|
14807
|
-
case "symbol":
|
|
14808
|
-
return ["point-label-layer-", "-label"];
|
|
14809
|
-
default:
|
|
14810
|
-
return ["point-layer-", ""];
|
|
14811
|
-
}
|
|
14812
|
-
case OgcGeometryType.LineString:
|
|
14813
|
-
case OgcGeometryType.MultiLineString:
|
|
14814
|
-
switch (itemType) {
|
|
14815
|
-
case "symbol":
|
|
14816
|
-
return ["polyline-label-layer-", "-label"];
|
|
14817
|
-
default:
|
|
14818
|
-
return ["polyline-layer-", ""];
|
|
14819
|
-
}
|
|
14820
|
-
case OgcGeometryType.Polygon:
|
|
14821
|
-
case OgcGeometryType.MultiPolygon:
|
|
14822
|
-
switch (itemType) {
|
|
14823
|
-
case "line":
|
|
14824
|
-
return ["polygon-stroke-layer-", "-stroke"];
|
|
14825
|
-
case "fill-extrusion":
|
|
14826
|
-
return ["polygon-extrusion-layer-", "-extrusion"];
|
|
14827
|
-
case "symbol":
|
|
14828
|
-
return ["polygon-label-layer-", "-label"];
|
|
14829
|
-
default:
|
|
14830
|
-
return ["polygon-layer-", ""];
|
|
14831
|
-
}
|
|
14832
|
-
default:
|
|
14833
|
-
return ["", ""];
|
|
14834
|
-
}
|
|
14835
|
-
};
|
|
14836
|
-
|
|
14837
14955
|
const findAttributeInExpression = (expression) => {
|
|
14838
14956
|
if (Array.isArray(expression) && expression.length === 2 && expression[0] === "get") {
|
|
14839
14957
|
return [expression[1]];
|
|
@@ -14855,6 +14973,14 @@ const getActualExtrusionHeight = (paint) => {
|
|
|
14855
14973
|
: paint?.["fill-extrusion-height"];
|
|
14856
14974
|
};
|
|
14857
14975
|
|
|
14976
|
+
const getLayerClientStyle = (layer) => {
|
|
14977
|
+
const clientStyle = layer?.configuration?.clientStyle;
|
|
14978
|
+
return {
|
|
14979
|
+
...clientStyle,
|
|
14980
|
+
items: clientStyle?.items ?? [],
|
|
14981
|
+
};
|
|
14982
|
+
};
|
|
14983
|
+
|
|
14858
14984
|
const extractAttributesFromObject = (obj) => {
|
|
14859
14985
|
if (!obj || isEmpty(obj)) {
|
|
14860
14986
|
return [];
|
|
@@ -14884,7 +15010,6 @@ const VectorLayer = ({ layer, tileUrl, visible, beforeId, getLayerTempStyle, })
|
|
|
14884
15010
|
const layerConfiguration = layer?.configuration;
|
|
14885
15011
|
const clientStyle = layerConfiguration?.clientStyle;
|
|
14886
15012
|
const idAttribute = layerConfiguration?.attributesConfiguration?.idAttribute;
|
|
14887
|
-
const geometryType = layerConfiguration?.geometryType;
|
|
14888
15013
|
const tiles = useMemo(() => [tileUrl], [tileUrl]);
|
|
14889
15014
|
// Собираем конфигурации иконок для загрузки из clientStyle
|
|
14890
15015
|
const iconConfigs = useMemo(() => {
|
|
@@ -14911,121 +15036,28 @@ const VectorLayer = ({ layer, tileUrl, visible, beforeId, getLayerTempStyle, })
|
|
|
14911
15036
|
}).filter((config) => config !== null);
|
|
14912
15037
|
}, [clientStyle]);
|
|
14913
15038
|
useMapImages({ images: iconConfigs });
|
|
14914
|
-
const renderLayerByGeometryType = useCallback(() => {
|
|
14915
|
-
const visibility = visible ? "visible" : "none";
|
|
14916
|
-
switch (geometryType) {
|
|
14917
|
-
case OgcGeometryType.Point:
|
|
14918
|
-
case OgcGeometryType.MultiPoint:
|
|
14919
|
-
return (jsx(Layer$1, { id: layer.name, type: "circle", "source-layer": "default", beforeId: beforeId, layout: {
|
|
14920
|
-
...getLayerTempStyle?.(layer.name, "circle")?.layout,
|
|
14921
|
-
visibility,
|
|
14922
|
-
}, paint: {
|
|
14923
|
-
...DEFAULT_CIRCLE_PAINT,
|
|
14924
|
-
...getLayerTempStyle?.(layer.name, "circle")?.paint,
|
|
14925
|
-
} }));
|
|
14926
|
-
case OgcGeometryType.Polygon:
|
|
14927
|
-
case OgcGeometryType.MultiPolygon:
|
|
14928
|
-
return [
|
|
14929
|
-
jsx(Layer$1, { id: layer.name, type: "fill", "source-layer": "default", beforeId: beforeId, layout: {
|
|
14930
|
-
...getLayerTempStyle?.(layer.name, "fill")?.layout,
|
|
14931
|
-
visibility: visible &&
|
|
14932
|
-
getLayerTempStyle?.(layer.name, "fill-extrusion")?.settings?.fill?.showBottomSurface !== false &&
|
|
14933
|
-
Boolean(getActualExtrusionHeight({
|
|
14934
|
-
...DEFAULT_FILL_EXTRUSION_PAINT,
|
|
14935
|
-
...getLayerTempStyle?.(layer.name, "fill-extrusion")?.paint,
|
|
14936
|
-
}))
|
|
14937
|
-
? "visible"
|
|
14938
|
-
: "none",
|
|
14939
|
-
}, paint: {
|
|
14940
|
-
...DEFAULT_FILL_PAINT,
|
|
14941
|
-
...getLayerTempStyle?.(layer.name, "fill")?.paint,
|
|
14942
|
-
} }, `polygon-layer-${layer.name}`),
|
|
14943
|
-
jsx(Layer$1, { id: `${layer.name}-stroke`, type: "line", "source-layer": "default", beforeId: beforeId, layout: {
|
|
14944
|
-
...getLayerTempStyle?.(layer.name, "line")?.layout,
|
|
14945
|
-
visibility: visible &&
|
|
14946
|
-
getLayerTempStyle?.(layer.name, "fill-extrusion")?.settings?.fill?.showBottomSurface !== false &&
|
|
14947
|
-
Boolean(getActualExtrusionHeight({
|
|
14948
|
-
...DEFAULT_FILL_EXTRUSION_PAINT,
|
|
14949
|
-
...getLayerTempStyle?.(layer.name, "fill-extrusion")?.paint,
|
|
14950
|
-
}))
|
|
14951
|
-
? "visible"
|
|
14952
|
-
: "none",
|
|
14953
|
-
}, paint: {
|
|
14954
|
-
...DEFAULT_LINE_PAINT,
|
|
14955
|
-
...getLayerTempStyle?.(layer.name, "line")?.paint,
|
|
14956
|
-
} }, `polygon-stroke-layer-${layer.name}`),
|
|
14957
|
-
jsx(Layer$1, { id: `${layer.name}-extrusion`, type: "fill-extrusion", "source-layer": "default", beforeId: beforeId, minzoom: 0, maxzoom: 23, layout: {
|
|
14958
|
-
...getLayerTempStyle?.(layer.name, "fill-extrusion")?.layout,
|
|
14959
|
-
visibility,
|
|
14960
|
-
}, paint: {
|
|
14961
|
-
...DEFAULT_FILL_EXTRUSION_PAINT,
|
|
14962
|
-
...getLayerTempStyle?.(layer.name, "fill-extrusion")?.paint,
|
|
14963
|
-
} }, `polygon-extrusion-layer-${layer.name}`),
|
|
14964
|
-
];
|
|
14965
|
-
case OgcGeometryType.LineString:
|
|
14966
|
-
case OgcGeometryType.MultiLineString:
|
|
14967
|
-
return (jsx(Layer$1, { id: layer.name, type: "line", "source-layer": "default", beforeId: beforeId, layout: {
|
|
14968
|
-
...getLayerTempStyle?.(layer.name, "line")?.layout,
|
|
14969
|
-
visibility,
|
|
14970
|
-
}, paint: {
|
|
14971
|
-
...DEFAULT_LINE_PAINT,
|
|
14972
|
-
...getLayerTempStyle?.(layer.name, "line")?.paint,
|
|
14973
|
-
} }));
|
|
14974
|
-
default:
|
|
14975
|
-
return null;
|
|
14976
|
-
}
|
|
14977
|
-
}, [
|
|
14978
|
-
geometryType,
|
|
14979
|
-
layer,
|
|
14980
|
-
beforeId,
|
|
14981
|
-
visible,
|
|
14982
|
-
getLayerTempStyle,
|
|
14983
|
-
]);
|
|
14984
15039
|
const renderClientStyle = useCallback(() => {
|
|
14985
|
-
|
|
14986
|
-
|
|
14987
|
-
|
|
14988
|
-
const
|
|
14989
|
-
|
|
14990
|
-
|
|
14991
|
-
|
|
14992
|
-
|
|
14993
|
-
...getLayerTempStyle?.(layer.name, "fill-extrusion")?.paint,
|
|
14994
|
-
}
|
|
14995
|
-
: undefined;
|
|
14996
|
-
const currentSettings = {
|
|
14997
|
-
...clientStyle?.settings,
|
|
14998
|
-
...getLayerTempStyle?.(layer.name, mockItem.type)?.settings,
|
|
14999
|
-
};
|
|
15000
|
-
const processedExtrusionHeight = getActualExtrusionHeight(fillExtrusionPaint);
|
|
15001
|
-
const hasExtrusion = Boolean(processedExtrusionHeight);
|
|
15002
|
-
const visibility = visible &&
|
|
15003
|
-
((isExtrusionItem && hasExtrusion) ||
|
|
15004
|
-
(!isPolygonPart && !isExtrusionItem) ||
|
|
15005
|
-
(isPolygonPart && (!hasExtrusion || (currentSettings?.fill?.showBottomSurface ?? true))))
|
|
15006
|
-
? "visible"
|
|
15007
|
-
: "none";
|
|
15008
|
-
return (jsx(Layer$1, { id: `${layer.name}${suffix}`, type: mockItem.type, "source-layer": "default", beforeId: beforeId, ...(mockItem.filter && { filter: mockItem.filter }), minzoom: mockItem.minzoom ?? clientStyle?.minzoom ?? 0, maxzoom: mockItem.maxzoom ?? clientStyle?.maxzoom ?? 23, layout: {
|
|
15040
|
+
const items = [...(getLayerTempStyle(layer.name)?.items ?? clientStyle?.items ?? [])];
|
|
15041
|
+
let currentBeforeId = beforeId;
|
|
15042
|
+
return items.map((mockItem, mockItemIndex) => {
|
|
15043
|
+
const visibility = visible ? "visible" : "none";
|
|
15044
|
+
if (mockItemIndex > 0) {
|
|
15045
|
+
currentBeforeId = `${layer.name}-${items[mockItemIndex - 1].id}`;
|
|
15046
|
+
}
|
|
15047
|
+
return (jsx(Layer$1, { id: `${layer.name}-${mockItem.id}`, type: mockItem.type, "source-layer": "default", beforeId: currentBeforeId, ...(mockItem.filter && { filter: mockItem.filter }), minzoom: mockItem.minzoom ?? clientStyle?.minzoom ?? 0, maxzoom: mockItem.maxzoom ?? clientStyle?.maxzoom ?? 23, layout: {
|
|
15009
15048
|
...mockItem.layout,
|
|
15010
|
-
...getLayerTempStyle
|
|
15049
|
+
...getLayerTempStyle(layer.name)?.items?.find(item => item.id === mockItem.id)?.layout,
|
|
15011
15050
|
visibility,
|
|
15012
15051
|
}, paint: {
|
|
15013
15052
|
...mockItem.paint,
|
|
15014
|
-
...getLayerTempStyle
|
|
15015
|
-
} }, `${
|
|
15053
|
+
...getLayerTempStyle(layer.name)?.items?.find(item => item.id === mockItem.id)?.paint,
|
|
15054
|
+
} }, `${layer.name}-${mockItem.id}`));
|
|
15016
15055
|
});
|
|
15017
|
-
}, [
|
|
15018
|
-
beforeId,
|
|
15019
|
-
clientStyle,
|
|
15020
|
-
geometryType,
|
|
15021
|
-
layer.name,
|
|
15022
|
-
visible,
|
|
15023
|
-
getLayerTempStyle,
|
|
15024
|
-
]);
|
|
15056
|
+
}, [beforeId, clientStyle, layer.name, visible, getLayerTempStyle]);
|
|
15025
15057
|
if (!layer) {
|
|
15026
15058
|
return null;
|
|
15027
15059
|
}
|
|
15028
|
-
return (jsx(Source, { promoteId: idAttribute, id: layer.name, type: "vector", tiles: tiles, children:
|
|
15060
|
+
return (jsx(Source, { promoteId: idAttribute, id: layer.name, type: "vector", tiles: tiles, children: renderClientStyle() }, `${layer.name}-${tileUrl}`));
|
|
15029
15061
|
};
|
|
15030
15062
|
|
|
15031
15063
|
const Layer = ({ layer, layerType, visible, beforeId, tileUrl, getLayerTempStyle, onMount = () => { }, }) => {
|
|
@@ -15072,5 +15104,5 @@ const Map$1 = ({ zIndex, lowerSiblings, upperSiblings, onError, children, ...res
|
|
|
15072
15104
|
}, children: children }), upperSiblings] }));
|
|
15073
15105
|
};
|
|
15074
15106
|
|
|
15075
|
-
export { ALIGNMENTS, ALIGN_ITEMS, AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttachmentContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CHART_TYPES, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EMPTY_DATA_SOURCE_LAYER_INFO, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILL_SIZE, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardBackgroundHeader, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFontColorMixin, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OBJECT_FITS, OVERFLOWS, OneColumnContainer, POLL_SUBTASK_INTERVAL_MS, POLL_SUBTASK_TIMEOUT_MS, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, RoundedBackgroundContainer, SAVE_HOOK_RESULT_DURATION, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, StyligClassificationTypes, SvgImage, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, VIEW_MODES, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyTreeFilterToCondition, applyVarsToCondition, asAttributeName, asChartId, asContainerId, asDataSourceName, asFilterName, asLayerName, asModalId, asResourceId, asTabId, checkEqualOrIncludes, checkIsLoading, createConfigLayer, createConfigPage, createNewPageId, createSaveNotificationId, createTreeNode, dateOptions, debounce, decimalOpacityToHex, eqlParametersToPayload, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, geometryToEwkt, getActualExtrusionHeight, getAttributeByName, getAttributeConfigurationByName, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDataSourceLayerInfo, getDate, getDefaultConfig, getDisplayTemplateNameFromAttribute, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getLayerInfo, getLayerInfoAttribute, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getStyleAttributes, getSvgUrl, getTemplateNameFromAttribute, getThemeByName, getTotalFromAttributes, getTotalFromRelatedFeatures, getWrapperSizeStyle, hexToRgba, isEmptyElementValue, isEmptyValue, isFillSize, isHiddenEmptyValue, isHookActive, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isTreeFilterValue, isVisibleContainer, mergeAttributeConfigurations, metersPerPixel, numberOptions, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sizeCssMixin, sliceShownOtherItems, stretchPalette, timeOptions, toCssSize, toPxNumber, toRenderableValue, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, updateDataSource, useAfterSave, useAppHeight, useAttachmentItems, useAttachmentPreviewImages, useAutoCompleteControl, useBeforeSave, useChartChange, useChartData, useContainerAttributes, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useEditGroupAttributes, useExpandableContainers, useExportPdf, useFeatureSaveHooks, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRemoteTask, useRenderElement, useResizeBox, useSavePrototypeBuilder, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useWrapperSize, useZoomToFeatures, useZoomToPoint };
|
|
15107
|
+
export { ALIGNMENTS, ALIGN_ITEMS, AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttachmentContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CHART_TYPES, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_PAINT, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_PAINT, DEFAULT_FILL_PAINT, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_PAINT, DEFAULT_LNG, DEFAULT_PAGES_CONFIG, DEFAULT_PIECHART_RADIUS, DEFAULT_ZOOM, Dashboard, DashboardCheckbox, DashboardChip, DashboardContent, DashboardContext, DashboardDefaultHeader, DashboardHeader, DashboardLoading, DashboardPlaceholder, DashboardPlaceholderWrap, DashboardProvider, DashboardWrapper, DataSourceContainer, DataSourceError, DataSourceErrorContainer, DataSourceInnerContainer, DataSourceProgressContainer, DateFormat, DefaultAttributesContainer, DefaultHeaderContainer, DefaultHeaderWrapper, DividerContainer, EMPTY_DATA_SOURCE_LAYER_INFO, EditGeometryType, ElementButton, ElementCamera, ElementChart, ElementChips, ElementControl, ElementIcon, ElementImage, ElementLegend, ElementLink, ElementMarkdown, ElementSlideshow, ElementSvg, ElementTooltip, ElementValueWrapper, ExpandableTitle, FEATURE_CARD_DEFAULT_COLORS, FEATURE_CARD_OTHER_COLOR, FILL_SIZE, FILTERED_VALUE_OPACITY, FILTER_PREFIX, FeatureCardBackgroundHeader, FeatureCardButtons, FeatureCardContext, FeatureCardDefaultHeader, FeatureCardHeader, FeatureCardProvider, FeatureCardSlideshowHeader, FeatureCardTitle, FeatureControls, FeatureTitleContainer, FiltersContainer, GEOMETRY_ATTRIBUTE, GlobalContext, GlobalProvider, Header, HeaderContainer, HeaderFontColorMixin, HeaderFrontView, HeaderTemplate, HeaderTitleContainer, HiddenTitleItems, IconContainer, ImageContainer, LEFT_PANEL_HEADER_HEIGHT, Layer, LayerDescription, LayerGroup, LayerGroupList, LayerIcon, LayerIconContainer, LayerListContainer, LayerTree, LayersContainer, LayersListWrapper, LinearProgressContainer, LogTerminal, LogoContainer, MAX_CHART_WIDTH, Map$1 as Map, MapContext, MapProvider, NO_CONTENT_VALUE, NUMERIC_ATTRIBUTE_TYPES, NoLiveSnapshotContainer, OBJECT_FITS, OVERFLOWS, OneColumnContainer, POLL_SUBTASK_INTERVAL_MS, POLL_SUBTASK_TIMEOUT_MS, PROVIDER_PREFIX, PageNavigator, PageTitle, PageTitleContainer, PagesContainer, Pagination, PresentationHeader, PresentationHeaderButtons, PresentationHeaderTools, PresentationPanelContainer, PresentationPanelWrapper, PresentationWrapper, ProgressContainer, ProviderPrefix, RoundedBackgroundContainer, SAVE_HOOK_RESULT_DURATION, SERVER_NOTIFICATION_EVENT, STACK_BAR_TOTAL_HEIGHT, ScalingFactor, ServerNotificationsContext, ServerNotificationsProvider, SlideshowContainer, SmallPreviewContainer$1 as SmallPreviewContainer, SmallPreviewControl, SmallPreviewCounter, SmallPreviewImages, SmallPreviewLeft, SmallPreviewRight, StackBar, StyligClassificationTypes, SvgImage, TILE_ALIGNMENTS, TIME_ZONE_FORMAT, TabsContainer, TextTrim, ThemeName, TitleContainer, TopContainer, TopContainerButtons, TwoColumnContainer, UploadContainer, VIEW_MODES, WidgetType, addDataSource, addDataSources, adjustColor, applyFiltersToCondition, applyQueryFilters, applyTreeFilterToCondition, applyVarsToCondition, asAttributeName, asChartId, asContainerId, asDataSourceName, asFilterName, asLayerName, asModalId, asResourceId, asTabId, checkEqualOrIncludes, checkIsLoading, createConfigLayer, createConfigPage, createNewPageId, createSaveNotificationId, createTreeNode, dateOptions, debounce, decimalOpacityToHex, eqlParametersToPayload, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, geometryToEwkt, getActualExtrusionHeight, getAttributeByName, getAttributeConfigurationByName, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDataSourceLayerInfo, getDate, getDefaultConfig, getDisplayTemplateNameFromAttribute, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getLayerClientStyle, getLayerInfo, getLayerInfoAttribute, getLayerInfoFromDataSources, getPagesFromConfig, getPagesFromProjectInfo, getProxyService, getRelatedAttribute, getRenderElement, getResourceUrl, getRootElementId, getSelectedFilterValue, getSlideshowImages, getStyleAttributes, getSvgUrl, getTemplateNameFromAttribute, getThemeByName, getTotalFromAttributes, getTotalFromRelatedFeatures, getWrapperSizeStyle, hexToRgba, isEmptyElementValue, isEmptyValue, isFillSize, isHiddenEmptyValue, isHookActive, isLayerService, isNotValidSelectedTab, isNumeric, isObject, isProxyService, isTreeFilterValue, isVisibleContainer, mergeAttributeConfigurations, metersPerPixel, numberOptions, parseIconNames, parseIconNamesFromClientStyle, pieChartTooltipFromAttributes, pieChartTooltipFromRelatedFeatures, pointOptions, removeDataSource, rgbToHex, roundTotalSum, sizeCssMixin, sliceShownOtherItems, stretchPalette, timeOptions, toCssSize, toPxNumber, toRenderableValue, tooltipNameFromAttributes, tooltipValueFromAttributes, tooltipValueFromRelatedFeatures, transparentizeColor, treeNodesToProjectItems, updateDataSource, useAfterSave, useAppHeight, useAttachmentItems, useAttachmentPreviewImages, useAutoCompleteControl, useBeforeSave, useChartChange, useChartData, useContainerAttributes, useCurrentPageLayers, useCustomFeatureSelect, useDashboardHeader, useDataSources, useDebouncedCallback, useDiffPage, useEditGroupAttributes, useEqualTileWidth, useExpandableContainers, useExportPdf, useFeatureSaveHooks, useFetchImageWithAuth, useFetchWithAuth, useGetConfigLayer, useGlobalContext, useHeaderRender, useHideIfEmptyDataSource, useIconsFromLayers, useLayerHiddenAttributes, useLayerParams, useMapContext, useMapDraw, useMapImages, useMaxZoomTo, useProjectDashboardInit, usePythonSandbox, usePythonTask, useRedrawLayer, useRelatedDataSourceAttributes, useRemoteTask, useRenderElement, useResizeBox, useSavePrototypeBuilder, useServerNotificationsContext, useShownOtherItems, useToggle, useUpdateDataSource, useVisibleProjectItems, useWidgetConfig, useWidgetContext, useWidgetFilters, useWidgetPage, useWindowResize, useWrapperSize, useZoomToFeatures, useZoomToPoint };
|
|
15076
15108
|
//# sourceMappingURL=react.esm.js.map
|