@evergis/react 4.0.115 → 4.0.116
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/constants.d.ts +14 -0
- package/dist/components/Dashboard/hooks/index.d.ts +1 -0
- package/dist/components/Dashboard/hooks/useContainerRoot.d.ts +29 -0
- package/dist/components/Dashboard/styled.d.ts +12 -0
- package/dist/index.js +125 -81
- package/dist/index.js.map +1 -1
- package/dist/react.esm.js +123 -83
- package/dist/react.esm.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/Dashboard/containers/ChartContainer/styled.d.ts +0 -2
package/dist/react.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
-
import { IconButton, Flex, transition, Chip, shadows, Description, Divider, Icon, LegendToggler, Tooltip as Tooltip$1, DropdownField, MultiSelectContainer, IconButtonButton,
|
|
2
|
+
import { IconButton, Flex, transition, Chip, shadows, Description, Divider, Icon, LegendToggler, Tooltip as Tooltip$1, DropdownField, MultiSelectContainer, IconButtonButton, FlatButton, FlexSpan, IconToggle, DraggableTreeContainer, DraggableTree, UploaderItemArea, UploaderTitleWrapper, Dialog, DialogTitle, ThemeProvider, darkTheme, DialogContent, CircularProgress, Switch, AutoComplete, Input, Slider, Dropdown, Checkbox, DatePicker, getLocale, IconToggleButton, LinearProgress, Popup, Menu, ActionsGroup, DialogActions, RaisedButton, Preview, H2, Blank, Popover, Uploader, NumberRangeSlider, useAsyncAutocomplete, RangeNumberInput, TreeDropdown, defaultTheme, dateFormat } from '@evergis/uilib-gl';
|
|
3
3
|
import { isValidElement, Fragment, createContext, memo, useRef, useState, useCallback, useEffect, useContext, useMemo, createElement, forwardRef } from 'react';
|
|
4
4
|
import styled, { createGlobalStyle, css, useTheme } from 'styled-components';
|
|
5
5
|
import { lineChartClassNames, BarChart as BarChart$1, barChartClassNames, LineChart, PieChart } from '@evergis/charts';
|
|
@@ -3532,6 +3532,24 @@ const DEFAULT_FILTER_PADDING = 12;
|
|
|
3532
3532
|
const BASE_CONTAINER_STYLE = {
|
|
3533
3533
|
marginBottom: "1rem",
|
|
3534
3534
|
};
|
|
3535
|
+
/**
|
|
3536
|
+
* Маркер тела контейнера внутри `ContainerRoot` — содержимое без заголовка.
|
|
3537
|
+
*
|
|
3538
|
+
* Нужен, чтобы находить тело по DOM снаружи: `#<id контейнера>` теперь указывает на корень,
|
|
3539
|
+
* то есть на пару «заголовок + тело».
|
|
3540
|
+
*/
|
|
3541
|
+
const CONTAINER_BODY_ATTRIBUTE = "data-container-body";
|
|
3542
|
+
/**
|
|
3543
|
+
* Заданная высота контейнера достаётся телу — за вычетом заголовка.
|
|
3544
|
+
*
|
|
3545
|
+
* Сама высота остаётся на корне, поэтому тело забирает остаток ячейки, а заголовок сохраняет
|
|
3546
|
+
* `flex-shrink: 0` и не сжимается.
|
|
3547
|
+
*/
|
|
3548
|
+
const CONTAINER_BODY_FILL_STYLE = {
|
|
3549
|
+
flex: "1 1 auto",
|
|
3550
|
+
minHeight: 0,
|
|
3551
|
+
minWidth: 0,
|
|
3552
|
+
};
|
|
3535
3553
|
|
|
3536
3554
|
const StackBarContainer = styled(Flex).withConfig({ displayName: "StackBarContainer", componentId: "sc-stc97k" }) `
|
|
3537
3555
|
flex-wrap: nowrap;
|
|
@@ -4589,7 +4607,24 @@ const ElementValueWrapper = styled.div.withConfig({ displayName: "ElementValueWr
|
|
|
4589
4607
|
}
|
|
4590
4608
|
`};
|
|
4591
4609
|
`;
|
|
4592
|
-
|
|
4610
|
+
/**
|
|
4611
|
+
* Единственный корневой узел контейнера: внутри — заголовок (`ExpandableTitle`) и тело.
|
|
4612
|
+
*
|
|
4613
|
+
* Два корня (фрагмент из заголовка и тела) ломают раскладку родителя: в строке
|
|
4614
|
+
* (`options.column: false`) они становятся ДВУМЯ ячейками flex-row и делят её ширину между собой,
|
|
4615
|
+
* а доля из `options.width` достаётся только телу. Поэтому `id`, `data-templatename`, авторский
|
|
4616
|
+
* `style` и `$sizeCss` живут здесь, а не на теле — см. `useContainerRoot`.
|
|
4617
|
+
*
|
|
4618
|
+
* Всегда flex-колонка: заголовок и тело раньше были flex-элементами родительского `Container`,
|
|
4619
|
+
* и блочная обёртка вернула бы схлопывание вертикальных отступов между ними.
|
|
4620
|
+
*/
|
|
4621
|
+
const ContainerRoot = styled(Flex).withConfig({ displayName: "ContainerRoot", componentId: "sc-2j6lbd" }) `
|
|
4622
|
+
flex-direction: column;
|
|
4623
|
+
min-width: 0;
|
|
4624
|
+
|
|
4625
|
+
${sizeCssMixin};
|
|
4626
|
+
`;
|
|
4627
|
+
const Container = styled(Flex).withConfig({ displayName: "Container", componentId: "sc-1o8dsu2" }) `
|
|
4593
4628
|
flex-direction: column;
|
|
4594
4629
|
width: 100%;
|
|
4595
4630
|
|
|
@@ -4643,7 +4678,7 @@ const Container = styled(Flex).withConfig({ displayName: "Container", componentI
|
|
|
4643
4678
|
|
|
4644
4679
|
${sizeCssMixin};
|
|
4645
4680
|
`;
|
|
4646
|
-
const ContainerWrapper = styled(Flex).withConfig({ displayName: "ContainerWrapper", componentId: "sc-
|
|
4681
|
+
const ContainerWrapper = styled(Flex).withConfig({ displayName: "ContainerWrapper", componentId: "sc-16tb6s0" }) `
|
|
4647
4682
|
position: relative;
|
|
4648
4683
|
box-sizing: border-box;
|
|
4649
4684
|
width: 100%;
|
|
@@ -4664,7 +4699,7 @@ const ContainerWrapper = styled(Flex).withConfig({ displayName: "ContainerWrappe
|
|
|
4664
4699
|
}
|
|
4665
4700
|
`}
|
|
4666
4701
|
`;
|
|
4667
|
-
const DashboardChip = styled(Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-
|
|
4702
|
+
const DashboardChip = styled(Chip).withConfig({ displayName: "DashboardChip", componentId: "sc-19j7obx" }) `
|
|
4668
4703
|
margin: 0 0.25rem 0.25rem 0;
|
|
4669
4704
|
background: ${({ $isDefault, $bgColor, theme: { palette } }) => $isDefault ? palette.element : $bgColor || palette.primary};
|
|
4670
4705
|
border-radius: ${({ $radius, theme: { borderRadius } }) => $radius || borderRadius.medium};
|
|
@@ -4680,7 +4715,7 @@ const DashboardChip = styled(Chip).withConfig({ displayName: "DashboardChip", co
|
|
|
4680
4715
|
color: ${({ $isDefault, $fontColor, theme: { palette } }) => $isDefault ? palette.icon : $fontColor || "#fff"};
|
|
4681
4716
|
}
|
|
4682
4717
|
`;
|
|
4683
|
-
const DashboardPlaceholderWrap = styled(Flex).withConfig({ displayName: "DashboardPlaceholderWrap", componentId: "sc-
|
|
4718
|
+
const DashboardPlaceholderWrap = styled(Flex).withConfig({ displayName: "DashboardPlaceholderWrap", componentId: "sc-anwihw" }) `
|
|
4684
4719
|
flex-grow: 1;
|
|
4685
4720
|
flex-direction: column;
|
|
4686
4721
|
justify-content: center;
|
|
@@ -4688,7 +4723,7 @@ const DashboardPlaceholderWrap = styled(Flex).withConfig({ displayName: "Dashboa
|
|
|
4688
4723
|
width: 100%;
|
|
4689
4724
|
margin-bottom: 2rem;
|
|
4690
4725
|
`;
|
|
4691
|
-
const DashboardPlaceholder = styled(Flex).withConfig({ displayName: "DashboardPlaceholder", componentId: "sc-
|
|
4726
|
+
const DashboardPlaceholder = styled(Flex).withConfig({ displayName: "DashboardPlaceholder", componentId: "sc-jry8vp" }) `
|
|
4692
4727
|
flex-direction: column;
|
|
4693
4728
|
justify-content: center;
|
|
4694
4729
|
align-items: center;
|
|
@@ -4721,7 +4756,7 @@ const DashboardPlaceholder = styled(Flex).withConfig({ displayName: "DashboardPl
|
|
|
4721
4756
|
}
|
|
4722
4757
|
}
|
|
4723
4758
|
`;
|
|
4724
|
-
const DashboardWrapper = styled(Flex).withConfig({ displayName: "DashboardWrapper", componentId: "sc-
|
|
4759
|
+
const DashboardWrapper = styled(Flex).withConfig({ displayName: "DashboardWrapper", componentId: "sc-100ipup" }) `
|
|
4725
4760
|
flex-direction: column;
|
|
4726
4761
|
flex-wrap: nowrap;
|
|
4727
4762
|
flex-grow: 1;
|
|
@@ -4734,7 +4769,7 @@ const DashboardWrapper = styled(Flex).withConfig({ displayName: "DashboardWrappe
|
|
|
4734
4769
|
margin-top: -0.35rem;
|
|
4735
4770
|
`}
|
|
4736
4771
|
`;
|
|
4737
|
-
const DashboardContent = styled(Flex).withConfig({ displayName: "DashboardContent", componentId: "sc-
|
|
4772
|
+
const DashboardContent = styled(Flex).withConfig({ displayName: "DashboardContent", componentId: "sc-77il9k" }) `
|
|
4738
4773
|
flex-grow: 1;
|
|
4739
4774
|
width: 100%;
|
|
4740
4775
|
padding: 1.5rem 1.5rem 2rem;
|
|
@@ -4749,16 +4784,16 @@ const PresentationWrapperCss = css `
|
|
|
4749
4784
|
border-radius: ${({ theme: { borderRadius } }) => borderRadius.medium};
|
|
4750
4785
|
box-shadow: ${shadows.raised};
|
|
4751
4786
|
`;
|
|
4752
|
-
const PresentationWrapper = styled.div.withConfig({ displayName: "PresentationWrapper", componentId: "sc-
|
|
4787
|
+
const PresentationWrapper = styled.div.withConfig({ displayName: "PresentationWrapper", componentId: "sc-891z9z" }) `
|
|
4753
4788
|
${PresentationWrapperCss};
|
|
4754
4789
|
position: relative;
|
|
4755
4790
|
z-index: 1;
|
|
4756
4791
|
`;
|
|
4757
|
-
const PresentationPanelWrapper = styled(PresentationWrapper).withConfig({ displayName: "PresentationPanelWrapper", componentId: "sc-
|
|
4792
|
+
const PresentationPanelWrapper = styled(PresentationWrapper).withConfig({ displayName: "PresentationPanelWrapper", componentId: "sc-1ptpbt9" }) `
|
|
4758
4793
|
margin-top: 0.75rem;
|
|
4759
4794
|
transition: background-color ${transition.toggle};
|
|
4760
4795
|
`;
|
|
4761
|
-
const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHeader", componentId: "sc-
|
|
4796
|
+
const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHeader", componentId: "sc-182b7wg" }) `
|
|
4762
4797
|
margin: -1.5rem -1.5rem 0 -1.5rem;
|
|
4763
4798
|
padding: 1.5rem;
|
|
4764
4799
|
// background: url(images.presentationHeader) 0 0 no-repeat;
|
|
@@ -4770,7 +4805,7 @@ const PresentationHeader = styled.div.withConfig({ displayName: "PresentationHea
|
|
|
4770
4805
|
padding-top: 7rem;
|
|
4771
4806
|
`};
|
|
4772
4807
|
`;
|
|
4773
|
-
const PresentationHeaderTools = styled(Flex).withConfig({ displayName: "PresentationHeaderTools", componentId: "sc-
|
|
4808
|
+
const PresentationHeaderTools = styled(Flex).withConfig({ displayName: "PresentationHeaderTools", componentId: "sc-dms7fm" }) `
|
|
4774
4809
|
justify-content: space-between;
|
|
4775
4810
|
align-items: center;
|
|
4776
4811
|
margin-bottom: -0.5rem;
|
|
@@ -4788,7 +4823,7 @@ const PresentationHeaderTools = styled(Flex).withConfig({ displayName: "Presenta
|
|
|
4788
4823
|
}
|
|
4789
4824
|
}
|
|
4790
4825
|
`;
|
|
4791
|
-
const LayerGroupList = styled(Flex).withConfig({ displayName: "LayerGroupList", componentId: "sc-
|
|
4826
|
+
const LayerGroupList = styled(Flex).withConfig({ displayName: "LayerGroupList", componentId: "sc-19uothl" }) `
|
|
4792
4827
|
flex-direction: column;
|
|
4793
4828
|
height: 100%;
|
|
4794
4829
|
flex-wrap: nowrap;
|
|
@@ -4801,8 +4836,8 @@ const LayerGroupList = styled(Flex).withConfig({ displayName: "LayerGroupList",
|
|
|
4801
4836
|
flex-grow: 1;
|
|
4802
4837
|
}
|
|
4803
4838
|
`;
|
|
4804
|
-
const PresentationHeaderButtons = styled(Flex).withConfig({ displayName: "PresentationHeaderButtons", componentId: "sc-
|
|
4805
|
-
const PresentationPanelContainer = styled.div.withConfig({ displayName: "PresentationPanelContainer", componentId: "sc-
|
|
4839
|
+
const PresentationHeaderButtons = styled(Flex).withConfig({ displayName: "PresentationHeaderButtons", componentId: "sc-c24t7n" }) ``;
|
|
4840
|
+
const PresentationPanelContainer = styled.div.withConfig({ displayName: "PresentationPanelContainer", componentId: "sc-17q0jzw" }) `
|
|
4806
4841
|
position: absolute;
|
|
4807
4842
|
top: 0;
|
|
4808
4843
|
left: calc(${({ left }) => left || 0}px + 0.75rem);
|
|
@@ -4871,7 +4906,7 @@ const PresentationPanelContainer = styled.div.withConfig({ displayName: "Present
|
|
|
4871
4906
|
}
|
|
4872
4907
|
}
|
|
4873
4908
|
`;
|
|
4874
|
-
const DataSourceErrorContainer = styled(Flex).withConfig({ displayName: "DataSourceErrorContainer", componentId: "sc-
|
|
4909
|
+
const DataSourceErrorContainer = styled(Flex).withConfig({ displayName: "DataSourceErrorContainer", componentId: "sc-nh93ry" }) `
|
|
4875
4910
|
align-items: center;
|
|
4876
4911
|
justify-content: center;
|
|
4877
4912
|
flex-wrap: nowrap;
|
|
@@ -4890,12 +4925,12 @@ const DataSourceErrorContainer = styled(Flex).withConfig({ displayName: "DataSou
|
|
|
4890
4925
|
}
|
|
4891
4926
|
}
|
|
4892
4927
|
`;
|
|
4893
|
-
const AttributeLabel = styled(Description).withConfig({ displayName: "AttributeLabel", componentId: "sc-
|
|
4928
|
+
const AttributeLabel = styled(Description).withConfig({ displayName: "AttributeLabel", componentId: "sc-9u3noy" }) `
|
|
4894
4929
|
margin-top: 0 !important;
|
|
4895
4930
|
margin-bottom: ${({ forCheckbox }) => forCheckbox ? "0.75rem" : "0.25rem"} !important;
|
|
4896
4931
|
padding-left: ${({ isEdit }) => (isEdit ? "0.5rem" : "0")};
|
|
4897
4932
|
`;
|
|
4898
|
-
const FeatureControls = styled(Flex).withConfig({ displayName: "FeatureControls", componentId: "sc-
|
|
4933
|
+
const FeatureControls = styled(Flex).withConfig({ displayName: "FeatureControls", componentId: "sc-1wenq0r" }) `
|
|
4899
4934
|
align-items: center;
|
|
4900
4935
|
gap: 1rem;
|
|
4901
4936
|
flex-wrap: nowrap;
|
|
@@ -6536,6 +6571,45 @@ const useContainerAttributes = ({ elementConfig, type, renderElement }) => {
|
|
|
6536
6571
|
return { getRenderContainerItem, attributesToRender };
|
|
6537
6572
|
};
|
|
6538
6573
|
|
|
6574
|
+
/**
|
|
6575
|
+
* Пропсы корневой обёртки контейнера: идентификаторы для внешних селекторов, авторский `style`
|
|
6576
|
+
* из конфига и css-объект размеров.
|
|
6577
|
+
*
|
|
6578
|
+
* Размеры уходят styled-пропом (класс), а не inline-стилем, поэтому перебиваются снаружи
|
|
6579
|
+
* без `!important`. Авторский `style` остаётся inline — у него приоритет по замыслу автора конфига.
|
|
6580
|
+
*/
|
|
6581
|
+
const useWrapperSize = ({ elementConfig, defaults }) => {
|
|
6582
|
+
const { id, style, templateName, options } = elementConfig || {};
|
|
6583
|
+
const { width, height, overflow } = options || {};
|
|
6584
|
+
return useMemo(() => ({
|
|
6585
|
+
id,
|
|
6586
|
+
"data-templatename": templateName,
|
|
6587
|
+
style,
|
|
6588
|
+
$sizeCss: getWrapperSizeStyle({ style, width, height, overflow, defaults, defaultWidth: FILL_SIZE }),
|
|
6589
|
+
}), [id, templateName, style, width, height, overflow, defaults]);
|
|
6590
|
+
};
|
|
6591
|
+
|
|
6592
|
+
/**
|
|
6593
|
+
* Пропсы двух узлов контейнера с заголовком: корня (`ContainerRoot`) и тела.
|
|
6594
|
+
*
|
|
6595
|
+
* Контейнер обязан иметь ОДИН корневой узел — иначе в строке (`options.column: false`) заголовок
|
|
6596
|
+
* и тело становятся двумя ячейками родительского flex-row. Размеры из конфига поэтому уходят на
|
|
6597
|
+
* корень, а тело получает лишь остаток высоты под заголовком.
|
|
6598
|
+
*/
|
|
6599
|
+
const useContainerRoot = ({ elementConfig, defaults }) => {
|
|
6600
|
+
const root = useWrapperSize({ elementConfig, defaults });
|
|
6601
|
+
// Гейт по РЕЗУЛЬТИРУЮЩЕЙ высоте, а не по `options.height`: высоту задаёт ещё и авторский `style`,
|
|
6602
|
+
// и внутренние `defaults` контейнера. `auto` высотой не считаем — делить нечего.
|
|
6603
|
+
const fillsHeight = !!root.$sizeCss?.height && root.$sizeCss.height !== "auto";
|
|
6604
|
+
return useMemo(() => ({
|
|
6605
|
+
root,
|
|
6606
|
+
body: {
|
|
6607
|
+
[CONTAINER_BODY_ATTRIBUTE]: "",
|
|
6608
|
+
$sizeCss: fillsHeight ? CONTAINER_BODY_FILL_STYLE : undefined,
|
|
6609
|
+
},
|
|
6610
|
+
}), [root, fillsHeight]);
|
|
6611
|
+
};
|
|
6612
|
+
|
|
6539
6613
|
const useEditGroupAttributes = ({ elementConfig, type }) => {
|
|
6540
6614
|
const { options } = elementConfig || {};
|
|
6541
6615
|
const { controls, useProjectHiddenAttributes } = options || {};
|
|
@@ -7481,7 +7555,11 @@ const useExportPdf = (id, margin = 20) => {
|
|
|
7481
7555
|
return;
|
|
7482
7556
|
}
|
|
7483
7557
|
setLoading(true);
|
|
7484
|
-
const
|
|
7558
|
+
const target = document.querySelector(`#${id}`);
|
|
7559
|
+
// `#id` — корень контейнера, то есть пара «заголовок + тело». Постранично режем содержимое
|
|
7560
|
+
// тела: у самого корня детей всего два, и длинное тело уехало бы одной картинкой на первую
|
|
7561
|
+
// страницу. Fallback — для одноузловых целей вроде корня дашборда.
|
|
7562
|
+
const container = target?.querySelector(`:scope > [${CONTAINER_BODY_ATTRIBUTE}]`) ?? target;
|
|
7485
7563
|
if (!container) {
|
|
7486
7564
|
setLoading(false);
|
|
7487
7565
|
return;
|
|
@@ -7865,32 +7943,14 @@ const useUpdateDataSource = ({ dataSource, config, filters, attributes, layerPar
|
|
|
7865
7943
|
}, [dataSource, getDataSourcePromises, getUpdatedDataSources, dataSources]);
|
|
7866
7944
|
};
|
|
7867
7945
|
|
|
7868
|
-
/**
|
|
7869
|
-
* Пропсы корневой обёртки контейнера: идентификаторы для внешних селекторов, авторский `style`
|
|
7870
|
-
* из конфига и css-объект размеров.
|
|
7871
|
-
*
|
|
7872
|
-
* Размеры уходят styled-пропом (класс), а не inline-стилем, поэтому перебиваются снаружи
|
|
7873
|
-
* без `!important`. Авторский `style` остаётся inline — у него приоритет по замыслу автора конфига.
|
|
7874
|
-
*/
|
|
7875
|
-
const useWrapperSize = ({ elementConfig, defaults }) => {
|
|
7876
|
-
const { id, style, templateName, options } = elementConfig || {};
|
|
7877
|
-
const { width, height, overflow } = options || {};
|
|
7878
|
-
return useMemo(() => ({
|
|
7879
|
-
id,
|
|
7880
|
-
"data-templatename": templateName,
|
|
7881
|
-
style,
|
|
7882
|
-
$sizeCss: getWrapperSizeStyle({ style, width, height, overflow, defaults, defaultWidth: FILL_SIZE }),
|
|
7883
|
-
}), [id, templateName, style, width, height, overflow, defaults]);
|
|
7884
|
-
};
|
|
7885
|
-
|
|
7886
7946
|
const ContainersGroupContainer = memo(({ elementConfig, type, renderElement }) => {
|
|
7887
7947
|
const { expandedContainers } = useWidgetContext(type);
|
|
7888
7948
|
const { id, children, options } = elementConfig || {};
|
|
7889
7949
|
const { column, expandable, expanded, alignItems } = options || {};
|
|
7890
7950
|
const isColumn = column === undefined || column;
|
|
7891
7951
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
7892
|
-
const root =
|
|
7893
|
-
return (jsxs(
|
|
7952
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
7953
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsx(Container, { ...body, isColumn: isColumn, "$alignItems": alignItems, children: jsx(ContainerChildren, { type: type, items: children, elementConfig: elementConfig, isColumn: isColumn, isMain: id?.startsWith(CONFIG_PAGE_ID), renderElement: renderElement }) }))] }));
|
|
7894
7954
|
});
|
|
7895
7955
|
|
|
7896
7956
|
const ChartLegendContainer = styled(Flex).withConfig({ displayName: "ChartLegendContainer", componentId: "sc-1di1zl9" }) `
|
|
@@ -8311,7 +8371,7 @@ const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerCo
|
|
|
8311
8371
|
const { maxValue, showTotal, relatedDataSource, expandable, expanded } = options || {};
|
|
8312
8372
|
const valueElement = children?.find(item => item.id === "value");
|
|
8313
8373
|
const unitsElement = children?.find(item => item.id === "units");
|
|
8314
|
-
const root =
|
|
8374
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
8315
8375
|
const { sliceItems, checkIsSliced, showMore, onShowMore } = useShownOtherItems(options);
|
|
8316
8376
|
const totalUnits = useMemo(() => unitsElement?.type === "attributeUnits"
|
|
8317
8377
|
? attributes?.find(({ attributeName }) => attributeName === unitsElement.attributeName)?.stringFormat
|
|
@@ -8342,7 +8402,7 @@ const DataSourceProgressContainer = memo(({ config, elementConfig, type, innerCo
|
|
|
8342
8402
|
return jsx(DataSourceError, { name: elementConfig.templateName });
|
|
8343
8403
|
}
|
|
8344
8404
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
8345
|
-
return (jsxs(
|
|
8405
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsxs(DataSourceProgressContainerWrapper, { ...body, children: [sliceItems(dataSource?.features)?.map((feature, index) => (jsx(DataSourceInnerContainer, { type: type, index: index, feature: feature, config: config, elementConfig: elementConfig, maxValue: currentMaxValue, innerComponent: innerComponent }, index))), checkIsSliced(dataSource?.features) && (jsx(ContainerToggler, { toggled: showMore, onClick: onShowMore, children: showMore ? t("hide", { ns: "dashboard", defaultValue: "Свернуть" }) : t("showAll", {
|
|
8346
8406
|
ns: "dashboard",
|
|
8347
8407
|
defaultValue: "Показать все",
|
|
8348
8408
|
}) })), showTotal && (jsxs(Fragment$1, { children: [jsx(Divider, {}), jsxs(ProgressTotal, { children: [jsx(ProgressTotalTitle, { children: t("total", { ns: "dashboard", defaultValue: "Итого" }) }), jsxs(ProgressValue, { children: [totalValue, jsx(ProgressUnits, { children: totalUnits })] })] })] }))] })) : (jsx(ContainerLoading, {})), jsx(HiddenTitleItems, { elementConfig: elementConfig, config: config, type: type })] }));
|
|
@@ -8603,7 +8663,7 @@ const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) =
|
|
|
8603
8663
|
const { filters: configFilters } = currentPage;
|
|
8604
8664
|
const { id, options } = elementConfig || {};
|
|
8605
8665
|
const { padding, bgColor, fontColor, fontSize, expandable, expanded } = options || {};
|
|
8606
|
-
const root =
|
|
8666
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
8607
8667
|
const isLoading = useMemo(() => checkIsLoading(dataSources, config, configFilters), [configFilters, config, dataSources]);
|
|
8608
8668
|
const filterItems = useMemo(() => elementConfig?.children?.filter(child => child.options?.filterName), [elementConfig?.children]);
|
|
8609
8669
|
const renderFilter = useCallback((filter, index) => {
|
|
@@ -8612,7 +8672,7 @@ const FiltersContainer = memo(({ elementConfig, config, type, renderElement }) =
|
|
|
8612
8672
|
}, [config, type]);
|
|
8613
8673
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
8614
8674
|
const selectedItems = useMemo(() => getFilterSelectedItems(filterItems, filters, configFilters), [configFilters, filters, filterItems]);
|
|
8615
|
-
return (jsxs(
|
|
8675
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(Flex, { mb: !isVisible && selectedItems.length ? "2rem" : 0, children: jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }) }), isLoading && jsx(ContainerLoading, {}), !isLoading && isVisible && (jsx(FiltersContainerWrapper, { ...body, "$padding": padding, "$bgColor": bgColor, "$fontSize": fontSize, "$fontColor": fontColor, children: filterItems?.map(renderFilter) })), jsx(HiddenTitleItems, { elementConfig: elementConfig, config: config, type: type, filter: filterItems[0]?.options?.filterName })] }));
|
|
8616
8676
|
});
|
|
8617
8677
|
|
|
8618
8678
|
const DefaultAttributesContainer = memo(({ type, renderElement }) => {
|
|
@@ -8620,26 +8680,6 @@ const DefaultAttributesContainer = memo(({ type, renderElement }) => {
|
|
|
8620
8680
|
return (jsx(Fragment$1, { children: attributes?.map(({ attributeName }) => (jsx(Container, { isColumn: true, children: renderElement({ id: attributeName }) }, attributeName))) }));
|
|
8621
8681
|
});
|
|
8622
8682
|
|
|
8623
|
-
const ChartContainerWrapper = styled(FlexSpan).withConfig({ displayName: "ChartContainerWrapper", componentId: "sc-17oj4lo" }) `
|
|
8624
|
-
flex-direction: column;
|
|
8625
|
-
min-width: 0;
|
|
8626
|
-
|
|
8627
|
-
/* Заданная высота контейнера достаётся телу графика — за вычетом заголовка. */
|
|
8628
|
-
${({ $sizeCss }) => !!$sizeCss?.height &&
|
|
8629
|
-
css `
|
|
8630
|
-
/* Раздача высоты требует, чтобы обёртка была flex-колонкой (FlexSpan сам по себе не flex),
|
|
8631
|
-
иначе Container с flex:1 1 auto не растянется на заданную высоту, а fill-график не впишется по высоте. */
|
|
8632
|
-
display: flex;
|
|
8633
|
-
|
|
8634
|
-
> ${Container} {
|
|
8635
|
-
flex: 1 1 auto;
|
|
8636
|
-
min-height: 0;
|
|
8637
|
-
}
|
|
8638
|
-
`}
|
|
8639
|
-
|
|
8640
|
-
${sizeCssMixin};
|
|
8641
|
-
`;
|
|
8642
|
-
|
|
8643
8683
|
/**
|
|
8644
8684
|
* Контекст вписывания графика (`options.fill` контейнера Chart).
|
|
8645
8685
|
*
|
|
@@ -8657,7 +8697,7 @@ const ChartContainer = memo(({ elementConfig, isVisible, type, renderElement })
|
|
|
8657
8697
|
const aliasElement = children.find(child => child.id === "alias");
|
|
8658
8698
|
const chartElement = children.find(child => child.id === "chart");
|
|
8659
8699
|
const legendElement = children.find(child => child.id === "legend");
|
|
8660
|
-
const root =
|
|
8700
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
8661
8701
|
const { data, loading } = useChartData({
|
|
8662
8702
|
element: chartElement,
|
|
8663
8703
|
type,
|
|
@@ -8668,7 +8708,7 @@ const ChartContainer = memo(({ elementConfig, isVisible, type, renderElement })
|
|
|
8668
8708
|
const hasItems = !!data[0]?.items?.length;
|
|
8669
8709
|
if (!loading && !hasItems && hideEmpty)
|
|
8670
8710
|
return null;
|
|
8671
|
-
return (jsxs(
|
|
8711
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxs(Container, { ...body, isColumn: true, children: [aliasElement && jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsx(ContainerValue, { column: !twoColumns, alignItems: twoColumns && fill ? "stretch" : "center", "$fill": !!fill, children: hasItems ? (jsxs(Fragment$1, { children: [jsx(ContainerChart, { "$fill": !!fill, children: jsx(FillContext.Provider, { value: fillContextValue, children: renderElement({ id: "chart" }) }) }), jsx(ContainerLegend, { justifyContent: legendElement?.options?.center ? "center" : "flex-start", children: renderElement({ id: "legend" }) })] })) : (jsx(Fragment$1, { children: "\u2014" })) })] }))] }));
|
|
8672
8712
|
});
|
|
8673
8713
|
|
|
8674
8714
|
const PagesContainer = memo(({ type = WidgetType.Dashboard, noBorders }) => {
|
|
@@ -8894,13 +8934,13 @@ const DataSourceContainer = memo(({ config, elementConfig, type, innerComponent,
|
|
|
8894
8934
|
gap: gap ?? DEFAULT_TILE_GAP,
|
|
8895
8935
|
});
|
|
8896
8936
|
const defaults = useMemo(() => ({ height: isLoading ? "3rem" : "auto" }), [isLoading]);
|
|
8897
|
-
const root =
|
|
8937
|
+
const { root, body } = useContainerRoot({ elementConfig, defaults });
|
|
8898
8938
|
if (!relatedDataSource)
|
|
8899
8939
|
return null;
|
|
8900
8940
|
if (dataSource && !dataSource.features) {
|
|
8901
8941
|
return jsx(DataSourceError, { name: elementConfig.templateName });
|
|
8902
8942
|
}
|
|
8903
|
-
return (jsxs(
|
|
8943
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), !isVisible ? null : dataSource ? (jsxs(Fragment$1, { children: [jsx(DataSourceContainerWrapper, { ...body, 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
|
|
8904
8944
|
? t("hide", { ns: "dashboard", defaultValue: "Свернуть" })
|
|
8905
8945
|
: t("showAll", { ns: "dashboard", defaultValue: "Показать все" }) }))] })) : (jsx(ContainerLoading, {}))] }));
|
|
8906
8946
|
});
|
|
@@ -9060,7 +9100,7 @@ const SlideshowContainer = memo(({ config, elementConfig, type }) => {
|
|
|
9060
9100
|
const { id, options } = elementConfig || {};
|
|
9061
9101
|
const { expandable, expanded } = options || {};
|
|
9062
9102
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
9063
|
-
const root =
|
|
9103
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
9064
9104
|
const render = useMemo(() => getRenderElement({
|
|
9065
9105
|
config,
|
|
9066
9106
|
elementConfig,
|
|
@@ -9086,11 +9126,11 @@ const SlideshowContainer = memo(({ config, elementConfig, type }) => {
|
|
|
9086
9126
|
// Подпись `alias` не задают почти всегда — тогда обёртку не рендерим, чтобы в DOM не оставался
|
|
9087
9127
|
// пустой блок, который вдобавок отъедал бы половину ширины у галереи (см. isColumn ниже).
|
|
9088
9128
|
const aliasNode = render({ id: "alias" });
|
|
9089
|
-
return (jsxs(
|
|
9129
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: render }), isVisible && (
|
|
9090
9130
|
// `isColumn`: подпись над галереей, а сама галерея на всю ширину. Без него Container
|
|
9091
9131
|
// раскладывает alias и slideshow в ряд, и оба (Flex с `width: 100%`) сжимаются пополам —
|
|
9092
9132
|
// картинка занимала лишь половину доступной ширины.
|
|
9093
|
-
jsxs(Container, { ...
|
|
9133
|
+
jsxs(Container, { ...body, isColumn: true, children: [aliasNode && jsx(ContainerAlias, { hasBottomMargin: true, children: aliasNode }), jsx(ContainerValue, { children: render({
|
|
9094
9134
|
id: "slideshow",
|
|
9095
9135
|
wrap: false,
|
|
9096
9136
|
}) })] }))] }));
|
|
@@ -9101,8 +9141,8 @@ const CameraContainer = memo(({ elementConfig, type, renderElement }) => {
|
|
|
9101
9141
|
const { id, options } = elementConfig || {};
|
|
9102
9142
|
const { expandable, expanded } = options || {};
|
|
9103
9143
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
9104
|
-
const root =
|
|
9105
|
-
return (jsxs(
|
|
9144
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
9145
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsxs(Container, { ...body, children: [jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsx(ContainerValue, { children: renderElement({ id: "value", wrap: false }) })] }))] }));
|
|
9106
9146
|
});
|
|
9107
9147
|
|
|
9108
9148
|
const TabAnchor = styled.div.withConfig({ displayName: "TabAnchor", componentId: "sc-emqf31" }) `
|
|
@@ -9522,7 +9562,7 @@ const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
9522
9562
|
const { id, options } = elementConfig || {};
|
|
9523
9563
|
const { layerNames, expandable, expanded } = options || {};
|
|
9524
9564
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
9525
|
-
const root =
|
|
9565
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
9526
9566
|
const layers = useMemo(() => {
|
|
9527
9567
|
if (!currentPage?.layers)
|
|
9528
9568
|
return [];
|
|
@@ -9530,7 +9570,7 @@ const LayersContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
9530
9570
|
return currentPage.layers;
|
|
9531
9571
|
return currentPage.layers.filter(({ name }) => layerNames.includes(name));
|
|
9532
9572
|
}, [currentPage?.layers, layerNames]);
|
|
9533
|
-
return (jsxs(
|
|
9573
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsx(LayersContainerWrapper, { ...body, children: jsx(LayerTree, { layers: layers, onlyMainTools: true }) }))] }));
|
|
9534
9574
|
});
|
|
9535
9575
|
|
|
9536
9576
|
const ExportPdfContainer = memo(({ type, elementConfig }) => {
|
|
@@ -9566,8 +9606,8 @@ const UploadContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
9566
9606
|
const { id, options } = elementConfig || {};
|
|
9567
9607
|
const { expandable, expanded } = options || {};
|
|
9568
9608
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
9569
|
-
const root =
|
|
9570
|
-
return (jsxs(
|
|
9609
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
9610
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsx(UploadContainerWrapper, { ...body, children: renderElement({ id: "uploader", wrap: false }) }))] }));
|
|
9571
9611
|
});
|
|
9572
9612
|
|
|
9573
9613
|
const StatusBadge = styled(Chip).withConfig({ displayName: "StatusBadge", componentId: "sc-1xmfl10" }) `
|
|
@@ -9787,7 +9827,7 @@ const TaskContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
9787
9827
|
const { taskId, runTask, stopTask, status, openLog, loading, isLogDialogOpen, closeLog, log, lastMessage, result, } = usePythonTask();
|
|
9788
9828
|
const { options } = elementConfig || {};
|
|
9789
9829
|
const { title, relatedResources, center, icon, statusColors, responseFilters, useNotifications, } = options || {};
|
|
9790
|
-
const root =
|
|
9830
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
9791
9831
|
const { setNotificationDismissed } = useTaskNotifications({
|
|
9792
9832
|
enabled: !!useNotifications,
|
|
9793
9833
|
suppressed: isLogDialogOpen,
|
|
@@ -9827,12 +9867,12 @@ const TaskContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
9827
9867
|
return runTask({ resourceId, parameters: newParams, script, fileName, methodName });
|
|
9828
9868
|
}));
|
|
9829
9869
|
}, [attributes, currentPage.filters, dataSources, ewktGeometry, layerInfo, projectDataSources, relatedResources, runTask, selectedFilters, stopTask, taskId]);
|
|
9830
|
-
return (jsxs(
|
|
9870
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), jsxs(TaskContainerWrapper, { ...body, justifyContent: center ? "center" : "flex-start", children: [jsx(StatusWaitingButton, { title: title || t("run", { ns: "dashboard", defaultValue: "Запуск" }), icon: icon, status: status, statusColors: statusColors, isWaiting: loading || !!taskId, isDisabled: !relatedResources?.length, onClick: onClick }), !!(log || taskId) && (jsxs(Fragment$1, { children: [jsx(IconButton, { kind: "info", onClick: openLog }), jsx(LogDialog, { logs: log, status: status, statusColors: statusColors, isOpen: isLogDialogOpen, onClose: onCloseLog, onMinimize: useNotifications ? onMinimizeLog : undefined })] }))] })] }));
|
|
9831
9871
|
});
|
|
9832
9872
|
|
|
9833
9873
|
const EditContainer = ({ type, elementConfig, renderElement }) => {
|
|
9834
|
-
const {
|
|
9835
|
-
return (jsxs(
|
|
9874
|
+
const { root, body } = useContainerRoot({ elementConfig });
|
|
9875
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), jsxs(Container, { ...body, isColumn: true, children: [jsx(ContainerAlias, { hasBottomMargin: true, children: renderElement({ id: "alias" }) }), jsx(ContainerValue, { children: renderElement({ id: "value" }) })] })] }));
|
|
9836
9876
|
};
|
|
9837
9877
|
|
|
9838
9878
|
const getControlTemplateName = (type) => {
|
|
@@ -10569,7 +10609,7 @@ const AttachmentContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
10569
10609
|
const { items, visibleItems, viewMode, setViewMode, showMore, setShowMore, hasMore, hiddenCount } = useAttachmentContainer({ type, elementConfig });
|
|
10570
10610
|
const { id, options } = elementConfig || {};
|
|
10571
10611
|
const { expandable, expanded } = options || {};
|
|
10572
|
-
const root =
|
|
10612
|
+
const { root, body } = useContainerRoot({ elementConfig, defaults: BASE_CONTAINER_STYLE });
|
|
10573
10613
|
const [previewIndex, setPreviewIndex] = useState(null);
|
|
10574
10614
|
const previewImages = useAttachmentPreviewImages({ items, active: previewIndex !== null });
|
|
10575
10615
|
const handlePreview = useCallback((link) => {
|
|
@@ -10580,7 +10620,7 @@ const AttachmentContainer = memo(({ type, elementConfig, renderElement }) => {
|
|
|
10580
10620
|
const handleClosePreview = useCallback(() => setPreviewIndex(null), []);
|
|
10581
10621
|
const handleShowMore = useCallback(() => setShowMore(true), [setShowMore]);
|
|
10582
10622
|
const isVisible = isVisibleContainer(id, expandable, expanded, expandedContainers);
|
|
10583
|
-
return (jsxs(
|
|
10623
|
+
return (jsxs(ContainerRoot, { ...root, children: [jsx(ExpandableTitle, { elementConfig: elementConfig, type: type, renderElement: renderElement }), isVisible && (jsx(Container, { ...body, children: jsxs(Flex, { column: true, children: [jsx(AttachmentsHeader, { alias: renderElement?.({ id: "alias" }), count: items.length, viewMode: viewMode, onChangeViewMode: setViewMode }), jsx(AttachmentsContent, { children: viewMode === "grid" ? (jsx(AttachmentsGrid, { items: visibleItems, isEdit: false, onPreview: handlePreview })) : (jsx(AttachmentsList, { items: visibleItems, isEdit: false, onPreview: handlePreview })) }), hasMore && !showMore && (jsx(ShowMoreButton, { hiddenCount: hiddenCount, onClick: handleShowMore })), previewIndex !== null && (jsx(Preview, { images: previewImages, initialIndex: previewIndex, isOpen: previewIndex !== null, onClose: handleClosePreview, errorTitleText: t("attachments.resourceUnavailable", {
|
|
10584
10624
|
ns: "common",
|
|
10585
10625
|
defaultValue: "Ресурс недоступен",
|
|
10586
10626
|
}) }, previewIndex))] }) }))] }));
|
|
@@ -15209,5 +15249,5 @@ const DEFAULT_CIRCLE_STYLE = {
|
|
|
15209
15249
|
],
|
|
15210
15250
|
};
|
|
15211
15251
|
|
|
15212
|
-
export { ALIGNMENTS, ALIGN_ITEMS, ATTRIBUTE_ICON_ELEMENT_TYPES, AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttachmentContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CHART_TYPES, COMPACT_FRACTION_DIGITS, 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_BLUR, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_RADIUS, DEFAULT_CIRCLE_STYLE, DEFAULT_COLOR, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_STYLE, DEFAULT_FILL_STYLE, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_STYLE, DEFAULT_LINE_WIDTH, DEFAULT_LNG, DEFAULT_OPACITY, 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, 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, QUERY_DESCRIPTION_CACHE_TTL, 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, 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, dateOptions, debounce, decimalOpacityToHex, enrichStyleItemsWithIds, enrichStyleModelsWithIds, eqlParametersToPayload, fetchQueryDescription, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, geometryToEwkt, getActualExtrusionHeight, getAttributeByName, getAttributeConfigurationByName, getAttributeIconElement, getAttributeIconUrl, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDataSourceLayerInfo, getDate, getDefaultConfig, getDisplayTemplateNameFromAttribute, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getImageUrl, 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, 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 };
|
|
15252
|
+
export { ALIGNMENTS, ALIGN_ITEMS, ATTRIBUTE_ICON_ELEMENT_TYPES, AddFeatureButton, AddFeatureContainer, AlertIconContainer, AttachmentContainer, AttributeGalleryContainer, AttributeLabel, BASE_CONTAINER_STYLE, BaseMapTheme, CHART_TYPES, COMPACT_FRACTION_DIGITS, CONFIG_PAGES_ID, CONFIG_PAGE_ID, CONTAINER_BODY_ATTRIBUTE, CONTAINER_BODY_FILL_STYLE, CameraContainer, Chart, ChartContainer, ChartLegend, ChartLoading, Container, ContainerChildren, ContainerLoading, ContainerRoot, ContainerTemplate, ContainerWrapper, ContainersGroupContainer, DEFAULT_ATTRIBUTE_NAME, DEFAULT_BARCHART_RADIUS, DEFAULT_BASE_MAP, DEFAULT_BLUR, DEFAULT_CHART_ANGLE, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, DEFAULT_CIRCLE_RADIUS, DEFAULT_CIRCLE_STYLE, DEFAULT_COLOR, DEFAULT_DASHBOARD_CONFIG, DEFAULT_DATA_SOURCE_LIMIT, DEFAULT_DROPDOWN_WIDTH, DEFAULT_FILL_EXTRUSION_STYLE, DEFAULT_FILL_STYLE, DEFAULT_FILTER_PADDING, DEFAULT_ID_ATTRIBUTE_NAME, DEFAULT_LAT, DEFAULT_LINE_CAP, DEFAULT_LINE_JOIN, DEFAULT_LINE_STYLE, DEFAULT_LINE_WIDTH, DEFAULT_LNG, DEFAULT_OPACITY, 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, 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, QUERY_DESCRIPTION_CACHE_TTL, 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, 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, dateOptions, debounce, decimalOpacityToHex, enrichStyleItemsWithIds, enrichStyleModelsWithIds, eqlParametersToPayload, fetchQueryDescription, findAttributeInExpression, formatArea, formatAttributeValue, formatChartRelatedValue, formatConditionValue, formatDataSourceCondition, formatDate$1 as formatDate, formatElementValue, formatLength, formatNumber, formatPolygonMeasure, geometryToEwkt, getActualExtrusionHeight, getAttributeByName, getAttributeConfigurationByName, getAttributeIconElement, getAttributeIconUrl, getAttributeValue, getAttributesConfiguration, getChartAxes, getChartFilterName, getChartMarkers, getConfigFilter, getContainerComponent, getDashboardHeader, getDataFromAttributes, getDataFromRelatedFeatures, getDataSource, getDataSourceFilterValue, getDataSourceLayerInfo, getDate, getDefaultConfig, getDisplayTemplateNameFromAttribute, getElementValue, getFeatureAttributes, getFeatureCardHeader, getFilterComponent, getFilterSelectedItems, getFilterValue, getFormattedAttributes, getGradientColors, getImageUrl, 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, updateDataSource, useAfterSave, useAppHeight, useAttachmentItems, useAttachmentPreviewImages, useAutoCompleteControl, useBeforeSave, useChartChange, useChartData, useContainerAttributes, useContainerRoot, 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 };
|
|
15213
15253
|
//# sourceMappingURL=react.esm.js.map
|