@evergis/react 2.0.172 → 2.0.173
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/Legend/Legend.d.ts +2 -4
- package/dist/components/Legend/constants.d.ts +12 -1
- package/dist/components/Legend/types.d.ts +15 -7
- package/dist/core/legend/FilterCondition.d.ts +11 -0
- package/dist/core/legend/createCondition.d.ts +8 -0
- package/dist/core/legend/types.d.ts +39 -1
- package/dist/core/style/types/symbol.d.ts +8 -1
- package/dist/react.cjs.development.js +550 -186
- package/dist/react.cjs.development.js.map +1 -1
- package/dist/react.cjs.production.min.js +1 -1
- package/dist/react.cjs.production.min.js.map +1 -1
- package/dist/react.esm.js +538 -186
- package/dist/react.esm.js.map +1 -1
- package/dist/utils/legend.d.ts +6 -4
- package/package.json +2 -2
|
@@ -33,6 +33,7 @@ var Label = require('@evergis/sgis/es/features/Label');
|
|
|
33
33
|
var Control = require('@evergis/sgis/es/controls/Control');
|
|
34
34
|
var PolyEditor = require('@evergis/sgis/es/controls/PolyEditor');
|
|
35
35
|
var get = _interopDefault(require('lodash/get'));
|
|
36
|
+
var lodash = require('lodash');
|
|
36
37
|
var ReactDOM = _interopDefault(require('react-dom'));
|
|
37
38
|
var _Symbol = require('@evergis/sgis/es/symbols/Symbol');
|
|
38
39
|
var Poly$1 = require('@evergis/sgis/es/features/Poly');
|
|
@@ -837,6 +838,59 @@ const isPolygonLabelSymbol = /*#__PURE__*/symbolTypeGuard('polygonLabelSymbol');
|
|
|
837
838
|
const isPolylineLabelSymbol = /*#__PURE__*/symbolTypeGuard('polylineLabelSymbol');
|
|
838
839
|
const isLabelSymbol = symbol => Boolean(symbol && (isPointLabelSymbol(symbol) || isPolygonLabelSymbol(symbol) || isPolylineLabelSymbol(symbol)));
|
|
839
840
|
|
|
841
|
+
const _excluded = ["ignoreLabel", "label", "symbol", "raster", "children"];
|
|
842
|
+
const createCompositeSymbol = childSymbols => ({
|
|
843
|
+
type: 'compositeSymbol',
|
|
844
|
+
childSymbols
|
|
845
|
+
});
|
|
846
|
+
const getChildSymbols = symbol => {
|
|
847
|
+
if (!symbol || !isCompositeSymbol(symbol)) return [];
|
|
848
|
+
return symbol.childSymbols || [];
|
|
849
|
+
};
|
|
850
|
+
const extractSymbol = symbol => {
|
|
851
|
+
const childSymbols = getChildSymbols(symbol);
|
|
852
|
+
return {
|
|
853
|
+
// @ts-ignore
|
|
854
|
+
symbol: childSymbols.find(isSimpleSymbol),
|
|
855
|
+
label: childSymbols.find(isLabelSymbol) || null,
|
|
856
|
+
raster: childSymbols.find(isRasterSymbol) || null
|
|
857
|
+
};
|
|
858
|
+
};
|
|
859
|
+
const extractStyle = style => {
|
|
860
|
+
// @ts-ignore
|
|
861
|
+
if (isCompositeSymbol(style.symbol)) {
|
|
862
|
+
return _extends({}, style, extractSymbol(style.symbol), {
|
|
863
|
+
// @ts-ignore
|
|
864
|
+
children: style.children && style.children.map(extractStyle)
|
|
865
|
+
});
|
|
866
|
+
} // NOTE: for cases when style is exist style object should have same reference for all extractStyle calls
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
return style || {};
|
|
870
|
+
};
|
|
871
|
+
const packStyle = style => {
|
|
872
|
+
const {
|
|
873
|
+
ignoreLabel,
|
|
874
|
+
label,
|
|
875
|
+
symbol,
|
|
876
|
+
raster,
|
|
877
|
+
children
|
|
878
|
+
} = style,
|
|
879
|
+
styleDc = _objectWithoutPropertiesLoose(style, _excluded);
|
|
880
|
+
|
|
881
|
+
const childSymbols = [!ignoreLabel && label, raster].filter(Boolean);
|
|
882
|
+
return _extends({}, styleDc, {
|
|
883
|
+
symbol: childSymbols.length ? // @ts-ignore
|
|
884
|
+
createCompositeSymbol([symbol, ...childSymbols]) : symbol,
|
|
885
|
+
// @ts-ignore
|
|
886
|
+
children: children ? // @ts-ignore
|
|
887
|
+
children.map(childStyle => packStyle(_extends({}, childStyle, {
|
|
888
|
+
ignoreLabel,
|
|
889
|
+
label
|
|
890
|
+
}))) : children
|
|
891
|
+
});
|
|
892
|
+
};
|
|
893
|
+
|
|
840
894
|
const isPointSymbol = /*#__PURE__*/symbolTypeGuard('circlePointSymbol');
|
|
841
895
|
const isSquareSymbol = /*#__PURE__*/symbolTypeGuard('squarePointSymbol');
|
|
842
896
|
const isMaskedImageSymbol = /*#__PURE__*/symbolTypeGuard('maskedImagePointSymbol');
|
|
@@ -855,6 +909,20 @@ const isScalablePolylineSymbol = symbol => symbol.beginning !== null && symbol.e
|
|
|
855
909
|
const isSimpleSymbol = symbol => Boolean(symbol && !isLabelSymbol(symbol) && !isCompositeSymbol(symbol) && !isRasterSymbol(symbol));
|
|
856
910
|
const isH3GridSymbol = /*#__PURE__*/symbolTypeGuard("h3grid");
|
|
857
911
|
const isSvgPointSymbol = /*#__PURE__*/symbolTypeGuard("svgPointSymbol");
|
|
912
|
+
const isClusterSymbol = /*#__PURE__*/symbolTypeGuard("cluster");
|
|
913
|
+
const isClusterFillColor = (symbol, parameter) => {
|
|
914
|
+
return isClusterSymbol(symbol) && parameter === "fillColor";
|
|
915
|
+
};
|
|
916
|
+
const getExtractedSymbol = function getExtractedSymbol(symbol, extractCluster) {
|
|
917
|
+
var _extractSymbol;
|
|
918
|
+
|
|
919
|
+
if (extractCluster === void 0) {
|
|
920
|
+
extractCluster = false;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
const extracted = isCompositeSymbol(symbol) ? (_extractSymbol = extractSymbol(symbol)) == null ? void 0 : _extractSymbol.symbol : symbol;
|
|
924
|
+
return extractCluster && isClusterSymbol(extracted) ? extracted.singleObjectSymbol : extracted;
|
|
925
|
+
};
|
|
858
926
|
|
|
859
927
|
const isHatchBrush = /*#__PURE__*/symbolTypeGuard('hatch');
|
|
860
928
|
const isPatternBrush = /*#__PURE__*/symbolTypeGuard('pattern');
|
|
@@ -1138,59 +1206,6 @@ const mergeAttributes = (attributes1, attributes2) => {
|
|
|
1138
1206
|
}) || {}));
|
|
1139
1207
|
};
|
|
1140
1208
|
|
|
1141
|
-
const _excluded = ["ignoreLabel", "label", "symbol", "raster", "children"];
|
|
1142
|
-
const createCompositeSymbol = childSymbols => ({
|
|
1143
|
-
type: 'compositeSymbol',
|
|
1144
|
-
childSymbols
|
|
1145
|
-
});
|
|
1146
|
-
const getChildSymbols = symbol => {
|
|
1147
|
-
if (!symbol || !isCompositeSymbol(symbol)) return [];
|
|
1148
|
-
return symbol.childSymbols || [];
|
|
1149
|
-
};
|
|
1150
|
-
const extractSymbol = symbol => {
|
|
1151
|
-
const childSymbols = getChildSymbols(symbol);
|
|
1152
|
-
return {
|
|
1153
|
-
// @ts-ignore
|
|
1154
|
-
symbol: childSymbols.find(isSimpleSymbol),
|
|
1155
|
-
label: childSymbols.find(isLabelSymbol) || null,
|
|
1156
|
-
raster: childSymbols.find(isRasterSymbol) || null
|
|
1157
|
-
};
|
|
1158
|
-
};
|
|
1159
|
-
const extractStyle = style => {
|
|
1160
|
-
// @ts-ignore
|
|
1161
|
-
if (isCompositeSymbol(style.symbol)) {
|
|
1162
|
-
return _extends({}, style, extractSymbol(style.symbol), {
|
|
1163
|
-
// @ts-ignore
|
|
1164
|
-
children: style.children && style.children.map(extractStyle)
|
|
1165
|
-
});
|
|
1166
|
-
} // NOTE: for cases when style is exist style object should have same reference for all extractStyle calls
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
return style || {};
|
|
1170
|
-
};
|
|
1171
|
-
const packStyle = style => {
|
|
1172
|
-
const {
|
|
1173
|
-
ignoreLabel,
|
|
1174
|
-
label,
|
|
1175
|
-
symbol,
|
|
1176
|
-
raster,
|
|
1177
|
-
children
|
|
1178
|
-
} = style,
|
|
1179
|
-
styleDc = _objectWithoutPropertiesLoose(style, _excluded);
|
|
1180
|
-
|
|
1181
|
-
const childSymbols = [!ignoreLabel && label, raster].filter(Boolean);
|
|
1182
|
-
return _extends({}, styleDc, {
|
|
1183
|
-
symbol: childSymbols.length ? // @ts-ignore
|
|
1184
|
-
createCompositeSymbol([symbol, ...childSymbols]) : symbol,
|
|
1185
|
-
// @ts-ignore
|
|
1186
|
-
children: children ? // @ts-ignore
|
|
1187
|
-
children.map(childStyle => packStyle(_extends({}, childStyle, {
|
|
1188
|
-
ignoreLabel,
|
|
1189
|
-
label
|
|
1190
|
-
}))) : children
|
|
1191
|
-
});
|
|
1192
|
-
};
|
|
1193
|
-
|
|
1194
1209
|
let EvergisStyle = /*#__PURE__*/function () {
|
|
1195
1210
|
function EvergisStyle(style) {
|
|
1196
1211
|
_classCallCheck(this, EvergisStyle);
|
|
@@ -1974,6 +1989,307 @@ const isParameterType = (types, parameter) => {
|
|
|
1974
1989
|
})) || false;
|
|
1975
1990
|
};
|
|
1976
1991
|
|
|
1992
|
+
(function (FilterConditionOperation) {
|
|
1993
|
+
FilterConditionOperation["AND"] = "&&";
|
|
1994
|
+
FilterConditionOperation["OR"] = "||";
|
|
1995
|
+
})(exports.FilterConditionOperation || (exports.FilterConditionOperation = {}));
|
|
1996
|
+
|
|
1997
|
+
(function (ComparisonOperator) {
|
|
1998
|
+
/** `==` */
|
|
1999
|
+
ComparisonOperator["Equals"] = "Equals";
|
|
2000
|
+
/** `!=` */
|
|
2001
|
+
|
|
2002
|
+
ComparisonOperator["NotEquals"] = "NotEquals";
|
|
2003
|
+
/** `>` */
|
|
2004
|
+
|
|
2005
|
+
ComparisonOperator["GreaterThan"] = "GreaterThan";
|
|
2006
|
+
/** `<` */
|
|
2007
|
+
|
|
2008
|
+
ComparisonOperator["LessThan"] = "LessThan";
|
|
2009
|
+
/** `>=` */
|
|
2010
|
+
|
|
2011
|
+
ComparisonOperator["GreaterOrEquals"] = "GreaterOrEquals";
|
|
2012
|
+
/** `<=` */
|
|
2013
|
+
|
|
2014
|
+
ComparisonOperator["LessOrEquals"] = "LessOrEquals";
|
|
2015
|
+
ComparisonOperator["Filled"] = "Filled";
|
|
2016
|
+
ComparisonOperator["Empty"] = "Empty";
|
|
2017
|
+
/** `==` */
|
|
2018
|
+
|
|
2019
|
+
ComparisonOperator["Contains"] = "Contains";
|
|
2020
|
+
/** `!=` */
|
|
2021
|
+
|
|
2022
|
+
ComparisonOperator["NotContains"] = "NotContains";
|
|
2023
|
+
ComparisonOperator["StartsWith"] = "StartsWith";
|
|
2024
|
+
ComparisonOperator["NotStartsWith"] = "NotStartsWith";
|
|
2025
|
+
ComparisonOperator["EndsWith"] = "EndsWith";
|
|
2026
|
+
ComparisonOperator["NotEndsWith"] = "NotEndsWith";
|
|
2027
|
+
ComparisonOperator["Between"] = "Between";
|
|
2028
|
+
ComparisonOperator["Outside"] = "Outside";
|
|
2029
|
+
})(exports.ComparisonOperator || (exports.ComparisonOperator = {}));
|
|
2030
|
+
|
|
2031
|
+
const comparisonOperatorMapReversed = {
|
|
2032
|
+
[condition.TokenType.ArEq]: exports.ComparisonOperator.Equals,
|
|
2033
|
+
[condition.TokenType.ArNotEq]: exports.ComparisonOperator.NotEquals,
|
|
2034
|
+
[condition.TokenType.ArGr]: exports.ComparisonOperator.GreaterThan,
|
|
2035
|
+
[condition.TokenType.ArLs]: exports.ComparisonOperator.LessThan,
|
|
2036
|
+
[condition.TokenType.ArGre]: exports.ComparisonOperator.GreaterOrEquals,
|
|
2037
|
+
[condition.TokenType.ArLse]: exports.ComparisonOperator.LessOrEquals,
|
|
2038
|
+
[condition.TokenType.Between]: exports.ComparisonOperator.Between,
|
|
2039
|
+
[condition.TokenType.Outside]: exports.ComparisonOperator.Outside
|
|
2040
|
+
};
|
|
2041
|
+
const NUMERIC_ATTRIBUTE_TYPES = [api.AttributeType.Int32, api.AttributeType.Int64, api.AttributeType.DateTime, api.AttributeType.Double];
|
|
2042
|
+
|
|
2043
|
+
const formatValue = (value, isDate) => {
|
|
2044
|
+
return isDate ? "#'" + formatDate(value, {
|
|
2045
|
+
dateFormat: exports.DateFormat.UTC,
|
|
2046
|
+
defaultValue: value
|
|
2047
|
+
}) + "'" : value ? value.toString() : 0;
|
|
2048
|
+
};
|
|
2049
|
+
|
|
2050
|
+
function formatCondition(condition$1) {
|
|
2051
|
+
const {
|
|
2052
|
+
comparisonOperator,
|
|
2053
|
+
value,
|
|
2054
|
+
type,
|
|
2055
|
+
attribute
|
|
2056
|
+
} = condition$1;
|
|
2057
|
+
const operator = OPERATOR_CONDITION_REMAP[comparisonOperator] || comparisonOperator;
|
|
2058
|
+
const preparedValue = typeof value === "string" && value.includes(" - ") ? value.split(" - ") : value;
|
|
2059
|
+
const isDate = type === api.AttributeType.DateTime;
|
|
2060
|
+
const isBetweenOutside = BETWEEN_OPERATORS.includes(comparisonOperator);
|
|
2061
|
+
const escapeValue = !NUMERIC_ATTRIBUTE_TYPES.includes(type) && preparedValue !== null;
|
|
2062
|
+
|
|
2063
|
+
if (isBetweenOutside && Array.isArray(preparedValue) && preparedValue[0] !== undefined) {
|
|
2064
|
+
return OPERATOR_CONDITION_REMAP[comparisonOperator] + "(" + attribute + ", " + formatValue(preparedValue[0], isDate) + ", " + formatValue(preparedValue[1], isDate) + ")";
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
const formattedValue = Array.isArray(preparedValue) ? preparedValue.map(val => formatValue(val, isDate)) : formatValue(preparedValue, isDate);
|
|
2068
|
+
const nulledValue = lodash.isNil(preparedValue) ? "{null}" : formattedValue;
|
|
2069
|
+
const valueEscaped = escapeValue && typeof nulledValue === "string" ? "'" + condition.Char.escapeSpecChars(addOperationToValue(nulledValue, comparisonOperator)) + "'" : nulledValue;
|
|
2070
|
+
return attribute + " " + operator + " " + valueEscaped;
|
|
2071
|
+
}
|
|
2072
|
+
function createConditionString(condition) {
|
|
2073
|
+
if (Array.isArray(condition)) {
|
|
2074
|
+
return "( " + formatCondition(condition[0]) + " " + condition[0].operation + " " + formatCondition(condition[1]) + " )";
|
|
2075
|
+
}
|
|
2076
|
+
|
|
2077
|
+
return formatCondition(condition);
|
|
2078
|
+
}
|
|
2079
|
+
function createCondition(_ref) {
|
|
2080
|
+
let {
|
|
2081
|
+
attribute,
|
|
2082
|
+
operation,
|
|
2083
|
+
value
|
|
2084
|
+
} = _ref;
|
|
2085
|
+
const comparisonOperator = comparisonOperatorMapReversed[operation];
|
|
2086
|
+
const convertedResult = convertOperatorValue(value, comparisonOperator);
|
|
2087
|
+
return _extends({
|
|
2088
|
+
attribute
|
|
2089
|
+
}, convertedResult);
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
function convertOperatorValue(value, comparisonOperator) {
|
|
2093
|
+
if (typeof value === "string") {
|
|
2094
|
+
const operatorIndex = +(comparisonOperator === exports.ComparisonOperator.NotEquals);
|
|
2095
|
+
|
|
2096
|
+
if (value.startsWith(condition.Char.PERCENTAGE) && value.endsWith(condition.Char.PERCENTAGE)) {
|
|
2097
|
+
return {
|
|
2098
|
+
value: value.slice(1, -1),
|
|
2099
|
+
comparisonOperator: CONTAINS_OPERATORS[operatorIndex]
|
|
2100
|
+
};
|
|
2101
|
+
}
|
|
2102
|
+
|
|
2103
|
+
if (value.startsWith(condition.Char.PERCENTAGE)) {
|
|
2104
|
+
return {
|
|
2105
|
+
value: value.slice(1),
|
|
2106
|
+
comparisonOperator: ENDS_WITH_OPERATORS[operatorIndex]
|
|
2107
|
+
};
|
|
2108
|
+
}
|
|
2109
|
+
|
|
2110
|
+
if (value.endsWith(condition.Char.PERCENTAGE)) {
|
|
2111
|
+
return {
|
|
2112
|
+
value: value.slice(0, -1),
|
|
2113
|
+
comparisonOperator: STARTS_WITH_OPERATORS[operatorIndex]
|
|
2114
|
+
};
|
|
2115
|
+
}
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
return {
|
|
2119
|
+
value,
|
|
2120
|
+
comparisonOperator
|
|
2121
|
+
};
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2124
|
+
const addContains = value => "%" + value + "%";
|
|
2125
|
+
|
|
2126
|
+
const addStartsWith = value => value + "%";
|
|
2127
|
+
|
|
2128
|
+
const addEndsWith = value => "%" + value;
|
|
2129
|
+
|
|
2130
|
+
function addOperationToValue(value, operator) {
|
|
2131
|
+
switch (operator) {
|
|
2132
|
+
case exports.ComparisonOperator.Contains:
|
|
2133
|
+
case exports.ComparisonOperator.NotContains:
|
|
2134
|
+
return addContains(value);
|
|
2135
|
+
|
|
2136
|
+
case exports.ComparisonOperator.StartsWith:
|
|
2137
|
+
case exports.ComparisonOperator.NotStartsWith:
|
|
2138
|
+
return addStartsWith(value);
|
|
2139
|
+
|
|
2140
|
+
case exports.ComparisonOperator.EndsWith:
|
|
2141
|
+
case exports.ComparisonOperator.NotEndsWith:
|
|
2142
|
+
return addEndsWith(value);
|
|
2143
|
+
|
|
2144
|
+
case exports.ComparisonOperator.Between:
|
|
2145
|
+
return condition.Char.BETWEEN;
|
|
2146
|
+
|
|
2147
|
+
case exports.ComparisonOperator.Outside:
|
|
2148
|
+
return condition.Char.OUTSIDE;
|
|
2149
|
+
|
|
2150
|
+
default:
|
|
2151
|
+
return value;
|
|
2152
|
+
}
|
|
2153
|
+
}
|
|
2154
|
+
|
|
2155
|
+
const OTHERS_TITLE = 'Другое';
|
|
2156
|
+
const createLegendItem = _ref => {
|
|
2157
|
+
let {
|
|
2158
|
+
attributes,
|
|
2159
|
+
renderTitle,
|
|
2160
|
+
skipDefaultValue,
|
|
2161
|
+
reverse
|
|
2162
|
+
} = _ref;
|
|
2163
|
+
return classification => {
|
|
2164
|
+
const {
|
|
2165
|
+
defaultTitle,
|
|
2166
|
+
defaultValue,
|
|
2167
|
+
values,
|
|
2168
|
+
attribute: attributeName,
|
|
2169
|
+
parameter
|
|
2170
|
+
} = classification;
|
|
2171
|
+
const attribute = attributeName && attributes ? getClassificationAttribute(attributeName, attributes) : undefined;
|
|
2172
|
+
const defaultLegendValue = {
|
|
2173
|
+
title: defaultTitle || OTHERS_TITLE,
|
|
2174
|
+
parameterValue: defaultValue
|
|
2175
|
+
};
|
|
2176
|
+
const legendValues = values.map((value, index) => ({
|
|
2177
|
+
title: renderTitle && renderTitle(_extends({}, value, {
|
|
2178
|
+
attribute
|
|
2179
|
+
}), index),
|
|
2180
|
+
parameterValue: value.parameterValue
|
|
2181
|
+
}));
|
|
2182
|
+
const withDefault = skipDefaultValue ? legendValues : [...legendValues, defaultLegendValue];
|
|
2183
|
+
const reversedValues = reverse ? [...withDefault].reverse() : withDefault;
|
|
2184
|
+
return {
|
|
2185
|
+
title: attribute && attribute.alias || attributeName,
|
|
2186
|
+
attribute,
|
|
2187
|
+
parameter,
|
|
2188
|
+
values: reversedValues
|
|
2189
|
+
};
|
|
2190
|
+
};
|
|
2191
|
+
};
|
|
2192
|
+
|
|
2193
|
+
function isValidParameter(parameter) {
|
|
2194
|
+
return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
function createStyleLegend(style, config) {
|
|
2198
|
+
const {
|
|
2199
|
+
classificationManager,
|
|
2200
|
+
symbol
|
|
2201
|
+
} = style;
|
|
2202
|
+
const items = classificationManager.filter(_ref => {
|
|
2203
|
+
let {
|
|
2204
|
+
parameter
|
|
2205
|
+
} = _ref;
|
|
2206
|
+
return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
|
|
2207
|
+
});
|
|
2208
|
+
|
|
2209
|
+
if (!items.length) {
|
|
2210
|
+
return null;
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
return {
|
|
2214
|
+
symbol: unClassify(symbol.singleObjectSymbol || symbol),
|
|
2215
|
+
items: items.map(createLegendItem(config))
|
|
2216
|
+
};
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
function createValueTitle(value, index) {
|
|
2220
|
+
if (value.title) return value.title;
|
|
2221
|
+
if (isRangeClass(value)) return printRangeClass(value, index);
|
|
2222
|
+
if (isUniqueClass(value)) return value.uniqueValue;
|
|
2223
|
+
return '';
|
|
2224
|
+
}
|
|
2225
|
+
|
|
2226
|
+
let FilterCondition = /*#__PURE__*/function () {
|
|
2227
|
+
function FilterCondition(condition$1) {
|
|
2228
|
+
if (condition$1 === void 0) {
|
|
2229
|
+
condition$1 = null;
|
|
2230
|
+
}
|
|
2231
|
+
|
|
2232
|
+
_classCallCheck(this, FilterCondition);
|
|
2233
|
+
|
|
2234
|
+
this.condition = condition$1;
|
|
2235
|
+
this.conditionInterpreter = new condition.ConditionInterpreter(condition$1);
|
|
2236
|
+
}
|
|
2237
|
+
|
|
2238
|
+
_createClass(FilterCondition, [{
|
|
2239
|
+
key: "conditions",
|
|
2240
|
+
get: function get() {
|
|
2241
|
+
const {
|
|
2242
|
+
value
|
|
2243
|
+
} = this.conditionInterpreter;
|
|
2244
|
+
|
|
2245
|
+
if (value instanceof Error) {
|
|
2246
|
+
// TODO handle errors in client notifications
|
|
2247
|
+
console.warn(value.message);
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
return value instanceof Error ? [] : value.expressions.map(createCondition);
|
|
2251
|
+
}
|
|
2252
|
+
}, {
|
|
2253
|
+
key: "conditionOperation",
|
|
2254
|
+
get: function get() {
|
|
2255
|
+
const {
|
|
2256
|
+
value
|
|
2257
|
+
} = this.conditionInterpreter;
|
|
2258
|
+
|
|
2259
|
+
if (value instanceof Error) {
|
|
2260
|
+
return null;
|
|
2261
|
+
}
|
|
2262
|
+
|
|
2263
|
+
const isOrCondition = value.boolOperations.includes(condition.TokenType.BoolOr);
|
|
2264
|
+
const isAndCondition = value.boolOperations.includes(condition.TokenType.BoolAnd);
|
|
2265
|
+
|
|
2266
|
+
if (isOrCondition && isAndCondition) {
|
|
2267
|
+
return null;
|
|
2268
|
+
}
|
|
2269
|
+
|
|
2270
|
+
return isOrCondition ? exports.FilterConditionOperation.OR : isAndCondition ? exports.FilterConditionOperation.AND : null;
|
|
2271
|
+
}
|
|
2272
|
+
}, {
|
|
2273
|
+
key: "isParsingError",
|
|
2274
|
+
value: function isParsingError() {
|
|
2275
|
+
return this.conditionInterpreter.value instanceof Error;
|
|
2276
|
+
}
|
|
2277
|
+
}, {
|
|
2278
|
+
key: "toString",
|
|
2279
|
+
value: function toString() {
|
|
2280
|
+
return this.condition;
|
|
2281
|
+
}
|
|
2282
|
+
}], [{
|
|
2283
|
+
key: "from",
|
|
2284
|
+
value: function from(conditions, operation) {
|
|
2285
|
+
const condition = (conditions == null ? void 0 : conditions.map(createConditionString).join(" " + operation + " ")) || null;
|
|
2286
|
+
return new FilterCondition(condition);
|
|
2287
|
+
}
|
|
2288
|
+
}]);
|
|
2289
|
+
|
|
2290
|
+
return FilterCondition;
|
|
2291
|
+
}();
|
|
2292
|
+
|
|
1977
2293
|
const isLayerService = value => isObject(value) && "name" in value;
|
|
1978
2294
|
const getAttributeFromCondition = condition => {
|
|
1979
2295
|
const parts = condition.split(" ");
|
|
@@ -2007,7 +2323,7 @@ const isRangeCondition = condition => condition.includes("(");
|
|
|
2007
2323
|
const getSymbolParameterInfo = parameter => {
|
|
2008
2324
|
return PARAMETER_INFOS[parameter] || DEFAULT_PARAMETER_INFO;
|
|
2009
2325
|
};
|
|
2010
|
-
const formatValue = (value, type, calculatedParameter) => {
|
|
2326
|
+
const formatValue$1 = (value, type, calculatedParameter) => {
|
|
2011
2327
|
var _ref;
|
|
2012
2328
|
|
|
2013
2329
|
if (type === api.AttributeType.DateTime) {
|
|
@@ -2026,7 +2342,7 @@ const formatUniqueClassValue = value => {
|
|
|
2026
2342
|
attribute,
|
|
2027
2343
|
uniqueValue
|
|
2028
2344
|
} = value;
|
|
2029
|
-
return attribute ? formatValue(uniqueValue, attribute.type) : uniqueValue;
|
|
2345
|
+
return attribute ? formatValue$1(uniqueValue, attribute.type) : uniqueValue;
|
|
2030
2346
|
};
|
|
2031
2347
|
const getRangeValues$1 = (_ref2, isDouble, isDate, index) => {
|
|
2032
2348
|
let {
|
|
@@ -2077,7 +2393,7 @@ const getTitleFromCondition = condition => {
|
|
|
2077
2393
|
return (_parts$ = parts[1]) == null ? void 0 : _parts$.slice(1, -1);
|
|
2078
2394
|
};
|
|
2079
2395
|
|
|
2080
|
-
function createValueTitle(paramValue, attributeType, index) {
|
|
2396
|
+
function createValueTitle$1(paramValue, attributeType, index) {
|
|
2081
2397
|
if (paramValue.title) return paramValue.title;
|
|
2082
2398
|
const value = {
|
|
2083
2399
|
parameterValue: getParameterValue(paramValue.value),
|
|
@@ -2315,8 +2631,63 @@ const createLegendSymbol = (parameterValue, parameter, classificationsParams, ba
|
|
|
2315
2631
|
|
|
2316
2632
|
return null;
|
|
2317
2633
|
};
|
|
2318
|
-
|
|
2319
|
-
|
|
2634
|
+
function createHiddenCondition(attributeName, attributeType, value) {
|
|
2635
|
+
let newValue;
|
|
2636
|
+
let comparisonOperator;
|
|
2637
|
+
|
|
2638
|
+
if (isRangeClass(value)) {
|
|
2639
|
+
if (value.from && value.to) {
|
|
2640
|
+
newValue = [value.from, value.to];
|
|
2641
|
+
comparisonOperator = exports.ComparisonOperator.Outside;
|
|
2642
|
+
} else if (value.from) {
|
|
2643
|
+
newValue = value.from;
|
|
2644
|
+
comparisonOperator = exports.ComparisonOperator.LessThan;
|
|
2645
|
+
} else if (value.to) {
|
|
2646
|
+
newValue = value.to;
|
|
2647
|
+
comparisonOperator = exports.ComparisonOperator.GreaterThan;
|
|
2648
|
+
}
|
|
2649
|
+
} else {
|
|
2650
|
+
newValue = value.uniqueValue;
|
|
2651
|
+
comparisonOperator = exports.ComparisonOperator.NotEquals;
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2654
|
+
return new FilterCondition(createConditionString({
|
|
2655
|
+
attribute: attributeName,
|
|
2656
|
+
type: attributeType,
|
|
2657
|
+
comparisonOperator: comparisonOperator,
|
|
2658
|
+
value: newValue
|
|
2659
|
+
})).toString();
|
|
2660
|
+
}
|
|
2661
|
+
const createOtherHiddenCondition = (values, attributeName, attributeType) => {
|
|
2662
|
+
const value = values[values.length - 1];
|
|
2663
|
+
let hiddenCondition;
|
|
2664
|
+
|
|
2665
|
+
if (isRangeClass(value)) {
|
|
2666
|
+
hiddenCondition = new FilterCondition(createConditionString({
|
|
2667
|
+
attribute: attributeName,
|
|
2668
|
+
type: attributeType,
|
|
2669
|
+
comparisonOperator: exports.ComparisonOperator.LessOrEquals,
|
|
2670
|
+
value: value.to || value.from
|
|
2671
|
+
})).toString();
|
|
2672
|
+
} else {
|
|
2673
|
+
const conditions = values.map(val => new FilterCondition(createConditionString({
|
|
2674
|
+
attribute: attributeName,
|
|
2675
|
+
type: attributeType,
|
|
2676
|
+
comparisonOperator: exports.ComparisonOperator.Equals,
|
|
2677
|
+
value: val.uniqueValue
|
|
2678
|
+
})).toString());
|
|
2679
|
+
hiddenCondition = "( " + conditions.filter(Boolean).join(" " + exports.FilterConditionOperation.OR + " ") + " )";
|
|
2680
|
+
}
|
|
2681
|
+
|
|
2682
|
+
return hiddenCondition;
|
|
2683
|
+
};
|
|
2684
|
+
const getMinimizedLegendValues = (attributeName, attributeType, classified, index, otherTitle) => {
|
|
2685
|
+
const other = {
|
|
2686
|
+
title: otherTitle,
|
|
2687
|
+
parameterValue: classified.defaultValue,
|
|
2688
|
+
hiddenCondition: createOtherHiddenCondition(classified.values.map(val => getClassificationValue(val.value, otherTitle, new ClassificationCondition(val.condition))), attributeName, attributeType)
|
|
2689
|
+
};
|
|
2690
|
+
const items = classified.values.map(paramValue => {
|
|
2320
2691
|
const parameterValue = getParameterValue(paramValue.value);
|
|
2321
2692
|
const result = {
|
|
2322
2693
|
parameterValue,
|
|
@@ -2330,31 +2701,29 @@ const getMinimizedLegendValues = (attributeType, param, index) => {
|
|
|
2330
2701
|
const to = getValueFromConditionPart(paramValue.condition, 2);
|
|
2331
2702
|
result.from = from ? isNumeric(from) ? +from : formatDate(from) : null;
|
|
2332
2703
|
result.to = to ? isNumeric(to) ? +to : formatDate(to) : null;
|
|
2333
|
-
result.title = createValueTitle(paramValue, attributeType, index);
|
|
2704
|
+
result.title = createValueTitle$1(paramValue, attributeType, index);
|
|
2334
2705
|
return result;
|
|
2335
2706
|
}
|
|
2336
2707
|
|
|
2337
|
-
result.uniqueValue = formatValue(paramValue.value);
|
|
2708
|
+
result.uniqueValue = formatValue$1(paramValue.value);
|
|
2338
2709
|
result.title = getTitleFromCondition(paramValue.condition);
|
|
2710
|
+
result.hiddenCondition = createHiddenCondition(attributeName, attributeType, getClassificationValue(paramValue.value, result.title, new ClassificationCondition(paramValue.condition)));
|
|
2339
2711
|
return result;
|
|
2340
2712
|
});
|
|
2713
|
+
return [...items, other];
|
|
2341
2714
|
};
|
|
2342
|
-
const getMaximizedLegendValues = (attributeType, param, params, classified, symbol, sectionIndex, otherTitle) => {
|
|
2715
|
+
const getMaximizedLegendValues = (attributeName, attributeType, param, params, classified, symbol, sectionIndex, otherTitle) => {
|
|
2343
2716
|
const other = {
|
|
2344
2717
|
title: otherTitle,
|
|
2345
|
-
symbol: createLegendSymbol(classified.defaultValue, param, params, symbol)
|
|
2718
|
+
symbol: createLegendSymbol(classified.defaultValue, param, params, symbol),
|
|
2719
|
+
hiddenCondition: createOtherHiddenCondition(classified.values.map(val => getClassificationValue(val.value, otherTitle, new ClassificationCondition(val.condition))), attributeName, attributeType)
|
|
2346
2720
|
};
|
|
2347
2721
|
const items = classified.values.map((paramValue, index) => {
|
|
2348
2722
|
const result = {
|
|
2349
2723
|
symbol: createLegendSymbol(classified.values[index].value, param, params, symbol)
|
|
2350
2724
|
};
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
result.title = createValueTitle(paramValue, attributeType, sectionIndex);
|
|
2354
|
-
return result;
|
|
2355
|
-
}
|
|
2356
|
-
|
|
2357
|
-
result.title = getTitleFromCondition(paramValue.condition);
|
|
2725
|
+
result.title = isRangeCondition(paramValue.condition) ? createValueTitle$1(paramValue, attributeType, sectionIndex) : getTitleFromCondition(paramValue.condition);
|
|
2726
|
+
result.hiddenCondition = createHiddenCondition(attributeName, attributeType, getClassificationValue(classified.values[index].value, result.title, new ClassificationCondition(classified.values[index].condition)));
|
|
2358
2727
|
return result;
|
|
2359
2728
|
});
|
|
2360
2729
|
return [...items, other];
|
|
@@ -2492,6 +2861,16 @@ function getAttributeType(layer, attributeName) {
|
|
|
2492
2861
|
return attribute ? attribute.type : api.AttributeType.Unknown;
|
|
2493
2862
|
}
|
|
2494
2863
|
|
|
2864
|
+
const getClassificationValue = (parameterValue, title, condition) => _extends({
|
|
2865
|
+
parameterValue,
|
|
2866
|
+
title
|
|
2867
|
+
}, condition.isUnique() ? {
|
|
2868
|
+
uniqueValue: condition.uniqueValue
|
|
2869
|
+
} : {
|
|
2870
|
+
from: condition.range[0],
|
|
2871
|
+
to: condition.range[1]
|
|
2872
|
+
});
|
|
2873
|
+
|
|
2495
2874
|
const metersToPixels = (meters, _ref) => {
|
|
2496
2875
|
let {
|
|
2497
2876
|
painter,
|
|
@@ -2574,6 +2953,34 @@ const PARAMETER_INFOS = {
|
|
|
2574
2953
|
|
|
2575
2954
|
})
|
|
2576
2955
|
};
|
|
2956
|
+
const OPERATOR_CONDITION_REMAP = {
|
|
2957
|
+
[exports.ComparisonOperator.Equals]: "==",
|
|
2958
|
+
[exports.ComparisonOperator.NotEquals]: "!=",
|
|
2959
|
+
[exports.ComparisonOperator.GreaterThan]: ">",
|
|
2960
|
+
[exports.ComparisonOperator.GreaterOrEquals]: ">=",
|
|
2961
|
+
[exports.ComparisonOperator.LessThan]: "<",
|
|
2962
|
+
[exports.ComparisonOperator.LessOrEquals]: "<=",
|
|
2963
|
+
[exports.ComparisonOperator.Filled]: "!=",
|
|
2964
|
+
[exports.ComparisonOperator.Empty]: "==",
|
|
2965
|
+
[exports.ComparisonOperator.Contains]: "==",
|
|
2966
|
+
[exports.ComparisonOperator.NotContains]: "!=",
|
|
2967
|
+
[exports.ComparisonOperator.StartsWith]: "==",
|
|
2968
|
+
[exports.ComparisonOperator.NotStartsWith]: "!=",
|
|
2969
|
+
[exports.ComparisonOperator.EndsWith]: "==",
|
|
2970
|
+
[exports.ComparisonOperator.NotEndsWith]: "!=",
|
|
2971
|
+
[exports.ComparisonOperator.Between]: "between",
|
|
2972
|
+
[exports.ComparisonOperator.Outside]: "!between"
|
|
2973
|
+
};
|
|
2974
|
+
const BASE_OPERATORS = [exports.ComparisonOperator.Equals, exports.ComparisonOperator.NotEquals];
|
|
2975
|
+
const CONTAINS_OPERATORS = [exports.ComparisonOperator.Contains, exports.ComparisonOperator.NotContains];
|
|
2976
|
+
const FILLED_OPERATORS = [exports.ComparisonOperator.Filled, exports.ComparisonOperator.Empty];
|
|
2977
|
+
const STARTS_WITH_OPERATORS = [exports.ComparisonOperator.StartsWith, exports.ComparisonOperator.NotStartsWith];
|
|
2978
|
+
const ENDS_WITH_OPERATORS = [exports.ComparisonOperator.EndsWith, exports.ComparisonOperator.NotEndsWith];
|
|
2979
|
+
const RANGE_OPERATORS = [exports.ComparisonOperator.LessThan, exports.ComparisonOperator.LessOrEquals, exports.ComparisonOperator.GreaterThan, exports.ComparisonOperator.GreaterOrEquals];
|
|
2980
|
+
const BETWEEN_OPERATORS = [exports.ComparisonOperator.Between, exports.ComparisonOperator.Outside];
|
|
2981
|
+
const numberComparisonOperators = [...BASE_OPERATORS, ...RANGE_OPERATORS, ...FILLED_OPERATORS, ...BETWEEN_OPERATORS];
|
|
2982
|
+
const dateComparisonOperators = [...BASE_OPERATORS, ...RANGE_OPERATORS, ...FILLED_OPERATORS, ...BETWEEN_OPERATORS];
|
|
2983
|
+
const textComparisonOperators = [...BASE_OPERATORS, ...CONTAINS_OPERATORS, ...STARTS_WITH_OPERATORS, ...ENDS_WITH_OPERATORS, ...FILLED_OPERATORS];
|
|
2577
2984
|
|
|
2578
2985
|
(function (SvgSymbolBg) {
|
|
2579
2986
|
SvgSymbolBg["Rect"] = "rect";
|
|
@@ -4042,77 +4449,6 @@ const evaluateFeature = layers => feature => {
|
|
|
4042
4449
|
return featureLayer ? featureLayer.evaluateFeature(feature) : feature;
|
|
4043
4450
|
};
|
|
4044
4451
|
|
|
4045
|
-
const OTHERS_TITLE = 'Другое';
|
|
4046
|
-
const createLegendItem = _ref => {
|
|
4047
|
-
let {
|
|
4048
|
-
attributes,
|
|
4049
|
-
renderTitle,
|
|
4050
|
-
skipDefaultValue,
|
|
4051
|
-
reverse
|
|
4052
|
-
} = _ref;
|
|
4053
|
-
return classification => {
|
|
4054
|
-
const {
|
|
4055
|
-
defaultTitle,
|
|
4056
|
-
defaultValue,
|
|
4057
|
-
values,
|
|
4058
|
-
attribute: attributeName,
|
|
4059
|
-
parameter
|
|
4060
|
-
} = classification;
|
|
4061
|
-
const attribute = attributeName && attributes ? getClassificationAttribute(attributeName, attributes) : undefined;
|
|
4062
|
-
const defaultLegendValue = {
|
|
4063
|
-
title: defaultTitle || OTHERS_TITLE,
|
|
4064
|
-
parameterValue: defaultValue
|
|
4065
|
-
};
|
|
4066
|
-
const legendValues = values.map((value, index) => ({
|
|
4067
|
-
title: renderTitle && renderTitle(_extends({}, value, {
|
|
4068
|
-
attribute
|
|
4069
|
-
}), index),
|
|
4070
|
-
parameterValue: value.parameterValue
|
|
4071
|
-
}));
|
|
4072
|
-
const withDefault = skipDefaultValue ? legendValues : [...legendValues, defaultLegendValue];
|
|
4073
|
-
const reversedValues = reverse ? [...withDefault].reverse() : withDefault;
|
|
4074
|
-
return {
|
|
4075
|
-
title: attribute && attribute.alias || attributeName,
|
|
4076
|
-
attribute,
|
|
4077
|
-
parameter,
|
|
4078
|
-
values: reversedValues
|
|
4079
|
-
};
|
|
4080
|
-
};
|
|
4081
|
-
};
|
|
4082
|
-
|
|
4083
|
-
function isValidParameter(parameter) {
|
|
4084
|
-
return !(parameter != null && parameter.includes("labelSymbol")) && !(parameter != null && parameter.includes("singleObjectSymbol"));
|
|
4085
|
-
}
|
|
4086
|
-
|
|
4087
|
-
function createStyleLegend(style, config) {
|
|
4088
|
-
const {
|
|
4089
|
-
classificationManager,
|
|
4090
|
-
symbol
|
|
4091
|
-
} = style;
|
|
4092
|
-
const items = classificationManager.filter(_ref => {
|
|
4093
|
-
let {
|
|
4094
|
-
parameter
|
|
4095
|
-
} = _ref;
|
|
4096
|
-
return config.parameters && parameter ? config.parameters.includes(parameter) : isValidParameter(parameter);
|
|
4097
|
-
});
|
|
4098
|
-
|
|
4099
|
-
if (!items.length) {
|
|
4100
|
-
return null;
|
|
4101
|
-
}
|
|
4102
|
-
|
|
4103
|
-
return {
|
|
4104
|
-
symbol: unClassify(symbol.singleObjectSymbol || symbol),
|
|
4105
|
-
items: items.map(createLegendItem(config))
|
|
4106
|
-
};
|
|
4107
|
-
}
|
|
4108
|
-
|
|
4109
|
-
function createValueTitle$1(value, index) {
|
|
4110
|
-
if (value.title) return value.title;
|
|
4111
|
-
if (isRangeClass(value)) return printRangeClass(value, index);
|
|
4112
|
-
if (isUniqueClass(value)) return value.uniqueValue;
|
|
4113
|
-
return '';
|
|
4114
|
-
}
|
|
4115
|
-
|
|
4116
4452
|
function formatArea(num) {
|
|
4117
4453
|
let result = num;
|
|
4118
4454
|
let measure = 'м²';
|
|
@@ -4175,7 +4511,7 @@ const useLegend = (style, config) => React.useMemo(() => {
|
|
|
4175
4511
|
}, [style, config]);
|
|
4176
4512
|
|
|
4177
4513
|
const DEFAULT_LEGEND_CONFIG = {
|
|
4178
|
-
renderTitle: createValueTitle
|
|
4514
|
+
renderTitle: createValueTitle
|
|
4179
4515
|
};
|
|
4180
4516
|
const useLayerLegend = (layer, config) => {
|
|
4181
4517
|
const {
|
|
@@ -5589,7 +5925,7 @@ const ItemText = /*#__PURE__*/styled__default.div(_templateObject2$4 || (_templa
|
|
|
5589
5925
|
});
|
|
5590
5926
|
const ItemSeparator = /*#__PURE__*/styled__default.div(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n :after {\n content: \"-\";\n margin: 0 0.5rem;\n font-size: 0.75rem;\n }\n"])));
|
|
5591
5927
|
const SymbolContainer = /*#__PURE__*/styled__default("span")(_templateObject4$3 || (_templateObject4$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n min-width: 16px;\n margin-right: 0.5rem;\n"])));
|
|
5592
|
-
const ClassifiedItem = /*#__PURE__*/styled__default.div(_templateObject5$3 || (_templateObject5$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n align-items: center;\n
|
|
5928
|
+
const ClassifiedItem = /*#__PURE__*/styled__default.div(_templateObject5$3 || (_templateObject5$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: ", ";\n pointer-events: ", ";\n\n :not(:last-of-type) {\n margin-bottom: 0.25rem;\n }\n\n ", ", ", " {\n transition: opacity 150ms;\n }\n\n ", " {\n opacity: ", ";\n }\n\n ", " {\n opacity: ", ";\n }\n\n :hover {\n ", ", ", " {\n opacity: 1;\n }\n }\n"])), _ref2 => {
|
|
5593
5929
|
let {
|
|
5594
5930
|
isClusterFillColor
|
|
5595
5931
|
} = _ref2;
|
|
@@ -6000,11 +6336,14 @@ const LegendSymbolRenderer = /*#__PURE__*/React.memo(_ref => {
|
|
|
6000
6336
|
|
|
6001
6337
|
const MaximizedLegend = _ref => {
|
|
6002
6338
|
let {
|
|
6339
|
+
layerName,
|
|
6003
6340
|
symbol: sectionSymbol,
|
|
6004
6341
|
parameter,
|
|
6005
6342
|
values,
|
|
6006
6343
|
index: sectionIndex,
|
|
6007
|
-
attributeType
|
|
6344
|
+
attributeType,
|
|
6345
|
+
hiddenLegends,
|
|
6346
|
+
toggleHiddenLegend
|
|
6008
6347
|
} = _ref;
|
|
6009
6348
|
const {
|
|
6010
6349
|
t
|
|
@@ -6044,19 +6383,22 @@ const MaximizedLegend = _ref => {
|
|
|
6044
6383
|
|
|
6045
6384
|
return React__default.createElement(React__default.Fragment, null, columns.map(renderColumn));
|
|
6046
6385
|
}, [isDate, renderColumn, t]);
|
|
6386
|
+
const isHidden = React.useCallback(hiddenCondition => !!(hiddenLegends != null && hiddenLegends.includes(hiddenCondition)), [hiddenLegends]);
|
|
6047
6387
|
const renderLegend = React.useCallback((_ref2, index) => {
|
|
6048
6388
|
var _parameterValue$value;
|
|
6049
6389
|
|
|
6050
6390
|
let {
|
|
6051
6391
|
symbol,
|
|
6052
|
-
title
|
|
6053
|
-
|
|
6054
|
-
|
|
6392
|
+
title,
|
|
6393
|
+
hiddenCondition
|
|
6055
6394
|
} = _ref2;
|
|
6056
|
-
if (!symbol) return null;
|
|
6057
|
-
|
|
6395
|
+
if (!symbol) return null;
|
|
6396
|
+
const isClusterFillColor$1 = isClusterFillColor(symbol, parameter);
|
|
6058
6397
|
return React__default.createElement(ClassifiedItem, {
|
|
6059
|
-
key: sectionIndex + title + index
|
|
6398
|
+
key: sectionIndex + title + index,
|
|
6399
|
+
isHidden: isHidden(hiddenCondition),
|
|
6400
|
+
isClusterFillColor: isClusterFillColor$1,
|
|
6401
|
+
onClick: () => toggleHiddenLegend == null ? void 0 : toggleHiddenLegend(layerName, hiddenCondition)
|
|
6060
6402
|
}, isSize || isStrokeWidth || isStrokeColor ? React__default.createElement(MapLegendItems, {
|
|
6061
6403
|
parameter: parameter,
|
|
6062
6404
|
isSize: isSize,
|
|
@@ -6069,11 +6411,9 @@ const MaximizedLegend = _ref => {
|
|
|
6069
6411
|
value: (parameterValue == null ? void 0 : (_parameterValue$value = parameterValue.values[index]) == null ? void 0 : _parameterValue$value.value) || (parameterValue == null ? void 0 : parameterValue.defaultValue),
|
|
6070
6412
|
parameter: parameter
|
|
6071
6413
|
})) : React__default.createElement(SymbolContainer, null, React__default.createElement(LegendSymbolRenderer, {
|
|
6072
|
-
symbol: symbol
|
|
6073
|
-
/* isClusterFillColor ? symbol : getExtractedSymbol(symbol, true)*/
|
|
6074
|
-
|
|
6414
|
+
symbol: isClusterFillColor$1 ? symbol : getExtractedSymbol(symbol, true)
|
|
6075
6415
|
})), renderItemText(title, index));
|
|
6076
|
-
}, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex]);
|
|
6416
|
+
}, [isSize, isStrokeColor, isStrokeWidth, parameter, parameterValue == null ? void 0 : parameterValue.defaultValue, parameterValue == null ? void 0 : parameterValue.values, renderItemText, sectionIndex, hiddenLegends, toggleHiddenLegend]);
|
|
6077
6417
|
return React__default.createElement(React__default.Fragment, null, values.map(renderLegend));
|
|
6078
6418
|
};
|
|
6079
6419
|
|
|
@@ -6089,10 +6429,14 @@ const LegendParameterDescription = _ref => {
|
|
|
6089
6429
|
|
|
6090
6430
|
const LegendSection = _ref => {
|
|
6091
6431
|
let {
|
|
6432
|
+
layerName,
|
|
6092
6433
|
symbol,
|
|
6093
|
-
|
|
6094
|
-
|
|
6434
|
+
parameter,
|
|
6435
|
+
parameters,
|
|
6095
6436
|
classified,
|
|
6437
|
+
hiddenLegends,
|
|
6438
|
+
toggleHiddenLegend,
|
|
6439
|
+
attributeName,
|
|
6096
6440
|
attributeTitle,
|
|
6097
6441
|
attributeType,
|
|
6098
6442
|
index
|
|
@@ -6102,54 +6446,58 @@ const LegendSection = _ref => {
|
|
|
6102
6446
|
} = reactI18next.useTranslation("common");
|
|
6103
6447
|
const [isExpanded, toggleExpanded] = useToggle();
|
|
6104
6448
|
return React__default.createElement(MapLegendSectionContainer, null, React__default.createElement(MapLegendHeader, null, attributeTitle), React__default.createElement(LegendParameterDescription, {
|
|
6105
|
-
parameter:
|
|
6449
|
+
parameter: parameter
|
|
6106
6450
|
}), isExpanded ? React__default.createElement(MaximizedLegend, {
|
|
6107
|
-
|
|
6451
|
+
layerName: layerName,
|
|
6108
6452
|
symbol: symbol,
|
|
6109
|
-
|
|
6453
|
+
hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
|
|
6454
|
+
toggleHiddenLegend: toggleHiddenLegend,
|
|
6455
|
+
parameter: parameter,
|
|
6110
6456
|
attributeType: attributeType,
|
|
6111
6457
|
index: index,
|
|
6112
|
-
values: getMaximizedLegendValues(attributeType,
|
|
6458
|
+
values: getMaximizedLegendValues(attributeName, attributeType, parameter, parameters, classified, symbol, index, t("classification.other"))
|
|
6113
6459
|
}) : React__default.createElement(MinimizedLegend, {
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
parameter: param,
|
|
6118
|
-
attributeType: attributeType
|
|
6460
|
+
values: getMinimizedLegendValues(attributeName, attributeType, classified, index, t("classification.other")),
|
|
6461
|
+
hiddenLegends: hiddenLegends == null ? void 0 : hiddenLegends[layerName],
|
|
6462
|
+
parameter: parameter
|
|
6119
6463
|
}), React__default.createElement(MapLegendExpandButton, {
|
|
6120
6464
|
onClick: toggleExpanded
|
|
6121
6465
|
}, t(isExpanded ? "toggleMenu" : "Развернуть")));
|
|
6122
6466
|
};
|
|
6123
6467
|
|
|
6124
|
-
const
|
|
6468
|
+
const _excluded$3 = ["layerInfo"];
|
|
6469
|
+
const Legend = /*#__PURE__*/React.memo(_ref => {
|
|
6125
6470
|
let {
|
|
6126
6471
|
layerInfo
|
|
6127
|
-
} = _ref
|
|
6472
|
+
} = _ref,
|
|
6473
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
6474
|
+
|
|
6128
6475
|
const classified = getClassified(layerInfo);
|
|
6129
|
-
const
|
|
6476
|
+
const parameters = Object.keys(classified);
|
|
6130
6477
|
const attributes = getLayerAttributes(layerInfo.layerDefinition);
|
|
6131
6478
|
return React__default.createElement(MapLegendContainer, null, Object.keys(classified).map((param, index) => {
|
|
6132
|
-
var _classified$param$val,
|
|
6479
|
+
var _classified$param$val, _layerInfo$style, _attributes$find;
|
|
6133
6480
|
|
|
6134
6481
|
const attributeName = getAttributeNameFromCondition((_classified$param$val = classified[param].values[0]) == null ? void 0 : _classified$param$val.condition);
|
|
6135
|
-
|
|
6136
|
-
let {
|
|
6137
|
-
name
|
|
6138
|
-
} = _ref2;
|
|
6139
|
-
return name === attributeName;
|
|
6140
|
-
})) == null ? void 0 : _attributes$find.alias;
|
|
6141
|
-
return React__default.createElement(LegendSection, {
|
|
6482
|
+
return React__default.createElement(LegendSection, Object.assign({
|
|
6142
6483
|
key: index,
|
|
6484
|
+
layerName: layerInfo.name,
|
|
6143
6485
|
symbol: (_layerInfo$style = layerInfo.style) == null ? void 0 : _layerInfo$style.symbol,
|
|
6486
|
+
attributeName: attributeName,
|
|
6487
|
+
attributeTitle: ((_attributes$find = attributes.find(_ref2 => {
|
|
6488
|
+
let {
|
|
6489
|
+
name
|
|
6490
|
+
} = _ref2;
|
|
6491
|
+
return name === attributeName;
|
|
6492
|
+
})) == null ? void 0 : _attributes$find.alias) || attributeName,
|
|
6144
6493
|
attributeType: getAttributeType(layerInfo, attributeName),
|
|
6145
|
-
attributeTitle: attributeAlias || attributeName,
|
|
6146
6494
|
classified: classified[param],
|
|
6147
|
-
|
|
6148
|
-
|
|
6495
|
+
parameter: param,
|
|
6496
|
+
parameters: parameters,
|
|
6149
6497
|
index: index
|
|
6150
|
-
});
|
|
6498
|
+
}, rest));
|
|
6151
6499
|
}));
|
|
6152
|
-
};
|
|
6500
|
+
});
|
|
6153
6501
|
|
|
6154
6502
|
const Map = _ref => {
|
|
6155
6503
|
let {
|
|
@@ -6374,12 +6722,12 @@ let MeasureTool = /*#__PURE__*/function (_React$Component) {
|
|
|
6374
6722
|
return MeasureTool;
|
|
6375
6723
|
}(React__default.Component);
|
|
6376
6724
|
|
|
6377
|
-
const _excluded$
|
|
6725
|
+
const _excluded$4 = ["isActive"];
|
|
6378
6726
|
const Measurer = _ref => {
|
|
6379
6727
|
let {
|
|
6380
6728
|
isActive
|
|
6381
6729
|
} = _ref,
|
|
6382
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
6730
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
6383
6731
|
|
|
6384
6732
|
const {
|
|
6385
6733
|
map,
|
|
@@ -6493,7 +6841,7 @@ const TooltipComponent = /*#__PURE__*/styled__default.div(_templateObject11$2 ||
|
|
|
6493
6841
|
return withArrow && corner;
|
|
6494
6842
|
});
|
|
6495
6843
|
|
|
6496
|
-
const _excluded$
|
|
6844
|
+
const _excluded$5 = ["features", "map", "center", "component", "zIndex", "children", "content", "onEachFeature", "clickMode"];
|
|
6497
6845
|
|
|
6498
6846
|
const {
|
|
6499
6847
|
Provider,
|
|
@@ -6512,7 +6860,7 @@ const Tooltip = _ref => {
|
|
|
6512
6860
|
onEachFeature,
|
|
6513
6861
|
clickMode
|
|
6514
6862
|
} = _ref,
|
|
6515
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
6863
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
|
|
6516
6864
|
|
|
6517
6865
|
const onTooltip = useTooltip(zIndex);
|
|
6518
6866
|
React.useEffect(() => {
|
|
@@ -6554,8 +6902,11 @@ const DraggableMarker = _ref => {
|
|
|
6554
6902
|
};
|
|
6555
6903
|
|
|
6556
6904
|
exports.ArrowLineMiterRender = ArrowLineMiterRender;
|
|
6905
|
+
exports.BASE_OPERATORS = BASE_OPERATORS;
|
|
6906
|
+
exports.BETWEEN_OPERATORS = BETWEEN_OPERATORS;
|
|
6557
6907
|
exports.BaseMeasureToolCreator = BaseMeasureToolCreator;
|
|
6558
6908
|
exports.BaseMeasureToolEditor = BaseMeasureToolEditor;
|
|
6909
|
+
exports.CONTAINS_OPERATORS = CONTAINS_OPERATORS;
|
|
6559
6910
|
exports.CRS_MAP = CRS_MAP;
|
|
6560
6911
|
exports.CardAttributes = CardAttributes;
|
|
6561
6912
|
exports.CardHeader = CardHeader;
|
|
@@ -6579,6 +6930,7 @@ exports.DEFAULT_SYMBOL_SIZE = DEFAULT_SYMBOL_SIZE;
|
|
|
6579
6930
|
exports.DEFAULT_SYMBOL_STROKE_COLOR = DEFAULT_SYMBOL_STROKE_COLOR;
|
|
6580
6931
|
exports.DEFAULT_SYMBOL_WITH_BG_SIZE = DEFAULT_SYMBOL_WITH_BG_SIZE;
|
|
6581
6932
|
exports.DraggableMarker = DraggableMarker;
|
|
6933
|
+
exports.ENDS_WITH_OPERATORS = ENDS_WITH_OPERATORS;
|
|
6582
6934
|
exports.EXTRA_BORDER_SIZE = EXTRA_BORDER_SIZE;
|
|
6583
6935
|
exports.EvergisCard = EvergisCard;
|
|
6584
6936
|
exports.EvergisCardAttribute = EvergisCardAttribute;
|
|
@@ -6605,6 +6957,7 @@ exports.EvergisSelectLayer = EvergisSelectLayer;
|
|
|
6605
6957
|
exports.EvergisSelectProvider = EvergisSelectProvider;
|
|
6606
6958
|
exports.EvergisStyle = EvergisStyle;
|
|
6607
6959
|
exports.EvergisTileLayer = EvergisTileLayer;
|
|
6960
|
+
exports.FILLED_OPERATORS = FILLED_OPERATORS;
|
|
6608
6961
|
exports.FeatureLayer = FeatureLayer;
|
|
6609
6962
|
exports.Fullscreen = Fullscreen;
|
|
6610
6963
|
exports.GEOMETRY_ATTRIBUTE = GEOMETRY_ATTRIBUTE;
|
|
@@ -6644,13 +6997,16 @@ exports.MinimizedLegend = MinimizedLegend;
|
|
|
6644
6997
|
exports.MinimizedLegendContainer = MinimizedLegendContainer;
|
|
6645
6998
|
exports.NO_CONTENT_VALUE = NO_CONTENT_VALUE;
|
|
6646
6999
|
exports.Noop = Noop;
|
|
7000
|
+
exports.OPERATOR_CONDITION_REMAP = OPERATOR_CONDITION_REMAP;
|
|
6647
7001
|
exports.PARAMETER_INFOS = PARAMETER_INFOS;
|
|
6648
7002
|
exports.PREVIEW_LIMITS = PREVIEW_LIMITS;
|
|
7003
|
+
exports.RANGE_OPERATORS = RANGE_OPERATORS;
|
|
6649
7004
|
exports.SGisBrushFill = SGisBrushFill;
|
|
6650
7005
|
exports.SGisImageFill = SGisImageFill;
|
|
6651
7006
|
exports.SGisPolygonSymbol = SGisPolygonSymbol;
|
|
6652
7007
|
exports.SGisPolylineSymbol = SGisPolylineSymbol;
|
|
6653
7008
|
exports.SOLID_INTERVALS = SOLID_INTERVALS;
|
|
7009
|
+
exports.STARTS_WITH_OPERATORS = STARTS_WITH_OPERATORS;
|
|
6654
7010
|
exports.SVGPoly = SVGPoly;
|
|
6655
7011
|
exports.SYMBOL_CLASSIFICATION = SYMBOL_CLASSIFICATION;
|
|
6656
7012
|
exports.SYMBOL_LIMITS = SYMBOL_LIMITS;
|
|
@@ -6689,11 +7045,14 @@ exports.clamp = clamp;
|
|
|
6689
7045
|
exports.convertSvgToBase64 = convertSvgToBase64;
|
|
6690
7046
|
exports.copyRings = copyRings;
|
|
6691
7047
|
exports.createCompositeSymbol = createCompositeSymbol;
|
|
7048
|
+
exports.createHiddenCondition = createHiddenCondition;
|
|
6692
7049
|
exports.createLabelSymbol = createLabelSymbol;
|
|
6693
7050
|
exports.createLegendSymbol = createLegendSymbol;
|
|
7051
|
+
exports.createOtherHiddenCondition = createOtherHiddenCondition;
|
|
6694
7052
|
exports.createStyleLegend = createStyleLegend;
|
|
6695
7053
|
exports.createSvgGradient = createSvgGradient;
|
|
6696
|
-
exports.createValueTitle = createValueTitle
|
|
7054
|
+
exports.createValueTitle = createValueTitle;
|
|
7055
|
+
exports.dateComparisonOperators = dateComparisonOperators;
|
|
6697
7056
|
exports.defaultOffset = defaultOffset;
|
|
6698
7057
|
exports.defineStrokeStylePreset = defineStrokeStylePreset;
|
|
6699
7058
|
exports.deserializeSymbol = deserializeSymbol;
|
|
@@ -6709,7 +7068,7 @@ exports.formatLength = formatLength;
|
|
|
6709
7068
|
exports.formatPolygonMeasure = formatPolygonMeasure;
|
|
6710
7069
|
exports.formatRangeClassValue = formatRangeClassValue;
|
|
6711
7070
|
exports.formatUniqueClassValue = formatUniqueClassValue;
|
|
6712
|
-
exports.formatValue = formatValue;
|
|
7071
|
+
exports.formatValue = formatValue$1;
|
|
6713
7072
|
exports.getAttributeFromCondition = getAttributeFromCondition;
|
|
6714
7073
|
exports.getAttributeNameFromClassified = getAttributeNameFromClassified;
|
|
6715
7074
|
exports.getAttributeNameFromCondition = getAttributeNameFromCondition;
|
|
@@ -6722,6 +7081,7 @@ exports.getDashStylePreset = getDashStylePreset;
|
|
|
6722
7081
|
exports.getDate = getDate;
|
|
6723
7082
|
exports.getDimensions = getDimensions;
|
|
6724
7083
|
exports.getExprFromCondition = getExprFromCondition;
|
|
7084
|
+
exports.getExtractedSymbol = getExtractedSymbol;
|
|
6725
7085
|
exports.getFeatureSymbol = getFeatureSymbol;
|
|
6726
7086
|
exports.getHexColor = getHexColor;
|
|
6727
7087
|
exports.getLayerDefinition = getLayerDefinition;
|
|
@@ -6747,6 +7107,8 @@ exports.getValueFromConditionPart = getValueFromConditionPart;
|
|
|
6747
7107
|
exports.isArrowLineMiter = isArrowLineMiter;
|
|
6748
7108
|
exports.isCalculatedParameter = isCalculatedParameter;
|
|
6749
7109
|
exports.isCircleLineMiter = isCircleLineMiter;
|
|
7110
|
+
exports.isClusterFillColor = isClusterFillColor;
|
|
7111
|
+
exports.isClusterSymbol = isClusterSymbol;
|
|
6750
7112
|
exports.isCompositeSymbol = isCompositeSymbol;
|
|
6751
7113
|
exports.isDashedBrush = isDashedBrush;
|
|
6752
7114
|
exports.isFilledLineMitter = isFilledLineMitter;
|
|
@@ -6817,6 +7179,7 @@ exports.measureAreaSymbol = measureAreaSymbol;
|
|
|
6817
7179
|
exports.measureLengthSymbol = measureLengthSymbol;
|
|
6818
7180
|
exports.measurePolygonSnapSymbol = measurePolygonSnapSymbol;
|
|
6819
7181
|
exports.metersToPixels = metersToPixels;
|
|
7182
|
+
exports.numberComparisonOperators = numberComparisonOperators;
|
|
6820
7183
|
exports.numberWithSpaces = numberWithSpaces;
|
|
6821
7184
|
exports.packStyle = packStyle;
|
|
6822
7185
|
exports.phoneHref = phoneHref;
|
|
@@ -6834,6 +7197,7 @@ exports.solidStrokeStylePreset = solidStrokeStylePreset;
|
|
|
6834
7197
|
exports.strokeStylePresets = strokeStylePresets;
|
|
6835
7198
|
exports.symbolParameterWalker = symbolParameterWalker;
|
|
6836
7199
|
exports.symbolTypeGuard = symbolTypeGuard;
|
|
7200
|
+
exports.textComparisonOperators = textComparisonOperators;
|
|
6837
7201
|
exports.toIntervals = toIntervals;
|
|
6838
7202
|
exports.toLineDash = toLineDash;
|
|
6839
7203
|
exports.unClassify = unClassify;
|