@openg2p/registry-widgets 0.1.6 → 0.1.7
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/assets/index.d.ts +5 -1
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/components/SectionRenderer.d.ts +17 -1
- package/dist/components/SectionRenderer.d.ts.map +1 -1
- package/dist/components/SectionsContainer.d.ts +22 -2
- package/dist/components/SectionsContainer.d.ts.map +1 -1
- package/dist/hooks/useBaseWidget.d.ts.map +1 -1
- package/dist/index.d.ts +40 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1531 -1031
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1529 -1029
- package/dist/index.js.map +1 -1
- package/dist/utils/buildSectionChanges.d.ts +11 -0
- package/dist/utils/buildSectionChanges.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSlice, configureStore } from '@reduxjs/toolkit';
|
|
2
|
-
import React, { useContext,
|
|
3
|
-
import { useDispatch, useSelector,
|
|
2
|
+
import React, { useContext, createContext, useMemo, useEffect, useRef, useCallback, useState } from 'react';
|
|
3
|
+
import { Provider, useDispatch, useSelector, useStore } from 'react-redux';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { createPortal } from 'react-dom';
|
|
6
6
|
import { JsonEditor } from 'json-edit-react';
|
|
@@ -919,700 +919,6 @@ const useWidgetEventBus = () => {
|
|
|
919
919
|
return useContext(WidgetEventBusContext);
|
|
920
920
|
};
|
|
921
921
|
|
|
922
|
-
// Define stable empty arrays to avoid selector reference issues
|
|
923
|
-
const EMPTY_ERRORS = [];
|
|
924
|
-
const EMPTY_DATA_SOURCE$1 = [];
|
|
925
|
-
const useBaseWidget = (options) => {
|
|
926
|
-
const { config, dataSourceRequestHandler, schemaData, onValueChange } = options;
|
|
927
|
-
const dispatch = useDispatch();
|
|
928
|
-
const eventBus = useWidgetEventBus();
|
|
929
|
-
const widgetId = config['widget-id'];
|
|
930
|
-
// Get state from Redux
|
|
931
|
-
const values = useSelector((state) => state.widget.values);
|
|
932
|
-
const errors = useSelector((state) => state.widget.errors[widgetId] ?? EMPTY_ERRORS);
|
|
933
|
-
const touched = useSelector((state) => state.widget.touched[widgetId] || false);
|
|
934
|
-
const loading = useSelector((state) => state.widget.loading[widgetId] || false);
|
|
935
|
-
const dataSourceOptions = useSelector((state) => state.widget.dataSources[widgetId] ?? EMPTY_DATA_SOURCE$1);
|
|
936
|
-
// Skip value handling for layout widgets (they don't store data values)
|
|
937
|
-
// Infer layout from widget-type
|
|
938
|
-
const isLayoutWidget = config['widget-type'] === 'layout';
|
|
939
|
-
// Track if user has explicitly set a value to prevent default from overwriting
|
|
940
|
-
const userHasSetValueRef = useRef(false);
|
|
941
|
-
// Use ref for values to avoid stale closures in handleChange
|
|
942
|
-
const valuesRef = useRef(values);
|
|
943
|
-
useEffect(() => {
|
|
944
|
-
valuesRef.current = values;
|
|
945
|
-
}, [values]);
|
|
946
|
-
// Track last dispatched value to prevent duplicate dispatches
|
|
947
|
-
const lastDispatchedValueRef = useRef(null);
|
|
948
|
-
// Get current value
|
|
949
|
-
const currentValue = useMemo(() => {
|
|
950
|
-
if (isLayoutWidget) {
|
|
951
|
-
return undefined; // Layout widgets don't have values
|
|
952
|
-
}
|
|
953
|
-
// Helper to extract displayable value from object (especially geo hierarchy objects)
|
|
954
|
-
const extractValueFromObject = (obj) => {
|
|
955
|
-
if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
|
|
956
|
-
return obj;
|
|
957
|
-
}
|
|
958
|
-
// Check for geo hierarchy structure first
|
|
959
|
-
if ('geo_code_hierarchy_json' in obj || 'geo_lowest_level_value_id' in obj) {
|
|
960
|
-
if ('geo_lowest_level_value_id' in obj) {
|
|
961
|
-
return obj.geo_lowest_level_value_id;
|
|
962
|
-
}
|
|
963
|
-
// If it's a geo hierarchy object but no extractable ID, return undefined to avoid rendering object
|
|
964
|
-
return undefined;
|
|
965
|
-
}
|
|
966
|
-
// Try common value fields
|
|
967
|
-
if ('value' in obj) {
|
|
968
|
-
return obj.value;
|
|
969
|
-
}
|
|
970
|
-
if ('id' in obj) {
|
|
971
|
-
return obj.id;
|
|
972
|
-
}
|
|
973
|
-
if ('label' in obj) {
|
|
974
|
-
return obj.label;
|
|
975
|
-
}
|
|
976
|
-
if ('name' in obj) {
|
|
977
|
-
return obj.name;
|
|
978
|
-
}
|
|
979
|
-
// If no extractable value found, return undefined to avoid rendering object as React child
|
|
980
|
-
// This prevents "Objects are not valid as a React child" errors
|
|
981
|
-
return undefined;
|
|
982
|
-
};
|
|
983
|
-
// Try to get value from widgetId first (this should have the actual selected value)
|
|
984
|
-
// For geo widgets with dataPath, widgetId stores the actual ID, while dataPath stores the hierarchy object
|
|
985
|
-
let value = values[widgetId];
|
|
986
|
-
// Extract value if it's an object (handles geo hierarchy objects stored in widgetId)
|
|
987
|
-
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
988
|
-
value = extractValueFromObject(value);
|
|
989
|
-
}
|
|
990
|
-
// If widgetId doesn't have a value, try dataPath
|
|
991
|
-
if (value === undefined && config['widget-data-path']) {
|
|
992
|
-
value = getWidgetValue(values, config['widget-data-path'], widgetId);
|
|
993
|
-
// Extract value if it's an object (handles geo hierarchy objects from dataPath)
|
|
994
|
-
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
995
|
-
value = extractValueFromObject(value);
|
|
996
|
-
}
|
|
997
|
-
}
|
|
998
|
-
// If value is still undefined and user has set a value, try reading from widgetId as backup
|
|
999
|
-
// This handles cases where dataPath lookup might fail temporarily
|
|
1000
|
-
if (value === undefined && userHasSetValueRef.current && values[widgetId] !== undefined) {
|
|
1001
|
-
value = values[widgetId];
|
|
1002
|
-
// Extract value if it's an object (handles geo hierarchy objects)
|
|
1003
|
-
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
1004
|
-
value = extractValueFromObject(value);
|
|
1005
|
-
}
|
|
1006
|
-
}
|
|
1007
|
-
// Final safety check: if value is still an object, extract displayable value
|
|
1008
|
-
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
1009
|
-
value = extractValueFromObject(value);
|
|
1010
|
-
}
|
|
1011
|
-
// If user has explicitly set a value, always return it (even if undefined/null)
|
|
1012
|
-
// This prevents the default from overwriting user selections
|
|
1013
|
-
if (userHasSetValueRef.current) {
|
|
1014
|
-
return value;
|
|
1015
|
-
}
|
|
1016
|
-
// Only fall back to default if user hasn't set a value yet
|
|
1017
|
-
// But check if value is explicitly null (user cleared it) vs undefined (never set)
|
|
1018
|
-
if (value === null) {
|
|
1019
|
-
return null; // User explicitly cleared it, don't use default
|
|
1020
|
-
}
|
|
1021
|
-
return value !== undefined ? value : config['widget-data-default'];
|
|
1022
|
-
}, [values, config, widgetId, isLayoutWidget]);
|
|
1023
|
-
// Initialize default value only once on mount (skip for layout widgets)
|
|
1024
|
-
useEffect(() => {
|
|
1025
|
-
if (isLayoutWidget) {
|
|
1026
|
-
return;
|
|
1027
|
-
}
|
|
1028
|
-
// Only initialize default if value is undefined and user hasn't set a value yet
|
|
1029
|
-
if (!userHasSetValueRef.current && config['widget-data-default'] !== undefined && currentValue === undefined) {
|
|
1030
|
-
handleChange(config['widget-data-default'], false);
|
|
1031
|
-
}
|
|
1032
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1033
|
-
}, [isLayoutWidget]); // Only run once on mount
|
|
1034
|
-
// Handle value change
|
|
1035
|
-
// CRITICAL: Don't include 'values' in dependency array - it causes the callback to be recreated
|
|
1036
|
-
// every time values change, which can lead to stale closures and double dispatches
|
|
1037
|
-
const handleChange = useCallback((newValue, validate = true) => {
|
|
1038
|
-
// Use valuesRef to get the latest values, not the stale closure value
|
|
1039
|
-
const currentValues = valuesRef.current;
|
|
1040
|
-
const currentValue = currentValues[widgetId] || getWidgetValue(currentValues, config['widget-data-path'], widgetId);
|
|
1041
|
-
// CRITICAL: Prevent setting the same value (avoids unnecessary dispatches and potential loops)
|
|
1042
|
-
if (currentValue === newValue) {
|
|
1043
|
-
return;
|
|
1044
|
-
}
|
|
1045
|
-
// Mark that user has set a value (unless this is the default initialization)
|
|
1046
|
-
if (newValue !== config['widget-data-default'] || userHasSetValueRef.current) {
|
|
1047
|
-
userHasSetValueRef.current = true;
|
|
1048
|
-
}
|
|
1049
|
-
// CRITICAL FIX: If there's no dataPath, just set the value directly
|
|
1050
|
-
// If there's a dataPath, we need to update both the widgetId and the dataPath
|
|
1051
|
-
if (!config['widget-data-path']) {
|
|
1052
|
-
// No dataPath: just set the value directly by widgetId
|
|
1053
|
-
// CRITICAL: Check if we just dispatched this value to prevent duplicate dispatches
|
|
1054
|
-
if (lastDispatchedValueRef.current === newValue) {
|
|
1055
|
-
return;
|
|
1056
|
-
}
|
|
1057
|
-
lastDispatchedValueRef.current = newValue;
|
|
1058
|
-
dispatch(setValue({ widgetId, value: newValue }));
|
|
1059
|
-
}
|
|
1060
|
-
else {
|
|
1061
|
-
// Has dataPath: update both widgetId and dataPath
|
|
1062
|
-
// CRITICAL: Create updated values object with newValue already set
|
|
1063
|
-
// This prevents setWidgetValue from reading stale values
|
|
1064
|
-
const currentValuesWithUpdate = {
|
|
1065
|
-
...valuesRef.current,
|
|
1066
|
-
[widgetId]: newValue, // Ensure widgetId has the new value
|
|
1067
|
-
};
|
|
1068
|
-
const updatedValues = setWidgetValue(currentValuesWithUpdate, config['widget-data-path'], widgetId, newValue);
|
|
1069
|
-
// setWidgetValue returns the complete updated structure with all existing data preserved
|
|
1070
|
-
// Use setValues to update the entire state with deep merge
|
|
1071
|
-
dispatch(setValues(updatedValues));
|
|
1072
|
-
}
|
|
1073
|
-
// Validate if needed
|
|
1074
|
-
if (validate) {
|
|
1075
|
-
const validationErrors = validateWidget(newValue, config['widget-data-validation'], config['widget-required']);
|
|
1076
|
-
dispatch(setError({ widgetId, errors: validationErrors }));
|
|
1077
|
-
}
|
|
1078
|
-
// Call custom onChange if provided
|
|
1079
|
-
if (onValueChange) {
|
|
1080
|
-
onValueChange(widgetId, newValue);
|
|
1081
|
-
}
|
|
1082
|
-
// Publish widget:change event
|
|
1083
|
-
// Skip publishing for last-level geo widgets (no child widgets waiting)
|
|
1084
|
-
const geoConfig = config['widget-geo-config'];
|
|
1085
|
-
const isLastLevelGeo = geoConfig?.isLastLevel === true;
|
|
1086
|
-
if (eventBus && !isLastLevelGeo) {
|
|
1087
|
-
eventBus.publish({
|
|
1088
|
-
type: 'widget:change',
|
|
1089
|
-
widgetId,
|
|
1090
|
-
value: newValue,
|
|
1091
|
-
timestamp: Date.now(),
|
|
1092
|
-
});
|
|
1093
|
-
}
|
|
1094
|
-
}, [config, widgetId, dispatch, onValueChange, eventBus] // Removed 'values' to prevent stale closures
|
|
1095
|
-
);
|
|
1096
|
-
// Handle blur
|
|
1097
|
-
const handleBlur = useCallback(() => {
|
|
1098
|
-
dispatch(setTouched({ widgetId, touched: true }));
|
|
1099
|
-
// Validate on blur
|
|
1100
|
-
const validationErrors = validateWidget(currentValue, config['widget-data-validation'], config['widget-required']);
|
|
1101
|
-
dispatch(setError({ widgetId, errors: validationErrors }));
|
|
1102
|
-
// Publish widget:blur event
|
|
1103
|
-
if (eventBus) {
|
|
1104
|
-
eventBus.publish({
|
|
1105
|
-
type: 'widget:blur',
|
|
1106
|
-
widgetId,
|
|
1107
|
-
value: currentValue,
|
|
1108
|
-
timestamp: Date.now(),
|
|
1109
|
-
});
|
|
1110
|
-
}
|
|
1111
|
-
}, [currentValue, config, widgetId, dispatch, eventBus]);
|
|
1112
|
-
// Get field value helper
|
|
1113
|
-
const getFieldValue = useCallback((path) => {
|
|
1114
|
-
return getWidgetValue(values, path, '');
|
|
1115
|
-
}, [values]);
|
|
1116
|
-
// Conditional visibility and enablement
|
|
1117
|
-
const isVisible = useMemo(() => {
|
|
1118
|
-
// Layout widgets are always visible unless explicitly hidden
|
|
1119
|
-
if (isLayoutWidget && !config['widget-data-options']?.condition) {
|
|
1120
|
-
return true;
|
|
1121
|
-
}
|
|
1122
|
-
return shouldShowWidget(config['widget-data-options'], values);
|
|
1123
|
-
}, [config['widget-data-options'], values, isLayoutWidget]);
|
|
1124
|
-
const isEnabled = useMemo(() => {
|
|
1125
|
-
// Layout widgets are always enabled (they don't have input state)
|
|
1126
|
-
if (isLayoutWidget) {
|
|
1127
|
-
return true;
|
|
1128
|
-
}
|
|
1129
|
-
if (config['widget-readonly']) {
|
|
1130
|
-
return false;
|
|
1131
|
-
}
|
|
1132
|
-
return shouldEnableWidget(config['widget-data-options'], values);
|
|
1133
|
-
}, [config['widget-readonly'], config['widget-data-options'], values, isLayoutWidget]);
|
|
1134
|
-
// Format value for display
|
|
1135
|
-
const formattedValue = useMemo(() => {
|
|
1136
|
-
if (!config['widget-data-format']) {
|
|
1137
|
-
return currentValue;
|
|
1138
|
-
}
|
|
1139
|
-
return formatValue(currentValue, config['widget-data-format'], config.widget);
|
|
1140
|
-
}, [currentValue, config]);
|
|
1141
|
-
// Track readonly state explicitly to detect changes
|
|
1142
|
-
// Use JSON.stringify to create a stable reference for the dependency array
|
|
1143
|
-
const isReadonly = config['widget-readonly'] ?? false;
|
|
1144
|
-
const dataSource = config['widget-data-source'];
|
|
1145
|
-
const geoConfig = config['widget-geo-config'];
|
|
1146
|
-
// Use ref to store handler to avoid stale closures
|
|
1147
|
-
const handlerRef = useRef(dataSourceRequestHandler);
|
|
1148
|
-
useEffect(() => {
|
|
1149
|
-
handlerRef.current = dataSourceRequestHandler;
|
|
1150
|
-
}, [dataSourceRequestHandler]);
|
|
1151
|
-
// Create a stable key for the config to detect changes
|
|
1152
|
-
// This ensures the effect runs when widget-readonly changes
|
|
1153
|
-
const apiService = dataSource?.type === 'api' ? dataSource.service : '';
|
|
1154
|
-
const apiEndpoint = dataSource?.type === 'api' ? dataSource.endpoint : '';
|
|
1155
|
-
const configKey = `${widgetId}-${isReadonly}-${dataSource?.type || 'none'}-${apiService}-${apiEndpoint}`;
|
|
1156
|
-
// Handle data source loading
|
|
1157
|
-
useEffect(() => {
|
|
1158
|
-
if (!dataSource) {
|
|
1159
|
-
return;
|
|
1160
|
-
}
|
|
1161
|
-
// For API data sources, check if widget is readonly
|
|
1162
|
-
// According to PRD: "Level 1 geo widgets load on widget mount or when entering edit mode"
|
|
1163
|
-
// So we should only load API data sources when widget is NOT readonly
|
|
1164
|
-
if (dataSource.type === 'api' && isReadonly) {
|
|
1165
|
-
return;
|
|
1166
|
-
}
|
|
1167
|
-
// For widgets with dependencies, check if dependency value exists
|
|
1168
|
-
if (dataSource.type === 'api' && dataSource.dependsOn) {
|
|
1169
|
-
// Check if dependency value exists
|
|
1170
|
-
let depValue = null;
|
|
1171
|
-
if (dataSource.dependsOn.includes('.')) {
|
|
1172
|
-
depValue = getWidgetValue(values, dataSource.dependsOn, '');
|
|
1173
|
-
}
|
|
1174
|
-
else {
|
|
1175
|
-
depValue = values[dataSource.dependsOn];
|
|
1176
|
-
}
|
|
1177
|
-
// If dependency is empty, don't load (will load when dependency has value)
|
|
1178
|
-
if (depValue === null || depValue === undefined || depValue === '') {
|
|
1179
|
-
return;
|
|
1180
|
-
}
|
|
1181
|
-
}
|
|
1182
|
-
const loadDataSource = async () => {
|
|
1183
|
-
// Get current handler from ref to avoid stale closures
|
|
1184
|
-
// Also check prop directly as fallback (for initial render or when ref not updated yet)
|
|
1185
|
-
const currentHandler = handlerRef.current || dataSourceRequestHandler;
|
|
1186
|
-
// Only check for handler when we actually need it (inside the async function)
|
|
1187
|
-
// This avoids false errors during React Strict Mode double-invocation
|
|
1188
|
-
// If handler isn't available yet, silently skip - React will retry when it's ready
|
|
1189
|
-
try {
|
|
1190
|
-
if (dataSource.type === 'api' && !currentHandler) {
|
|
1191
|
-
// Silently skip if handler isn't available yet (common during React Strict Mode double-invocation)
|
|
1192
|
-
// React will call this effect again when the handler is ready
|
|
1193
|
-
return;
|
|
1194
|
-
}
|
|
1195
|
-
dispatch(setLoading({ widgetId, loading: true }));
|
|
1196
|
-
let data = [];
|
|
1197
|
-
if (dataSource.type === 'static') {
|
|
1198
|
-
data = getStaticDataSource(dataSource);
|
|
1199
|
-
}
|
|
1200
|
-
else if (dataSource.type === 'api') {
|
|
1201
|
-
if (!currentHandler) {
|
|
1202
|
-
// Silently skip if handler isn't available yet
|
|
1203
|
-
dispatch(setLoading({ widgetId, loading: false }));
|
|
1204
|
-
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1205
|
-
return;
|
|
1206
|
-
}
|
|
1207
|
-
// Extract level_id from widget-geo-config.level if available
|
|
1208
|
-
const levelId = geoConfig?.level;
|
|
1209
|
-
data = await getApiDataSource(dataSource, values, currentHandler, levelId);
|
|
1210
|
-
}
|
|
1211
|
-
else if (dataSource.type === 'schema') {
|
|
1212
|
-
data = getSchemaDataSource(dataSource, schemaData || {});
|
|
1213
|
-
}
|
|
1214
|
-
// Transform to { value, label } format
|
|
1215
|
-
// For geo widgets, default to level_value_id and level_value_mnemonic
|
|
1216
|
-
let valueKey;
|
|
1217
|
-
let labelKey;
|
|
1218
|
-
if (dataSource.type === 'static') {
|
|
1219
|
-
valueKey = undefined;
|
|
1220
|
-
labelKey = undefined;
|
|
1221
|
-
}
|
|
1222
|
-
else if (geoConfig) {
|
|
1223
|
-
// Geo widgets: default to level_value_id and level_value_mnemonic
|
|
1224
|
-
valueKey = dataSource.valueKey || 'level_value_id';
|
|
1225
|
-
labelKey = dataSource.labelKey || 'level_value_mnemonic';
|
|
1226
|
-
}
|
|
1227
|
-
else {
|
|
1228
|
-
// Non-geo widgets: use specified keys or undefined
|
|
1229
|
-
valueKey = dataSource.valueKey;
|
|
1230
|
-
labelKey = dataSource.labelKey;
|
|
1231
|
-
}
|
|
1232
|
-
const transformed = transformDataSourceOptions(data, valueKey, labelKey);
|
|
1233
|
-
dispatch(setDataSource({ widgetId, data: transformed }));
|
|
1234
|
-
}
|
|
1235
|
-
catch (error) {
|
|
1236
|
-
console.error(`[useBaseWidget] ERROR loading data source for ${widgetId}:`, error);
|
|
1237
|
-
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1238
|
-
}
|
|
1239
|
-
finally {
|
|
1240
|
-
dispatch(setLoading({ widgetId, loading: false }));
|
|
1241
|
-
}
|
|
1242
|
-
};
|
|
1243
|
-
loadDataSource();
|
|
1244
|
-
// Use configKey to ensure effect runs when readonly state changes
|
|
1245
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1246
|
-
}, [configKey, values, dataSourceRequestHandler, schemaData, widgetId, dispatch]);
|
|
1247
|
-
return {
|
|
1248
|
-
widgetId,
|
|
1249
|
-
value: currentValue,
|
|
1250
|
-
formattedValue,
|
|
1251
|
-
error: errors,
|
|
1252
|
-
touched,
|
|
1253
|
-
loading,
|
|
1254
|
-
isVisible,
|
|
1255
|
-
isEnabled,
|
|
1256
|
-
onChange: handleChange,
|
|
1257
|
-
onBlur: handleBlur,
|
|
1258
|
-
setError: (errors) => dispatch(setError({ widgetId, errors })),
|
|
1259
|
-
getFieldValue,
|
|
1260
|
-
dataSourceOptions,
|
|
1261
|
-
config,
|
|
1262
|
-
};
|
|
1263
|
-
};
|
|
1264
|
-
|
|
1265
|
-
/**
|
|
1266
|
-
* Hook for general widget cascade functionality
|
|
1267
|
-
* Handles listening to parent widget changes and reloading data sources
|
|
1268
|
-
*/
|
|
1269
|
-
const useWidgetCascade = (options) => {
|
|
1270
|
-
const { config, dataSourceRequestHandler, values } = options;
|
|
1271
|
-
const dispatch = useDispatch();
|
|
1272
|
-
const eventBus = useWidgetEventBus();
|
|
1273
|
-
const widgetId = config['widget-id'];
|
|
1274
|
-
const cascadeConfig = config['widget-cascade'];
|
|
1275
|
-
const dataSource = config['widget-data-source'];
|
|
1276
|
-
const valuesRef = useRef(values);
|
|
1277
|
-
const handlerRef = useRef(dataSourceRequestHandler);
|
|
1278
|
-
// Keep refs updated
|
|
1279
|
-
useEffect(() => {
|
|
1280
|
-
valuesRef.current = values;
|
|
1281
|
-
handlerRef.current = dataSourceRequestHandler;
|
|
1282
|
-
}, [values, dataSourceRequestHandler]);
|
|
1283
|
-
useEffect(() => {
|
|
1284
|
-
if (!cascadeConfig || !eventBus || !dataSource || dataSource.type !== 'api') {
|
|
1285
|
-
return;
|
|
1286
|
-
}
|
|
1287
|
-
const { listenTo, onEvent = 'widget:change', clearOnChange = true, reloadOnChange = true, debounce, throttle } = cascadeConfig;
|
|
1288
|
-
if (listenTo.length === 0) {
|
|
1289
|
-
return;
|
|
1290
|
-
}
|
|
1291
|
-
const handleEvent = async (event) => {
|
|
1292
|
-
// Check if this event is from a parent we're listening to
|
|
1293
|
-
if (!listenTo.includes(event.widgetId)) {
|
|
1294
|
-
return;
|
|
1295
|
-
}
|
|
1296
|
-
const currentValues = valuesRef.current;
|
|
1297
|
-
const currentHandler = handlerRef.current;
|
|
1298
|
-
// Clear value if configured
|
|
1299
|
-
if (clearOnChange) {
|
|
1300
|
-
dispatch(setValue({ widgetId, value: undefined }));
|
|
1301
|
-
}
|
|
1302
|
-
// Reload data source if configured
|
|
1303
|
-
if (reloadOnChange && currentHandler) {
|
|
1304
|
-
try {
|
|
1305
|
-
const data = await getApiDataSource(dataSource, currentValues, currentHandler);
|
|
1306
|
-
// Transform to { value, label } format
|
|
1307
|
-
const valueKey = dataSource.valueKey;
|
|
1308
|
-
const labelKey = dataSource.labelKey;
|
|
1309
|
-
const transformed = transformDataSourceOptions(data, valueKey, labelKey);
|
|
1310
|
-
dispatch(setDataSource({ widgetId, data: transformed }));
|
|
1311
|
-
}
|
|
1312
|
-
catch (error) {
|
|
1313
|
-
console.error('Error reloading data source in cascade:', error);
|
|
1314
|
-
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1315
|
-
}
|
|
1316
|
-
}
|
|
1317
|
-
};
|
|
1318
|
-
// Subscribe to events
|
|
1319
|
-
const unsubscribe = eventBus.subscribe(onEvent, handleEvent, { debounce, throttle });
|
|
1320
|
-
return () => {
|
|
1321
|
-
unsubscribe();
|
|
1322
|
-
};
|
|
1323
|
-
}, [cascadeConfig, eventBus, dataSource, widgetId, dispatch]);
|
|
1324
|
-
};
|
|
1325
|
-
|
|
1326
|
-
/**
|
|
1327
|
-
* Geo Hierarchy Builder
|
|
1328
|
-
* Manages geo hierarchy state and builds hierarchy JSON structure
|
|
1329
|
-
*/
|
|
1330
|
-
class GeoHierarchyBuilder {
|
|
1331
|
-
constructor() {
|
|
1332
|
-
this.hierarchies = new Map();
|
|
1333
|
-
}
|
|
1334
|
-
/**
|
|
1335
|
-
* Get or create hierarchy state for a group
|
|
1336
|
-
*/
|
|
1337
|
-
getHierarchy(groupId = 'default') {
|
|
1338
|
-
if (!this.hierarchies.has(groupId)) {
|
|
1339
|
-
this.hierarchies.set(groupId, {
|
|
1340
|
-
levels: new Map(),
|
|
1341
|
-
order: [],
|
|
1342
|
-
});
|
|
1343
|
-
}
|
|
1344
|
-
return this.hierarchies.get(groupId);
|
|
1345
|
-
}
|
|
1346
|
-
/**
|
|
1347
|
-
* Add a level to the hierarchy
|
|
1348
|
-
*/
|
|
1349
|
-
addLevel(level, level_value_id, level_value_mnemonic, groupId = 'default') {
|
|
1350
|
-
const hierarchy = this.getHierarchy(groupId);
|
|
1351
|
-
// If level already exists, remove it and everything after it
|
|
1352
|
-
const existingIndex = hierarchy.order.indexOf(level);
|
|
1353
|
-
if (existingIndex >= 0) {
|
|
1354
|
-
// Remove this level and all subsequent levels
|
|
1355
|
-
const levelsToRemove = hierarchy.order.slice(existingIndex);
|
|
1356
|
-
levelsToRemove.forEach((l) => {
|
|
1357
|
-
hierarchy.levels.delete(l);
|
|
1358
|
-
hierarchy.order = hierarchy.order.filter((o) => o !== l);
|
|
1359
|
-
});
|
|
1360
|
-
}
|
|
1361
|
-
// Add new level
|
|
1362
|
-
hierarchy.levels.set(level, {
|
|
1363
|
-
level,
|
|
1364
|
-
level_value_id,
|
|
1365
|
-
level_value_mnemonic,
|
|
1366
|
-
});
|
|
1367
|
-
hierarchy.order.push(level);
|
|
1368
|
-
}
|
|
1369
|
-
/**
|
|
1370
|
-
* Remove a level and all levels below it
|
|
1371
|
-
*/
|
|
1372
|
-
removeLevelAndBelow(level, groupId = 'default') {
|
|
1373
|
-
const hierarchy = this.getHierarchy(groupId);
|
|
1374
|
-
const index = hierarchy.order.indexOf(level);
|
|
1375
|
-
if (index >= 0) {
|
|
1376
|
-
// Remove this level and all subsequent levels
|
|
1377
|
-
const levelsToRemove = hierarchy.order.slice(index);
|
|
1378
|
-
levelsToRemove.forEach((l) => {
|
|
1379
|
-
hierarchy.levels.delete(l);
|
|
1380
|
-
hierarchy.order = hierarchy.order.filter((o) => o !== l);
|
|
1381
|
-
});
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
/**
|
|
1385
|
-
* Build hierarchy JSON structure
|
|
1386
|
-
*/
|
|
1387
|
-
buildHierarchyJson(groupId = 'default') {
|
|
1388
|
-
const hierarchy = this.getHierarchy(groupId);
|
|
1389
|
-
if (hierarchy.order.length === 0) {
|
|
1390
|
-
return null;
|
|
1391
|
-
}
|
|
1392
|
-
const hierarchyArray = hierarchy.order.map((level) => {
|
|
1393
|
-
const data = hierarchy.levels.get(level);
|
|
1394
|
-
return {
|
|
1395
|
-
level: data.level,
|
|
1396
|
-
level_value_id: data.level_value_id,
|
|
1397
|
-
level_value_mnemonic: data.level_value_mnemonic,
|
|
1398
|
-
};
|
|
1399
|
-
});
|
|
1400
|
-
const lowestLevel = hierarchy.order[hierarchy.order.length - 1];
|
|
1401
|
-
const lowestLevelData = hierarchy.levels.get(lowestLevel);
|
|
1402
|
-
return {
|
|
1403
|
-
geo_lowest_level_value_id: lowestLevelData.level_value_id,
|
|
1404
|
-
geo_code_hierarchy_json: {
|
|
1405
|
-
hierarchy: hierarchyArray,
|
|
1406
|
-
lowest_level_value_id: lowestLevelData.level_value_id,
|
|
1407
|
-
},
|
|
1408
|
-
};
|
|
1409
|
-
}
|
|
1410
|
-
/**
|
|
1411
|
-
* Clear hierarchy for a group
|
|
1412
|
-
*/
|
|
1413
|
-
clear(groupId = 'default') {
|
|
1414
|
-
this.hierarchies.delete(groupId);
|
|
1415
|
-
}
|
|
1416
|
-
/**
|
|
1417
|
-
* Clear all hierarchies
|
|
1418
|
-
*/
|
|
1419
|
-
clearAll() {
|
|
1420
|
-
this.hierarchies.clear();
|
|
1421
|
-
}
|
|
1422
|
-
/**
|
|
1423
|
-
* Get current levels for a group
|
|
1424
|
-
*/
|
|
1425
|
-
getLevels(groupId = 'default') {
|
|
1426
|
-
const hierarchy = this.getHierarchy(groupId);
|
|
1427
|
-
return hierarchy.order.map((level) => hierarchy.levels.get(level));
|
|
1428
|
-
}
|
|
1429
|
-
}
|
|
1430
|
-
// Singleton instance
|
|
1431
|
-
const geoHierarchyBuilder = new GeoHierarchyBuilder();
|
|
1432
|
-
|
|
1433
|
-
// Define stable empty array to avoid selector reference issues
|
|
1434
|
-
const EMPTY_DATA_SOURCE = [];
|
|
1435
|
-
/**
|
|
1436
|
-
* Hook for geo widget cascade functionality
|
|
1437
|
-
* Handles geo hierarchy building and cascade behavior
|
|
1438
|
-
*/
|
|
1439
|
-
const useGeoWidgetCascade = (options) => {
|
|
1440
|
-
const { config, dataSourceRequestHandler, values } = options;
|
|
1441
|
-
const dispatch = useDispatch();
|
|
1442
|
-
const eventBus = useWidgetEventBus();
|
|
1443
|
-
const widgetId = config['widget-id'];
|
|
1444
|
-
const geoConfig = config['widget-geo-config'];
|
|
1445
|
-
const dataSource = config['widget-data-source'];
|
|
1446
|
-
const dataPath = config['widget-data-path'];
|
|
1447
|
-
const valuesRef = useRef(values);
|
|
1448
|
-
const handlerRef = useRef(dataSourceRequestHandler);
|
|
1449
|
-
// Keep refs updated
|
|
1450
|
-
useEffect(() => {
|
|
1451
|
-
valuesRef.current = values;
|
|
1452
|
-
handlerRef.current = dataSourceRequestHandler;
|
|
1453
|
-
}, [values, dataSourceRequestHandler]);
|
|
1454
|
-
// Get current value and data source options
|
|
1455
|
-
const currentValue = useSelector((state) => {
|
|
1456
|
-
if (!dataPath) {
|
|
1457
|
-
return state.widget.values[widgetId];
|
|
1458
|
-
}
|
|
1459
|
-
return getWidgetValue(state.widget.values, dataPath, widgetId);
|
|
1460
|
-
});
|
|
1461
|
-
// Memoize selector to avoid returning new array reference
|
|
1462
|
-
const dataSourceOptions = useSelector((state) => state.widget.dataSources[widgetId] ?? EMPTY_DATA_SOURCE);
|
|
1463
|
-
useEffect(() => {
|
|
1464
|
-
if (!geoConfig || !eventBus || !dataSource || dataSource.type !== 'api') {
|
|
1465
|
-
return;
|
|
1466
|
-
}
|
|
1467
|
-
const { level, isLastLevel, parentWidgetId } = geoConfig;
|
|
1468
|
-
// Listen to parent widget changes
|
|
1469
|
-
if (parentWidgetId) {
|
|
1470
|
-
const handleParentChange = async (event) => {
|
|
1471
|
-
if (event.widgetId !== parentWidgetId) {
|
|
1472
|
-
return;
|
|
1473
|
-
}
|
|
1474
|
-
// CRITICAL: Use a small delay to ensure Redux state has been updated
|
|
1475
|
-
// This prevents reading stale values from valuesRef
|
|
1476
|
-
await new Promise(resolve => setTimeout(resolve, 0));
|
|
1477
|
-
const currentValues = valuesRef.current;
|
|
1478
|
-
const currentHandler = handlerRef.current;
|
|
1479
|
-
// CRITICAL: Get the parent value from Redux state, not from the event
|
|
1480
|
-
// The event.value might be stale, but Redux state is always current
|
|
1481
|
-
const parentValue = currentValues[parentWidgetId];
|
|
1482
|
-
// Remove this level and all below from hierarchy
|
|
1483
|
-
geoHierarchyBuilder.removeLevelAndBelow(level);
|
|
1484
|
-
// Clear this widget's value
|
|
1485
|
-
// CRITICAL: Only dispatch setValue for THIS widget, not for parent or other widgets
|
|
1486
|
-
// setWidgetValue returns the entire updated state, but we only want to update this widget
|
|
1487
|
-
if (dataPath) {
|
|
1488
|
-
const updatedValues = setWidgetValue(currentValues, dataPath, widgetId, undefined);
|
|
1489
|
-
// Only dispatch setValue for this widget's widgetId, not for parent or other widgets
|
|
1490
|
-
// This prevents accidentally overwriting the parent widget's value
|
|
1491
|
-
// The setWidgetValue function updates the nested structure, but we only want to
|
|
1492
|
-
// update the top-level widgetId key, not other keys that might be in updatedValues
|
|
1493
|
-
const newWidgetValue = updatedValues[widgetId];
|
|
1494
|
-
if (newWidgetValue !== undefined) {
|
|
1495
|
-
dispatch(setValue({ widgetId, value: newWidgetValue }));
|
|
1496
|
-
}
|
|
1497
|
-
else {
|
|
1498
|
-
// If widgetId is not in updatedValues, the value was set in a nested path
|
|
1499
|
-
// In this case, we need to use setValues to update the entire structure
|
|
1500
|
-
// But we need to be careful not to overwrite the parent widget's value
|
|
1501
|
-
// Only update keys that are related to this widget's dataPath
|
|
1502
|
-
const dataPathStr = typeof dataPath === 'string' ? dataPath : '';
|
|
1503
|
-
if (dataPathStr && !dataPathStr.startsWith(parentWidgetId + '.')) {
|
|
1504
|
-
// Only update if dataPath doesn't start with parentWidgetId
|
|
1505
|
-
// This ensures we don't accidentally overwrite the parent widget's value
|
|
1506
|
-
dispatch(setValue({ widgetId, value: undefined }));
|
|
1507
|
-
}
|
|
1508
|
-
}
|
|
1509
|
-
}
|
|
1510
|
-
else {
|
|
1511
|
-
dispatch(setValue({ widgetId, value: undefined }));
|
|
1512
|
-
}
|
|
1513
|
-
// Reload data source with new parent value
|
|
1514
|
-
// CRITICAL: Use parentValue from Redux, not event.value
|
|
1515
|
-
if (currentHandler && parentValue !== null && parentValue !== undefined) {
|
|
1516
|
-
try {
|
|
1517
|
-
// Merge the new parent value into current values for the API call
|
|
1518
|
-
// This ensures getApiDataSource can find the dependency value
|
|
1519
|
-
const updatedValues = {
|
|
1520
|
-
...currentValues,
|
|
1521
|
-
[parentWidgetId]: parentValue, // Use Redux value, not event.value
|
|
1522
|
-
};
|
|
1523
|
-
// Extract level_id from widget-geo-config.level
|
|
1524
|
-
const levelId = geoConfig.level;
|
|
1525
|
-
const data = await getApiDataSource(dataSource, updatedValues, currentHandler, levelId);
|
|
1526
|
-
// Transform to { value, label } format
|
|
1527
|
-
const valueKey = dataSource.valueKey || 'level_value_id';
|
|
1528
|
-
const labelKey = dataSource.labelKey || 'level_value_mnemonic';
|
|
1529
|
-
const transformed = transformDataSourceOptions(data, valueKey, labelKey);
|
|
1530
|
-
dispatch(setDataSource({ widgetId, data: transformed }));
|
|
1531
|
-
}
|
|
1532
|
-
catch (error) {
|
|
1533
|
-
console.error('Error reloading geo data source:', error);
|
|
1534
|
-
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1535
|
-
}
|
|
1536
|
-
}
|
|
1537
|
-
else {
|
|
1538
|
-
// If parent value is cleared, clear the data source
|
|
1539
|
-
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1540
|
-
}
|
|
1541
|
-
};
|
|
1542
|
-
const unsubscribe = eventBus.subscribe('widget:change', handleParentChange);
|
|
1543
|
-
return () => {
|
|
1544
|
-
unsubscribe();
|
|
1545
|
-
};
|
|
1546
|
-
}
|
|
1547
|
-
}, [geoConfig, eventBus, dataSource, widgetId, dataPath, dispatch]);
|
|
1548
|
-
// Handle value changes to build hierarchy
|
|
1549
|
-
useEffect(() => {
|
|
1550
|
-
if (!geoConfig) {
|
|
1551
|
-
return;
|
|
1552
|
-
}
|
|
1553
|
-
// Skip if value is empty/null (but allow 0 and false)
|
|
1554
|
-
if (currentValue === null || currentValue === undefined || currentValue === '') {
|
|
1555
|
-
// If value was cleared, remove this level and below from hierarchy
|
|
1556
|
-
const { level } = geoConfig;
|
|
1557
|
-
geoHierarchyBuilder.removeLevelAndBelow(level);
|
|
1558
|
-
return;
|
|
1559
|
-
}
|
|
1560
|
-
const { level, isLastLevel } = geoConfig;
|
|
1561
|
-
// For last level, check if hierarchy is already built to prevent endless loops
|
|
1562
|
-
if (isLastLevel && dataPath) {
|
|
1563
|
-
const currentHierarchy = getWidgetValue(valuesRef.current, dataPath, widgetId);
|
|
1564
|
-
// If hierarchy JSON is already set and matches current value, skip rebuilding
|
|
1565
|
-
if (currentHierarchy && typeof currentHierarchy === 'object' && currentHierarchy.geo_code_hierarchy_json) {
|
|
1566
|
-
// Check if the lowest level value matches
|
|
1567
|
-
const currentLevelValue = typeof currentValue === 'object'
|
|
1568
|
-
? (currentValue.level_value_id || currentValue.id || currentValue.value)
|
|
1569
|
-
: currentValue;
|
|
1570
|
-
if (currentHierarchy.geo_lowest_level_value_id === currentLevelValue) {
|
|
1571
|
-
return; // Hierarchy already built for this value, skip
|
|
1572
|
-
}
|
|
1573
|
-
}
|
|
1574
|
-
}
|
|
1575
|
-
// Extract level_value_id and level_value_mnemonic from current value
|
|
1576
|
-
// The value could be the ID itself or an object with id/name
|
|
1577
|
-
let level_value_id;
|
|
1578
|
-
let level_value_mnemonic;
|
|
1579
|
-
if (typeof currentValue === 'string' || typeof currentValue === 'number') {
|
|
1580
|
-
// Value is just the ID, need to find mnemonic from data source
|
|
1581
|
-
level_value_id = String(currentValue);
|
|
1582
|
-
// Try to get mnemonic from data source options
|
|
1583
|
-
const option = dataSourceOptions.find((opt) => opt.value === currentValue);
|
|
1584
|
-
level_value_mnemonic = option?.label || String(currentValue);
|
|
1585
|
-
}
|
|
1586
|
-
else if (currentValue && typeof currentValue === 'object') {
|
|
1587
|
-
level_value_id = currentValue.level_value_id || currentValue.id || currentValue.value;
|
|
1588
|
-
level_value_mnemonic = currentValue.level_value_mnemonic || currentValue.name || currentValue.label;
|
|
1589
|
-
}
|
|
1590
|
-
else {
|
|
1591
|
-
return;
|
|
1592
|
-
}
|
|
1593
|
-
// When a widget's own value changes, remove this level and all below from hierarchy first
|
|
1594
|
-
// This ensures that when level 1 changes, we clear the hierarchy and rebuild from scratch
|
|
1595
|
-
// The addLevel method already handles removing existing levels, but we explicitly clear to be safe
|
|
1596
|
-
geoHierarchyBuilder.removeLevelAndBelow(level);
|
|
1597
|
-
// Add level to hierarchy
|
|
1598
|
-
geoHierarchyBuilder.addLevel(level, level_value_id, level_value_mnemonic);
|
|
1599
|
-
// If this is the last level, build and store hierarchy JSON
|
|
1600
|
-
if (isLastLevel && dataPath) {
|
|
1601
|
-
const hierarchyJson = geoHierarchyBuilder.buildHierarchyJson();
|
|
1602
|
-
if (hierarchyJson) {
|
|
1603
|
-
// Store both geo_lowest_level_value_id and geo_code_hierarchy_json
|
|
1604
|
-
const updatedValues = setWidgetValue(valuesRef.current, dataPath, widgetId, {
|
|
1605
|
-
geo_lowest_level_value_id: hierarchyJson.geo_lowest_level_value_id,
|
|
1606
|
-
geo_code_hierarchy_json: hierarchyJson.geo_code_hierarchy_json,
|
|
1607
|
-
});
|
|
1608
|
-
Object.entries(updatedValues).forEach(([key, value]) => {
|
|
1609
|
-
dispatch(setValue({ widgetId: key, value }));
|
|
1610
|
-
});
|
|
1611
|
-
}
|
|
1612
|
-
}
|
|
1613
|
-
}, [geoConfig, currentValue, widgetId, dataPath, dispatch, dataSourceOptions]);
|
|
1614
|
-
};
|
|
1615
|
-
|
|
1616
922
|
var jsxRuntime = {exports: {}};
|
|
1617
923
|
|
|
1618
924
|
var reactJsxRuntime_production = {};
|
|
@@ -2019,21 +1325,884 @@ function requireReactJsxRuntime_development () {
|
|
|
2019
1325
|
return reactJsxRuntime_development;
|
|
2020
1326
|
}
|
|
2021
1327
|
|
|
2022
|
-
var hasRequiredJsxRuntime;
|
|
1328
|
+
var hasRequiredJsxRuntime;
|
|
1329
|
+
|
|
1330
|
+
function requireJsxRuntime () {
|
|
1331
|
+
if (hasRequiredJsxRuntime) return jsxRuntime.exports;
|
|
1332
|
+
hasRequiredJsxRuntime = 1;
|
|
1333
|
+
|
|
1334
|
+
if (process.env.NODE_ENV === 'production') {
|
|
1335
|
+
jsxRuntime.exports = requireReactJsxRuntime_production();
|
|
1336
|
+
} else {
|
|
1337
|
+
jsxRuntime.exports = requireReactJsxRuntime_development();
|
|
1338
|
+
}
|
|
1339
|
+
return jsxRuntime.exports;
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
var jsxRuntimeExports = requireJsxRuntime();
|
|
1343
|
+
|
|
1344
|
+
/**
|
|
1345
|
+
* Widget Event Bus
|
|
1346
|
+
* Provides a publish/subscribe mechanism for widget communication
|
|
1347
|
+
* Supports debounce and throttle for performance optimization
|
|
1348
|
+
*/
|
|
1349
|
+
class WidgetEventBus {
|
|
1350
|
+
constructor() {
|
|
1351
|
+
this.subscriptions = new Map();
|
|
1352
|
+
this.throttleTimers = new Map();
|
|
1353
|
+
}
|
|
1354
|
+
/**
|
|
1355
|
+
* Subscribe to an event type
|
|
1356
|
+
* @param eventType The type of event to listen to
|
|
1357
|
+
* @param handler The handler function
|
|
1358
|
+
* @param options Debounce/throttle options
|
|
1359
|
+
* @returns Unsubscribe function
|
|
1360
|
+
*/
|
|
1361
|
+
subscribe(eventType, handler, options) {
|
|
1362
|
+
if (!this.subscriptions.has(eventType)) {
|
|
1363
|
+
this.subscriptions.set(eventType, new Map());
|
|
1364
|
+
}
|
|
1365
|
+
const eventSubscriptions = this.subscriptions.get(eventType);
|
|
1366
|
+
const subscriptionId = `${Date.now()}-${Math.random()}`;
|
|
1367
|
+
const subscription = {
|
|
1368
|
+
handler,
|
|
1369
|
+
debounce: options?.debounce,
|
|
1370
|
+
throttle: options?.throttle,
|
|
1371
|
+
};
|
|
1372
|
+
if (!eventSubscriptions.has(subscriptionId)) {
|
|
1373
|
+
eventSubscriptions.set(subscriptionId, []);
|
|
1374
|
+
}
|
|
1375
|
+
eventSubscriptions.get(subscriptionId).push(subscription);
|
|
1376
|
+
// Return unsubscribe function
|
|
1377
|
+
return () => {
|
|
1378
|
+
const subs = eventSubscriptions.get(subscriptionId);
|
|
1379
|
+
if (subs) {
|
|
1380
|
+
const index = subs.indexOf(subscription);
|
|
1381
|
+
if (index > -1) {
|
|
1382
|
+
subs.splice(index, 1);
|
|
1383
|
+
if (subs.length === 0) {
|
|
1384
|
+
eventSubscriptions.delete(subscriptionId);
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
}
|
|
1388
|
+
};
|
|
1389
|
+
}
|
|
1390
|
+
/**
|
|
1391
|
+
* Publish an event
|
|
1392
|
+
* @param event The event to publish
|
|
1393
|
+
*/
|
|
1394
|
+
publish(event) {
|
|
1395
|
+
const eventSubscriptions = this.subscriptions.get(event.type);
|
|
1396
|
+
if (!eventSubscriptions) {
|
|
1397
|
+
return;
|
|
1398
|
+
}
|
|
1399
|
+
eventSubscriptions.forEach((subscriptions) => {
|
|
1400
|
+
subscriptions.forEach((subscription) => {
|
|
1401
|
+
this.executeHandler(subscription, event);
|
|
1402
|
+
});
|
|
1403
|
+
});
|
|
1404
|
+
}
|
|
1405
|
+
/**
|
|
1406
|
+
* Execute handler with debounce/throttle support
|
|
1407
|
+
*/
|
|
1408
|
+
executeHandler(subscription, event) {
|
|
1409
|
+
const { handler, debounce, throttle } = subscription;
|
|
1410
|
+
// Clear existing debounce timer if any
|
|
1411
|
+
if (subscription.debounceTimer) {
|
|
1412
|
+
clearTimeout(subscription.debounceTimer);
|
|
1413
|
+
}
|
|
1414
|
+
// Handle throttle
|
|
1415
|
+
if (throttle && throttle > 0) {
|
|
1416
|
+
const throttleKey = `${event.type}-${event.widgetId}`;
|
|
1417
|
+
const now = Date.now();
|
|
1418
|
+
const lastCallTime = subscription.lastCallTime || 0;
|
|
1419
|
+
if (now - lastCallTime < throttle) {
|
|
1420
|
+
// Still in throttle period, schedule for later
|
|
1421
|
+
if (this.throttleTimers.has(throttleKey)) {
|
|
1422
|
+
return; // Already scheduled
|
|
1423
|
+
}
|
|
1424
|
+
const remainingTime = throttle - (now - lastCallTime);
|
|
1425
|
+
const timer = setTimeout(() => {
|
|
1426
|
+
subscription.lastCallTime = Date.now();
|
|
1427
|
+
handler(event);
|
|
1428
|
+
this.throttleTimers.delete(throttleKey);
|
|
1429
|
+
}, remainingTime);
|
|
1430
|
+
this.throttleTimers.set(throttleKey, timer);
|
|
1431
|
+
return;
|
|
1432
|
+
}
|
|
1433
|
+
subscription.lastCallTime = now;
|
|
1434
|
+
}
|
|
1435
|
+
// Handle debounce
|
|
1436
|
+
if (debounce && debounce > 0) {
|
|
1437
|
+
subscription.debounceTimer = setTimeout(() => {
|
|
1438
|
+
handler(event);
|
|
1439
|
+
subscription.debounceTimer = undefined;
|
|
1440
|
+
}, debounce);
|
|
1441
|
+
return;
|
|
1442
|
+
}
|
|
1443
|
+
// Execute immediately if no debounce/throttle
|
|
1444
|
+
handler(event);
|
|
1445
|
+
}
|
|
1446
|
+
/**
|
|
1447
|
+
* Clear all subscriptions
|
|
1448
|
+
*/
|
|
1449
|
+
clear() {
|
|
1450
|
+
// Clear all timers
|
|
1451
|
+
this.subscriptions.forEach((eventSubscriptions) => {
|
|
1452
|
+
eventSubscriptions.forEach((subscriptions) => {
|
|
1453
|
+
subscriptions.forEach((sub) => {
|
|
1454
|
+
if (sub.debounceTimer) {
|
|
1455
|
+
clearTimeout(sub.debounceTimer);
|
|
1456
|
+
}
|
|
1457
|
+
});
|
|
1458
|
+
});
|
|
1459
|
+
});
|
|
1460
|
+
this.throttleTimers.forEach((timer) => clearTimeout(timer));
|
|
1461
|
+
this.throttleTimers.clear();
|
|
1462
|
+
this.subscriptions.clear();
|
|
1463
|
+
}
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1466
|
+
const WidgetContext = createContext({
|
|
1467
|
+
dataSourceRequestHandler: undefined,
|
|
1468
|
+
schemaData: undefined,
|
|
1469
|
+
translate: undefined,
|
|
1470
|
+
});
|
|
1471
|
+
const useWidgetContext = () => {
|
|
1472
|
+
return useContext(WidgetContext);
|
|
1473
|
+
};
|
|
1474
|
+
const WidgetProvider = ({ store, dataSourceRequestHandler, schemaData, translate, children, }) => {
|
|
1475
|
+
const widgetStore = useMemo(() => store || createWidgetStore(), [store]);
|
|
1476
|
+
// Create event bus instance (one per provider)
|
|
1477
|
+
const eventBus = useMemo(() => new WidgetEventBus(), []);
|
|
1478
|
+
// Memoize context value to prevent unnecessary re-renders
|
|
1479
|
+
const contextValue = useMemo(() => ({
|
|
1480
|
+
dataSourceRequestHandler,
|
|
1481
|
+
schemaData,
|
|
1482
|
+
translate,
|
|
1483
|
+
}), [dataSourceRequestHandler, schemaData, translate]);
|
|
1484
|
+
// Warn if dataSourceRequestHandler is missing (will cause issues with API data sources)
|
|
1485
|
+
useEffect(() => {
|
|
1486
|
+
if (!dataSourceRequestHandler) {
|
|
1487
|
+
console.warn('[WidgetProvider] dataSourceRequestHandler is not provided. ' +
|
|
1488
|
+
'Widgets with API data sources will not be able to load data. ' +
|
|
1489
|
+
'Please provide dataSourceRequestHandler prop to WidgetProvider.');
|
|
1490
|
+
}
|
|
1491
|
+
}, [dataSourceRequestHandler]);
|
|
1492
|
+
// Cleanup event bus on unmount
|
|
1493
|
+
useEffect(() => {
|
|
1494
|
+
return () => {
|
|
1495
|
+
eventBus.clear();
|
|
1496
|
+
};
|
|
1497
|
+
}, [eventBus]);
|
|
1498
|
+
// Initialize schemaData to Redux store (only on mount)
|
|
1499
|
+
// This prevents overwriting user changes when schemaData prop changes
|
|
1500
|
+
useEffect(() => {
|
|
1501
|
+
if (schemaData) {
|
|
1502
|
+
widgetStore.dispatch(setValues(schemaData));
|
|
1503
|
+
}
|
|
1504
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1505
|
+
}, [schemaData, widgetStore]); // Only run on mount
|
|
1506
|
+
const content = (jsxRuntimeExports.jsx(Provider, { store: widgetStore, children: jsxRuntimeExports.jsx(WidgetContext.Provider, { value: contextValue, children: jsxRuntimeExports.jsx(WidgetEventBusContext.Provider, { value: eventBus, children: children }) }) }));
|
|
1507
|
+
return content;
|
|
1508
|
+
};
|
|
1509
|
+
|
|
1510
|
+
// Define stable empty arrays to avoid selector reference issues
|
|
1511
|
+
const EMPTY_ERRORS = [];
|
|
1512
|
+
const EMPTY_DATA_SOURCE$1 = [];
|
|
1513
|
+
const useBaseWidget = (options) => {
|
|
1514
|
+
const { config, dataSourceRequestHandler: propHandler, schemaData, onValueChange } = options;
|
|
1515
|
+
const dispatch = useDispatch();
|
|
1516
|
+
const context = useWidgetContext();
|
|
1517
|
+
const eventBus = useWidgetEventBus();
|
|
1518
|
+
const widgetId = config['widget-id'];
|
|
1519
|
+
// Fall back to WidgetContext for dataSourceRequestHandler
|
|
1520
|
+
const dataSourceRequestHandler = propHandler || context.dataSourceRequestHandler;
|
|
1521
|
+
// Get state from Redux
|
|
1522
|
+
const values = useSelector((state) => state.widget.values);
|
|
1523
|
+
const errors = useSelector((state) => state.widget.errors[widgetId] ?? EMPTY_ERRORS);
|
|
1524
|
+
const touched = useSelector((state) => state.widget.touched[widgetId] || false);
|
|
1525
|
+
const loading = useSelector((state) => state.widget.loading[widgetId] || false);
|
|
1526
|
+
const dataSourceOptions = useSelector((state) => state.widget.dataSources[widgetId] ?? EMPTY_DATA_SOURCE$1);
|
|
1527
|
+
// Skip value handling for layout widgets (they don't store data values)
|
|
1528
|
+
// Infer layout from widget-type
|
|
1529
|
+
const isLayoutWidget = config['widget-type'] === 'layout';
|
|
1530
|
+
// Track if user has explicitly set a value to prevent default from overwriting
|
|
1531
|
+
const userHasSetValueRef = useRef(false);
|
|
1532
|
+
// Use ref for values to avoid stale closures in handleChange
|
|
1533
|
+
const valuesRef = useRef(values);
|
|
1534
|
+
useEffect(() => {
|
|
1535
|
+
valuesRef.current = values;
|
|
1536
|
+
}, [values]);
|
|
1537
|
+
// Track last dispatched value to prevent duplicate dispatches
|
|
1538
|
+
const lastDispatchedValueRef = useRef(null);
|
|
1539
|
+
// Get current value
|
|
1540
|
+
const currentValue = useMemo(() => {
|
|
1541
|
+
if (isLayoutWidget) {
|
|
1542
|
+
return undefined; // Layout widgets don't have values
|
|
1543
|
+
}
|
|
1544
|
+
// Helper to extract displayable value from object (especially geo hierarchy objects)
|
|
1545
|
+
const extractValueFromObject = (obj) => {
|
|
1546
|
+
if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
|
|
1547
|
+
return obj;
|
|
1548
|
+
}
|
|
1549
|
+
// Check for geo hierarchy structure first
|
|
1550
|
+
if ('geo_code_hierarchy_json' in obj || 'geo_lowest_level_value_id' in obj) {
|
|
1551
|
+
if ('geo_lowest_level_value_id' in obj) {
|
|
1552
|
+
return obj.geo_lowest_level_value_id;
|
|
1553
|
+
}
|
|
1554
|
+
// If it's a geo hierarchy object but no extractable ID, return undefined to avoid rendering object
|
|
1555
|
+
return undefined;
|
|
1556
|
+
}
|
|
1557
|
+
// Try common value fields
|
|
1558
|
+
if ('value' in obj) {
|
|
1559
|
+
return obj.value;
|
|
1560
|
+
}
|
|
1561
|
+
if ('id' in obj) {
|
|
1562
|
+
return obj.id;
|
|
1563
|
+
}
|
|
1564
|
+
if ('label' in obj) {
|
|
1565
|
+
return obj.label;
|
|
1566
|
+
}
|
|
1567
|
+
if ('name' in obj) {
|
|
1568
|
+
return obj.name;
|
|
1569
|
+
}
|
|
1570
|
+
// If no extractable value found, return undefined to avoid rendering object as React child
|
|
1571
|
+
// This prevents "Objects are not valid as a React child" errors
|
|
1572
|
+
return undefined;
|
|
1573
|
+
};
|
|
1574
|
+
// Try to get value from widgetId first (this should have the actual selected value)
|
|
1575
|
+
// For geo widgets with dataPath, widgetId stores the actual ID, while dataPath stores the hierarchy object
|
|
1576
|
+
let value = values[widgetId];
|
|
1577
|
+
// Extract value if it's an object (handles geo hierarchy objects stored in widgetId)
|
|
1578
|
+
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
1579
|
+
value = extractValueFromObject(value);
|
|
1580
|
+
}
|
|
1581
|
+
// If widgetId doesn't have a value, try dataPath
|
|
1582
|
+
if (value === undefined && config['widget-data-path']) {
|
|
1583
|
+
value = getWidgetValue(values, config['widget-data-path'], widgetId);
|
|
1584
|
+
// Extract value if it's an object (handles geo hierarchy objects from dataPath)
|
|
1585
|
+
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
1586
|
+
value = extractValueFromObject(value);
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
// If value is still undefined and user has set a value, try reading from widgetId as backup
|
|
1590
|
+
// This handles cases where dataPath lookup might fail temporarily
|
|
1591
|
+
if (value === undefined && userHasSetValueRef.current && values[widgetId] !== undefined) {
|
|
1592
|
+
value = values[widgetId];
|
|
1593
|
+
// Extract value if it's an object (handles geo hierarchy objects)
|
|
1594
|
+
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
1595
|
+
value = extractValueFromObject(value);
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
// Final safety check: if value is still an object, extract displayable value
|
|
1599
|
+
if (value !== null && value !== undefined && typeof value === 'object' && !Array.isArray(value)) {
|
|
1600
|
+
value = extractValueFromObject(value);
|
|
1601
|
+
}
|
|
1602
|
+
// If user has explicitly set a value, always return it (even if undefined/null)
|
|
1603
|
+
// This prevents the default from overwriting user selections
|
|
1604
|
+
if (userHasSetValueRef.current) {
|
|
1605
|
+
return value;
|
|
1606
|
+
}
|
|
1607
|
+
// Only fall back to default if user hasn't set a value yet
|
|
1608
|
+
// But check if value is explicitly null (user cleared it) vs undefined (never set)
|
|
1609
|
+
if (value === null) {
|
|
1610
|
+
return null; // User explicitly cleared it, don't use default
|
|
1611
|
+
}
|
|
1612
|
+
return value !== undefined ? value : config['widget-data-default'];
|
|
1613
|
+
}, [values, config, widgetId, isLayoutWidget]);
|
|
1614
|
+
// Initialize default value only once on mount (skip for layout widgets)
|
|
1615
|
+
useEffect(() => {
|
|
1616
|
+
if (isLayoutWidget) {
|
|
1617
|
+
return;
|
|
1618
|
+
}
|
|
1619
|
+
// Only initialize default if value is undefined and user hasn't set a value yet
|
|
1620
|
+
if (!userHasSetValueRef.current && config['widget-data-default'] !== undefined && currentValue === undefined) {
|
|
1621
|
+
handleChange(config['widget-data-default'], false);
|
|
1622
|
+
}
|
|
1623
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1624
|
+
}, [isLayoutWidget]); // Only run once on mount
|
|
1625
|
+
// Handle value change
|
|
1626
|
+
// CRITICAL: Don't include 'values' in dependency array - it causes the callback to be recreated
|
|
1627
|
+
// every time values change, which can lead to stale closures and double dispatches
|
|
1628
|
+
const handleChange = useCallback((newValue, validate = true) => {
|
|
1629
|
+
// Use valuesRef to get the latest values, not the stale closure value
|
|
1630
|
+
const currentValues = valuesRef.current;
|
|
1631
|
+
const currentValue = currentValues[widgetId] || getWidgetValue(currentValues, config['widget-data-path'], widgetId);
|
|
1632
|
+
// CRITICAL: Prevent setting the same value (avoids unnecessary dispatches and potential loops)
|
|
1633
|
+
if (currentValue === newValue) {
|
|
1634
|
+
return;
|
|
1635
|
+
}
|
|
1636
|
+
// Mark that user has set a value (unless this is the default initialization)
|
|
1637
|
+
if (newValue !== config['widget-data-default'] || userHasSetValueRef.current) {
|
|
1638
|
+
userHasSetValueRef.current = true;
|
|
1639
|
+
}
|
|
1640
|
+
// CRITICAL FIX: If there's no dataPath, just set the value directly
|
|
1641
|
+
// If there's a dataPath, we need to update both the widgetId and the dataPath
|
|
1642
|
+
if (!config['widget-data-path']) {
|
|
1643
|
+
// No dataPath: just set the value directly by widgetId
|
|
1644
|
+
// CRITICAL: Check if we just dispatched this value to prevent duplicate dispatches
|
|
1645
|
+
if (lastDispatchedValueRef.current === newValue) {
|
|
1646
|
+
return;
|
|
1647
|
+
}
|
|
1648
|
+
lastDispatchedValueRef.current = newValue;
|
|
1649
|
+
dispatch(setValue({ widgetId, value: newValue }));
|
|
1650
|
+
}
|
|
1651
|
+
else {
|
|
1652
|
+
// Has dataPath: update both widgetId and dataPath
|
|
1653
|
+
// CRITICAL: Create updated values object with newValue already set
|
|
1654
|
+
// This prevents setWidgetValue from reading stale values
|
|
1655
|
+
const currentValuesWithUpdate = {
|
|
1656
|
+
...valuesRef.current,
|
|
1657
|
+
[widgetId]: newValue, // Ensure widgetId has the new value
|
|
1658
|
+
};
|
|
1659
|
+
const updatedValues = setWidgetValue(currentValuesWithUpdate, config['widget-data-path'], widgetId, newValue);
|
|
1660
|
+
// setWidgetValue returns the complete updated structure with all existing data preserved
|
|
1661
|
+
// Use setValues to update the entire state with deep merge
|
|
1662
|
+
dispatch(setValues(updatedValues));
|
|
1663
|
+
}
|
|
1664
|
+
// Validate if needed
|
|
1665
|
+
if (validate) {
|
|
1666
|
+
const validationErrors = validateWidget(newValue, config['widget-data-validation'], config['widget-required']);
|
|
1667
|
+
dispatch(setError({ widgetId, errors: validationErrors }));
|
|
1668
|
+
}
|
|
1669
|
+
// Call custom onChange if provided
|
|
1670
|
+
if (onValueChange) {
|
|
1671
|
+
onValueChange(widgetId, newValue);
|
|
1672
|
+
}
|
|
1673
|
+
// Publish widget:change event
|
|
1674
|
+
// Skip publishing for last-level geo widgets (no child widgets waiting)
|
|
1675
|
+
const geoConfig = config['widget-geo-config'];
|
|
1676
|
+
const isLastLevelGeo = geoConfig?.isLastLevel === true;
|
|
1677
|
+
if (eventBus && !isLastLevelGeo) {
|
|
1678
|
+
eventBus.publish({
|
|
1679
|
+
type: 'widget:change',
|
|
1680
|
+
widgetId,
|
|
1681
|
+
value: newValue,
|
|
1682
|
+
timestamp: Date.now(),
|
|
1683
|
+
});
|
|
1684
|
+
}
|
|
1685
|
+
}, [config, widgetId, dispatch, onValueChange, eventBus] // Removed 'values' to prevent stale closures
|
|
1686
|
+
);
|
|
1687
|
+
// Handle blur
|
|
1688
|
+
const handleBlur = useCallback(() => {
|
|
1689
|
+
dispatch(setTouched({ widgetId, touched: true }));
|
|
1690
|
+
// Validate on blur
|
|
1691
|
+
const validationErrors = validateWidget(currentValue, config['widget-data-validation'], config['widget-required']);
|
|
1692
|
+
dispatch(setError({ widgetId, errors: validationErrors }));
|
|
1693
|
+
// Publish widget:blur event
|
|
1694
|
+
if (eventBus) {
|
|
1695
|
+
eventBus.publish({
|
|
1696
|
+
type: 'widget:blur',
|
|
1697
|
+
widgetId,
|
|
1698
|
+
value: currentValue,
|
|
1699
|
+
timestamp: Date.now(),
|
|
1700
|
+
});
|
|
1701
|
+
}
|
|
1702
|
+
}, [currentValue, config, widgetId, dispatch, eventBus]);
|
|
1703
|
+
// Get field value helper
|
|
1704
|
+
const getFieldValue = useCallback((path) => {
|
|
1705
|
+
return getWidgetValue(values, path, '');
|
|
1706
|
+
}, [values]);
|
|
1707
|
+
// Conditional visibility and enablement
|
|
1708
|
+
const isVisible = useMemo(() => {
|
|
1709
|
+
// Layout widgets are always visible unless explicitly hidden
|
|
1710
|
+
if (isLayoutWidget && !config['widget-data-options']?.condition) {
|
|
1711
|
+
return true;
|
|
1712
|
+
}
|
|
1713
|
+
return shouldShowWidget(config['widget-data-options'], values);
|
|
1714
|
+
}, [config['widget-data-options'], values, isLayoutWidget]);
|
|
1715
|
+
const isEnabled = useMemo(() => {
|
|
1716
|
+
// Layout widgets are always enabled (they don't have input state)
|
|
1717
|
+
if (isLayoutWidget) {
|
|
1718
|
+
return true;
|
|
1719
|
+
}
|
|
1720
|
+
if (config['widget-readonly']) {
|
|
1721
|
+
return false;
|
|
1722
|
+
}
|
|
1723
|
+
return shouldEnableWidget(config['widget-data-options'], values);
|
|
1724
|
+
}, [config['widget-readonly'], config['widget-data-options'], values, isLayoutWidget]);
|
|
1725
|
+
// Format value for display
|
|
1726
|
+
const formattedValue = useMemo(() => {
|
|
1727
|
+
if (!config['widget-data-format']) {
|
|
1728
|
+
return currentValue;
|
|
1729
|
+
}
|
|
1730
|
+
return formatValue(currentValue, config['widget-data-format'], config.widget);
|
|
1731
|
+
}, [currentValue, config]);
|
|
1732
|
+
// Track readonly state explicitly to detect changes
|
|
1733
|
+
// Use JSON.stringify to create a stable reference for the dependency array
|
|
1734
|
+
const isReadonly = config['widget-readonly'] ?? false;
|
|
1735
|
+
const dataSource = config['widget-data-source'];
|
|
1736
|
+
const geoConfig = config['widget-geo-config'];
|
|
1737
|
+
// Use ref to store handler to avoid stale closures
|
|
1738
|
+
const handlerRef = useRef(dataSourceRequestHandler);
|
|
1739
|
+
useEffect(() => {
|
|
1740
|
+
handlerRef.current = dataSourceRequestHandler;
|
|
1741
|
+
}, [dataSourceRequestHandler]);
|
|
1742
|
+
// Create a stable key for the config to detect changes
|
|
1743
|
+
// This ensures the effect runs when widget-readonly changes
|
|
1744
|
+
const apiService = dataSource?.type === 'api' ? dataSource.service : '';
|
|
1745
|
+
const apiEndpoint = dataSource?.type === 'api' ? dataSource.endpoint : '';
|
|
1746
|
+
const configKey = `${widgetId}-${isReadonly}-${dataSource?.type || 'none'}-${apiService}-${apiEndpoint}`;
|
|
1747
|
+
// Handle data source loading
|
|
1748
|
+
useEffect(() => {
|
|
1749
|
+
if (!dataSource) {
|
|
1750
|
+
return;
|
|
1751
|
+
}
|
|
1752
|
+
// For API data sources, check if widget is readonly
|
|
1753
|
+
// According to PRD: "Level 1 geo widgets load on widget mount or when entering edit mode"
|
|
1754
|
+
// So we should only load API data sources when widget is NOT readonly
|
|
1755
|
+
if (dataSource.type === 'api' && isReadonly) {
|
|
1756
|
+
return;
|
|
1757
|
+
}
|
|
1758
|
+
// For widgets with dependencies, check if dependency value exists
|
|
1759
|
+
if (dataSource.type === 'api' && dataSource.dependsOn) {
|
|
1760
|
+
// Check if dependency value exists
|
|
1761
|
+
let depValue = null;
|
|
1762
|
+
if (dataSource.dependsOn.includes('.')) {
|
|
1763
|
+
depValue = getWidgetValue(values, dataSource.dependsOn, '');
|
|
1764
|
+
}
|
|
1765
|
+
else {
|
|
1766
|
+
depValue = values[dataSource.dependsOn];
|
|
1767
|
+
}
|
|
1768
|
+
// If dependency is empty, don't load (will load when dependency has value)
|
|
1769
|
+
if (depValue === null || depValue === undefined || depValue === '') {
|
|
1770
|
+
return;
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
const loadDataSource = async () => {
|
|
1774
|
+
// Get current handler from ref to avoid stale closures
|
|
1775
|
+
// Also check prop directly as fallback (for initial render or when ref not updated yet)
|
|
1776
|
+
const currentHandler = handlerRef.current || dataSourceRequestHandler;
|
|
1777
|
+
// Only check for handler when we actually need it (inside the async function)
|
|
1778
|
+
// This avoids false errors during React Strict Mode double-invocation
|
|
1779
|
+
// If handler isn't available yet, silently skip - React will retry when it's ready
|
|
1780
|
+
try {
|
|
1781
|
+
if (dataSource.type === 'api' && !currentHandler) {
|
|
1782
|
+
// Silently skip if handler isn't available yet (common during React Strict Mode double-invocation)
|
|
1783
|
+
// React will call this effect again when the handler is ready
|
|
1784
|
+
return;
|
|
1785
|
+
}
|
|
1786
|
+
dispatch(setLoading({ widgetId, loading: true }));
|
|
1787
|
+
let data = [];
|
|
1788
|
+
if (dataSource.type === 'static') {
|
|
1789
|
+
data = getStaticDataSource(dataSource);
|
|
1790
|
+
}
|
|
1791
|
+
else if (dataSource.type === 'api') {
|
|
1792
|
+
if (!currentHandler) {
|
|
1793
|
+
// Silently skip if handler isn't available yet
|
|
1794
|
+
dispatch(setLoading({ widgetId, loading: false }));
|
|
1795
|
+
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1796
|
+
return;
|
|
1797
|
+
}
|
|
1798
|
+
// Extract level_id from widget-geo-config.level if available
|
|
1799
|
+
const levelId = geoConfig?.level;
|
|
1800
|
+
data = await getApiDataSource(dataSource, values, currentHandler, levelId);
|
|
1801
|
+
}
|
|
1802
|
+
else if (dataSource.type === 'schema') {
|
|
1803
|
+
data = getSchemaDataSource(dataSource, schemaData || {});
|
|
1804
|
+
}
|
|
1805
|
+
// Transform to { value, label } format
|
|
1806
|
+
// For geo widgets, default to level_value_id and level_value_mnemonic
|
|
1807
|
+
let valueKey;
|
|
1808
|
+
let labelKey;
|
|
1809
|
+
if (dataSource.type === 'static') {
|
|
1810
|
+
valueKey = undefined;
|
|
1811
|
+
labelKey = undefined;
|
|
1812
|
+
}
|
|
1813
|
+
else if (geoConfig) {
|
|
1814
|
+
// Geo widgets: default to level_value_id and level_value_mnemonic
|
|
1815
|
+
valueKey = dataSource.valueKey || 'level_value_id';
|
|
1816
|
+
labelKey = dataSource.labelKey || 'level_value_mnemonic';
|
|
1817
|
+
}
|
|
1818
|
+
else {
|
|
1819
|
+
// Non-geo widgets: use specified keys or undefined
|
|
1820
|
+
valueKey = dataSource.valueKey;
|
|
1821
|
+
labelKey = dataSource.labelKey;
|
|
1822
|
+
}
|
|
1823
|
+
const transformed = transformDataSourceOptions(data, valueKey, labelKey);
|
|
1824
|
+
dispatch(setDataSource({ widgetId, data: transformed }));
|
|
1825
|
+
}
|
|
1826
|
+
catch (error) {
|
|
1827
|
+
console.error(`[useBaseWidget] ERROR loading data source for ${widgetId}:`, error);
|
|
1828
|
+
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1829
|
+
}
|
|
1830
|
+
finally {
|
|
1831
|
+
dispatch(setLoading({ widgetId, loading: false }));
|
|
1832
|
+
}
|
|
1833
|
+
};
|
|
1834
|
+
loadDataSource();
|
|
1835
|
+
// Use configKey to ensure effect runs when readonly state changes
|
|
1836
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1837
|
+
}, [configKey, values, dataSourceRequestHandler, schemaData, widgetId, dispatch]);
|
|
1838
|
+
return {
|
|
1839
|
+
widgetId,
|
|
1840
|
+
value: currentValue,
|
|
1841
|
+
formattedValue,
|
|
1842
|
+
error: errors,
|
|
1843
|
+
touched,
|
|
1844
|
+
loading,
|
|
1845
|
+
isVisible,
|
|
1846
|
+
isEnabled,
|
|
1847
|
+
onChange: handleChange,
|
|
1848
|
+
onBlur: handleBlur,
|
|
1849
|
+
setError: (errors) => dispatch(setError({ widgetId, errors })),
|
|
1850
|
+
getFieldValue,
|
|
1851
|
+
dataSourceOptions,
|
|
1852
|
+
config,
|
|
1853
|
+
};
|
|
1854
|
+
};
|
|
2023
1855
|
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
1856
|
+
/**
|
|
1857
|
+
* Hook for general widget cascade functionality
|
|
1858
|
+
* Handles listening to parent widget changes and reloading data sources
|
|
1859
|
+
*/
|
|
1860
|
+
const useWidgetCascade = (options) => {
|
|
1861
|
+
const { config, dataSourceRequestHandler, values } = options;
|
|
1862
|
+
const dispatch = useDispatch();
|
|
1863
|
+
const eventBus = useWidgetEventBus();
|
|
1864
|
+
const widgetId = config['widget-id'];
|
|
1865
|
+
const cascadeConfig = config['widget-cascade'];
|
|
1866
|
+
const dataSource = config['widget-data-source'];
|
|
1867
|
+
const valuesRef = useRef(values);
|
|
1868
|
+
const handlerRef = useRef(dataSourceRequestHandler);
|
|
1869
|
+
// Keep refs updated
|
|
1870
|
+
useEffect(() => {
|
|
1871
|
+
valuesRef.current = values;
|
|
1872
|
+
handlerRef.current = dataSourceRequestHandler;
|
|
1873
|
+
}, [values, dataSourceRequestHandler]);
|
|
1874
|
+
useEffect(() => {
|
|
1875
|
+
if (!cascadeConfig || !eventBus || !dataSource || dataSource.type !== 'api') {
|
|
1876
|
+
return;
|
|
1877
|
+
}
|
|
1878
|
+
const { listenTo, onEvent = 'widget:change', clearOnChange = true, reloadOnChange = true, debounce, throttle } = cascadeConfig;
|
|
1879
|
+
if (listenTo.length === 0) {
|
|
1880
|
+
return;
|
|
1881
|
+
}
|
|
1882
|
+
const handleEvent = async (event) => {
|
|
1883
|
+
// Check if this event is from a parent we're listening to
|
|
1884
|
+
if (!listenTo.includes(event.widgetId)) {
|
|
1885
|
+
return;
|
|
1886
|
+
}
|
|
1887
|
+
const currentValues = valuesRef.current;
|
|
1888
|
+
const currentHandler = handlerRef.current;
|
|
1889
|
+
// Clear value if configured
|
|
1890
|
+
if (clearOnChange) {
|
|
1891
|
+
dispatch(setValue({ widgetId, value: undefined }));
|
|
1892
|
+
}
|
|
1893
|
+
// Reload data source if configured
|
|
1894
|
+
if (reloadOnChange && currentHandler) {
|
|
1895
|
+
try {
|
|
1896
|
+
const data = await getApiDataSource(dataSource, currentValues, currentHandler);
|
|
1897
|
+
// Transform to { value, label } format
|
|
1898
|
+
const valueKey = dataSource.valueKey;
|
|
1899
|
+
const labelKey = dataSource.labelKey;
|
|
1900
|
+
const transformed = transformDataSourceOptions(data, valueKey, labelKey);
|
|
1901
|
+
dispatch(setDataSource({ widgetId, data: transformed }));
|
|
1902
|
+
}
|
|
1903
|
+
catch (error) {
|
|
1904
|
+
console.error('Error reloading data source in cascade:', error);
|
|
1905
|
+
dispatch(setDataSource({ widgetId, data: [] }));
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
};
|
|
1909
|
+
// Subscribe to events
|
|
1910
|
+
const unsubscribe = eventBus.subscribe(onEvent, handleEvent, { debounce, throttle });
|
|
1911
|
+
return () => {
|
|
1912
|
+
unsubscribe();
|
|
1913
|
+
};
|
|
1914
|
+
}, [cascadeConfig, eventBus, dataSource, widgetId, dispatch]);
|
|
1915
|
+
};
|
|
2027
1916
|
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
1917
|
+
/**
|
|
1918
|
+
* Geo Hierarchy Builder
|
|
1919
|
+
* Manages geo hierarchy state and builds hierarchy JSON structure
|
|
1920
|
+
*/
|
|
1921
|
+
class GeoHierarchyBuilder {
|
|
1922
|
+
constructor() {
|
|
1923
|
+
this.hierarchies = new Map();
|
|
1924
|
+
}
|
|
1925
|
+
/**
|
|
1926
|
+
* Get or create hierarchy state for a group
|
|
1927
|
+
*/
|
|
1928
|
+
getHierarchy(groupId = 'default') {
|
|
1929
|
+
if (!this.hierarchies.has(groupId)) {
|
|
1930
|
+
this.hierarchies.set(groupId, {
|
|
1931
|
+
levels: new Map(),
|
|
1932
|
+
order: [],
|
|
1933
|
+
});
|
|
1934
|
+
}
|
|
1935
|
+
return this.hierarchies.get(groupId);
|
|
1936
|
+
}
|
|
1937
|
+
/**
|
|
1938
|
+
* Add a level to the hierarchy
|
|
1939
|
+
*/
|
|
1940
|
+
addLevel(level, level_value_id, level_value_mnemonic, groupId = 'default') {
|
|
1941
|
+
const hierarchy = this.getHierarchy(groupId);
|
|
1942
|
+
// If level already exists, remove it and everything after it
|
|
1943
|
+
const existingIndex = hierarchy.order.indexOf(level);
|
|
1944
|
+
if (existingIndex >= 0) {
|
|
1945
|
+
// Remove this level and all subsequent levels
|
|
1946
|
+
const levelsToRemove = hierarchy.order.slice(existingIndex);
|
|
1947
|
+
levelsToRemove.forEach((l) => {
|
|
1948
|
+
hierarchy.levels.delete(l);
|
|
1949
|
+
hierarchy.order = hierarchy.order.filter((o) => o !== l);
|
|
1950
|
+
});
|
|
1951
|
+
}
|
|
1952
|
+
// Add new level
|
|
1953
|
+
hierarchy.levels.set(level, {
|
|
1954
|
+
level,
|
|
1955
|
+
level_value_id,
|
|
1956
|
+
level_value_mnemonic,
|
|
1957
|
+
});
|
|
1958
|
+
hierarchy.order.push(level);
|
|
1959
|
+
}
|
|
1960
|
+
/**
|
|
1961
|
+
* Remove a level and all levels below it
|
|
1962
|
+
*/
|
|
1963
|
+
removeLevelAndBelow(level, groupId = 'default') {
|
|
1964
|
+
const hierarchy = this.getHierarchy(groupId);
|
|
1965
|
+
const index = hierarchy.order.indexOf(level);
|
|
1966
|
+
if (index >= 0) {
|
|
1967
|
+
// Remove this level and all subsequent levels
|
|
1968
|
+
const levelsToRemove = hierarchy.order.slice(index);
|
|
1969
|
+
levelsToRemove.forEach((l) => {
|
|
1970
|
+
hierarchy.levels.delete(l);
|
|
1971
|
+
hierarchy.order = hierarchy.order.filter((o) => o !== l);
|
|
1972
|
+
});
|
|
1973
|
+
}
|
|
1974
|
+
}
|
|
1975
|
+
/**
|
|
1976
|
+
* Build hierarchy JSON structure
|
|
1977
|
+
*/
|
|
1978
|
+
buildHierarchyJson(groupId = 'default') {
|
|
1979
|
+
const hierarchy = this.getHierarchy(groupId);
|
|
1980
|
+
if (hierarchy.order.length === 0) {
|
|
1981
|
+
return null;
|
|
1982
|
+
}
|
|
1983
|
+
const hierarchyArray = hierarchy.order.map((level) => {
|
|
1984
|
+
const data = hierarchy.levels.get(level);
|
|
1985
|
+
return {
|
|
1986
|
+
level: data.level,
|
|
1987
|
+
level_value_id: data.level_value_id,
|
|
1988
|
+
level_value_mnemonic: data.level_value_mnemonic,
|
|
1989
|
+
};
|
|
1990
|
+
});
|
|
1991
|
+
const lowestLevel = hierarchy.order[hierarchy.order.length - 1];
|
|
1992
|
+
const lowestLevelData = hierarchy.levels.get(lowestLevel);
|
|
1993
|
+
return {
|
|
1994
|
+
geo_lowest_level_value_id: lowestLevelData.level_value_id,
|
|
1995
|
+
geo_code_hierarchy_json: {
|
|
1996
|
+
hierarchy: hierarchyArray,
|
|
1997
|
+
lowest_level_value_id: lowestLevelData.level_value_id,
|
|
1998
|
+
},
|
|
1999
|
+
};
|
|
2000
|
+
}
|
|
2001
|
+
/**
|
|
2002
|
+
* Clear hierarchy for a group
|
|
2003
|
+
*/
|
|
2004
|
+
clear(groupId = 'default') {
|
|
2005
|
+
this.hierarchies.delete(groupId);
|
|
2006
|
+
}
|
|
2007
|
+
/**
|
|
2008
|
+
* Clear all hierarchies
|
|
2009
|
+
*/
|
|
2010
|
+
clearAll() {
|
|
2011
|
+
this.hierarchies.clear();
|
|
2012
|
+
}
|
|
2013
|
+
/**
|
|
2014
|
+
* Get current levels for a group
|
|
2015
|
+
*/
|
|
2016
|
+
getLevels(groupId = 'default') {
|
|
2017
|
+
const hierarchy = this.getHierarchy(groupId);
|
|
2018
|
+
return hierarchy.order.map((level) => hierarchy.levels.get(level));
|
|
2019
|
+
}
|
|
2034
2020
|
}
|
|
2021
|
+
// Singleton instance
|
|
2022
|
+
const geoHierarchyBuilder = new GeoHierarchyBuilder();
|
|
2035
2023
|
|
|
2036
|
-
|
|
2024
|
+
// Define stable empty array to avoid selector reference issues
|
|
2025
|
+
const EMPTY_DATA_SOURCE = [];
|
|
2026
|
+
/**
|
|
2027
|
+
* Hook for geo widget cascade functionality
|
|
2028
|
+
* Handles geo hierarchy building and cascade behavior
|
|
2029
|
+
*/
|
|
2030
|
+
const useGeoWidgetCascade = (options) => {
|
|
2031
|
+
const { config, dataSourceRequestHandler, values } = options;
|
|
2032
|
+
const dispatch = useDispatch();
|
|
2033
|
+
const eventBus = useWidgetEventBus();
|
|
2034
|
+
const widgetId = config['widget-id'];
|
|
2035
|
+
const geoConfig = config['widget-geo-config'];
|
|
2036
|
+
const dataSource = config['widget-data-source'];
|
|
2037
|
+
const dataPath = config['widget-data-path'];
|
|
2038
|
+
const valuesRef = useRef(values);
|
|
2039
|
+
const handlerRef = useRef(dataSourceRequestHandler);
|
|
2040
|
+
// Keep refs updated
|
|
2041
|
+
useEffect(() => {
|
|
2042
|
+
valuesRef.current = values;
|
|
2043
|
+
handlerRef.current = dataSourceRequestHandler;
|
|
2044
|
+
}, [values, dataSourceRequestHandler]);
|
|
2045
|
+
// Get current value and data source options
|
|
2046
|
+
const currentValue = useSelector((state) => {
|
|
2047
|
+
if (!dataPath) {
|
|
2048
|
+
return state.widget.values[widgetId];
|
|
2049
|
+
}
|
|
2050
|
+
return getWidgetValue(state.widget.values, dataPath, widgetId);
|
|
2051
|
+
});
|
|
2052
|
+
// Memoize selector to avoid returning new array reference
|
|
2053
|
+
const dataSourceOptions = useSelector((state) => state.widget.dataSources[widgetId] ?? EMPTY_DATA_SOURCE);
|
|
2054
|
+
useEffect(() => {
|
|
2055
|
+
if (!geoConfig || !eventBus || !dataSource || dataSource.type !== 'api') {
|
|
2056
|
+
return;
|
|
2057
|
+
}
|
|
2058
|
+
const { level, isLastLevel, parentWidgetId } = geoConfig;
|
|
2059
|
+
// Listen to parent widget changes
|
|
2060
|
+
if (parentWidgetId) {
|
|
2061
|
+
const handleParentChange = async (event) => {
|
|
2062
|
+
if (event.widgetId !== parentWidgetId) {
|
|
2063
|
+
return;
|
|
2064
|
+
}
|
|
2065
|
+
// CRITICAL: Use a small delay to ensure Redux state has been updated
|
|
2066
|
+
// This prevents reading stale values from valuesRef
|
|
2067
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
2068
|
+
const currentValues = valuesRef.current;
|
|
2069
|
+
const currentHandler = handlerRef.current;
|
|
2070
|
+
// CRITICAL: Get the parent value from Redux state, not from the event
|
|
2071
|
+
// The event.value might be stale, but Redux state is always current
|
|
2072
|
+
const parentValue = currentValues[parentWidgetId];
|
|
2073
|
+
// Remove this level and all below from hierarchy
|
|
2074
|
+
geoHierarchyBuilder.removeLevelAndBelow(level);
|
|
2075
|
+
// Clear this widget's value
|
|
2076
|
+
// CRITICAL: Only dispatch setValue for THIS widget, not for parent or other widgets
|
|
2077
|
+
// setWidgetValue returns the entire updated state, but we only want to update this widget
|
|
2078
|
+
if (dataPath) {
|
|
2079
|
+
const updatedValues = setWidgetValue(currentValues, dataPath, widgetId, undefined);
|
|
2080
|
+
// Only dispatch setValue for this widget's widgetId, not for parent or other widgets
|
|
2081
|
+
// This prevents accidentally overwriting the parent widget's value
|
|
2082
|
+
// The setWidgetValue function updates the nested structure, but we only want to
|
|
2083
|
+
// update the top-level widgetId key, not other keys that might be in updatedValues
|
|
2084
|
+
const newWidgetValue = updatedValues[widgetId];
|
|
2085
|
+
if (newWidgetValue !== undefined) {
|
|
2086
|
+
dispatch(setValue({ widgetId, value: newWidgetValue }));
|
|
2087
|
+
}
|
|
2088
|
+
else {
|
|
2089
|
+
// If widgetId is not in updatedValues, the value was set in a nested path
|
|
2090
|
+
// In this case, we need to use setValues to update the entire structure
|
|
2091
|
+
// But we need to be careful not to overwrite the parent widget's value
|
|
2092
|
+
// Only update keys that are related to this widget's dataPath
|
|
2093
|
+
const dataPathStr = typeof dataPath === 'string' ? dataPath : '';
|
|
2094
|
+
if (dataPathStr && !dataPathStr.startsWith(parentWidgetId + '.')) {
|
|
2095
|
+
// Only update if dataPath doesn't start with parentWidgetId
|
|
2096
|
+
// This ensures we don't accidentally overwrite the parent widget's value
|
|
2097
|
+
dispatch(setValue({ widgetId, value: undefined }));
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
else {
|
|
2102
|
+
dispatch(setValue({ widgetId, value: undefined }));
|
|
2103
|
+
}
|
|
2104
|
+
// Reload data source with new parent value
|
|
2105
|
+
// CRITICAL: Use parentValue from Redux, not event.value
|
|
2106
|
+
if (currentHandler && parentValue !== null && parentValue !== undefined) {
|
|
2107
|
+
try {
|
|
2108
|
+
// Merge the new parent value into current values for the API call
|
|
2109
|
+
// This ensures getApiDataSource can find the dependency value
|
|
2110
|
+
const updatedValues = {
|
|
2111
|
+
...currentValues,
|
|
2112
|
+
[parentWidgetId]: parentValue, // Use Redux value, not event.value
|
|
2113
|
+
};
|
|
2114
|
+
// Extract level_id from widget-geo-config.level
|
|
2115
|
+
const levelId = geoConfig.level;
|
|
2116
|
+
const data = await getApiDataSource(dataSource, updatedValues, currentHandler, levelId);
|
|
2117
|
+
// Transform to { value, label } format
|
|
2118
|
+
const valueKey = dataSource.valueKey || 'level_value_id';
|
|
2119
|
+
const labelKey = dataSource.labelKey || 'level_value_mnemonic';
|
|
2120
|
+
const transformed = transformDataSourceOptions(data, valueKey, labelKey);
|
|
2121
|
+
dispatch(setDataSource({ widgetId, data: transformed }));
|
|
2122
|
+
}
|
|
2123
|
+
catch (error) {
|
|
2124
|
+
console.error('Error reloading geo data source:', error);
|
|
2125
|
+
dispatch(setDataSource({ widgetId, data: [] }));
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
else {
|
|
2129
|
+
// If parent value is cleared, clear the data source
|
|
2130
|
+
dispatch(setDataSource({ widgetId, data: [] }));
|
|
2131
|
+
}
|
|
2132
|
+
};
|
|
2133
|
+
const unsubscribe = eventBus.subscribe('widget:change', handleParentChange);
|
|
2134
|
+
return () => {
|
|
2135
|
+
unsubscribe();
|
|
2136
|
+
};
|
|
2137
|
+
}
|
|
2138
|
+
}, [geoConfig, eventBus, dataSource, widgetId, dataPath, dispatch]);
|
|
2139
|
+
// Handle value changes to build hierarchy
|
|
2140
|
+
useEffect(() => {
|
|
2141
|
+
if (!geoConfig) {
|
|
2142
|
+
return;
|
|
2143
|
+
}
|
|
2144
|
+
// Skip if value is empty/null (but allow 0 and false)
|
|
2145
|
+
if (currentValue === null || currentValue === undefined || currentValue === '') {
|
|
2146
|
+
// If value was cleared, remove this level and below from hierarchy
|
|
2147
|
+
const { level } = geoConfig;
|
|
2148
|
+
geoHierarchyBuilder.removeLevelAndBelow(level);
|
|
2149
|
+
return;
|
|
2150
|
+
}
|
|
2151
|
+
const { level, isLastLevel } = geoConfig;
|
|
2152
|
+
// For last level, check if hierarchy is already built to prevent endless loops
|
|
2153
|
+
if (isLastLevel && dataPath) {
|
|
2154
|
+
const currentHierarchy = getWidgetValue(valuesRef.current, dataPath, widgetId);
|
|
2155
|
+
// If hierarchy JSON is already set and matches current value, skip rebuilding
|
|
2156
|
+
if (currentHierarchy && typeof currentHierarchy === 'object' && currentHierarchy.geo_code_hierarchy_json) {
|
|
2157
|
+
// Check if the lowest level value matches
|
|
2158
|
+
const currentLevelValue = typeof currentValue === 'object'
|
|
2159
|
+
? (currentValue.level_value_id || currentValue.id || currentValue.value)
|
|
2160
|
+
: currentValue;
|
|
2161
|
+
if (currentHierarchy.geo_lowest_level_value_id === currentLevelValue) {
|
|
2162
|
+
return; // Hierarchy already built for this value, skip
|
|
2163
|
+
}
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
// Extract level_value_id and level_value_mnemonic from current value
|
|
2167
|
+
// The value could be the ID itself or an object with id/name
|
|
2168
|
+
let level_value_id;
|
|
2169
|
+
let level_value_mnemonic;
|
|
2170
|
+
if (typeof currentValue === 'string' || typeof currentValue === 'number') {
|
|
2171
|
+
// Value is just the ID, need to find mnemonic from data source
|
|
2172
|
+
level_value_id = String(currentValue);
|
|
2173
|
+
// Try to get mnemonic from data source options
|
|
2174
|
+
const option = dataSourceOptions.find((opt) => opt.value === currentValue);
|
|
2175
|
+
level_value_mnemonic = option?.label || String(currentValue);
|
|
2176
|
+
}
|
|
2177
|
+
else if (currentValue && typeof currentValue === 'object') {
|
|
2178
|
+
level_value_id = currentValue.level_value_id || currentValue.id || currentValue.value;
|
|
2179
|
+
level_value_mnemonic = currentValue.level_value_mnemonic || currentValue.name || currentValue.label;
|
|
2180
|
+
}
|
|
2181
|
+
else {
|
|
2182
|
+
return;
|
|
2183
|
+
}
|
|
2184
|
+
// When a widget's own value changes, remove this level and all below from hierarchy first
|
|
2185
|
+
// This ensures that when level 1 changes, we clear the hierarchy and rebuild from scratch
|
|
2186
|
+
// The addLevel method already handles removing existing levels, but we explicitly clear to be safe
|
|
2187
|
+
geoHierarchyBuilder.removeLevelAndBelow(level);
|
|
2188
|
+
// Add level to hierarchy
|
|
2189
|
+
geoHierarchyBuilder.addLevel(level, level_value_id, level_value_mnemonic);
|
|
2190
|
+
// If this is the last level, build and store hierarchy JSON
|
|
2191
|
+
if (isLastLevel && dataPath) {
|
|
2192
|
+
const hierarchyJson = geoHierarchyBuilder.buildHierarchyJson();
|
|
2193
|
+
if (hierarchyJson) {
|
|
2194
|
+
// Store both geo_lowest_level_value_id and geo_code_hierarchy_json
|
|
2195
|
+
const updatedValues = setWidgetValue(valuesRef.current, dataPath, widgetId, {
|
|
2196
|
+
geo_lowest_level_value_id: hierarchyJson.geo_lowest_level_value_id,
|
|
2197
|
+
geo_code_hierarchy_json: hierarchyJson.geo_code_hierarchy_json,
|
|
2198
|
+
});
|
|
2199
|
+
Object.entries(updatedValues).forEach(([key, value]) => {
|
|
2200
|
+
dispatch(setValue({ widgetId: key, value }));
|
|
2201
|
+
});
|
|
2202
|
+
}
|
|
2203
|
+
}
|
|
2204
|
+
}, [geoConfig, currentValue, widgetId, dataPath, dispatch, dataSourceOptions]);
|
|
2205
|
+
};
|
|
2037
2206
|
|
|
2038
2207
|
class WidgetRegistry {
|
|
2039
2208
|
constructor() {
|
|
@@ -2053,233 +2222,67 @@ class WidgetRegistry {
|
|
|
2053
2222
|
}
|
|
2054
2223
|
/**
|
|
2055
2224
|
* Get widget entry
|
|
2056
|
-
*/
|
|
2057
|
-
get(widgetName) {
|
|
2058
|
-
return this.widgets.get(widgetName);
|
|
2059
|
-
}
|
|
2060
|
-
/**
|
|
2061
|
-
* Check if widget is registered
|
|
2062
|
-
*/
|
|
2063
|
-
has(widgetName) {
|
|
2064
|
-
return this.widgets.has(widgetName);
|
|
2065
|
-
}
|
|
2066
|
-
/**
|
|
2067
|
-
* Get all registered widgets
|
|
2068
|
-
*/
|
|
2069
|
-
getAll() {
|
|
2070
|
-
return Array.from(this.widgets.values());
|
|
2071
|
-
}
|
|
2072
|
-
/**
|
|
2073
|
-
* Unregister a widget
|
|
2074
|
-
*/
|
|
2075
|
-
unregister(widgetName) {
|
|
2076
|
-
return this.widgets.delete(widgetName);
|
|
2077
|
-
}
|
|
2078
|
-
/**
|
|
2079
|
-
* Clear all widgets
|
|
2080
|
-
*/
|
|
2081
|
-
clear() {
|
|
2082
|
-
this.widgets.clear();
|
|
2083
|
-
}
|
|
2084
|
-
/**
|
|
2085
|
-
* Render widget component
|
|
2086
|
-
*/
|
|
2087
|
-
render(config, context, defaultComponent) {
|
|
2088
|
-
const entry = this.get(config.widget);
|
|
2089
|
-
if (!entry) {
|
|
2090
|
-
if (defaultComponent) {
|
|
2091
|
-
return React.createElement(defaultComponent, { config, ...context });
|
|
2092
|
-
}
|
|
2093
|
-
console.warn(`Widget "${config.widget}" is not registered`);
|
|
2094
|
-
return null;
|
|
2095
|
-
}
|
|
2096
|
-
if (typeof entry.component === 'function') {
|
|
2097
|
-
// Check if it's a render function
|
|
2098
|
-
if (entry.component.length > 1) {
|
|
2099
|
-
return entry.component(config, context);
|
|
2100
|
-
}
|
|
2101
|
-
// Regular component
|
|
2102
|
-
return React.createElement(entry.component, {
|
|
2103
|
-
config,
|
|
2104
|
-
...context,
|
|
2105
|
-
...entry.defaultProps,
|
|
2106
|
-
});
|
|
2107
|
-
}
|
|
2108
|
-
return React.createElement(entry.component, {
|
|
2109
|
-
config,
|
|
2110
|
-
...context,
|
|
2111
|
-
...entry.defaultProps,
|
|
2112
|
-
});
|
|
2113
|
-
}
|
|
2114
|
-
}
|
|
2115
|
-
// Singleton instance
|
|
2116
|
-
const widgetRegistry = new WidgetRegistry();
|
|
2117
|
-
|
|
2118
|
-
/**
|
|
2119
|
-
* Widget Event Bus
|
|
2120
|
-
* Provides a publish/subscribe mechanism for widget communication
|
|
2121
|
-
* Supports debounce and throttle for performance optimization
|
|
2122
|
-
*/
|
|
2123
|
-
class WidgetEventBus {
|
|
2124
|
-
constructor() {
|
|
2125
|
-
this.subscriptions = new Map();
|
|
2126
|
-
this.throttleTimers = new Map();
|
|
2127
|
-
}
|
|
2128
|
-
/**
|
|
2129
|
-
* Subscribe to an event type
|
|
2130
|
-
* @param eventType The type of event to listen to
|
|
2131
|
-
* @param handler The handler function
|
|
2132
|
-
* @param options Debounce/throttle options
|
|
2133
|
-
* @returns Unsubscribe function
|
|
2134
|
-
*/
|
|
2135
|
-
subscribe(eventType, handler, options) {
|
|
2136
|
-
if (!this.subscriptions.has(eventType)) {
|
|
2137
|
-
this.subscriptions.set(eventType, new Map());
|
|
2138
|
-
}
|
|
2139
|
-
const eventSubscriptions = this.subscriptions.get(eventType);
|
|
2140
|
-
const subscriptionId = `${Date.now()}-${Math.random()}`;
|
|
2141
|
-
const subscription = {
|
|
2142
|
-
handler,
|
|
2143
|
-
debounce: options?.debounce,
|
|
2144
|
-
throttle: options?.throttle,
|
|
2145
|
-
};
|
|
2146
|
-
if (!eventSubscriptions.has(subscriptionId)) {
|
|
2147
|
-
eventSubscriptions.set(subscriptionId, []);
|
|
2148
|
-
}
|
|
2149
|
-
eventSubscriptions.get(subscriptionId).push(subscription);
|
|
2150
|
-
// Return unsubscribe function
|
|
2151
|
-
return () => {
|
|
2152
|
-
const subs = eventSubscriptions.get(subscriptionId);
|
|
2153
|
-
if (subs) {
|
|
2154
|
-
const index = subs.indexOf(subscription);
|
|
2155
|
-
if (index > -1) {
|
|
2156
|
-
subs.splice(index, 1);
|
|
2157
|
-
if (subs.length === 0) {
|
|
2158
|
-
eventSubscriptions.delete(subscriptionId);
|
|
2159
|
-
}
|
|
2160
|
-
}
|
|
2161
|
-
}
|
|
2162
|
-
};
|
|
2163
|
-
}
|
|
2164
|
-
/**
|
|
2165
|
-
* Publish an event
|
|
2166
|
-
* @param event The event to publish
|
|
2167
|
-
*/
|
|
2168
|
-
publish(event) {
|
|
2169
|
-
const eventSubscriptions = this.subscriptions.get(event.type);
|
|
2170
|
-
if (!eventSubscriptions) {
|
|
2171
|
-
return;
|
|
2172
|
-
}
|
|
2173
|
-
eventSubscriptions.forEach((subscriptions) => {
|
|
2174
|
-
subscriptions.forEach((subscription) => {
|
|
2175
|
-
this.executeHandler(subscription, event);
|
|
2176
|
-
});
|
|
2177
|
-
});
|
|
2178
|
-
}
|
|
2179
|
-
/**
|
|
2180
|
-
* Execute handler with debounce/throttle support
|
|
2181
|
-
*/
|
|
2182
|
-
executeHandler(subscription, event) {
|
|
2183
|
-
const { handler, debounce, throttle } = subscription;
|
|
2184
|
-
// Clear existing debounce timer if any
|
|
2185
|
-
if (subscription.debounceTimer) {
|
|
2186
|
-
clearTimeout(subscription.debounceTimer);
|
|
2187
|
-
}
|
|
2188
|
-
// Handle throttle
|
|
2189
|
-
if (throttle && throttle > 0) {
|
|
2190
|
-
const throttleKey = `${event.type}-${event.widgetId}`;
|
|
2191
|
-
const now = Date.now();
|
|
2192
|
-
const lastCallTime = subscription.lastCallTime || 0;
|
|
2193
|
-
if (now - lastCallTime < throttle) {
|
|
2194
|
-
// Still in throttle period, schedule for later
|
|
2195
|
-
if (this.throttleTimers.has(throttleKey)) {
|
|
2196
|
-
return; // Already scheduled
|
|
2197
|
-
}
|
|
2198
|
-
const remainingTime = throttle - (now - lastCallTime);
|
|
2199
|
-
const timer = setTimeout(() => {
|
|
2200
|
-
subscription.lastCallTime = Date.now();
|
|
2201
|
-
handler(event);
|
|
2202
|
-
this.throttleTimers.delete(throttleKey);
|
|
2203
|
-
}, remainingTime);
|
|
2204
|
-
this.throttleTimers.set(throttleKey, timer);
|
|
2205
|
-
return;
|
|
2206
|
-
}
|
|
2207
|
-
subscription.lastCallTime = now;
|
|
2208
|
-
}
|
|
2209
|
-
// Handle debounce
|
|
2210
|
-
if (debounce && debounce > 0) {
|
|
2211
|
-
subscription.debounceTimer = setTimeout(() => {
|
|
2212
|
-
handler(event);
|
|
2213
|
-
subscription.debounceTimer = undefined;
|
|
2214
|
-
}, debounce);
|
|
2215
|
-
return;
|
|
2216
|
-
}
|
|
2217
|
-
// Execute immediately if no debounce/throttle
|
|
2218
|
-
handler(event);
|
|
2225
|
+
*/
|
|
2226
|
+
get(widgetName) {
|
|
2227
|
+
return this.widgets.get(widgetName);
|
|
2219
2228
|
}
|
|
2220
2229
|
/**
|
|
2221
|
-
*
|
|
2230
|
+
* Check if widget is registered
|
|
2231
|
+
*/
|
|
2232
|
+
has(widgetName) {
|
|
2233
|
+
return this.widgets.has(widgetName);
|
|
2234
|
+
}
|
|
2235
|
+
/**
|
|
2236
|
+
* Get all registered widgets
|
|
2237
|
+
*/
|
|
2238
|
+
getAll() {
|
|
2239
|
+
return Array.from(this.widgets.values());
|
|
2240
|
+
}
|
|
2241
|
+
/**
|
|
2242
|
+
* Unregister a widget
|
|
2243
|
+
*/
|
|
2244
|
+
unregister(widgetName) {
|
|
2245
|
+
return this.widgets.delete(widgetName);
|
|
2246
|
+
}
|
|
2247
|
+
/**
|
|
2248
|
+
* Clear all widgets
|
|
2222
2249
|
*/
|
|
2223
2250
|
clear() {
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2251
|
+
this.widgets.clear();
|
|
2252
|
+
}
|
|
2253
|
+
/**
|
|
2254
|
+
* Render widget component
|
|
2255
|
+
*/
|
|
2256
|
+
render(config, context, defaultComponent) {
|
|
2257
|
+
const entry = this.get(config.widget);
|
|
2258
|
+
if (!entry) {
|
|
2259
|
+
if (defaultComponent) {
|
|
2260
|
+
return React.createElement(defaultComponent, { config, ...context });
|
|
2261
|
+
}
|
|
2262
|
+
console.warn(`Widget "${config.widget}" is not registered`);
|
|
2263
|
+
return null;
|
|
2264
|
+
}
|
|
2265
|
+
if (typeof entry.component === 'function') {
|
|
2266
|
+
// Check if it's a render function
|
|
2267
|
+
if (entry.component.length > 1) {
|
|
2268
|
+
return entry.component(config, context);
|
|
2269
|
+
}
|
|
2270
|
+
// Regular component
|
|
2271
|
+
return React.createElement(entry.component, {
|
|
2272
|
+
config,
|
|
2273
|
+
...context,
|
|
2274
|
+
...entry.defaultProps,
|
|
2232
2275
|
});
|
|
2276
|
+
}
|
|
2277
|
+
return React.createElement(entry.component, {
|
|
2278
|
+
config,
|
|
2279
|
+
...context,
|
|
2280
|
+
...entry.defaultProps,
|
|
2233
2281
|
});
|
|
2234
|
-
this.throttleTimers.forEach((timer) => clearTimeout(timer));
|
|
2235
|
-
this.throttleTimers.clear();
|
|
2236
|
-
this.subscriptions.clear();
|
|
2237
2282
|
}
|
|
2238
2283
|
}
|
|
2239
|
-
|
|
2240
|
-
const
|
|
2241
|
-
dataSourceRequestHandler: undefined,
|
|
2242
|
-
schemaData: undefined,
|
|
2243
|
-
translate: undefined,
|
|
2244
|
-
});
|
|
2245
|
-
const useWidgetContext = () => {
|
|
2246
|
-
return useContext(WidgetContext);
|
|
2247
|
-
};
|
|
2248
|
-
const WidgetProvider = ({ store, dataSourceRequestHandler, schemaData, translate, children, }) => {
|
|
2249
|
-
const widgetStore = useMemo(() => store || createWidgetStore(), [store]);
|
|
2250
|
-
// Create event bus instance (one per provider)
|
|
2251
|
-
const eventBus = useMemo(() => new WidgetEventBus(), []);
|
|
2252
|
-
// Memoize context value to prevent unnecessary re-renders
|
|
2253
|
-
const contextValue = useMemo(() => ({
|
|
2254
|
-
dataSourceRequestHandler,
|
|
2255
|
-
schemaData,
|
|
2256
|
-
translate,
|
|
2257
|
-
}), [dataSourceRequestHandler, schemaData, translate]);
|
|
2258
|
-
// Warn if dataSourceRequestHandler is missing (will cause issues with API data sources)
|
|
2259
|
-
useEffect(() => {
|
|
2260
|
-
if (!dataSourceRequestHandler) {
|
|
2261
|
-
console.warn('[WidgetProvider] dataSourceRequestHandler is not provided. ' +
|
|
2262
|
-
'Widgets with API data sources will not be able to load data. ' +
|
|
2263
|
-
'Please provide dataSourceRequestHandler prop to WidgetProvider.');
|
|
2264
|
-
}
|
|
2265
|
-
}, [dataSourceRequestHandler]);
|
|
2266
|
-
// Cleanup event bus on unmount
|
|
2267
|
-
useEffect(() => {
|
|
2268
|
-
return () => {
|
|
2269
|
-
eventBus.clear();
|
|
2270
|
-
};
|
|
2271
|
-
}, [eventBus]);
|
|
2272
|
-
// Initialize schemaData to Redux store (only on mount)
|
|
2273
|
-
// This prevents overwriting user changes when schemaData prop changes
|
|
2274
|
-
useEffect(() => {
|
|
2275
|
-
if (schemaData) {
|
|
2276
|
-
widgetStore.dispatch(setValues(schemaData));
|
|
2277
|
-
}
|
|
2278
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2279
|
-
}, [schemaData, widgetStore]); // Only run on mount
|
|
2280
|
-
const content = (jsxRuntimeExports.jsx(Provider, { store: widgetStore, children: jsxRuntimeExports.jsx(WidgetContext.Provider, { value: contextValue, children: jsxRuntimeExports.jsx(WidgetEventBusContext.Provider, { value: eventBus, children: children }) }) }));
|
|
2281
|
-
return content;
|
|
2282
|
-
};
|
|
2284
|
+
// Singleton instance
|
|
2285
|
+
const widgetRegistry = new WidgetRegistry();
|
|
2283
2286
|
|
|
2284
2287
|
const WidgetRenderer = ({ config, dataSourceRequestHandler: propDataSourceRequestHandler, schemaData: propSchemaData, onValueChange, defaultComponent, }) => {
|
|
2285
2288
|
// Use context values as fallback
|
|
@@ -2576,23 +2579,29 @@ const canPreviewInWeb = (file) => {
|
|
|
2576
2579
|
return previewableExtensions.includes(extension.toLowerCase());
|
|
2577
2580
|
};
|
|
2578
2581
|
|
|
2579
|
-
var img$c = "data:image/png;base64,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";
|
|
2582
|
+
var img$f = "data:image/png;base64,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";
|
|
2583
|
+
|
|
2584
|
+
var img$e = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAYAAACe0YppAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAJAAAAAAh0JciAAACrUlEQVRYCcWXPW8TQRCG31kbpNBChGiiRJQ0tFDggPgBtKGhJgEJUGxDFCmJUBKwDUoV2jRxS2NEhZCgAPELKBAhIPFRpKIwUXIe3vFHFJzbs2zWupHWu7e7M8/OenbuVkDReUzoLjbZvGDP/ysiWJQSlpLsiN7HOBp4rco6oBC+Svicz2QWERYULSjh605Q3dvHnk/B138sg1EV1DrjtPVAC9j1eS6NPD5x8lko3rgKch3FfmvbOY2w1a3n89xxlWdsMuvP3UqDPhO2xPLF9NueL3Tbct0dIZ4jJdTh8iH4Irf9H/hQwLZ4edSCs7ltz/Tc4CvWNhka2IwbXDKYZLMDt4Brep61CUFE8Jt26iwj9KbcKGDW7GrDfnGi+csf8zwqoh7MY1nFjhLYBpziKTl3UIDRDthqp5gJ5zENZsrMCXlscQE3DoMO2sJ8wURFr08GBRtAythgZeWIRAVsSDtZBdvqI5QeHamBE7c6yqPKJND/G0sZvIqXmQpmfI57wVrEGI/CFINhIOGCp3lml/mS+B5nwAuWx/iqs5hnDr8ap9ijT7noF+5JPNR0vWAblAqWWVkJLqkFV2rgxK1mVG8ySC4Oss/NqC5j2qfrBdf5RSERrg8c1cBNvYOHsoYfcXAveISvNHpcZIrLxSkm9rXO8SvngZquF2yDTPolVlaCS2rBlRo4cav56fscgvNJ+8wYqDEt3k6aEzfmBVtU82P/Wq+oZiq/pfdQkqf4Fgfw9XnBFtXM1XeZq73nmGPK68871yfUFuMF2yBz9RorK8ElteDiHY2blYI4/ks7xuUCxofNJ2OizfiZZVTW2GGfKJNMkc9cFlUu5k/QRQiOYx9TfHFcMrtkvhWdw2l2fmDnWFCY39i2XWucrOAXb1A5ruKjf26wkfeEXrE71V+iV9IhdJQEvwAAAABJRU5ErkJggg==";
|
|
2585
|
+
|
|
2586
|
+
var img$d = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGxmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6NDArMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjYtMDEtMDJUMTY6NTA6MDQrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAxLTAyVDE2OjUwOjA0KzA1OjMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjljMDI0ZTVhLWJiMWItNDBiMi05NThmLTg5YjExMTE5NGI4MSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjMzZDZiMTBiLTQzNjYtYTc0Ny1iOTZlLWI4ZTBhZjQxMTkzOCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI1M2M1ZmRhLTlkYzctNGQ0MC04Y2E3LThmMTQ2MmU4OWMxNSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjUzYzVmZGEtOWRjNy00ZDQwLThjYTctOGYxNDYyZTg5YzE1IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDQ5N2Y5YmYtMWZiMi00MWJlLTg5ZGItZGFiMDZmMjEwODE4IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWMwMjRlNWEtYmIxYi00MGIyLTk1OGYtODliMTExMTk0YjgxIiBzdEV2dDp3aGVuPSIyMDI2LTAxLTAyVDE2OjUwOjA0KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7pSLHQAAAXtklEQVR4nO2de1AUV77Hv/0YpmcGhigyoKIiqIAQlchdU664PmI0ZhXiVhLjGpWHKwQ0Va7GZG/qJlU3uTeWsbQUxVetidkbiSZojFI+1tegm/i4vhUlykNB8AGBgXn0PLrvH7G5k1GgZ6bnAcyn6vwD3afPnN+3f79fnz7nNMFxHDwFQRDQ6/V4/PgxCILw2HXEolQqUVlZiWPHjr1x+PDhtyorK+MAICYm5tbLL7+8c9y4cbtiY2Oh1+vdvhZBEOB53uXzeZ5HZGQkVCqVW/V0BtETBMDzPBiGgdFoDMnPz//ywIEDrz3ruOnTp+9dt27dfIZhdCaTya02dxUBkB6r2U8QjG8wGNQLFizY257xAaCkpCQ9IyNjr8FgCGUYxqMd7y90awHYGz8jI6P45MmTkzo7p7S0dGJ2dnZxTxFBtxbAE+OHZGRk7Dl58uRksedptdpJWVlZewwGg5phGE820ed0SwHwPA+5XC7c+XvF3PmOlJaWTszKyvreYDCEyuXybusJup0A7BI+dWZmpii33x6lpaUTsrOz93TncNDtBGAf80+cOCHa7beHVqudmJ2dvcdoNHbLcNBtBODg9vdIYXwBrVY7MTMzc68QDroT3UIArmT7zvLk6WBPd8sJuoUABOM/ifmS3fmOCOGgOz0ddHkByOVyGI1Gyd1+e2i12olZWVndJhx0WQEIMf+J8T3i9tvDfrCoq4ugSwrAMeZ74853RKvVThLCQVfOCbqcAByM7xW33x724aCrjhN0OQE4JHxec/vtYf900BUTwy4jAPuYn5mZ6RO33x72TwddLRx0CQE4vNL1qdtvjyfh4Puu5gn8XgDeGOSRCvt3B13l6cCvBWBvfHcHeSiKEj31yZljHelq4cBvBWD/Vs/dbP/1118vHDFixDmxx48YMeLc7NmzN7p6Pft3B/7+dOCXApDS7c+cObMwKyvrHZIkrWLPIUnSmpWVlTdr1iyXReD4dOCvIvA7AUg5yDNz5szN8+fPf8disYDjOFrseRzH0SaTCZmZmXmzZs0qdPX6duHAb0XgVwJwHORxJ+anpaVtnjdvXo7VanWp4zmOwxMRvOOuCJ5ML/NLEfiNAKScyZOWlrb57bffzmFZ1q022YvgT3/6k8sieDK9zC9F4BcCkNLt2xufIAiQJOlWhwsiyMjIcMsT+GtO4HMBSDm2b298juNAUZQkHe2BcKD2FxH4VAAOj3qSuX2O40DTtKSrkaQSwZNwsNdoNPqFJ/CZAJ5hfMnufIIgQFGUlM0F8JQINrlazxMRFAsTTX0pAp8IwN747o7tOxofAEjScz/LTgS57iSGWq12kj8MFnldAI4vdqR0+wI0LfqR3yWkTgx9GQ68KgApH/VmzpzpE+MLSBUOfD1O4DUBSPlKVxjkcTS+8NjnLezDgZSDRd7EK73lyWzfHoqivL4PgcRPB3uMRqNX1x14RQAOL3bcGttvz/jevvvtkVoE3vQEHu8xqZZrtef2BUiS9OkuJJ4YLAoKCpKyic+EJAgCnioA7Nfne8TtC3gr+esIKccJsrOz9xqNxhAAHrMPQRCgHz9+LF0P2EEQBIKCgrBkyZK1Wq3WZeOnp6dvnjdvXo7RaPRr4wsIIliwYEEuz/PYs2dPjiv1lJaWTnz33XfXrl+/PstsNnssJ6CtVtHzJJyrmKZx4cKFUTt27MhwtY709PTN8+fPzzGZTO0a35exvz04jgPLssjIyMglCALFxcUuieDLL7/MyMrKWj9q1KhLHrPTsWPHPFKxTCZDSUnJdJ7nXQrM6enpm+bPn5/bkdsHfJP5i8HeEwBwSQQ8zxOrV69+5YUXXrhksVikbyQAes6cOR6pGACOHz8+0JXzniR8uSaTqUPX5493vz2CJ3AnHKjV6kG5ublwd25De9Dr1q3zSMUymQyVlZU6Z89LS0vbPH/+/N+82GkPX2f+YnA3HDQ0NOj27dsHj3mAyMhIj1TMMAzGjh176uDBg8vFnpOenr5p3rx5nbp9AX9K/jrC3hMAzoWDsWPHnoqMjITJZPJI2+gJEyZ4pGKKojBmzJgju3btunrt2rXnOzv+Sbbf7Ywv4MrTQVJS0tXMzMwjNE2L6hNXoMPCwjxSMc/zoGnauHHjxuy0tLRDv/zyy3PtHfvaa69tEmK+mB/q77G/Pew9AUEQfHFxcW57x/bq1at5w4YN2ZGRkUaLxeKxUEcKkyeEItWFCIKAzWZDamrq2aKioikpKSmnHY/p06fPw/fff/+97Ozs3I6e8x3x18xfDIInWLhw4TsrVqx4r0+fPo8cj0lJSTn9zTffvDR+/PizVqtVUpvQNN1WAIC22Wyor68Hz/MICgpCr1692v5ps9kkuXB8fPz5rVu3pp49ezb12LFjKTU1NaoXX3zxdkxMzIlx48bVVVZWdprw2f8IT8z28SYcx8FiseDNN99cNWDAgH9UVFRMOHPmzJCoqCj9pEmTzo8ZM6a0d+/evFSDP8INY7FY0NDQALPZDIIgEBERAZrjOFRUVAAA7t69C7VajdDQUIwcORJqtRocx7k9CmUymWCz2fjk5GTtgwcPtCRJIiUlBQaDAXq93qn6u6LrfxY8z8NgMIBhmLqUlJSddXV1SEhIwKhRo2Cz2SRJ+oSbpbm5GVeuXIFOp0NTUxOioqJAURQ0Gg1o4P8VwvM8Wlpa8MMPP+D06dN48803MXjwYPA873YSwvM8TCYTzGYzrFYrxMZ7xx/U1ZK/zhBCgtVqhdlsBsuykng4kiRBkiQqKirwzTffoKqqChMnTgTwawIt3Ei/6U1BMQzDQK/X47vvvsOwYcMwbdo00DTt08mLT5JKn12/K0GSJCwWCw4dOoSbN28KngYURT1107XrTymKAk3TuHjxIk6f/jV/82XiJSg6QMcInvzHH3/E5cuXQdN0hx6l0x6Vy+VoaGjw+d3flTN/b8PzPBoaGiCXyzvtM1G3lKAgXxiA53mQJNnlM39vIdhIbH857VN9IYKA6xeHK7ZxqWe9KYKuOuonzLjxVuh01SYu96y3RNAVje9t3LGFW73rDRF0ZQF4wwu4awO3e9eTIujKxvcGUvS9JD3sKRF0h8zfU15Aqj6X7BaTWgTdwfgCUveNlPVJ6mOlfG0ZcP/PRmoxSd7LUjSwO474SSFoT/SLR24zdxvandy/VHhsRpBHaoXrDe7Oxnc1GfTok5bHaobzDe/usd9+zaQz53gSr/W22MmeAf6/r7wy0ObpC/A8jwEDBqB3796wWq2dLvPq7nRkVI7jYLVa0bt3b0RFRXlsKrg9XhGAQqFATEwMEhMTQdM0DAbDM3f36Ck4ioDjOBgMBtA0jcTERERHR8Nb+wU9NceKoqi22TdSxWNhxq9Go0F+fj6OHj0Kq9UKnU4HYTPn7hz7HSEIou1uN5vNUKvVmDt3LiZNmgSNRgOO4yS7++1tSVHUU0vM2gQgk8mgVCrR3NysMRgMA2QymVWlUlUyDKOTwjg8z4PneYSHh2P27NnQ6/Wor68HRVEwGAz45ZdfeowX4DgOCoUCAwcORP/+/REZGYng4GAA0k3FJ0kSDMPAbDarW1tbBxsMBlqv198LDg5+KJPJ2q5DA4BCocDdu3fjNm/e/B/nzp17ubW1tQ9BEFxoaGjt6NGjd2dmZv43RVGPpdp3FwBUKhViY2MB/LqO8MSJE27X3ZUYOXIkhHWZPM9LZnjg11m/Fosl7MiRIx+cPXv2DZ1O15/nefK77757nJKScjgnJ+c/o6OjbwIALZfLcePGjfGLFy8ubmxstF8nRppMpgElJSVLKysrX46Li5uRlJRUJXYBR2fYuziNRoPevXujsbGx23sBm80GjUaDiIgISdZcOEKSJK5evRr94Ycf7r9582ai/f9Ylu1z6NChOefOnZtaUFAwa9SoUVry9u3bEStWrChyMP5vKCsrS1q4cOEOlmVlglqlLCRJei3r9TUcx6F///5teYAQGqUoBEGAZVnZX/7yly8djW9PY2Nj2HvvvbezoqIigi4sLMytqanp21nDf/rpp9SdO3e+8uqrr+7T6/WSdoowX70nzPsX4m91dbXkglcqlSgpKXnlp59+Gt/ZsTU1Nf0KCwtz6BMnTkwVe4EvvvhiemVl5T6p16pzHAeVSoXExHZF2y0QhoKLiorQ2toq+ZMPwzDQarWvij3++PHj0+i6uro+Yk8oLS3tLywSkRKr1YpBgwZh1apVXp1I6St27NiB6upqj+Q7PM/3E3vs/fv3+9DOdDbHcYSn4rSntkDxR4Qdv6TM/O0QnaHzPO/7T8YI9LSBIH+h5/R6gGcSEEAPJyCAHk5AAD2cgAB6OAEB9HACAujhBATQwwkIoIcTEEAPJyCAHk5AAD2cgAB6OAEB9HD8ag5WUFAQxH4wwhlsNhuc+XgVz/OEMF9RSkiShFwul7ROd/EbATx48ACnTp1CdnY2DAaDpJ3PMAwYhhH93TWGYSzDhg2T9ENNJElCpVJh69atePDggWT1uovfCMBisWDNmjVobW3FokWLEBwcDKPRKEndJEmib9++5QDGijm+X79+5cJeyVKgUChgNBqxZs0abNmyxVMzgVzCr3IAm82GTZs2Yfbs2bh27RpCQkJAEASsVqtbheM4pKWl/Y/YdqSnp38ttMfd6e4KhQJXrlzBG2+8gcLCQr8yPgAgMjLyZwC8yLLfW+0KDw/HmjVr0NTUJNm8+Tlz5uzo7De+/vrrO1pbW9s+ruBKaW1tBc/zqKurw0cffQS1Wu2tbgN+tZEoe0ZGRv5MBQcHL2ltbe0tsvKfAXwtfZufxmAw4NChQ/j6669hs9mQkJAAhUIBAC7vsjF06NCDNTU10eXl5SOedcyMGTP+8eGHHy5SKpVWvV4Pi8UCs9ksqrAsC57nIZfLUVdXh/Xr12PRokXYv3+/xz762A5zAAwTc2BwcHCj3wpAoLm5GUeOHEFRURFsNhsSExPBMIxLO23U19dbk5OTi0NDQ/83LCyMv3//PhcUFFQ/ZcqUo9OnT//3rKyslUFBQdaQkJC2c8QUmUwGtVqNhoYGbNmyBe+++y5++OEHtLS0eKJLOsMpATiV5fTt2xe///3vXWoV8GtMPXjwoEvJXXV1NZYtW4aCggLk5eUhKysLvXr1AiDeIwjr8BMSEvZPnjx5/9WrVwEAOTk5uH//PoxGI5RKpeg20TQNlUqFuro6FBYWYtu2baipqXH6twkoFApMmzbNrfUCp0+fRl1dnejjaZIkRfvTlJQUYvfu3S41DADKyspQUlLi8vkAUFVVheXLl2P9+vVYvHixS0Iwm82/2aTCYDDAbDaLboOj4bdu3Yra2lrnf4wDHMfhk08+wfDhw12uY8aMGeT+/eJSNZIkeZphGNG//PHjx8GnTp2CwWAQ3SDBRfbt2xfV1dWSxcO7d+9i+fLlKCgoQH5+PrKzs/Hcc88BcC1HEIO94Tdt2oStW7e6dcc7wrIs7t69C4IgUFtbC4vF4tRvUalUePz4sUrs8QqFgqXDw8NbhM/GdUZtbW3k9evXZQAsYhpGkiSsVitu3LiBuXPnemTxZ3V1NZYvX44NGza4HBo6Q2pX39m1mpqaUFxcjPj4eMhkMmc22Aqqra3tdKGvQHh4eAttNptFD0s1NDQMiI+Pj+rXr1+lsLypPUiSBMuyePToEa5cuSL2Ei4jRWhwxFOuvjOEr64OHz4cYWFhkMvlnYqApmncv3+/f2NjY5TY61gslgd0XFzcnYsXL4o6Qa/XK86fP/9vEyZMqOwokRMGbwwGA2pqary67Luj0CAWmqYRHBzc5uq3bduGe/fueabBHbShoqICZrMZDMN0+Nk+nuehVCpx/vz53+n1eoXYa8THx9+ho6KirjrTsNOnT6e//fbbuzoSQFBQEE6ePIm6ujr06SN68bGk2IeG/Px8ZGVlQa1W49Gjpz7V2wZN01Cr1dDpdCgoKPCoqxcDwzC4efMmBg4ciLFjx8JsNrcrAqVSiX/961/pztTfv3//q+SoUaMuUhQl+vXb8ePHp9+7d69/UFDQU/8jSRIEQbR9rFAmkznTHo9QVVWFZcuWITk5GQUFBWhpaQHDMFAqlW27ZymVSjAMA51Oh40bN+IPf/gDPv74Y58aX0Amk8FkMqG8vLytvY7jEHK5HPfu3et/8uTJV8TWS1GULTk5+SI9ZMiQm9HR0ZV37tyJFXNiU1NTaFFRUd6qVav+1tzc3PZ3YcuTa9eu4d69e3632reqqgpr167F9u3bMXjwYCQlJaGlpQUEQWD37t24evUqKisrYf+b/AWCIFBXVweappGQkACSJNu2hAGA0NBQrF69Or+pqSlUbJ3R0dGVQ4cOvUXbbDZ25MiRx8QKAAA2b96ct3Dhwr8PGzbsNsdxbca+fv06qqurIZPJvD38KZrm5mZcunQJly5davvbV1995bsGiUD4ZnJ1dTXCwsKQkJAA4NdxA5IkcevWrSFbtmzJc6bO5OTkY1arlSUtFgtSU1O/debklpYWdV5eXgHLsoSQ7d+5cweNjY09Yp8fX0HTNHQ6HaqqqsCyLEiShMlkIvLy8ja0traGOFNXamrqtxaLBeTgwYORlpZ2Mi4u7pYzFfzzn/+c+tFHH33a1NSElpYW1NfXB4zvBSiKwsOHD9veVn788cefHj169GVn6oiLi7s1Y8YM7cCBA0HK5XJERESwc+bM2eZsY1auXPnBokWLlrEs2/amLoDnUSgUMJvNyM3NXbZy5coPnD3/rbfe2hYeHs7KZDKQtbW1uH37Nl566aXtGo2m3tnKdu3atWr16tWf0jRNMgzj7OkBnEQul0Mmk5Gff/75fxUVFa1y9nyNRlM/efLkv9++fRu1tbUgVSoV5HI5Bg8e3LBo0aLVrjRqzZo1f1u6dOmBqqqq4cHBwd1+t09fQFEUQkJCUFVVFb9kyZL9a9eudfrOB4Dc3NxVQ4YMaVQqlQgNDQU9aNCgtgv89a9/3fDtt98uKCsrc3rDvqNHj047d+7c2LS0tI0TJ07crFQqqywWS0AMbkBRFORyOZRKJXQ63aDvv/8+Z+/eve/odDqXphglJiZeX7p0aaFKpWobJm/L2mw2G0JDQ42rVq1aPHPmzKMcxzm9lZVOp1N/9dVX7x84cCBn+PDhh0aPHr1v6NChZ0iSrFEqlazfzYfzQxQKhTBIJW9qahpQXl7+u507d/7xypUrrzQ2Nj7nar0kSfIrV65colarjfYbfRKOQ7oMw2Dx4sWfFRQUrHD5V9ihUqmMarW6JjY2ts5isejPnDnT/TcEdoMxY8aQMplMdefOnb46nS7KmbH9jsjPz/9s/fr1HwhT19owGAy/KSzLQqfTycaPH38I4ieLBoofl9TU1MPNzc0yk8kEvV7/m/LMCY48z6OsrCw8MTHxmq8bHyjulcTExKs3btwI53keLMs+Vdqd087zPMrLy2OGDBlS7usfESiuldjY2J/Ly8tj7Lf4Fz5H0/ZZmo4WNlitVly7di1m5MiRl339YwLFuTJixIgrly9fju1s8UqH/2xqaoLFYsGPP/6oefHFFw/6+kcFirgyZsyYg1qtVmM2m9HU1NTx6iV0AEEQMJlMoGn64aeffvrHuXPnfiaTyQJZvJ9C0zT/5z//+bNPPvlkBk3TD00mU6frJ0S9tLdarWBZ1pqZmfnBunXrpiUlJV2SosEBpCMxMfHy2rVrp2ZmZn7AsqylszmbAqJnbXAcB71ej+eff/7I9u3bx+bl5S2PiIjw/ZSZHo5Go6nNyclZvmXLlrEjRow4IqxLFIvT72+NRiMUCoVxypQpn8fExHxZXl4+T6vVLigrK0tytq4ArhMfH39j3LhxX8TGxn4xdOjQRxRFobW11el6XHqBLyyxoijq0YwZM1bPmjVr/b59+ybcuHHjtaqqqok1NTVDLRaLf80J6+IEBQVxUVFRP0dFRZ1ISkoqnjp16kmbzcbevn37mZ/iFYtbMzgEIYSEhJgHDhx4OCoq6rBGo5E/fPgwrqys7AWj0Zh44cKFIWFhYZqGhga10WiU22w2kiAI8T6qB8HzPEFRFKdQKNiwsDBdQ0PDw9GjR/+sUChuJCQkXIiIiLhVW1vLCl9ZMxqNbm+n839JnPM4HIwTpAAAAABJRU5ErkJggg==";
|
|
2587
|
+
|
|
2588
|
+
var img$c = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAACAAAAAAAL+LWFAAAoQklEQVR4Ae3dy49tWV0H8MubEI3GGBFwojwbGmjppsH3pQEnDIz6BzAz4T9QiVPxFZ0ZJ2LigBEDE00g0SADNb7CI4EQE41goBua7r7dPBQEvP52uvftuvU4tc/Ze+21fmt9TrJy6lbts/dan9+q8/3VqbpVN264ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAOAi+Ka7xwh+sUu8Rzip15nxNPBfjhGP8d49Y+l3QVAgQIEBhM4KWx3l+OcTPGfTF+IsYLYky3b8f49xifjPGxGH8RQx4Fwta3V8cJfz3Gx2N8Mcb/xbh9Zkzv+1CM98V4WQw3AgQIECBwqsAD8cAPx/hOjLNZc+jtb8Wxfx7jnhhuGwi8M87xjzEOoZ//2FSED8a4N4YbAQIECBBYKvCDceCUH+e/yDyfM4f+PTUNfxTjJTHcThB4VTzmIzEOIV/3se/F438nRurv1cT83QgQIECgvMBb4hL/GeO6bFn68c/EuV5Tftp9XeGXYjlPxViKfN1xn4hzTd9CcCNAgAABApcJ3Ix3bpk7cy49GuedGgu3BQLvjWO+G2PG2+r+kTjn6xZc3yEECBAgMJbAQ7Hcb8bYKm/On+crce7pVW23AwLTV/4lwn8uhibgAL4PESBAYECB0uE/58+nw/bFA/ouWvLUHZV4+WXGn+81AYvK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cqPi0586sS/E2LoJ+Eqc8/7is3cBAgQIEMgqMP1gYKn8eUtWlL3n/Yq44D/E2KoJ+GSc65V7L8L1CBAgQCCdwNb586kQkD9HboPpZwLeH+ObMU5tBKb/a/nbMV4cw40AAQIECCwReEEc9Fsx1ubPB+Ic8meJ+BXHTN3Y9FOTT8RY2gh8LY794xg/HsONAAECBAicIvBj8aApf6afH1uaP1+PY1Pkz3NiolluL4qJvuuZcV/cTy+pfH+M6TcJTuD/EePTMf42xkdj/E8MNwIECBAgsFZgyp93x3hnjOl3B0w/sP7SGFP+TD9f9kiMz8X4eIyPxJA/geBGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn0I/D/rORE18R9ldgAAAABJRU5ErkJggg==";
|
|
2580
2589
|
|
|
2581
|
-
var img$b = "data:image/png;base64,
|
|
2590
|
+
var img$b = "data:image/png;base64,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";
|
|
2582
2591
|
|
|
2583
|
-
var img$a = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGxmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6NDArMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjYtMDEtMDJUMTY6NTA6MDQrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAxLTAyVDE2OjUwOjA0KzA1OjMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjljMDI0ZTVhLWJiMWItNDBiMi05NThmLTg5YjExMTE5NGI4MSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjMzZDZiMTBiLTQzNjYtYTc0Ny1iOTZlLWI4ZTBhZjQxMTkzOCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI1M2M1ZmRhLTlkYzctNGQ0MC04Y2E3LThmMTQ2MmU4OWMxNSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjUzYzVmZGEtOWRjNy00ZDQwLThjYTctOGYxNDYyZTg5YzE1IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDQ5N2Y5YmYtMWZiMi00MWJlLTg5ZGItZGFiMDZmMjEwODE4IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWMwMjRlNWEtYmIxYi00MGIyLTk1OGYtODliMTExMTk0YjgxIiBzdEV2dDp3aGVuPSIyMDI2LTAxLTAyVDE2OjUwOjA0KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7pSLHQ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";
|
|
2592
|
+
var img$a = "data:image/png;base64,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";
|
|
2584
2593
|
|
|
2585
|
-
var img$9 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAACAKADAAQAAAABAAACAAAAAAAL+LWFAAAoQklEQVR4Ae3dy49tWV0H8MubEI3GGBFwojwbGmjppsH3pQEnDIz6BzAz4T9QiVPxFZ0ZJ2LigBEDE00g0SADNb7CI4EQE41goBua7r7dPBQEvP52uvftuvU4tc/Ze+21fmt9TrJy6lbts/dan9+q8/3VqbpVN264ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAOAi+Ka7xwh+sUu8Rzip15nxNPBfjhGP8d49Y+l3QVAgQIEBhM4KWx3l+OcTPGfTF+IsYLYky3b8f49xifjPGxGH8RQx4Fwta3V8cJfz3Gx2N8Mcb/xbh9Zkzv+1CM98V4WQw3AgQIECBwqsAD8cAPx/hOjLNZc+jtb8Wxfx7jnhhuGwi8M87xjzEOoZ//2FSED8a4N4YbAQIECBBYKvCDceCUH+e/yDyfM4f+PTUNfxTjJTHcThB4VTzmIzEOIV/3se/F438nRurv1cT83QgQIECgvMBb4hL/GeO6bFn68c/EuV5Tftp9XeGXYjlPxViKfN1xn4hzTd9CcCNAgAABApcJ3Ix3bpk7cy49GuedGgu3BQLvjWO+G2PG2+r+kTjn6xZc3yEECBAgMJbAQ7Hcb8bYKm/On+crce7pVW23AwLTV/4lwn8uhibgAL4PESBAYECB0uE/58+nw/bFA/ouWvLUHZV4+WXGn+81AYvK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cqPi0586sS/E2LoJ+Eqc8/7is3cBAgQIEMgqMP1gYKn8eUtWlL3n/Yq44D/E2KoJ+GSc65V7L8L1CBAgQCCdwNb586kQkD9HboPpZwLeH+ObMU5tBKb/a/nbMV4cw40AAQIECCwReEEc9Fsx1ubPB+Ic8meJ+BXHTN3Y9FOTT8RY2gh8LY794xg/HsONAAECBAicIvBj8aApf6afH1uaP1+PY1Pkz3NiolluL4qJvuuZcV/cTy+pfH+M6TcJTuD/EePTMf42xkdj/E8MNwIECBAgsFZgyp93x3hnjOl3B0w/sP7SGFP+TD9f9kiMz8X4eIyPxJA/geBGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAn0I/D/rORE18R9ldgAAAABJRU5ErkJggg==";
|
|
2594
|
+
var img$9 = "data:image/png;base64,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";
|
|
2586
2595
|
|
|
2587
|
-
var img$8 = "data:image/png;base64,
|
|
2596
|
+
var img$8 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAABIjgR3AAAFPElEQVR4Ae2dzWtdVRTFn5o40EFTraQgFIoOI04cVOdVQZxIoP4DrSSx1o515h9QCgWtrW3UGPsxcKTYjgt+xagdONNBKCRiCEgQCYXWtcFb8l5vYnLevefsc8/vwOJ+vHfP2XutdfZ536/Xo8EADMAADMAADMAADMAADMAADMAADMAADMAADHSfgYe6n2IjGY6ql2eEEWG9kR7pJAsGXlOUC8KGcPc/rGg7J4wLtI4yMKa85oVK9Lrtqm6f7Gj+Raf1mLJfFOpEHzx3R/ebKpqtjiW/G/ErM2CCjpggRHxMgPj3lgoqQcZm+EqxV7N5mC0myNAERxsSvzKOmWA6Qx6KDPkBZb0mVOI1tcUEmdjpqRbEr0yECTIwgb3SVwnW1pblwLERXo1gADMWJnBqggORDIAJnBrAwlrGBI7ViRDa6xENYJVgJkJODLFLBr7Q/dt6EFjXLybYpUBt332PBvgOE7RNs+/+MYFvfaJEhwmi0Ox7EDPB90Ld2t3WOR4TOPNEChO86YyD4sOxzwX+ILQ16+v6xQTObIcJnAmSIhxMkIJ1Z2OaCez7AXVlu61zLAfOTLAXEzhTJEE4KUxwPEGeDLkNA2aCH4W2Sn9dv5hgG0FS3IQJUrDubEwzwU6/QlY3q0POUQmcmWCYbxOFGMCuwQSYABM480DPKsFPQuisDrmOSuDMBSlM8JYzDooP53ExELsSYAJntjMT/CyElPXQazABJuhhAkyACZx5oGfLwS9CaGkPuY5K4MwF+xKY4IQzDooPx0xwUwiZ0aHXYAJntsMEzgRJEY57E1iA7wlfC38KoeWH63xxt6PlYFKC/4HonTX9tiY4gvCdFX5zNX5bOvc1+7n4/cKXwiN9t3DQRQZeVlJ/Cd9WyZkB3hFerE6w7TwDfSZ4UOk+1/mUSXCQgVM68ZKdtB9KXBXsJUtaWQwsKd0JM4A9SKCVycC7tgTQymXgeSpAueJb5stUgLIN0MMAZRtgEQOUbYBv7DHA78LBsnkoMvslZT1hFWCxyPRJ+pgoWDcD3ICL4hg4qYyvVVk/rJ1fhc3vGrHfXT7ue0fQjPCCcBsTdH4S1IpvBrB2SPhNYPZ3k4PaD4TY28FVu6WdWeFv4R9hTHhUoOXPgM380/mnkX8G9rT7fSFmla2d+flTmV8GJv4HiJ+fcE1EjPhNsJhpHyb+WYGyn6mAw4Rt4n8YWXy+HDqMYg1ea+KfQ/wGGc2oK8TPSKymQzXxzwsx13zKftMqBvZn4n+E+IHsZX6ZvbN6AfEzVzEwfBP/YmTx+aHIQLGavgzxm2Y0o/5M/Fkh5gM+Zr4Tg5j4HyO+EzUih2Hif4L4kVl3MhziOxEiRRgm/qcCa34K9hOPaZ+emossPv8dmFj0angT/zPEr+goa4v4Zendl62JPy/EXPMp+30SpDsw8T9H/HQCpBzZxL+E+CklSDd2CvFn0qXLyJsZGNHBZSHmmo/4mxVIuG/iX0H8hAokHBrxE5LvYegzCoKy70GJBDEcRvwErDsa0n4jKdbsn3aUN6GIgScRv2wfvBLJAMx8pz6zv8lpu/wjvlPxLaynWzTAHfWN+May42bf5FkTmq4CiO9Y9MHQ3mjYAIg/yHAGx9cbMoGJP5VBvoQ4wMATOh72v30Rf4DU3A6HMQHi56b2FvGGmADxtyAz19O7MQHi56ry/8Rtf6N3Vdju6aH93Z69kETrMAMm8IKwIVRmWNH+nDAu0AphYFR5PivYm0c0GIABGIABGIABGIABGIABGIABGIABGIABGIABGMiMgX8BIPxPwjb9HfIAAAAASUVORK5CYII=";
|
|
2588
2597
|
|
|
2589
|
-
var img$7 = "data:image/png;base64,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";
|
|
2598
|
+
var img$7 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGxmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6NDArMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjYtMDMtMTNUMTY6NTE6NDUrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDI2LTAzLTEzVDE2OjUxOjQ1KzA1OjMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU2M2VkMzE4LTY4YzgtNDBkOC1hODQzLWVhZDY2ZWEzYTEyOSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmE3NzQzN2ExLTY5M2MtY2Y0Yi1hZTRkLTZmMTg3MzgxMzNmMCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI1M2M1ZmRhLTlkYzctNGQ0MC04Y2E3LThmMTQ2MmU4OWMxNSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjUzYzVmZGEtOWRjNy00ZDQwLThjYTctOGYxNDYyZTg5YzE1IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDQ5N2Y5YmYtMWZiMi00MWJlLTg5ZGItZGFiMDZmMjEwODE4IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTYzZWQzMTgtNjhjOC00MGQ4LWE4NDMtZWFkNjZlYTNhMTI5IiBzdEV2dDp3aGVuPSIyMDI2LTAzLTEzVDE2OjUxOjQ1KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4gFIalAAAEcUlEQVR4nO2SwW4aVxhG72SmBQQWDxCrbljZXqHhBbKoVLHAGBt5AxssIVyVtxnLHUUqm2RTpXHTLCJLXvAC0WRnexNcqzwAslESm2GmiworoY4sN4Z/7nzfkf6duf7gHCMMQ0VweSA9gMjCAMBhAOAwAHAYADgMABwGAA4DAIcBgMMAwGEA4DAAcBgAOAwAHAYADgMAhwGAwwDAYQDgMABwGAA4DAAcBgAOAwCHAYDDAMCxpAdI4Pu+dXx8vOJ5nq2UUrZteysrK8eWZfnS2+ZOGIYwd3Z29l2pVHqVTCY/KKXCTy+ZTH4olUqvTk9Pv5feOc8THzCvc123tbCwcD4tfvoymcyF4zjtIAgM6c0M4B5uNBpZW1tbv90mfvrK5fLLy8vLb6X3M4CvlF+tVp/fVf7k1tbW/ox7BOIDoiofJQLxAVGWjxCB+ICoy/80gqurq2+kvx8DEJAf5wjEB+giP64RiA/QSX4cIxAfoJv8yZXL5ZdxiEB8gI7y4xSB+ABd5cclAvEBOsuPQwTiA3SXr3sE4gPiIF/nCMQHxEW+rhGID4iTfB0jEB8QN/m6RSA+II7yJ7e+vv5H1CMQHxBX+bpEID5AUn6tVntWq9WeIUcgPkBSvu/7pu/7JnIE4gMk5U/+L3IE4gOk5aNHID4gCvKRIxAfEBX5qBFQvmAElUplXzoCygePgPLBI6B88AgoHzwCygePgPLBI6B88AgoHzwCyo94BBsbGy9mGQHlg0dA+eARUL5mEYxGIyuSAaDK1z0CygePgPLBI6B88AgoHzwCyo9BBJubm7//3wgoHzwCygePgPLBI6B88AgoHzwCygePgPLBI6B8gAiq1erzL0VA+eARUH4ETjICyo/ISUVwPaDdbjuUjxFBu912Pgug2+0+NgwjoHz5m0cEhmEE3W73cRiGSg2Hw3Qul3tH+dG5eUSQy+XeDYfDtHJdt0X50bt5ROC6bks1m80nlB/Nm3UEzWbziSoUCm8oP7o3ywgKhcIblclkLig/2jerCDKZzIXK5/NvKT/6N4sI8vn8W9VoNDqUr8fddwTb29u/qt3d3Z8pX5+7zwj29vZ+UoPBILu4uPg35etz9xHB0tLSX+fn5wsqDEN1cHDwI+XrdV8bweHh4Q9hGKrrB1utlnvXR+r1+lPKl42gXq8/vau3nZ2dXyZvXD8WBIHhOE47nU4Pb3sgm80OOp1OQ/oH4P17nU6nkc1mB7d5S6fTQ8dx2kEQGP8JYHK9Xu9RsVh8nUgkPk4/kEql3lcqlf1+v/9Q+kvzPr9+v/+wUqnsp1Kp99PeEonEx2Kx+LrX6z2a/pwRhqG6Cd/3raOjo1XP82zTNMe2bXvLy8snpmmOb/wAiQTj8dg8OTlZ9jzPHo/Hpm3b3urq6pFlWf5Nf//FAAgGD6QHEFkYADgMABwGAA4DAIcBgMMAwGEA4DAAcBgAOAwAHAYADgMAhwGAwwDAYQDgMABwGAA4DAAcBgAOAwCHAYDDAMBhAOAwAHAYADj/ANHMVplSsKGCAAAAAElFTkSuQmCC";
|
|
2590
2599
|
|
|
2591
|
-
var img$6 = "data:image/png;base64,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";
|
|
2600
|
+
var img$6 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF92lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6NDArMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6NDArMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTA5LTI0VDEyOjI3OjQwKzA1OjMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA0OTdmOWJmLTFmYjItNDFiZS04OWRiLWRhYjA2ZjIxMDgxOCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjYxMjIwYjI1LWNmZTgtNGM0NC1hOWM5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";
|
|
2592
2601
|
|
|
2593
|
-
var img$5 = "data:image/png;base64,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";
|
|
2602
|
+
var img$5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGxmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6MTArMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMTItMjdUMTM6MTE6MTkrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTEyLTI3VDEzOjExOjE5KzA1OjMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmMyMTU3YzU0LTZhMjEtNDkyZC1hNzczLWM1M2IzZDJmMjg3MSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmQxNzA1Y2Y5LTI0MTAtNzc0Yy1hNTg1LWE3OTdkNjRhZjQxMyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjQ1MzliMGNhLWNiN2EtNDM4OC05MTRkLTg1MjZlNmNlMDY3NyIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDUzOWIwY2EtY2I3YS00Mzg4LTkxNGQtODUyNmU2Y2UwNjc3IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjEwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Y2EzMTEwYjAtNTU5OS00YjE2LWJiZWUtZmNlNzdmMGMyZjQ3IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjEwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzIxNTdjNTQtNmEyMS00OTJkLWE3NzMtYzUzYjNkMmYyODcxIiBzdEV2dDp3aGVuPSIyMDI1LTEyLTI3VDEzOjExOjE5KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Im3Hl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";
|
|
2594
2603
|
|
|
2595
|
-
var img$4 = "data:image/png;base64,
|
|
2604
|
+
var img$4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF92lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6MTArMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDktMjRUMTI6Mjc6MTArMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDI1LTA5LTI0VDEyOjI3OjEwKzA1OjMwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmNhMzExMGIwLTU1OTktNGIxNi1iYmVlLWZjZTc3ZjBjMmY0NyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmZiM2RiMmI0LWVlYTQtODE0YS04ZTRlLWU1YzM0NTNkYzAxOCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjQ1MzliMGNhLWNiN2EtNDM4OC05MTRkLTg1MjZlNmNlMDY3NyIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDUzOWIwY2EtY2I3YS00Mzg4LTkxNGQtODUyNmU2Y2UwNjc3IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjEwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Y2EzMTEwYjAtNTU5OS00YjE2LWJiZWUtZmNlNzdmMGMyZjQ3IiBzdEV2dDp3aGVuPSIyMDI1LTA5LTI0VDEyOjI3OjEwKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz64vXmkAAAGMUlEQVR4nO2dTUwUZxjH3wGWhCCVdbayBkOi7cUmyLKAgcajdGu8mGYVEBSRL2X7edZDk3rpCcHdLd1+t1ZoJ7GXpuHjqqEf1rI9cJE2IYHwscMua9tsyOK8PVQbipGiOzPP+87z/JNfwol55vn/MpuF2VmFc84oeJMHPQAFNiQA8pAAyEMCIA8JgDwkAPKQAMhDAiAPCYA8JMA2ks1mXfF4vGp+fr4cehazQwJskRs3brxSW1t7e8eOHX/6fL6pvXv3znm93sW2trZrS0tLZdDzmRLOObGJVCpV2tLScp0xxh+Hqqq6pmlB6FlzBXwA0VhZWdlVXV19Z6vyH6IoihGNRi9Az0wCAJTvFAnABxCFpynfCRKADyACuZQvuwTgA4jA0aNHv8ulfJklAB8Amlgs1m1G+RsliEQifdDnRQJsA8MwFLfbnTRTANkkAB8AkpmZmefMLl82CVD/JTAej1dZ9bs550ooFIpEo9E+q45hRlAL4HK5slYfQ3gJoC9BkMzOzlYwi14CNiPqywH4ANB4vd4FzBKADwDN8PBws10CMMZ4OBwOQZ8zCbCJ48ePf4NVAvABRGB1dXXnoUOHfsAoAfgAooBVAvDFiwRGCcCXLhqrq6s76+rqfsQiAfjCRQRCgqtXr75KAghEKpUqra2t/cnpEoAvWmQwSAC+ZNFxugTgC5aBVCpVWlNTc9uJEoAvVxaSyaTbiRKAL1YmICQYHBx8jQQQiGQy6fb7/T87RQLwhcqIkyQAX6asJJNJd66fJRBBAvBFyowZHyiBlgB8ibIjuwTgC3QCKysru3w+3y8ySgC+PKcAIcHAwMDrJIBA6LquyiYB+NKchq7ralVV1ZQsEoAvzInIJAH4spyKLBKAL8rJ6LquHjx4MC6yBOBLcjqJRMJjtwRXrlx5gwQQiEQi4amsrPxVRAnAl4MFUSUAXwwmRJTgkQEvXbr0TiAQGPV4PAk7ByVgJPj3B03Tgrt3716CHpawVwLGOWcjIyNN0AMS1tPf3//mIwIsLCx4VVXVoYcjYCTId7lcFycmJl5iFBQZGxt7ubS0NF1fX/89Y4yxI0eOTDABzCTsZXR0NMA5Z4wu/zipqKiYvXfvXkl+JpN5l1HQJZ1O7ywuLv4rnzH2NvQwFJgUFRVlFPbPJYGCMHv27FlA/aRQCvJHxWKP3++/QwIgTkNDwyTbt2/f70yAtyUEzNvAPL/ff4dR0CUWi/WUlJT8kXf48OGb0MNQ7E1/f/9bgUBgjDHG2NraWuGBAwemmQCXJcJ6Nv8ziHHO2a1bt14sKCjIQg9H2Fv+f24ImZycrN+/f/9v0EMS1rDlDSEPSafTz1y+fPnisWPHvqW7g5zDtm4JI6zHMAzl/Pnz74lSPglgc/m9vb1DIpVPAiAvnwSwqfyenp73RSyfBLCh/O7u7pid5dOHQwXBMAylq6vrA5HLJwGQl08CWFR+Z2fnhzKUTwJYUP65c+c+kqV8EsBE7t+/n9fR0fGxTOWTACaWf/bs2U/sLJ8eFCkIMpdPAphQfnt7+6eylk8C5Fj+mTNnPpO5fBIgh/JPnz79uezlkwDIyycBnqL8tra2L5xSPgnwBKyvr+e3trZes7N8+to4QVhfX88/derUl04rnwRAXj4JsI3yW1parju1fBLgf8pvbm4ednL5JMAW5Tc1NY04vXwSQJDyw+FwCOp8wRcuEtlstuDkyZNfYSmfBNhU/okTJ77GVD4JgLx8EuABoVAojLF8EoBzNj4+3oi1fBKAc1ufkRSJRPqgz5cE2MDc3Fw55vI557ifEzg1NeWz4ziRSCTU19cXteNYTxrUAmQymSKrjyFy+Ywx3C8Bd+/efZ5ZdMlXFMUQ9bK/EfABIDEMQ3G73Ums5aMXgHPOhoaGerGWTwI8oLGxcdys8qPR6AXo8yEBnpDl5eVnc/1GTxnLJwFMkkDW8kkAEySQuXwSIEcJZC+fBHgMuq6rwWBQ26p8VVV1TdOC0LOSABaiaVqwpqbmdmFh4drD4svKyhZbW1uvLS4ulkHPZwYK55xRtk42m3VNT0+/4PF49PLy8nnoecwMCYA8qP8ZRCEB0IcEQB4SAHlIAOQhAZCHBEAeEgB5SADk+RuHo3dOeiRkRQAAAABJRU5ErkJggg==";
|
|
2596
2605
|
|
|
2597
2606
|
var img$3 = "data:image/png;base64,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";
|
|
2598
2607
|
|
|
@@ -2711,7 +2720,7 @@ const FilePreviewModal = ({ file, isOpen, onClose, }) => {
|
|
|
2711
2720
|
const fileName = file instanceof File ? file.name : file.split('/').pop() || 'file';
|
|
2712
2721
|
const canPreview = canPreviewInWeb(file);
|
|
2713
2722
|
console.log('Modal rendering - fileName:', fileName, 'canPreview:', canPreview, 'previewUrl:', previewUrl, 'previewType:', previewType);
|
|
2714
|
-
const modalContent = (jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center bg-black bg-opacity-75", onClick: onClose, style: { position: 'fixed', zIndex: 9999 }, children: jsxRuntimeExports.jsxs("div", { className: "relative bg-white rounded-lg shadow-xl max-w-7xl max-h-[90vh] w-full m-4 flex flex-col", onClick: (e) => e.stopPropagation(), children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between p-4 border-b border-gray-200", children: [jsxRuntimeExports.jsx("h3", { className: "text-lg font-semibold text-gray-900 truncate flex-1 mr-4", children: fileName }), jsxRuntimeExports.jsx("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500 rounded p-1", "aria-label": "Close preview", children: jsxRuntimeExports.jsx("img", { src: img$
|
|
2723
|
+
const modalContent = (jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center bg-black bg-opacity-75", onClick: onClose, style: { position: 'fixed', zIndex: 9999 }, children: jsxRuntimeExports.jsxs("div", { className: "relative bg-white rounded-lg shadow-xl max-w-7xl max-h-[90vh] w-full m-4 flex flex-col", onClick: (e) => e.stopPropagation(), children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between p-4 border-b border-gray-200", children: [jsxRuntimeExports.jsx("h3", { className: "text-lg font-semibold text-gray-900 truncate flex-1 mr-4", children: fileName }), jsxRuntimeExports.jsx("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500 rounded p-1", "aria-label": "Close preview", children: jsxRuntimeExports.jsx("img", { src: img$c, alt: "Close Preview", className: "w-6 h-6" }) })] }), jsxRuntimeExports.jsx("div", { className: "flex-1 overflow-auto p-4 bg-gray-50", children: !canPreview ? (jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center h-full min-h-[400px]", children: jsxRuntimeExports.jsxs("div", { className: "text-center", children: [jsxRuntimeExports.jsx("img", { src: img$b, alt: "Preview not available", className: "w-24 h-24 mx-auto mb-4" }), jsxRuntimeExports.jsx("p", { className: "mt-4 text-sm text-gray-500", children: "Preview not available for this file type" })] }) })) : previewType === 'image' && previewUrl ? (jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center h-full min-h-[400px]", children: jsxRuntimeExports.jsx("img", { src: previewUrl, alt: fileName, className: "max-w-full max-h-full object-contain" }) })) : previewType === 'pdf' && previewUrl ? (jsxRuntimeExports.jsx("div", { className: "h-full min-h-[600px]", children: jsxRuntimeExports.jsx("iframe", { src: previewUrl, className: "w-full h-full border-0", title: fileName }) })) : previewType === 'text' && previewUrl ? (jsxRuntimeExports.jsx("div", { className: "bg-white rounded border border-gray-200 p-4 h-full min-h-[400px]", children: jsxRuntimeExports.jsx("pre", { className: "whitespace-pre-wrap break-words text-sm text-gray-800 font-mono overflow-auto h-full", children: jsxRuntimeExports.jsx(TextFilePreview, { url: previewUrl }) }) })) : (jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center h-full min-h-[400px]", children: jsxRuntimeExports.jsx("div", { className: "text-center", children: jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-500", children: "Loading preview..." }) }) })) })] }) }));
|
|
2715
2724
|
// Render modal using portal to ensure it's at the document body level
|
|
2716
2725
|
if (typeof document !== 'undefined' && document.body) {
|
|
2717
2726
|
console.log('Rendering modal via portal to document.body');
|
|
@@ -3065,7 +3074,7 @@ const FileInputWidget = ({ config }) => {
|
|
|
3065
3074
|
const fileName = file instanceof File ? file.name : file.split('/').pop() || file;
|
|
3066
3075
|
const canPreview = canPreviewInWeb(file);
|
|
3067
3076
|
console.log('Single file:', fileName, 'canPreview:', canPreview);
|
|
3068
|
-
const fileIconElement = (jsxRuntimeExports.jsx("img", { src: img$
|
|
3077
|
+
const fileIconElement = (jsxRuntimeExports.jsx("img", { src: img$e, alt: "File icon", style: {
|
|
3069
3078
|
width: '15px',
|
|
3070
3079
|
height: '18px',
|
|
3071
3080
|
aspectRatio: '5/6',
|
|
@@ -3087,7 +3096,7 @@ const FileInputWidget = ({ config }) => {
|
|
|
3087
3096
|
return (jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2", children: files.map((file, index) => {
|
|
3088
3097
|
const fileName = file instanceof File ? file.name : file.split('/').pop() || file;
|
|
3089
3098
|
const canPreview = canPreviewInWeb(file);
|
|
3090
|
-
const fileIconElement = (jsxRuntimeExports.jsx("img", { src: img$
|
|
3099
|
+
const fileIconElement = (jsxRuntimeExports.jsx("img", { src: img$e, alt: "File icon", style: {
|
|
3091
3100
|
width: '15px',
|
|
3092
3101
|
height: '18px',
|
|
3093
3102
|
aspectRatio: '5/6',
|
|
@@ -3129,7 +3138,7 @@ const FileInputWidget = ({ config }) => {
|
|
|
3129
3138
|
fontWeight: 400,
|
|
3130
3139
|
lineHeight: '24px',
|
|
3131
3140
|
textAlign: 'left'
|
|
3132
|
-
}, children: translate('common.uploadFile') || 'Upload File' }), jsxRuntimeExports.jsx("img", { src: img$
|
|
3141
|
+
}, children: translate('common.uploadFile') || 'Upload File' }), jsxRuntimeExports.jsx("img", { src: img$d, alt: "Upload", style: {
|
|
3133
3142
|
width: '18px',
|
|
3134
3143
|
height: '18px',
|
|
3135
3144
|
aspectRatio: '1/1',
|
|
@@ -3302,7 +3311,7 @@ const sectionValidate = (section, currentSchemaData, dispatch) => {
|
|
|
3302
3311
|
* - Panels wrap when they exceed available width
|
|
3303
3312
|
* - Sections can sit side-by-side if there's space
|
|
3304
3313
|
*/
|
|
3305
|
-
const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequestHandler, schemaData, onValueChange, gridColumnSpan, onSectionSave, hideEditButton = false, mode = 'RegistryView', namespace, changeRequestType, showChangeRequestLabel = true, dbSectionId, sectionRegisterId, }) => {
|
|
3314
|
+
const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequestHandler, schemaData, onValueChange, gridColumnSpan, onSectionSave, hideEditButton = false, mode = 'RegistryView', namespace, changeRequestType, showChangeRequestLabel = true, dbSectionId, sectionRegisterId, onSectionDirtyChange, sectionIndex, sectionCount, expandedSectionIndex, onExpandSection, onSectionSaveSuccess, onPreviousSection, isDraft, }) => {
|
|
3306
3315
|
const { translateConfig, translate } = useWidgetTranslation();
|
|
3307
3316
|
const { schemaData: contextSchemaData, dataSourceRequestHandler: contextDataSourceRequestHandler } = useWidgetContext();
|
|
3308
3317
|
const store = useStore();
|
|
@@ -3375,6 +3384,21 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3375
3384
|
const sectionId = sectionToRender['section-id'];
|
|
3376
3385
|
const gridId = `section-panels-${sectionId}`;
|
|
3377
3386
|
const sectionClassId = `section-${sectionId}`;
|
|
3387
|
+
// IntakeForm mode: accordion expand/collapse state (supports toggle)
|
|
3388
|
+
const [standaloneExpanded, setStandaloneExpanded] = useState(true); // For sectionIndex undefined (standalone use)
|
|
3389
|
+
const isExpandedFromContainer = typeof sectionIndex === 'number' && expandedSectionIndex === sectionIndex;
|
|
3390
|
+
const isExpandedStandalone = sectionIndex === undefined && standaloneExpanded;
|
|
3391
|
+
const isExpanded = mode === 'IntakeForm' && (isExpandedFromContainer || isExpandedStandalone);
|
|
3392
|
+
const handleAccordionToggle = useCallback(() => {
|
|
3393
|
+
if (mode !== 'IntakeForm')
|
|
3394
|
+
return;
|
|
3395
|
+
if (typeof sectionIndex === 'number' && onExpandSection) {
|
|
3396
|
+
onExpandSection(sectionIndex);
|
|
3397
|
+
}
|
|
3398
|
+
else if (sectionIndex === undefined) {
|
|
3399
|
+
setStandaloneExpanded(prev => !prev);
|
|
3400
|
+
}
|
|
3401
|
+
}, [mode, sectionIndex, onExpandSection]);
|
|
3378
3402
|
// Recursively count all vertical panels, especially those nested inside horizontal panels
|
|
3379
3403
|
// Typically: horizontal panels at first level contain vertical panels at second level
|
|
3380
3404
|
// Accounts for panel-column-span: a panel with column-span 3 counts as 3 columns
|
|
@@ -3509,13 +3533,15 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3509
3533
|
});
|
|
3510
3534
|
};
|
|
3511
3535
|
// Create section with widgets readonly/editable based on edit mode
|
|
3536
|
+
// IntakeForm: editable when isDraft is true or undefined; readonly when isDraft is false. Edit Details never shown.
|
|
3537
|
+
// RegistryView/CRView: use isEditMode (edit overlay flow)
|
|
3538
|
+
const widgetsEditable = mode === 'IntakeForm' ? (isDraft !== false) : isEditMode;
|
|
3512
3539
|
const editableSection = useMemo(() => {
|
|
3513
|
-
// Always apply readonly/editable state based on edit mode
|
|
3514
3540
|
return {
|
|
3515
3541
|
...sectionToRender,
|
|
3516
|
-
panels: makePanelsEditable(sectionToRender.panels,
|
|
3542
|
+
panels: makePanelsEditable(sectionToRender.panels, widgetsEditable),
|
|
3517
3543
|
};
|
|
3518
|
-
}, [sectionToRender,
|
|
3544
|
+
}, [sectionToRender, widgetsEditable]);
|
|
3519
3545
|
// Handle edit button click
|
|
3520
3546
|
const handleEdit = () => {
|
|
3521
3547
|
// Capture height BEFORE entering edit mode to preserve space
|
|
@@ -3526,8 +3552,9 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3526
3552
|
setIsEditMode(true);
|
|
3527
3553
|
};
|
|
3528
3554
|
// Render the edit section (absolutely positioned duplicate via portal)
|
|
3555
|
+
// IntakeForm never uses this overlay - content is shown inline in accordion
|
|
3529
3556
|
const renderEditSection = () => {
|
|
3530
|
-
if (!isEditMode || !editSectionPosition)
|
|
3557
|
+
if (mode === 'IntakeForm' || !isEditMode || !editSectionPosition)
|
|
3531
3558
|
return null;
|
|
3532
3559
|
const editGridId = `${gridId}-edit`;
|
|
3533
3560
|
return createPortal(jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: `
|
|
@@ -3585,18 +3612,19 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3585
3612
|
}, children: [sectionToRender['section-title'] && (jsxRuntimeExports.jsx("h2", { className: "text-xl font-semibold mb-4", style: { fontFamily: 'Roboto, sans-serif', marginTop: '35px' }, children: translateConfig(sectionToRender['section-title']) })), jsxRuntimeExports.jsxs("div", { id: editGridId, className: "section-panels", children: [editableSection.panels.map((panel, index) => {
|
|
3586
3613
|
const isLastPanel = index === editableSection.panels.length - 1;
|
|
3587
3614
|
return (jsxRuntimeExports.jsx("div", { className: `panel-wrapper ${isLastPanel ? 'last-panel-wrapper' : ''}`, children: jsxRuntimeExports.jsx(PanelRenderer, { panel: panel, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: namespacedSchemaData, onValueChange: onValueChange, isEditMode: true }) }, panel['panel-id'] || `section-panel-${index}`));
|
|
3588
|
-
}), hasSupportingDocuments && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("hr", { className: "my-4 w-full", style: { height: '1px', backgroundColor: '#F2BA1A', border: 'none' } }), jsxRuntimeExports.jsxs("div", { className: "supporting-documents-container", children: [jsxRuntimeExports.jsxs("button", { type: "button", onClick: () => setIsDocumentsExpanded(!isDocumentsExpanded), className: "supporting-documents-title-button w-full flex items-center text-left", children: [jsxRuntimeExports.jsx("span", { className: "font-semibold", style: { fontFamily: 'Roboto, sans-serif', fontSize: '16px' }, children: translate('common.supportedDocuments') || 'Supported Documents' }), jsxRuntimeExports.jsx("img", { src: img$7, alt: "Toggle Documents", className:
|
|
3615
|
+
}), hasSupportingDocuments && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("hr", { className: "my-4 w-full", style: { height: '1px', backgroundColor: '#F2BA1A', border: 'none' } }), jsxRuntimeExports.jsxs("div", { className: "supporting-documents-container", children: [jsxRuntimeExports.jsxs("button", { type: "button", onClick: () => setIsDocumentsExpanded(!isDocumentsExpanded), className: "supporting-documents-title-button w-full flex items-center text-left", children: [jsxRuntimeExports.jsx("span", { className: "font-semibold", style: { fontFamily: 'Roboto, sans-serif', fontSize: '16px' }, children: translate('common.supportedDocuments') || 'Supported Documents' }), jsxRuntimeExports.jsx("img", { src: isDocumentsExpanded ? img$7 : img$6, alt: "Toggle Documents", className: "w-4 h-2.25 transition-transform ml-2" })] }), isDocumentsExpanded && (jsxRuntimeExports.jsx("div", { className: "supporting-documents-grid mt-4", children: supportingDocuments.map((doc, index) => {
|
|
3589
3616
|
const docConfig = createDocumentWidgetConfig(doc, sectionId, index);
|
|
3590
3617
|
return (jsxRuntimeExports.jsx("div", { className: "supporting-document-item", children: jsxRuntimeExports.jsx(FileInputWidget, { config: docConfig }) }, `${sectionId}-doc-${index}`));
|
|
3591
|
-
}) }))] })] })), jsxRuntimeExports.jsx("hr", { className: "w-full", style: { height: '1px', backgroundColor: '#F2BA1A', border: 'none', marginTop: hasSupportingDocuments ? '20px' : 0, marginBottom: '20px' } }), jsxRuntimeExports.jsx("div", { className: "edit-controls-container", style: { marginBottom: '20px' }, children: jsxRuntimeExports.jsxs("div", { className: "edit-controls-buttons", children: [jsxRuntimeExports.jsx("button", { onClick: handleCancel, className: "bg-white hover:bg-gray-50 text-gray-900 text-sm font-medium px-6 py-2 transition-colors border border-gray-300", style: { fontFamily: 'Roboto, sans-serif', borderRadius: '10px' }, children: translate('common.cancel') || 'Cancel' }), jsxRuntimeExports.jsx("button", { onClick: handleSave, className: "bg-gray-900 hover:bg-gray-800 text-white text-sm font-medium px-6 py-2 transition-colors", style: { fontFamily: 'Roboto, sans-serif', borderRadius: '10px' }, children: translate('common.save') || 'Save' })] }) })] })] })] }), document.body);
|
|
3618
|
+
}) }))] })] })), jsxRuntimeExports.jsx("hr", { className: "w-full", style: { height: '1px', backgroundColor: '#F2BA1A', border: 'none', marginTop: hasSupportingDocuments ? '20px' : 0, marginBottom: '20px' } }), jsxRuntimeExports.jsx("div", { className: "edit-controls-container", style: { marginBottom: '20px' }, children: jsxRuntimeExports.jsxs("div", { className: "edit-controls-buttons", children: [jsxRuntimeExports.jsx("button", { onClick: handleCancel, className: "bg-white hover:bg-gray-50 text-gray-900 text-sm font-medium px-6 py-2 transition-colors border border-gray-300", style: { fontFamily: 'Roboto, sans-serif', borderRadius: '10px' }, children: translate('common.cancel') || 'Cancel' }), jsxRuntimeExports.jsx("button", { onClick: handleSave, disabled: !isDirty, className: "bg-gray-900 hover:bg-gray-800 text-white text-sm font-medium px-6 py-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed", style: { fontFamily: 'Roboto, sans-serif', borderRadius: '10px' }, children: translate('common.save') || 'Save' })] }) })] })] })] }), document.body);
|
|
3592
3619
|
};
|
|
3593
|
-
const trackSectionChages = (widgets, sourceData) => {
|
|
3620
|
+
const trackSectionChages = (widgets, sourceData, pathPrefix) => {
|
|
3594
3621
|
if (!widgets || widgets.length === 0)
|
|
3595
3622
|
return [];
|
|
3596
3623
|
const snapshot = {};
|
|
3597
3624
|
let hasTable = false;
|
|
3598
3625
|
if (!sectionRegisterId)
|
|
3599
3626
|
return [];
|
|
3627
|
+
const resolvePath = (path) => (pathPrefix ? `${pathPrefix}.${path}` : path);
|
|
3600
3628
|
widgets.forEach(widget => {
|
|
3601
3629
|
const widgetPath = widget['widget-data-path'];
|
|
3602
3630
|
if (!widgetPath)
|
|
@@ -3607,14 +3635,14 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3607
3635
|
hasTable = true;
|
|
3608
3636
|
}
|
|
3609
3637
|
if (typeof widgetPath === 'object') {
|
|
3610
|
-
Object.values(widgetPath).forEach(path => {
|
|
3638
|
+
Object.values(widgetPath).forEach((path) => {
|
|
3611
3639
|
if (typeof path === 'string' && path.length > 0) {
|
|
3612
|
-
snapshot[path] = getValueByPath(sourceData, path);
|
|
3640
|
+
snapshot[path] = getValueByPath(sourceData, resolvePath(path));
|
|
3613
3641
|
}
|
|
3614
3642
|
});
|
|
3615
3643
|
}
|
|
3616
3644
|
else if (typeof widgetPath === 'string') {
|
|
3617
|
-
snapshot[widgetPath] = getValueByPath(sourceData, widgetPath);
|
|
3645
|
+
snapshot[widgetPath] = getValueByPath(sourceData, resolvePath(widgetPath));
|
|
3618
3646
|
}
|
|
3619
3647
|
});
|
|
3620
3648
|
if (!hasTable) {
|
|
@@ -3625,9 +3653,12 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3625
3653
|
: fullPath;
|
|
3626
3654
|
cleanedSnapshot[fieldPath] = value;
|
|
3627
3655
|
});
|
|
3656
|
+
const sectionData = pathPrefix
|
|
3657
|
+
? getValueByPath(sourceData, resolvePath(sectionRegisterId))
|
|
3658
|
+
: sourceData[sectionRegisterId];
|
|
3628
3659
|
return [
|
|
3629
3660
|
{
|
|
3630
|
-
...
|
|
3661
|
+
...sectionData,
|
|
3631
3662
|
...cleanedSnapshot,
|
|
3632
3663
|
edit_action: "UPDATE",
|
|
3633
3664
|
},
|
|
@@ -3639,6 +3670,106 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3639
3670
|
// Get original section (without namespace) for building snapshots
|
|
3640
3671
|
// This ensures we use the original data paths when saving
|
|
3641
3672
|
const originalSection = section;
|
|
3673
|
+
/** Build a full section snapshot (records + files) for dirty comparison. Works with or without sectionRegisterId (e.g. IntakeForm). */
|
|
3674
|
+
const buildSectionSnapshot = useCallback((sourceData, pathPrefix) => {
|
|
3675
|
+
const sectionWidgets = collectWidgets(originalSection.panels);
|
|
3676
|
+
const resolvePath = (path) => (pathPrefix ? `${pathPrefix}.${path}` : path);
|
|
3677
|
+
let records;
|
|
3678
|
+
const recordsFromTrack = trackSectionChages(sectionWidgets, sourceData, pathPrefix);
|
|
3679
|
+
if (recordsFromTrack.length > 0) {
|
|
3680
|
+
records = recordsFromTrack;
|
|
3681
|
+
}
|
|
3682
|
+
else {
|
|
3683
|
+
// IntakeForm / no sectionRegisterId: build comparable snapshot from widget values
|
|
3684
|
+
const snapshot = {};
|
|
3685
|
+
sectionWidgets.forEach((widget) => {
|
|
3686
|
+
const widgetPath = widget['widget-data-path'];
|
|
3687
|
+
if (!widgetPath)
|
|
3688
|
+
return;
|
|
3689
|
+
if (typeof widgetPath === 'object') {
|
|
3690
|
+
Object.values(widgetPath).forEach((path) => {
|
|
3691
|
+
if (typeof path === 'string' && path.length > 0) {
|
|
3692
|
+
snapshot[path] = getValueByPath(sourceData, resolvePath(path));
|
|
3693
|
+
}
|
|
3694
|
+
});
|
|
3695
|
+
}
|
|
3696
|
+
else if (typeof widgetPath === 'string') {
|
|
3697
|
+
snapshot[widgetPath] = getValueByPath(sourceData, resolvePath(widgetPath));
|
|
3698
|
+
}
|
|
3699
|
+
});
|
|
3700
|
+
records = [{ ...snapshot }];
|
|
3701
|
+
}
|
|
3702
|
+
const files = [];
|
|
3703
|
+
if (hasSupportingDocuments) {
|
|
3704
|
+
const originalSupportingDocuments = originalSection['section-supporting-documents'] || [];
|
|
3705
|
+
originalSupportingDocuments.forEach((doc) => {
|
|
3706
|
+
const originalDataPath = doc['document-data-path'];
|
|
3707
|
+
const storeDataPath = pathPrefix && originalDataPath
|
|
3708
|
+
? `${pathPrefix}.${originalDataPath}`
|
|
3709
|
+
: originalDataPath;
|
|
3710
|
+
files.push(getValueByPath(sourceData, storeDataPath));
|
|
3711
|
+
});
|
|
3712
|
+
}
|
|
3713
|
+
return { records, files };
|
|
3714
|
+
}, [originalSection, hasSupportingDocuments]);
|
|
3715
|
+
// Capture baseline when entering edit mode (used for isDirty comparison)
|
|
3716
|
+
const baselineSnapshotRef = useRef(null);
|
|
3717
|
+
// IntakeForm only: increment when baseline is updated after save - forces badge to update (refs don't trigger re-renders)
|
|
3718
|
+
const [intakeFormBaselineTrigger, setIntakeFormBaselineTrigger] = useState(0);
|
|
3719
|
+
// IntakeForm: treat as edit mode for dirty tracking when isDraft. RegistryView: use isEditMode.
|
|
3720
|
+
const effectiveEditModeForDirty = mode === 'IntakeForm' ? (isDraft !== false) : isEditMode;
|
|
3721
|
+
// Compute isDirty: compare current store state to baseline (only when in edit mode)
|
|
3722
|
+
const isDirty = useMemo(() => {
|
|
3723
|
+
if (!effectiveEditModeForDirty)
|
|
3724
|
+
return false;
|
|
3725
|
+
const baseline = baselineSnapshotRef.current;
|
|
3726
|
+
if (!baseline)
|
|
3727
|
+
return false;
|
|
3728
|
+
const currentSnapshot = buildSectionSnapshot(storeValues, namespace);
|
|
3729
|
+
return JSON.stringify(baseline) !== JSON.stringify(currentSnapshot);
|
|
3730
|
+
}, [effectiveEditModeForDirty, storeValues, namespace, buildSectionSnapshot, intakeFormBaselineTrigger]);
|
|
3731
|
+
// Set baseline when entering edit mode; clear when leaving (baseline captured only on entry)
|
|
3732
|
+
useEffect(() => {
|
|
3733
|
+
if (effectiveEditModeForDirty) {
|
|
3734
|
+
const oldSchemaData = schemaData || contextSchemaData || {};
|
|
3735
|
+
if (namespace) {
|
|
3736
|
+
const namespacedSchema = getValueByPath(oldSchemaData, namespace);
|
|
3737
|
+
baselineSnapshotRef.current = namespacedSchema
|
|
3738
|
+
? buildSectionSnapshot(namespacedSchema)
|
|
3739
|
+
: buildSectionSnapshot(oldSchemaData);
|
|
3740
|
+
}
|
|
3741
|
+
else {
|
|
3742
|
+
baselineSnapshotRef.current = buildSectionSnapshot(oldSchemaData);
|
|
3743
|
+
}
|
|
3744
|
+
}
|
|
3745
|
+
else {
|
|
3746
|
+
baselineSnapshotRef.current = null;
|
|
3747
|
+
onSectionDirtyChange?.(sectionId, false);
|
|
3748
|
+
}
|
|
3749
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- baseline must be captured only when effectiveEditModeForDirty toggles
|
|
3750
|
+
}, [effectiveEditModeForDirty]);
|
|
3751
|
+
// Notify parent when isDirty changes (only while in edit mode)
|
|
3752
|
+
useEffect(() => {
|
|
3753
|
+
if (effectiveEditModeForDirty && onSectionDirtyChange) {
|
|
3754
|
+
onSectionDirtyChange(sectionId, isDirty);
|
|
3755
|
+
}
|
|
3756
|
+
}, [effectiveEditModeForDirty, isDirty, sectionId, onSectionDirtyChange]);
|
|
3757
|
+
// IntakeForm only: section status badge (Saved / Modified and not saved / no badge when pristine)
|
|
3758
|
+
const intakeFormSectionStatus = useMemo(() => {
|
|
3759
|
+
if (mode !== 'IntakeForm')
|
|
3760
|
+
return null;
|
|
3761
|
+
const hasValue = (v) => v !== undefined && v !== null && (typeof v !== 'string' || v.trim().length > 0);
|
|
3762
|
+
const currentSnapshot = buildSectionSnapshot(storeValues, namespace);
|
|
3763
|
+
const record = currentSnapshot.records?.[0];
|
|
3764
|
+
const hasData = record &&
|
|
3765
|
+
typeof record === 'object' &&
|
|
3766
|
+
Object.values(record).some((v) => hasValue(v));
|
|
3767
|
+
if (isDirty)
|
|
3768
|
+
return 'modified';
|
|
3769
|
+
if (hasData)
|
|
3770
|
+
return 'saved';
|
|
3771
|
+
return null;
|
|
3772
|
+
}, [mode, isDirty, storeValues, namespace, buildSectionSnapshot]);
|
|
3642
3773
|
// Handle save button click
|
|
3643
3774
|
const handleSave = async () => {
|
|
3644
3775
|
if (!store || !onSectionSave) {
|
|
@@ -3657,8 +3788,8 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3657
3788
|
}
|
|
3658
3789
|
// schema data before section change
|
|
3659
3790
|
const oldSchemaData = schemaData || contextSchemaData;
|
|
3660
|
-
// schema data after section change
|
|
3661
|
-
const newSchemaData = trackSectionChages(sectionWidgets, currentSchemaData);
|
|
3791
|
+
// schema data after section change (use namespace when store has namespaced paths)
|
|
3792
|
+
const newSchemaData = trackSectionChages(sectionWidgets, currentSchemaData, namespace);
|
|
3662
3793
|
// Include supporting documents in the snapshot if they exist
|
|
3663
3794
|
const sectionFiles = [];
|
|
3664
3795
|
if (hasSupportingDocuments) {
|
|
@@ -3689,6 +3820,51 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3689
3820
|
}
|
|
3690
3821
|
setIsEditMode(false);
|
|
3691
3822
|
};
|
|
3823
|
+
// IntakeForm: save section then collapse current and expand next (or stay on final section)
|
|
3824
|
+
const handleIntakeFormSave = useCallback(async () => {
|
|
3825
|
+
if (!store || !onSectionSave || sectionIndex === undefined)
|
|
3826
|
+
return;
|
|
3827
|
+
const sectionWidgets = collectWidgets(originalSection.panels);
|
|
3828
|
+
const currentState = store.getState().widget;
|
|
3829
|
+
const currentSchemaData = currentState.values || {};
|
|
3830
|
+
const isSectionValid = sectionValidate(originalSection, currentSchemaData, dispatch);
|
|
3831
|
+
if (!isSectionValid)
|
|
3832
|
+
return;
|
|
3833
|
+
const oldSchemaData = schemaData || contextSchemaData;
|
|
3834
|
+
const newSchemaData = trackSectionChages(sectionWidgets, currentSchemaData, namespace);
|
|
3835
|
+
const sectionFiles = [];
|
|
3836
|
+
if (hasSupportingDocuments) {
|
|
3837
|
+
const originalSupportingDocuments = originalSection['section-supporting-documents'] || [];
|
|
3838
|
+
originalSupportingDocuments.forEach((doc) => {
|
|
3839
|
+
const originalDataPath = doc['document-data-path'];
|
|
3840
|
+
const storeDataPath = namespace && originalDataPath
|
|
3841
|
+
? `${namespace}.${originalDataPath}`
|
|
3842
|
+
: originalDataPath;
|
|
3843
|
+
sectionFiles.push(getValueByPath(currentSchemaData, storeDataPath));
|
|
3844
|
+
});
|
|
3845
|
+
}
|
|
3846
|
+
if (JSON.stringify(oldSchemaData) !== JSON.stringify(newSchemaData)) {
|
|
3847
|
+
try {
|
|
3848
|
+
await onSectionSave({
|
|
3849
|
+
section_id: dbSectionId,
|
|
3850
|
+
section_register_id: sectionRegisterId,
|
|
3851
|
+
records: [...newSchemaData],
|
|
3852
|
+
files: [...sectionFiles],
|
|
3853
|
+
});
|
|
3854
|
+
}
|
|
3855
|
+
catch (error) {
|
|
3856
|
+
console.error('Section Changes Save failed', error);
|
|
3857
|
+
return;
|
|
3858
|
+
}
|
|
3859
|
+
}
|
|
3860
|
+
// IntakeForm only: update baseline so section is no longer dirty; trigger re-render so badge updates to "Saved"
|
|
3861
|
+
if (mode === 'IntakeForm') {
|
|
3862
|
+
baselineSnapshotRef.current = buildSectionSnapshot(currentSchemaData, namespace);
|
|
3863
|
+
setIntakeFormBaselineTrigger((prev) => prev + 1);
|
|
3864
|
+
}
|
|
3865
|
+
onSectionDirtyChange?.(sectionId, false);
|
|
3866
|
+
onSectionSaveSuccess?.(sectionIndex);
|
|
3867
|
+
}, [store, onSectionSave, onSectionSaveSuccess, sectionIndex, originalSection, schemaData, contextSchemaData, namespace, hasSupportingDocuments, dbSectionId, sectionRegisterId, dispatch, buildSectionSnapshot, sectionId, onSectionDirtyChange, mode]);
|
|
3692
3868
|
// Handle cancel button click
|
|
3693
3869
|
const handleCancel = () => {
|
|
3694
3870
|
// Revert values in store to original schema data
|
|
@@ -3907,12 +4083,57 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3907
4083
|
align-items: center;
|
|
3908
4084
|
gap: 0.5rem;
|
|
3909
4085
|
}
|
|
3910
|
-
|
|
4086
|
+
|
|
4087
|
+
/* IntakeForm accordion */
|
|
4088
|
+
.${sectionClassId}.intake-form-accordion-item {
|
|
4089
|
+
border-color: #E5E7EB;
|
|
4090
|
+
transition: box-shadow 0.2s ease, border-color 0.2s ease;
|
|
4091
|
+
}
|
|
4092
|
+
.${sectionClassId}.intake-form-accordion-item:hover {
|
|
4093
|
+
border-color: #D1D5DB;
|
|
4094
|
+
}
|
|
4095
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-accordion-header {
|
|
4096
|
+
transition: opacity 0.2s ease, background-color 0.2s ease;
|
|
4097
|
+
}
|
|
4098
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-accordion-header:hover {
|
|
4099
|
+
opacity: 0.85;
|
|
4100
|
+
}
|
|
4101
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-accordion-header:focus-visible {
|
|
4102
|
+
outline: 2px solid #F2BA1A;
|
|
4103
|
+
outline-offset: 2px;
|
|
4104
|
+
}
|
|
4105
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-accordion-content {
|
|
4106
|
+
padding-top: 8px;
|
|
4107
|
+
padding-bottom: 4px;
|
|
4108
|
+
}
|
|
4109
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-edit-controls {
|
|
4110
|
+
justify-content: flex-end;
|
|
4111
|
+
width: 100%;
|
|
4112
|
+
}
|
|
4113
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-prev-btn {
|
|
4114
|
+
color: rgba(0, 0, 0, 0.5) !important;
|
|
4115
|
+
}
|
|
4116
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-prev-btn:disabled {
|
|
4117
|
+
color: rgba(0, 0, 0, 0.3) !important;
|
|
4118
|
+
}
|
|
4119
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-prev-btn:hover:not(:disabled) {
|
|
4120
|
+
background-color: #F3F4F6;
|
|
4121
|
+
border-color: #FD8C3E;
|
|
4122
|
+
}
|
|
4123
|
+
.${sectionClassId}.intake-form-accordion-item .intake-form-save-btn:hover:not(:disabled) {
|
|
4124
|
+
background-color: #E5E7EB;
|
|
4125
|
+
}
|
|
4126
|
+
` }), jsxRuntimeExports.jsx("div", { ref: sectionRef, className: `section ${sectionClassId} px-4 sm:px-6 lg:px-8 border-2 border-white ${mode === 'IntakeForm' ? 'intake-form-accordion-item' : ''}`, "data-section-id": sectionId, "data-has-table": hasTableWidget ? 'true' : 'false', "data-has-explicit-span": hasExplicitTableSpan ? 'true' : 'false', "data-edit-mode": isEditMode ? 'true' : 'false', "data-section-dirty": isEditMode && isDirty ? 'true' : 'false', "data-column-span": columnSpan, "data-change-request-type": changeRequestType, "data-intake-form-expanded": mode === 'IntakeForm' ? (isExpanded ? 'true' : 'false') : undefined, style: {
|
|
3911
4127
|
gridColumn: `span ${columnSpan}`,
|
|
3912
4128
|
width: '100%',
|
|
3913
4129
|
borderRadius: '10px',
|
|
3914
|
-
|
|
3915
|
-
|
|
4130
|
+
// IntakeForm expanded: edit-mode colors. Others: normal or faded for old CR
|
|
4131
|
+
...(mode === 'IntakeForm' && isExpanded
|
|
4132
|
+
? { backgroundColor: '#F3E6BC', border: '1px dashed #ED7C22' }
|
|
4133
|
+
: {
|
|
4134
|
+
backgroundColor: changeRequestType === 'old' ? '#F9F9F9' : '#FFFFFF',
|
|
4135
|
+
opacity: changeRequestType === 'old' ? 0.95 : 1,
|
|
4136
|
+
}),
|
|
3916
4137
|
...(isEditMode && sectionHeight ? {
|
|
3917
4138
|
height: `${sectionHeight}px`,
|
|
3918
4139
|
minHeight: `${sectionHeight}px`
|
|
@@ -3921,81 +4142,225 @@ const SectionRenderer = ({ section, dataSourceRequestHandler: propDataSourceRequ
|
|
|
3921
4142
|
minHeight: 'auto',
|
|
3922
4143
|
height: 'auto'
|
|
3923
4144
|
}),
|
|
3924
|
-
}, children:
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
4145
|
+
}, children: mode === 'IntakeForm' ? (
|
|
4146
|
+
/* IntakeForm: accordion layout - header always visible, content only when expanded */
|
|
4147
|
+
jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsxs("button", { type: "button", id: `intake-form-accordion-header-${sectionId}`, className: "intake-form-accordion-header", onClick: handleAccordionToggle, "aria-expanded": isExpanded, "aria-controls": isExpanded ? `intake-form-accordion-content-${sectionId}` : undefined, style: {
|
|
4148
|
+
width: '100%',
|
|
4149
|
+
display: 'flex',
|
|
4150
|
+
alignItems: 'flex-start',
|
|
4151
|
+
justifyContent: 'space-between',
|
|
4152
|
+
padding: '16px 0',
|
|
4153
|
+
marginTop: '16px',
|
|
4154
|
+
marginBottom: 0,
|
|
4155
|
+
background: 'none',
|
|
4156
|
+
border: 'none',
|
|
4157
|
+
cursor: 'pointer',
|
|
4158
|
+
textAlign: 'left',
|
|
4159
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4160
|
+
}, children: [jsxRuntimeExports.jsxs("div", { style: { flex: 1, display: 'flex', alignItems: 'center', gap: '12px', minWidth: 0 }, children: [jsxRuntimeExports.jsx("h2", { className: "text-xl font-semibold", style: { margin: 0 }, children: sectionToRender['section-title']
|
|
4161
|
+
? translateConfig(sectionToRender['section-title'])
|
|
4162
|
+
: `Section ${(sectionIndex ?? 0) + 1}` }), intakeFormSectionStatus === 'saved' && (jsxRuntimeExports.jsx("span", { style: {
|
|
4163
|
+
display: 'inline-block',
|
|
4164
|
+
padding: '4px 10px',
|
|
4165
|
+
borderRadius: '9999px',
|
|
4166
|
+
fontSize: '12px',
|
|
4167
|
+
fontWeight: 500,
|
|
4168
|
+
backgroundColor: '#D1FAE5',
|
|
4169
|
+
color: '#047857',
|
|
4170
|
+
}, children: translate('common.sectionSaved') || 'Saved' })), intakeFormSectionStatus === 'modified' && (jsxRuntimeExports.jsx("span", { style: {
|
|
4171
|
+
display: 'inline-block',
|
|
4172
|
+
padding: '4px 10px',
|
|
4173
|
+
borderRadius: '9999px',
|
|
4174
|
+
fontSize: '12px',
|
|
4175
|
+
fontWeight: 500,
|
|
4176
|
+
backgroundColor: '#FEE2E2',
|
|
4177
|
+
color: '#B91C1C',
|
|
4178
|
+
}, children: translate('common.sectionModified') || 'Modified and not saved' }))] }), jsxRuntimeExports.jsx("img", { src: isExpanded ? img$7 : img$6, alt: isExpanded ? 'Collapse' : 'Expand', className: "w-5 h-5 transition-transform", style: { flexShrink: 0, marginLeft: '12px' }, "aria-hidden": true })] }), isExpanded && (jsxRuntimeExports.jsx("div", { id: `intake-form-accordion-content-${sectionId}`, className: "intake-form-accordion-content", role: "region", "aria-labelledby": `intake-form-accordion-header-${sectionId}`, children: jsxRuntimeExports.jsxs("div", { id: gridId, className: "section-panels", style: { paddingTop: '8px' }, children: [editableSection.panels.map((panel, index) => (jsxRuntimeExports.jsx("div", { className: "panel-wrapper", children: jsxRuntimeExports.jsx(PanelRenderer, { panel: panel, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: namespacedSchemaData, onValueChange: onValueChange }) }, panel['panel-id'] || `section-panel-${index}`))), hasSupportingDocuments && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("hr", { className: "my-4 w-full", style: { height: '1px', backgroundColor: '#E5E7EB', border: 'none' } }), jsxRuntimeExports.jsxs("div", { className: "supporting-documents-container", children: [jsxRuntimeExports.jsx("span", { className: "font-semibold", style: { fontFamily: 'Roboto, sans-serif', fontSize: '16px' }, children: translate('common.supportedDocuments') || 'Supported Documents' }), jsxRuntimeExports.jsx("div", { className: "supporting-documents-grid mt-4", children: supportingDocuments.map((doc, docIndex) => {
|
|
4179
|
+
const docConfig = createDocumentWidgetConfig(doc, sectionId, docIndex);
|
|
4180
|
+
return (jsxRuntimeExports.jsx("div", { className: "supporting-document-item", children: jsxRuntimeExports.jsx(FileInputWidget, { config: docConfig }) }, `${sectionId}-doc-${docIndex}`));
|
|
4181
|
+
}) })] })] })), jsxRuntimeExports.jsx("hr", { className: "my-4 w-full", style: { height: '1px', backgroundColor: '#E5E7EB', border: 'none' } }), jsxRuntimeExports.jsxs("div", { className: "intake-form-edit-controls", style: {
|
|
3947
4182
|
display: 'flex',
|
|
3948
|
-
justifyContent: '
|
|
4183
|
+
justifyContent: 'flex-end',
|
|
3949
4184
|
alignItems: 'center',
|
|
4185
|
+
gap: '12px',
|
|
4186
|
+
marginBottom: '20px',
|
|
3950
4187
|
width: '100%',
|
|
3951
|
-
}, children: [jsxRuntimeExports.jsxs("
|
|
3952
|
-
|
|
4188
|
+
}, children: [jsxRuntimeExports.jsxs("button", { type: "button", onClick: () => onPreviousSection?.(sectionIndex), disabled: sectionIndex === 0, className: "intake-form-prev-btn", style: {
|
|
4189
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4190
|
+
fontSize: '14px',
|
|
4191
|
+
fontWeight: 400,
|
|
4192
|
+
padding: '8px 24px',
|
|
4193
|
+
borderRadius: '10px',
|
|
4194
|
+
border: '1px solid #FD8C3E',
|
|
4195
|
+
background: '#F3F4F6',
|
|
4196
|
+
color: sectionIndex === 0 ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.5)',
|
|
4197
|
+
cursor: sectionIndex === 0 ? 'not-allowed' : 'pointer',
|
|
4198
|
+
display: 'inline-flex',
|
|
3953
4199
|
alignItems: 'center',
|
|
3954
|
-
gap: '
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
}, children: crViewData.createdBy })), jsxRuntimeExports.jsx("img", { src: img$5, alt: "Calendar", width: "16", height: "16", style: { marginLeft: '6px' } }), crViewData?.createdDate && (jsxRuntimeExports.jsx("span", { style: {
|
|
3967
|
-
fontFamily: 'Roboto, sans-serif',
|
|
3968
|
-
fontSize: '14px',
|
|
3969
|
-
color: '#000000',
|
|
3970
|
-
fontWeight: 'normal',
|
|
3971
|
-
}, children: crViewData.createdDate }))] }), jsxRuntimeExports.jsxs("div", { className: "approved-by-section", style: {
|
|
3972
|
-
display: 'flex',
|
|
4200
|
+
gap: '8px',
|
|
4201
|
+
}, children: [jsxRuntimeExports.jsx("img", { src: img$5, alt: "", "aria-hidden": true, style: { width: '14px', height: '14px', opacity: sectionIndex === 0 ? 0.5 : 0.5 } }), translate('common.previous') || 'Prev'] }), jsxRuntimeExports.jsxs("button", { type: "button", onClick: handleIntakeFormSave, disabled: isDraft === false, className: "intake-form-save-btn", style: {
|
|
4202
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4203
|
+
fontSize: '14px',
|
|
4204
|
+
fontWeight: 400,
|
|
4205
|
+
padding: '8px 24px',
|
|
4206
|
+
borderRadius: '10px',
|
|
4207
|
+
border: '1px solid #FD8C3E',
|
|
4208
|
+
background: isDraft === false ? '#9CA3AF' : '#F3F4F6',
|
|
4209
|
+
color: isDraft === false ? 'rgba(0, 0, 0, 0.3)' : 'rgba(0, 0, 0, 0.5)',
|
|
4210
|
+
cursor: isDraft === false ? 'not-allowed' : 'pointer',
|
|
4211
|
+
display: 'inline-flex',
|
|
3973
4212
|
alignItems: 'center',
|
|
3974
|
-
gap: '
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
3983
|
-
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
|
|
4213
|
+
gap: '8px',
|
|
4214
|
+
}, children: [translate('common.save') || 'Save', jsxRuntimeExports.jsx("img", { src: img$4, alt: "", "aria-hidden": true, style: { width: '14px', height: '14px' } })] })] })] }) }))] })) : (
|
|
4215
|
+
/* RegistryView / CRView: standard layout */
|
|
4216
|
+
jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [sectionToRender['section-title'] && (jsxRuntimeExports.jsxs("div", { style: {
|
|
4217
|
+
marginTop: '35px',
|
|
4218
|
+
marginBottom: '16px',
|
|
4219
|
+
display: 'flex',
|
|
4220
|
+
alignItems: 'center',
|
|
4221
|
+
gap: '12px',
|
|
4222
|
+
flexWrap: 'wrap',
|
|
4223
|
+
}, children: [jsxRuntimeExports.jsx("h2", { className: "text-xl font-semibold", style: { margin: 0 }, children: translateConfig(sectionToRender['section-title']) }), mode === 'CRView' && changeRequestType && showChangeRequestLabel && (jsxRuntimeExports.jsx("span", { style: {
|
|
4224
|
+
display: 'inline-flex',
|
|
4225
|
+
alignItems: 'center',
|
|
4226
|
+
padding: '4px 12px',
|
|
4227
|
+
borderRadius: '4px',
|
|
4228
|
+
fontSize: '12px',
|
|
4229
|
+
fontWeight: 600,
|
|
4230
|
+
textTransform: 'uppercase',
|
|
4231
|
+
letterSpacing: '0.5px',
|
|
4232
|
+
backgroundColor: changeRequestType === 'new' ? '#28a745' : '#ffcccc', // Green for new, faded red for old
|
|
4233
|
+
color: changeRequestType === 'new' ? '#FFFFFF' : '#cc0000',
|
|
4234
|
+
whiteSpace: 'nowrap',
|
|
4235
|
+
boxShadow: changeRequestType === 'new' ? '0 2px 4px rgba(40, 167, 69, 0.3)' : 'none',
|
|
4236
|
+
}, children: changeRequestType === 'new' ? 'New' : 'Old' }))] })), jsxRuntimeExports.jsxs("div", { id: gridId, className: "section-panels", style: mode === 'RegistryView' && hideEditButton ? { paddingBottom: '40px' } : {}, children: [editableSection.panels.map((panel, index) => (jsxRuntimeExports.jsx("div", { className: "panel-wrapper", children: jsxRuntimeExports.jsx(PanelRenderer, { panel: panel, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: namespacedSchemaData, onValueChange: onValueChange }) }, panel['panel-id'] || `section-panel-${index}`))), mode === 'CRView' && crViewData && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("hr", { className: "border-gray-300 w-full", style: { height: '1px', marginTop: '20px', marginBottom: '0px' } }), jsxRuntimeExports.jsxs("div", { className: "cr-view-container", style: {
|
|
4237
|
+
marginTop: '20px',
|
|
4238
|
+
paddingBottom: '30px',
|
|
4239
|
+
display: 'flex',
|
|
4240
|
+
justifyContent: 'space-between',
|
|
4241
|
+
alignItems: 'center',
|
|
4242
|
+
width: '100%',
|
|
4243
|
+
}, children: [jsxRuntimeExports.jsxs("div", { className: "created-by-section", style: {
|
|
4244
|
+
display: 'flex',
|
|
4245
|
+
alignItems: 'center',
|
|
4246
|
+
gap: '6px',
|
|
4247
|
+
flex: 1,
|
|
4248
|
+
}, children: [jsxRuntimeExports.jsx("span", { style: {
|
|
4249
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4250
|
+
fontSize: '14px',
|
|
4251
|
+
color: '#000000',
|
|
4252
|
+
fontWeight: 'normal',
|
|
4253
|
+
}, children: "Created by" }), jsxRuntimeExports.jsx("img", { src: img$a, alt: "Person", width: "16", height: "16", style: { filter: 'brightness(0) saturate(100%) invert(56%) sepia(45%) saturate(5139%) hue-rotate(348deg) brightness(96%) contrast(92%)' } }), crViewData?.createdBy && (jsxRuntimeExports.jsx("span", { style: {
|
|
4254
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4255
|
+
fontSize: '14px',
|
|
4256
|
+
color: '#000000',
|
|
4257
|
+
fontWeight: 'normal',
|
|
4258
|
+
}, children: crViewData.createdBy })), jsxRuntimeExports.jsx("img", { src: img$9, alt: "Calendar", width: "16", height: "16", style: { marginLeft: '6px' } }), crViewData?.createdDate && (jsxRuntimeExports.jsx("span", { style: {
|
|
4259
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4260
|
+
fontSize: '14px',
|
|
4261
|
+
color: '#000000',
|
|
4262
|
+
fontWeight: 'normal',
|
|
4263
|
+
}, children: crViewData.createdDate }))] }), jsxRuntimeExports.jsxs("div", { className: "approved-by-section", style: {
|
|
4264
|
+
display: 'flex',
|
|
4265
|
+
alignItems: 'center',
|
|
4266
|
+
gap: '6px',
|
|
4267
|
+
flex: 1,
|
|
4268
|
+
justifyContent: 'flex-end',
|
|
4269
|
+
}, children: [jsxRuntimeExports.jsx("span", { style: {
|
|
4270
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4271
|
+
fontSize: '14px',
|
|
4272
|
+
color: '#000000',
|
|
4273
|
+
fontWeight: 'normal',
|
|
4274
|
+
}, children: "Approved by" }), jsxRuntimeExports.jsx("img", { src: img$a, alt: "Person", width: "16", height: "16", style: { filter: 'brightness(0) saturate(100%) invert(56%) sepia(45%) saturate(5139%) hue-rotate(348deg) brightness(96%) contrast(92%)' } }), crViewData?.approvedBy && (jsxRuntimeExports.jsx("span", { style: {
|
|
4275
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4276
|
+
fontSize: '14px',
|
|
4277
|
+
color: '#000000',
|
|
4278
|
+
fontWeight: 'normal',
|
|
4279
|
+
}, children: crViewData.approvedBy })), jsxRuntimeExports.jsx("img", { src: img$9, alt: "Calendar", width: "16", height: "16", style: { marginLeft: '6px' } }), crViewData?.approvedDate && (jsxRuntimeExports.jsx("span", { style: {
|
|
4280
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4281
|
+
fontSize: '14px',
|
|
4282
|
+
color: '#000000',
|
|
4283
|
+
fontWeight: 'normal',
|
|
4284
|
+
}, children: crViewData.approvedDate }))] })] })] })), mode === 'RegistryView' && !hideEditButton && (jsxRuntimeExports.jsx("hr", { className: "border-gray-300 w-full", style: { height: '1px', marginTop: !isEditMode ? '20px' : 0, marginBottom: '14px' } })), mode === 'RegistryView' && !isEditMode && !hideEditButton && (jsxRuntimeExports.jsx("div", { className: "flex justify-center items-center", style: { marginBottom: '20px' }, children: jsxRuntimeExports.jsxs("button", { onClick: handleEdit, className: "font-normal inline-flex items-center gap-2 bg-transparent border-0 p-0 cursor-pointer hover:opacity-80", style: {
|
|
4285
|
+
fontFamily: 'Roboto, sans-serif',
|
|
4286
|
+
fontSize: '16px',
|
|
4287
|
+
color: 'rgba(0, 0, 0, 0.50)'
|
|
4288
|
+
}, children: ["Edit Details", jsxRuntimeExports.jsx("img", { src: img$8, alt: "right-arrow", className: "w-3.5 h-3.5 brightness-0 opacity-50" })] }) }))] })] })) })] }));
|
|
3997
4289
|
};
|
|
3998
4290
|
|
|
4291
|
+
/**
|
|
4292
|
+
* Build SectionChanges from section config and current store values.
|
|
4293
|
+
* Works for intake forms (no sectionRegisterId) and edit flows (with sectionRegisterId).
|
|
4294
|
+
*/
|
|
4295
|
+
function buildSectionChanges(section, storeValues, namespace, options) {
|
|
4296
|
+
const sectionWidgets = collectWidgets(section.panels);
|
|
4297
|
+
const resolvePath = (path) => (namespace ? `${namespace}.${path}` : path);
|
|
4298
|
+
const snapshot = {};
|
|
4299
|
+
let hasTable = false;
|
|
4300
|
+
sectionWidgets.forEach((widget) => {
|
|
4301
|
+
const widgetPath = widget['widget-data-path'];
|
|
4302
|
+
if (!widgetPath)
|
|
4303
|
+
return;
|
|
4304
|
+
const widgetType = widget['widget-type'];
|
|
4305
|
+
if (widgetType === 'table' ||
|
|
4306
|
+
widgetType === 'simple-table' ||
|
|
4307
|
+
widget.widget === 'table') {
|
|
4308
|
+
hasTable = true;
|
|
4309
|
+
}
|
|
4310
|
+
if (typeof widgetPath === 'object') {
|
|
4311
|
+
Object.values(widgetPath).forEach((path) => {
|
|
4312
|
+
if (typeof path === 'string' && path.length > 0) {
|
|
4313
|
+
snapshot[path] = getValueByPath(storeValues, resolvePath(path));
|
|
4314
|
+
}
|
|
4315
|
+
});
|
|
4316
|
+
}
|
|
4317
|
+
else if (typeof widgetPath === 'string') {
|
|
4318
|
+
snapshot[widgetPath] = getValueByPath(storeValues, resolvePath(widgetPath));
|
|
4319
|
+
}
|
|
4320
|
+
});
|
|
4321
|
+
let records;
|
|
4322
|
+
if (!hasTable) {
|
|
4323
|
+
const cleanedSnapshot = {};
|
|
4324
|
+
Object.entries(snapshot).forEach(([fullPath, value]) => {
|
|
4325
|
+
const fieldPath = fullPath.includes('.')
|
|
4326
|
+
? fullPath.split('.').slice(1).join('.')
|
|
4327
|
+
: fullPath;
|
|
4328
|
+
cleanedSnapshot[fieldPath] = value;
|
|
4329
|
+
});
|
|
4330
|
+
const { sectionRegisterId } = {};
|
|
4331
|
+
const sectionData = sectionRegisterId && namespace
|
|
4332
|
+
? getValueByPath(storeValues, `${namespace}.${sectionRegisterId}`) || {}
|
|
4333
|
+
: (sectionRegisterId
|
|
4334
|
+
? storeValues[sectionRegisterId]
|
|
4335
|
+
: {}) || {};
|
|
4336
|
+
records = [
|
|
4337
|
+
{
|
|
4338
|
+
...sectionData,
|
|
4339
|
+
...cleanedSnapshot,
|
|
4340
|
+
...(sectionRegisterId ? { edit_action: 'UPDATE' } : {}),
|
|
4341
|
+
},
|
|
4342
|
+
];
|
|
4343
|
+
}
|
|
4344
|
+
else {
|
|
4345
|
+
const tableEntry = Object.entries(snapshot).find(([key, value]) => key.endsWith('.records') && Array.isArray(value));
|
|
4346
|
+
records = tableEntry ? tableEntry[1] : [];
|
|
4347
|
+
}
|
|
4348
|
+
const files = [];
|
|
4349
|
+
const supportingDocs = section['section-supporting-documents'] || [];
|
|
4350
|
+
supportingDocs.forEach((doc) => {
|
|
4351
|
+
const path = doc['document-data-path'];
|
|
4352
|
+
if (path) {
|
|
4353
|
+
files.push(getValueByPath(storeValues, resolvePath(path)));
|
|
4354
|
+
}
|
|
4355
|
+
});
|
|
4356
|
+
return {
|
|
4357
|
+
section_id: options?.dbSectionId ?? section['section-id'],
|
|
4358
|
+
section_register_id: options?.sectionRegisterId,
|
|
4359
|
+
records,
|
|
4360
|
+
files: files.length > 0 ? files : undefined,
|
|
4361
|
+
};
|
|
4362
|
+
}
|
|
4363
|
+
|
|
3999
4364
|
/**
|
|
4000
4365
|
* Recursively check if a panel contains a table widget
|
|
4001
4366
|
*/
|
|
@@ -4077,10 +4442,121 @@ const countVerticalPanels = (panels) => {
|
|
|
4077
4442
|
* - All sections align to the same grid, ensuring right-side alignment
|
|
4078
4443
|
* - Handles nested structure: multiple horizontal panels, each with multiple vertical panels
|
|
4079
4444
|
*/
|
|
4080
|
-
const SectionsContainer = ({ sections, dataSourceRequestHandler: propDataSourceRequestHandler, schemaData, onValueChange, className = '', onSectionSave, hideEditButton = false, mode = 'RegistryView', namespace, }) => {
|
|
4445
|
+
const SectionsContainer = ({ sections, dataSourceRequestHandler: propDataSourceRequestHandler, schemaData, onValueChange, className = '', onSectionSave, hideEditButton = false, mode = 'RegistryView', isDraft, namespace, onSectionDirtyChange, onFormReady, }) => {
|
|
4446
|
+
const store = useStore();
|
|
4447
|
+
const dispatch = useDispatch();
|
|
4448
|
+
useSelector((state) => state.widget?.values || {});
|
|
4081
4449
|
// Get dataSourceRequestHandler from context if not provided as prop
|
|
4082
|
-
const { dataSourceRequestHandler: contextDataSourceRequestHandler } = useWidgetContext();
|
|
4450
|
+
const { dataSourceRequestHandler: contextDataSourceRequestHandler, schemaData: contextSchemaData } = useWidgetContext();
|
|
4083
4451
|
const dataSourceRequestHandler = propDataSourceRequestHandler || contextDataSourceRequestHandler;
|
|
4452
|
+
// IntakeForm mode: accordion state - which section is expanded (null = none; first expanded by default)
|
|
4453
|
+
const [expandedSectionIndex, setExpandedSectionIndex] = useState(0);
|
|
4454
|
+
const safeSections = sections ?? [];
|
|
4455
|
+
const prevSectionsLengthRef = useRef(safeSections.length);
|
|
4456
|
+
// Track dirty (unsaved changes) per section for form handle validation
|
|
4457
|
+
const sectionDirtyMapRef = useRef({});
|
|
4458
|
+
const handleSectionDirtyChange = useCallback((sectionId, isDirty) => {
|
|
4459
|
+
sectionDirtyMapRef.current = { ...sectionDirtyMapRef.current, [sectionId]: isDirty };
|
|
4460
|
+
onSectionDirtyChange?.(sectionId, isDirty);
|
|
4461
|
+
}, [onSectionDirtyChange]);
|
|
4462
|
+
// Toggle: click expanded section to collapse; click collapsed section to expand
|
|
4463
|
+
const handleExpandSection = useCallback((index) => {
|
|
4464
|
+
setExpandedSectionIndex(prev => (prev === index ? null : index));
|
|
4465
|
+
}, []);
|
|
4466
|
+
// IntakeForm mode: called after section save - collapse current, expand next
|
|
4467
|
+
const handleSectionSaveSuccess = useCallback((index) => {
|
|
4468
|
+
if (index + 1 < safeSections.length) {
|
|
4469
|
+
setExpandedSectionIndex(index + 1);
|
|
4470
|
+
}
|
|
4471
|
+
// Last section: stay expanded (no action)
|
|
4472
|
+
}, [safeSections.length]);
|
|
4473
|
+
// IntakeForm mode: called when Previous clicked - collapse current, expand previous
|
|
4474
|
+
const handlePreviousSection = useCallback((index) => {
|
|
4475
|
+
if (index > 0) {
|
|
4476
|
+
setExpandedSectionIndex(index - 1);
|
|
4477
|
+
}
|
|
4478
|
+
}, []);
|
|
4479
|
+
// Reset/init expanded section when sections change or first load (e.g. async form load)
|
|
4480
|
+
useEffect(() => {
|
|
4481
|
+
if (mode !== 'IntakeForm')
|
|
4482
|
+
return;
|
|
4483
|
+
const currentLength = safeSections.length;
|
|
4484
|
+
const prevLength = prevSectionsLengthRef.current;
|
|
4485
|
+
// Clamp when sections shrink or invalid index
|
|
4486
|
+
if (currentLength > 0 && expandedSectionIndex !== null && expandedSectionIndex >= currentLength) {
|
|
4487
|
+
setExpandedSectionIndex(0);
|
|
4488
|
+
}
|
|
4489
|
+
// When sections first load (0 -> N), ensure first section is expanded
|
|
4490
|
+
if (prevLength === 0 && currentLength > 0) {
|
|
4491
|
+
setExpandedSectionIndex(0);
|
|
4492
|
+
}
|
|
4493
|
+
prevSectionsLengthRef.current = currentLength;
|
|
4494
|
+
}, [mode, safeSections.length, expandedSectionIndex]);
|
|
4495
|
+
const UNSAVED_CHANGES_ERROR = 'Unsaved changes detected. Please save all sections before submitting.';
|
|
4496
|
+
// Form handle for onFormReady - allows host to validate and get all section data from its own Submit button
|
|
4497
|
+
const formHandle = useMemo(() => {
|
|
4498
|
+
const getValues = () => store.getState().widget?.values || {};
|
|
4499
|
+
const getNamespace = (section, index) => namespace
|
|
4500
|
+
? typeof namespace === 'string'
|
|
4501
|
+
? namespace
|
|
4502
|
+
: namespace(section['section-id'], index)
|
|
4503
|
+
: undefined;
|
|
4504
|
+
const checkNoUnsavedChanges = () => {
|
|
4505
|
+
const hasDirty = Object.values(sectionDirtyMapRef.current).some(Boolean);
|
|
4506
|
+
if (hasDirty) {
|
|
4507
|
+
throw new Error(UNSAVED_CHANGES_ERROR);
|
|
4508
|
+
}
|
|
4509
|
+
};
|
|
4510
|
+
return {
|
|
4511
|
+
validate: async () => {
|
|
4512
|
+
checkNoUnsavedChanges();
|
|
4513
|
+
const values = getValues();
|
|
4514
|
+
let allValid = true;
|
|
4515
|
+
for (let i = 0; i < safeSections.length; i++) {
|
|
4516
|
+
const section = safeSections[i];
|
|
4517
|
+
const ns = getNamespace(section, i);
|
|
4518
|
+
const sectionToValidate = ns ? namespaceSectionConfig(section, ns) : section;
|
|
4519
|
+
const valid = sectionValidate(sectionToValidate, values, dispatch);
|
|
4520
|
+
if (!valid)
|
|
4521
|
+
allValid = false;
|
|
4522
|
+
}
|
|
4523
|
+
return allValid;
|
|
4524
|
+
},
|
|
4525
|
+
getFormData: () => getValues(),
|
|
4526
|
+
validateAndGetData: async () => {
|
|
4527
|
+
checkNoUnsavedChanges();
|
|
4528
|
+
const values = getValues();
|
|
4529
|
+
const results = [];
|
|
4530
|
+
for (let i = 0; i < safeSections.length; i++) {
|
|
4531
|
+
const section = safeSections[i];
|
|
4532
|
+
const ns = getNamespace(section, i);
|
|
4533
|
+
const sectionToValidate = ns ? namespaceSectionConfig(section, ns) : section;
|
|
4534
|
+
const valid = sectionValidate(sectionToValidate, values, dispatch);
|
|
4535
|
+
if (!valid) {
|
|
4536
|
+
throw new Error('Validation failed');
|
|
4537
|
+
}
|
|
4538
|
+
results.push(buildSectionChanges(section, values, ns));
|
|
4539
|
+
}
|
|
4540
|
+
return results;
|
|
4541
|
+
},
|
|
4542
|
+
getStructuredData: () => {
|
|
4543
|
+
const values = getValues();
|
|
4544
|
+
const results = [];
|
|
4545
|
+
for (let i = 0; i < safeSections.length; i++) {
|
|
4546
|
+
const section = safeSections[i];
|
|
4547
|
+
const ns = getNamespace(section, i);
|
|
4548
|
+
results.push(buildSectionChanges(section, values, ns));
|
|
4549
|
+
}
|
|
4550
|
+
return results;
|
|
4551
|
+
},
|
|
4552
|
+
};
|
|
4553
|
+
}, [store, dispatch, safeSections, namespace]);
|
|
4554
|
+
// Call onFormReady when form is ready (sections loaded)
|
|
4555
|
+
useEffect(() => {
|
|
4556
|
+
if (onFormReady && safeSections.length > 0) {
|
|
4557
|
+
onFormReady(formHandle);
|
|
4558
|
+
}
|
|
4559
|
+
}, [onFormReady, formHandle, safeSections.length]);
|
|
4084
4560
|
// Warn if dataSourceRequestHandler is missing
|
|
4085
4561
|
useEffect(() => {
|
|
4086
4562
|
if (!dataSourceRequestHandler) {
|
|
@@ -4092,7 +4568,7 @@ const SectionsContainer = ({ sections, dataSourceRequestHandler: propDataSourceR
|
|
|
4092
4568
|
// Find the maximum number of vertical panels across all sections
|
|
4093
4569
|
// This determines the grid size (minimum 3 columns)
|
|
4094
4570
|
// Also account for table widgets and their explicit column spans
|
|
4095
|
-
const maxVerticalPanels = Math.max(...
|
|
4571
|
+
const maxVerticalPanels = Math.max(...safeSections.map(section => {
|
|
4096
4572
|
const panelCount = countVerticalPanels(section.panels);
|
|
4097
4573
|
const tableWidgetSpan = getTableWidgetColumnSpan(section.panels);
|
|
4098
4574
|
// Use explicit table widget span if specified, otherwise use default logic
|
|
@@ -4130,14 +4606,38 @@ const SectionsContainer = ({ sections, dataSourceRequestHandler: propDataSourceR
|
|
|
4130
4606
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
4131
4607
|
}
|
|
4132
4608
|
}
|
|
4133
|
-
|
|
4609
|
+
|
|
4610
|
+
/* IntakeForm mode: vertical accordion list instead of grid */
|
|
4611
|
+
#${containerId}.sections-container-intake-form {
|
|
4612
|
+
display: flex;
|
|
4613
|
+
flex-direction: column;
|
|
4614
|
+
gap: 0.75rem;
|
|
4615
|
+
grid-template-columns: unset;
|
|
4616
|
+
}
|
|
4617
|
+
#${containerId}.sections-container-intake-form > .section {
|
|
4618
|
+
grid-column: unset;
|
|
4619
|
+
width: 100%;
|
|
4620
|
+
}
|
|
4621
|
+
` }), jsxRuntimeExports.jsx("div", { id: containerId, className: `sections-container ${className}${mode === 'IntakeForm' ? ' sections-container-intake-form' : ''}`, children: safeSections.map((section, index) => {
|
|
4134
4622
|
// Determine namespace for this section
|
|
4135
4623
|
const sectionNamespace = namespace
|
|
4136
4624
|
? (typeof namespace === 'string' ? namespace : namespace(section['section-id'], index))
|
|
4137
4625
|
: undefined;
|
|
4626
|
+
// IntakeForm mode: pass accordion state and handlers
|
|
4627
|
+
const intakeFormProps = mode === 'IntakeForm'
|
|
4628
|
+
? {
|
|
4629
|
+
sectionIndex: index,
|
|
4630
|
+
sectionCount: safeSections.length,
|
|
4631
|
+
expandedSectionIndex,
|
|
4632
|
+
onExpandSection: handleExpandSection,
|
|
4633
|
+
onSectionSaveSuccess: handleSectionSaveSuccess,
|
|
4634
|
+
onPreviousSection: handlePreviousSection,
|
|
4635
|
+
isDraft,
|
|
4636
|
+
}
|
|
4637
|
+
: {};
|
|
4138
4638
|
// Check if section has explicit column span
|
|
4139
4639
|
if (section['section-column-span']) {
|
|
4140
|
-
return (jsxRuntimeExports.jsx(SectionRenderer, { section: section, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: schemaData, onValueChange: onValueChange, gridColumnSpan: section['section-column-span'], onSectionSave: onSectionSave, hideEditButton: hideEditButton, mode: mode, namespace: sectionNamespace }, section['section-id']));
|
|
4640
|
+
return (jsxRuntimeExports.jsx(SectionRenderer, { section: section, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: schemaData, onValueChange: onValueChange, gridColumnSpan: section['section-column-span'], onSectionSave: onSectionSave, hideEditButton: hideEditButton, mode: mode, namespace: sectionNamespace, onSectionDirtyChange: handleSectionDirtyChange, ...intakeFormProps }, section['section-id']));
|
|
4141
4641
|
}
|
|
4142
4642
|
const verticalPanelsCount = countVerticalPanels(section.panels);
|
|
4143
4643
|
const tableWidgetColumnSpan = getTableWidgetColumnSpan(section.panels);
|
|
@@ -4148,7 +4648,7 @@ const SectionsContainer = ({ sections, dataSourceRequestHandler: propDataSourceR
|
|
|
4148
4648
|
const columnSpan = tableWidgetColumnSpan !== null
|
|
4149
4649
|
? tableWidgetColumnSpan
|
|
4150
4650
|
: (containsTable ? Math.max(verticalPanelsCount, 2) : verticalPanelsCount);
|
|
4151
|
-
return (jsxRuntimeExports.jsx(SectionRenderer, { section: section, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: schemaData, onValueChange: onValueChange, gridColumnSpan: columnSpan, onSectionSave: onSectionSave, hideEditButton: hideEditButton, mode: mode, namespace: sectionNamespace }, section['section-id']));
|
|
4651
|
+
return (jsxRuntimeExports.jsx(SectionRenderer, { section: section, dataSourceRequestHandler: dataSourceRequestHandler, schemaData: schemaData, onValueChange: onValueChange, gridColumnSpan: columnSpan, onSectionSave: onSectionSave, hideEditButton: hideEditButton, mode: mode, namespace: sectionNamespace, onSectionDirtyChange: handleSectionDirtyChange, ...intakeFormProps }, section['section-id']));
|
|
4152
4652
|
}) })] }));
|
|
4153
4653
|
};
|
|
4154
4654
|
|
|
@@ -8286,7 +8786,7 @@ const ProfileWidget = ({ config }) => {
|
|
|
8286
8786
|
if (placeholder) {
|
|
8287
8787
|
placeholder.style.display = 'flex';
|
|
8288
8788
|
}
|
|
8289
|
-
} })) : null, jsxRuntimeExports.jsx("div", { className: "profile-avatar-placeholder", style: { display: imageUrl ? 'none' : 'flex' }, children: jsxRuntimeExports.jsx("img", { src: img$
|
|
8789
|
+
} })) : null, jsxRuntimeExports.jsx("div", { className: "profile-avatar-placeholder", style: { display: imageUrl ? 'none' : 'flex' }, children: jsxRuntimeExports.jsx("img", { src: img$f, alt: "Profile Placeholder" }) })] }), jsxRuntimeExports.jsxs("div", { className: "profile-info", children: [displayName && (jsxRuntimeExports.jsx("div", { className: "profile-name", children: displayName })), idValue && (jsxRuntimeExports.jsxs("div", { className: "profile-id", children: [showIdLabel && (jsxRuntimeExports.jsx("span", { className: "profile-id-label", children: "ID :" })), jsxRuntimeExports.jsx("span", { className: "profile-id-value", children: idValue })] }))] })] })] }));
|
|
8290
8790
|
};
|
|
8291
8791
|
|
|
8292
8792
|
const TextAreaWidget = ({ config }) => {
|