@bit.rhplus/ag-grid 0.0.49 → 0.0.51
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/BulkEdit/BulkEditButton.jsx +18 -7
- package/BulkEdit/BulkEditSelect.jsx +23 -7
- package/BulkEdit/useBulkCellEdit.js +230 -54
- package/BulkEdit/utils.js +87 -38
- package/Renderers/BooleanRenderer.jsx +53 -38
- package/Renderers/ButtonRenderer.jsx +61 -44
- package/Renderers/CheckboxRenderer.jsx +16 -8
- package/Renderers/CountrySelectRenderer.jsx +19 -12
- package/Renderers/IconRenderer.jsx +147 -117
- package/Renderers/ImageRenderer.jsx +31 -40
- package/Renderers/SelectRenderer.jsx +4 -2
- package/Renderers/StateRenderer.jsx +54 -52
- package/dist/BulkEdit/BulkEditButton.d.ts +1 -1
- package/dist/BulkEdit/BulkEditButton.js +19 -8
- package/dist/BulkEdit/BulkEditButton.js.map +1 -1
- package/dist/BulkEdit/BulkEditSelect.d.ts +2 -1
- package/dist/BulkEdit/BulkEditSelect.js +16 -6
- package/dist/BulkEdit/BulkEditSelect.js.map +1 -1
- package/dist/BulkEdit/useBulkCellEdit.js +195 -46
- package/dist/BulkEdit/useBulkCellEdit.js.map +1 -1
- package/dist/BulkEdit/utils.d.ts +1 -1
- package/dist/BulkEdit/utils.js +79 -33
- package/dist/BulkEdit/utils.js.map +1 -1
- package/dist/Renderers/BooleanRenderer.d.ts +4 -1
- package/dist/Renderers/BooleanRenderer.js +36 -31
- package/dist/Renderers/BooleanRenderer.js.map +1 -1
- package/dist/Renderers/ButtonRenderer.d.ts +3 -1
- package/dist/Renderers/ButtonRenderer.js +35 -25
- package/dist/Renderers/ButtonRenderer.js.map +1 -1
- package/dist/Renderers/CheckboxRenderer.d.ts +4 -1
- package/dist/Renderers/CheckboxRenderer.js +11 -8
- package/dist/Renderers/CheckboxRenderer.js.map +1 -1
- package/dist/Renderers/CountrySelectRenderer.d.ts +4 -1
- package/dist/Renderers/CountrySelectRenderer.js +15 -9
- package/dist/Renderers/CountrySelectRenderer.js.map +1 -1
- package/dist/Renderers/IconRenderer.d.ts +4 -1
- package/dist/Renderers/IconRenderer.js +114 -94
- package/dist/Renderers/IconRenderer.js.map +1 -1
- package/dist/Renderers/ImageRenderer.d.ts +4 -1
- package/dist/Renderers/ImageRenderer.js +24 -32
- package/dist/Renderers/ImageRenderer.js.map +1 -1
- package/dist/Renderers/SelectRenderer.d.ts +4 -1
- package/dist/Renderers/SelectRenderer.js +2 -1
- package/dist/Renderers/SelectRenderer.js.map +1 -1
- package/dist/Renderers/StateRenderer.d.ts +4 -1
- package/dist/Renderers/StateRenderer.js +38 -37
- package/dist/Renderers/StateRenderer.js.map +1 -1
- package/dist/index.js +6 -14
- package/dist/index.js.map +1 -1
- package/index.jsx +6 -15
- package/package.json +5 -5
- /package/dist/{preview-1761214842578.js → preview-1761923870469.js} +0 -0
|
@@ -2,39 +2,64 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { CircleHelp } from 'lucide-react';
|
|
5
|
-
|
|
5
|
+
import * as LucideIcons from 'lucide-react';
|
|
6
|
+
// Helper funkce pro získání hodnoty z nested path (např. 'accountingType.icon')
|
|
7
|
+
const getValueByPath = (obj, path) => {
|
|
8
|
+
if (!path || !obj)
|
|
9
|
+
return undefined;
|
|
10
|
+
return path.split('.').reduce((acc, part) => acc?.[part], obj);
|
|
11
|
+
};
|
|
12
|
+
// Style constants
|
|
13
|
+
const ICON_WRAPPER_STYLE = {
|
|
14
|
+
display: 'inline-flex',
|
|
15
|
+
alignItems: 'center',
|
|
16
|
+
height: '100%',
|
|
17
|
+
flexShrink: 0,
|
|
18
|
+
};
|
|
19
|
+
const TEXT_WRAPPER_STYLE = {
|
|
20
|
+
flexShrink: 1,
|
|
21
|
+
minWidth: 0,
|
|
22
|
+
};
|
|
23
|
+
const BADGE_CONTAINER_BASE_STYLE = {
|
|
24
|
+
position: 'relative',
|
|
25
|
+
display: 'inline-flex',
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
justifyContent: 'center',
|
|
28
|
+
};
|
|
29
|
+
const BADGE_BASE_STYLE = {
|
|
30
|
+
position: 'absolute',
|
|
31
|
+
borderRadius: '50%',
|
|
32
|
+
minWidth: '16px',
|
|
33
|
+
height: '16px',
|
|
34
|
+
fontSize: '10px',
|
|
35
|
+
display: 'flex',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
justifyContent: 'center',
|
|
38
|
+
fontWeight: 'bold',
|
|
39
|
+
lineHeight: 1,
|
|
40
|
+
zIndex: 1
|
|
41
|
+
};
|
|
42
|
+
function IconRenderer(props) {
|
|
6
43
|
const { data, value, colDef: { iconRendererParams = {} } = {} } = props;
|
|
7
44
|
if (!iconRendererParams)
|
|
8
45
|
return null;
|
|
9
46
|
const { cellAlign, visibleGetter, showOnGroup, icon, // Komponenta nebo funkce pro ikonu
|
|
47
|
+
iconField, // Cesta k poli s názvem ikony (např. 'accountingType.icon')
|
|
10
48
|
iconColor, // Barva ikony nebo funkce vracející barvu
|
|
11
49
|
badge, // Číslo nebo funkce pro badge
|
|
12
50
|
showZero = false, // Zda zobrazit badge když je hodnota 0
|
|
13
|
-
size = 16,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
iconRight = false, // Zda zobrazit ikonu vpravo
|
|
17
|
-
showText = true, // Zda zobrazit text (default true pro zpětnou kompatibilitu)
|
|
18
|
-
textGap = 5, // Mezera mezi ikonou a textem
|
|
19
|
-
// Badge styling props
|
|
20
|
-
badgeColor = '#dc3545', // Barva pozadí badge
|
|
21
|
-
badgeTextColor = 'white', // Barva textu badge
|
|
22
|
-
badgePosition = 'top-right', // Pozice badge
|
|
23
|
-
} = iconRendererParams;
|
|
24
|
-
const visibleResult = visibleGetter ? visibleGetter(data) : true;
|
|
25
|
-
const getIconColor = () => {
|
|
51
|
+
size = 16, iconLeft = false, iconRight = false, showText = true, textGap = 5, badgeColor = '#dc3545', badgeTextColor = 'white', badgePosition = 'top-right', } = iconRendererParams;
|
|
52
|
+
const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
|
|
53
|
+
const getIconColor = React.useCallback(() => {
|
|
26
54
|
if (!iconColor)
|
|
27
55
|
return undefined;
|
|
28
|
-
// Pokud je iconColor funkce, zavolej ji s daty
|
|
29
56
|
if (typeof iconColor === 'function') {
|
|
30
57
|
return iconColor({ data, value, props });
|
|
31
58
|
}
|
|
32
|
-
// Pokud je iconColor string/hodnota
|
|
33
59
|
return iconColor;
|
|
34
|
-
};
|
|
35
|
-
const renderIcon = (IconComponent, iconProps = {}) => {
|
|
60
|
+
}, [iconColor, data, value, props]);
|
|
61
|
+
const renderIcon = React.useCallback((IconComponent, iconProps = {}) => {
|
|
36
62
|
const computedIconColor = getIconColor();
|
|
37
|
-
// Vytvoř finální style objekt s !important pro override
|
|
38
63
|
const finalStyle = {
|
|
39
64
|
fontSize: size,
|
|
40
65
|
...(iconProps.style || {}),
|
|
@@ -43,127 +68,122 @@ export default function IconRenderer(props) {
|
|
|
43
68
|
const finalIconProps = {
|
|
44
69
|
size,
|
|
45
70
|
style: finalStyle,
|
|
46
|
-
...(computedIconColor && { color: computedIconColor }),
|
|
71
|
+
...(computedIconColor && { color: computedIconColor }),
|
|
47
72
|
...iconProps
|
|
48
73
|
};
|
|
49
74
|
let iconElement;
|
|
50
|
-
// Pokud je IconComponent funkce, zavoláme ji s daty
|
|
51
75
|
if (typeof IconComponent === 'function') {
|
|
52
76
|
iconElement = IconComponent({ data, value, ...finalIconProps });
|
|
53
77
|
}
|
|
54
|
-
// Pokud je IconComponent React komponenta
|
|
55
78
|
else if (React.isValidElement(IconComponent)) {
|
|
56
79
|
iconElement = React.cloneElement(IconComponent, finalIconProps);
|
|
57
80
|
}
|
|
58
|
-
// Pokud je IconComponent konstruktor komponenty
|
|
59
81
|
else if (IconComponent && typeof IconComponent === 'object' && IconComponent.$$typeof) {
|
|
60
82
|
iconElement = _jsx(IconComponent, { ...finalIconProps });
|
|
61
83
|
}
|
|
62
|
-
// Pokud je IconComponent string (pro emoji nebo text)
|
|
63
84
|
else if (typeof IconComponent === 'string') {
|
|
64
85
|
iconElement = _jsx("span", { style: finalStyle, children: IconComponent });
|
|
65
86
|
}
|
|
66
87
|
else {
|
|
67
88
|
return null;
|
|
68
89
|
}
|
|
69
|
-
// Pokud máme barvu, wrap ikonu ve vlastním spanu pro lepší kontrolu barvy
|
|
70
90
|
if (computedIconColor) {
|
|
71
|
-
return (_jsx("span", { style: {
|
|
91
|
+
return (_jsx("span", { style: {
|
|
92
|
+
color: computedIconColor,
|
|
93
|
+
display: 'inline-flex',
|
|
94
|
+
alignItems: 'center',
|
|
95
|
+
height: '100%'
|
|
96
|
+
}, children: iconElement }));
|
|
72
97
|
}
|
|
73
98
|
return iconElement;
|
|
74
|
-
};
|
|
75
|
-
const
|
|
99
|
+
}, [size, getIconColor, data, value]);
|
|
100
|
+
const badgeValue = React.useMemo(() => {
|
|
76
101
|
if (!badge)
|
|
77
102
|
return null;
|
|
78
|
-
// Pokud je badge funkce, zavolej ji s daty
|
|
79
103
|
if (typeof badge === 'function') {
|
|
80
104
|
return badge({ data, value });
|
|
81
105
|
}
|
|
82
|
-
// Pokud je badge číslo nebo string
|
|
83
106
|
return badge;
|
|
84
|
-
};
|
|
85
|
-
const
|
|
86
|
-
const
|
|
107
|
+
}, [badge, data, value]);
|
|
108
|
+
const badgePositionStyle = React.useMemo(() => {
|
|
109
|
+
const positions = {
|
|
110
|
+
'top-right': { top: '2px', right: '-2px' },
|
|
111
|
+
'top-left': { top: '2px', left: '-2px' },
|
|
112
|
+
'bottom-right': { bottom: '2px', right: '-2px' },
|
|
113
|
+
'bottom-left': { bottom: '2px', left: '-2px' }
|
|
114
|
+
};
|
|
115
|
+
return positions[badgePosition] || positions['top-right'];
|
|
116
|
+
}, [badgePosition]);
|
|
117
|
+
const badgeStyle = React.useMemo(() => ({
|
|
118
|
+
...BADGE_BASE_STYLE,
|
|
119
|
+
...badgePositionStyle,
|
|
120
|
+
backgroundColor: badgeColor,
|
|
121
|
+
color: badgeTextColor,
|
|
122
|
+
border: `1px solid ${badgeTextColor}`,
|
|
123
|
+
}), [badgePositionStyle, badgeColor, badgeTextColor]);
|
|
124
|
+
const Icon = React.useMemo(() => {
|
|
87
125
|
const iconElement = (() => {
|
|
88
|
-
// Pokud je
|
|
126
|
+
// Priorita 1: Pokud je definován iconField, získej název ikony z dat a načti z Lucide
|
|
127
|
+
if (iconField) {
|
|
128
|
+
const iconName = getValueByPath(data, iconField);
|
|
129
|
+
console.log('🎨 IconRenderer - iconField:', {
|
|
130
|
+
iconField,
|
|
131
|
+
iconName,
|
|
132
|
+
data,
|
|
133
|
+
hasLucideIcon: iconName ? !!LucideIcons[iconName] : false
|
|
134
|
+
});
|
|
135
|
+
if (iconName) {
|
|
136
|
+
const LucideIcon = LucideIcons[iconName];
|
|
137
|
+
if (LucideIcon) {
|
|
138
|
+
return _jsx(LucideIcon, { size: size });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Pokud ikona z iconField neexistuje, vrať null (nic nezobrazit)
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
// Priorita 2: Použij icon prop (funkce nebo komponenta)
|
|
89
145
|
if (icon) {
|
|
90
|
-
return renderIcon(icon, {
|
|
146
|
+
return renderIcon(icon, {});
|
|
91
147
|
}
|
|
92
|
-
//
|
|
93
|
-
return
|
|
148
|
+
// Priorita 3: Default - nic nezobrazit pokud není ani iconField ani icon
|
|
149
|
+
return null;
|
|
94
150
|
})();
|
|
95
|
-
// Pokud není badge, vrať jen ikonu
|
|
96
151
|
if (!badgeValue && (badgeValue !== 0 || !showZero)) {
|
|
97
152
|
return iconElement;
|
|
98
153
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
display: 'inline-flex',
|
|
103
|
-
alignItems: 'center',
|
|
104
|
-
justifyContent: 'center',
|
|
105
|
-
height: '100%'
|
|
106
|
-
}, children: [iconElement, _jsx("span", { style: {
|
|
107
|
-
position: 'absolute',
|
|
108
|
-
...(badgePosition === 'top-right' && { top: '2px', right: '-2px' }),
|
|
109
|
-
...(badgePosition === 'top-left' && { top: '2px', left: '-2px' }),
|
|
110
|
-
...(badgePosition === 'bottom-right' && { bottom: '2px', right: '-2px' }),
|
|
111
|
-
...(badgePosition === 'bottom-left' && { bottom: '2px', left: '-2px' }),
|
|
112
|
-
backgroundColor: badgeColor,
|
|
113
|
-
color: badgeTextColor,
|
|
114
|
-
borderRadius: '50%',
|
|
115
|
-
minWidth: '16px',
|
|
116
|
-
height: '16px',
|
|
117
|
-
fontSize: '10px',
|
|
118
|
-
display: 'flex',
|
|
119
|
-
alignItems: 'center',
|
|
120
|
-
justifyContent: 'center',
|
|
121
|
-
fontWeight: 'bold',
|
|
122
|
-
border: `1px solid ${badgeTextColor}`,
|
|
123
|
-
lineHeight: 1,
|
|
124
|
-
zIndex: 1
|
|
125
|
-
}, children: badgeValue > 99 ? '99+' : badgeValue })] }));
|
|
126
|
-
};
|
|
127
|
-
const showCondition = () => {
|
|
154
|
+
return (_jsxs("div", { style: BADGE_CONTAINER_BASE_STYLE, children: [iconElement, _jsx("span", { style: badgeStyle, children: badgeValue > 99 ? '99+' : badgeValue })] }));
|
|
155
|
+
}, [icon, iconField, renderIcon, badgeValue, showZero, badgeStyle, size, data]);
|
|
156
|
+
const showCondition = React.useMemo(() => {
|
|
128
157
|
const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
|
|
129
158
|
return !newItem && (showOnGroup || !!data) && visibleResult;
|
|
130
|
-
};
|
|
131
|
-
if (!showCondition
|
|
159
|
+
}, [data, showOnGroup, visibleResult]);
|
|
160
|
+
if (!showCondition)
|
|
132
161
|
return null;
|
|
133
|
-
|
|
134
|
-
const hasIcon = iconLeft || iconRight || (!iconLeft && !iconRight); // Pokud není specifikováno, zobrazí se ikona (zpětná kompatibilita)
|
|
162
|
+
const hasIcon = iconLeft || iconRight || (!iconLeft && !iconRight);
|
|
135
163
|
const hasText = showText && value != null && value !== '';
|
|
136
|
-
// Pokud nemáme ani ikonu ani text, nevrací nic
|
|
137
164
|
if (!hasIcon && !hasText)
|
|
138
165
|
return null;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
display: 'inline-block',
|
|
143
|
-
flexShrink: 0,
|
|
144
|
-
} })) : null;
|
|
145
|
-
const textElement = hasText ? (_jsx("span", { style: { flexShrink: 1, minWidth: 0 }, children: value })) : null;
|
|
146
|
-
// Pokud máme jen ikonu nebo jen text
|
|
166
|
+
const content = React.useMemo(() => {
|
|
167
|
+
const iconElement = hasIcon ? (_jsx("div", { style: ICON_WRAPPER_STYLE, children: Icon })) : null;
|
|
168
|
+
const textElement = hasText ? (_jsx("span", { style: TEXT_WRAPPER_STYLE, children: value })) : null;
|
|
147
169
|
if (!hasIcon)
|
|
148
170
|
return textElement;
|
|
149
171
|
if (!hasText)
|
|
150
172
|
return iconElement;
|
|
151
|
-
// Pokud máme obojí, určíme pořadí
|
|
152
173
|
if (iconRight) {
|
|
153
174
|
return (_jsxs(_Fragment, { children: [textElement, iconElement] }));
|
|
154
175
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
gap: hasIcon && hasText ? `${textGap}px` : '0',
|
|
167
|
-
}, children: renderContent() }));
|
|
176
|
+
return (_jsxs(_Fragment, { children: [iconElement, textElement] }));
|
|
177
|
+
}, [hasIcon, hasText, Icon, value, iconRight]);
|
|
178
|
+
const containerStyle = React.useMemo(() => ({
|
|
179
|
+
width: '100%',
|
|
180
|
+
display: 'flex',
|
|
181
|
+
justifyContent: cellAlign ?? (hasText ? 'flex-start' : 'center'),
|
|
182
|
+
alignItems: 'center',
|
|
183
|
+
height: '100%',
|
|
184
|
+
gap: hasIcon && hasText ? `${textGap}px` : '0',
|
|
185
|
+
}), [cellAlign, hasText, hasIcon, textGap]);
|
|
186
|
+
return (_jsx("span", { style: containerStyle, children: content }));
|
|
168
187
|
}
|
|
188
|
+
export default React.memo(IconRenderer);
|
|
169
189
|
//# sourceMappingURL=IconRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconRenderer.js","sourceRoot":"","sources":["../../Renderers/IconRenderer.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"IconRenderer.js","sourceRoot":"","sources":["../../Renderers/IconRenderer.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: React.MemoExoticComponent<typeof ImageRenderer>;
|
|
2
|
+
export default _default;
|
|
3
|
+
declare function ImageRenderer(props: any): import("react/jsx-runtime").JSX.Element | null;
|
|
4
|
+
import * as React from 'react';
|
|
@@ -1,61 +1,53 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
|
|
4
|
+
function ImageRenderer(props) {
|
|
5
5
|
const { data, value, colDef: { imageRendererParams = {} } = {} } = props;
|
|
6
6
|
if (!imageRendererParams)
|
|
7
7
|
return null;
|
|
8
8
|
const { cellAlign = 'center', visibleGetter, showOnGroup = false, imageUrl, fallbackText = true, alt, imageSize = 24, imageStyle, } = imageRendererParams;
|
|
9
9
|
const [hasError, setHasError] = React.useState(false);
|
|
10
|
-
const visibleResult = visibleGetter ? visibleGetter(data) : true;
|
|
11
|
-
const
|
|
10
|
+
const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
|
|
11
|
+
const computedImageUrl = React.useMemo(() => {
|
|
12
12
|
if (!imageUrl)
|
|
13
13
|
return null;
|
|
14
14
|
if (typeof imageUrl === 'function') {
|
|
15
15
|
return imageUrl({ data, value, props });
|
|
16
16
|
}
|
|
17
17
|
return imageUrl;
|
|
18
|
-
};
|
|
18
|
+
}, [imageUrl, data, value, props]);
|
|
19
19
|
const handleImageError = React.useCallback(() => {
|
|
20
20
|
setHasError(true);
|
|
21
21
|
}, []);
|
|
22
22
|
React.useEffect(() => {
|
|
23
23
|
setHasError(false);
|
|
24
|
-
}, [
|
|
25
|
-
const showCondition = () => {
|
|
24
|
+
}, [computedImageUrl]);
|
|
25
|
+
const showCondition = React.useMemo(() => {
|
|
26
26
|
const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
|
|
27
27
|
return !newItem && (showOnGroup || !!data) && visibleResult;
|
|
28
|
-
};
|
|
29
|
-
|
|
28
|
+
}, [data, showOnGroup, visibleResult]);
|
|
29
|
+
const containerStyle = React.useMemo(() => ({
|
|
30
|
+
width: '100%',
|
|
31
|
+
display: 'flex',
|
|
32
|
+
justifyContent: cellAlign || 'center',
|
|
33
|
+
alignItems: 'center',
|
|
34
|
+
height: '100%',
|
|
35
|
+
}), [cellAlign]);
|
|
36
|
+
const finalImageStyle = React.useMemo(() => ({
|
|
37
|
+
width: imageSize,
|
|
38
|
+
height: imageSize,
|
|
39
|
+
objectFit: 'contain',
|
|
40
|
+
...(typeof imageStyle === 'function' ? imageStyle({ data, value, props }) : imageStyle || {}),
|
|
41
|
+
}), [imageSize, imageStyle, data, value, props]);
|
|
42
|
+
if (!showCondition)
|
|
30
43
|
return null;
|
|
31
|
-
const computedImageUrl = getImageUrl();
|
|
32
44
|
if (hasError || !computedImageUrl) {
|
|
33
45
|
if (fallbackText && value) {
|
|
34
|
-
return (_jsx("span", { style:
|
|
35
|
-
width: '100%',
|
|
36
|
-
display: 'flex',
|
|
37
|
-
justifyContent: cellAlign || 'center',
|
|
38
|
-
alignItems: 'center',
|
|
39
|
-
height: '100%',
|
|
40
|
-
}, children: value }));
|
|
46
|
+
return (_jsx("span", { style: containerStyle, children: value }));
|
|
41
47
|
}
|
|
42
48
|
return null;
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
width: imageSize,
|
|
46
|
-
height: imageSize,
|
|
47
|
-
objectFit: 'contain',
|
|
48
|
-
};
|
|
49
|
-
const finalImageStyle = {
|
|
50
|
-
...defaultImageStyle,
|
|
51
|
-
...(typeof imageStyle === 'function' ? imageStyle({ data, value, props }) : imageStyle || {}),
|
|
52
|
-
};
|
|
53
|
-
return (_jsx("span", { style: {
|
|
54
|
-
width: '100%',
|
|
55
|
-
display: 'flex',
|
|
56
|
-
justifyContent: cellAlign || 'center',
|
|
57
|
-
alignItems: 'center',
|
|
58
|
-
height: '100%',
|
|
59
|
-
}, children: _jsx("img", { src: computedImageUrl, alt: alt || value || 'Image', style: finalImageStyle, onError: handleImageError, loading: "lazy" }) }));
|
|
50
|
+
return (_jsx("span", { style: containerStyle, children: _jsx("img", { src: computedImageUrl, alt: alt || value || 'Image', style: finalImageStyle, onError: handleImageError, loading: "lazy" }) }));
|
|
60
51
|
}
|
|
52
|
+
export default React.memo(ImageRenderer);
|
|
61
53
|
//# sourceMappingURL=ImageRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageRenderer.js","sourceRoot":"","sources":["../../Renderers/ImageRenderer.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,
|
|
1
|
+
{"version":3,"file":"ImageRenderer.js","sourceRoot":"","sources":["../../Renderers/ImageRenderer.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: React.MemoExoticComponent<typeof SelectRenderer>;
|
|
2
|
+
export default _default;
|
|
3
|
+
declare function SelectRenderer(params: any): "" | import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
import * as React from 'react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
|
|
3
|
+
function SelectRenderer(params) {
|
|
4
4
|
const { value, value: { name } = {} } = params;
|
|
5
5
|
if (!value)
|
|
6
6
|
return '';
|
|
@@ -9,4 +9,5 @@ export default function SelectRenderer(params) {
|
|
|
9
9
|
// imageUrl = `https://rhplus.blob.core.windows.net/countries/${params.value.toUpperCase()}.png`;
|
|
10
10
|
return _jsx("div", { children: name });
|
|
11
11
|
}
|
|
12
|
+
export default React.memo(SelectRenderer);
|
|
12
13
|
//# sourceMappingURL=SelectRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRenderer.js","sourceRoot":"","sources":["../../Renderers/SelectRenderer.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,
|
|
1
|
+
{"version":3,"file":"SelectRenderer.js","sourceRoot":"","sources":["../../Renderers/SelectRenderer.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,SAAS,cAAc,CAAC,MAAM;IAC5B,MAAM,EAAC,KAAK,EAAE,KAAK,EAAE,EAAC,IAAI,EAAC,GAAG,EAAE,EAAC,GAAG,MAAM,CAAC;IAE3C,IAAI,CAAC,KAAK;QACR,OAAO,EAAE,CAAC;IAEZ,qBAAqB;IAErB,oBAAoB;IACpB,mGAAmG;IAEnG,OAAO,wBAAM,IAAI,GAAO,CAAC;AAC3B,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
declare const _default: React.MemoExoticComponent<typeof StateRenderer>;
|
|
2
|
+
export default _default;
|
|
3
|
+
declare function StateRenderer(props: any): import("react/jsx-runtime").JSX.Element | null;
|
|
4
|
+
import * as React from 'react';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
// Helper function moved outside component
|
|
4
5
|
function getValueByPath(obj, path) {
|
|
5
6
|
if (!obj || !path)
|
|
6
7
|
return null;
|
|
7
8
|
return path.split('.').reduce((o, k) => (o && o[k] !== undefined) ? o[k] : null, obj);
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
+
function StateRenderer(props) {
|
|
10
11
|
const { data, value, colDef: { stateRendererParams = {} } = {} } = props;
|
|
11
12
|
if (!stateRendererParams)
|
|
12
13
|
return null;
|
|
@@ -24,8 +25,8 @@ export default function StateRenderer(props) {
|
|
|
24
25
|
// Použít nový název s fallbackem na starý pro zpětnou kompatibilitu
|
|
25
26
|
const finalColor = color || textColor || 'white';
|
|
26
27
|
const finalColorField = colorField || textColorField;
|
|
27
|
-
const visibleResult = visibleGetter ? visibleGetter(data) : true;
|
|
28
|
-
const
|
|
28
|
+
const visibleResult = React.useMemo(() => visibleGetter ? visibleGetter(data) : true, [visibleGetter, data]);
|
|
29
|
+
const computedBgColor = React.useMemo(() => {
|
|
29
30
|
// Priorita: bgColorField (hodnota z dat) -> bgColor (funkce nebo string)
|
|
30
31
|
if (bgColorField && data) {
|
|
31
32
|
const fieldValue = getValueByPath(data, bgColorField);
|
|
@@ -40,8 +41,8 @@ export default function StateRenderer(props) {
|
|
|
40
41
|
}
|
|
41
42
|
// Pokud je bgColor string/hodnota
|
|
42
43
|
return bgColor;
|
|
43
|
-
};
|
|
44
|
-
const
|
|
44
|
+
}, [bgColor, bgColorField, data, value, props]);
|
|
45
|
+
const computedTextColor = React.useMemo(() => {
|
|
45
46
|
// Priorita: colorField/textColorField (hodnota z dat) -> color/textColor (funkce nebo string)
|
|
46
47
|
if (finalColorField && data) {
|
|
47
48
|
const fieldValue = getValueByPath(data, finalColorField);
|
|
@@ -56,8 +57,8 @@ export default function StateRenderer(props) {
|
|
|
56
57
|
}
|
|
57
58
|
// Pokud je finalColor string/hodnota
|
|
58
59
|
return finalColor;
|
|
59
|
-
};
|
|
60
|
-
const
|
|
60
|
+
}, [finalColor, finalColorField, data, value, props]);
|
|
61
|
+
const displayText = React.useMemo(() => {
|
|
61
62
|
if (displayField) {
|
|
62
63
|
// Pokud je displayField funkce
|
|
63
64
|
if (typeof displayField === 'function') {
|
|
@@ -70,41 +71,41 @@ export default function StateRenderer(props) {
|
|
|
70
71
|
}
|
|
71
72
|
// Fallback na value
|
|
72
73
|
return value || '';
|
|
73
|
-
};
|
|
74
|
-
const showCondition = () => {
|
|
74
|
+
}, [displayField, data, value, props]);
|
|
75
|
+
const showCondition = React.useMemo(() => {
|
|
75
76
|
const newItem = (data && data._rh_plus_ag_grid_new_item) || false;
|
|
76
77
|
return !newItem && (showOnGroup || !!data) && visibleResult;
|
|
77
|
-
};
|
|
78
|
-
if (!showCondition
|
|
78
|
+
}, [data, showOnGroup, visibleResult]);
|
|
79
|
+
if (!showCondition)
|
|
79
80
|
return null;
|
|
80
|
-
const computedBgColor = getBgColor();
|
|
81
|
-
const computedTextColor = getTextColor();
|
|
82
|
-
const displayText = getDisplayText();
|
|
83
81
|
// Pokud nemáme text k zobrazení, nevrací nic
|
|
84
82
|
if (!displayText)
|
|
85
83
|
return null;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
84
|
+
const containerStyle = React.useMemo(() => ({
|
|
85
|
+
width: '100%',
|
|
86
|
+
display: 'flex',
|
|
87
|
+
justifyContent: cellAlign === 'center' ? 'center' : cellAlign === 'right' ? 'flex-end' : 'flex-start',
|
|
88
|
+
alignItems: 'center',
|
|
89
|
+
height: '100%',
|
|
90
|
+
}), [cellAlign]);
|
|
91
|
+
const badgeStyle = React.useMemo(() => ({
|
|
92
|
+
backgroundColor: computedBgColor,
|
|
93
|
+
color: computedTextColor,
|
|
94
|
+
borderRadius: '20px',
|
|
95
|
+
padding: '2px 8px',
|
|
96
|
+
minWidth: `${minWidth}px`,
|
|
97
|
+
fontSize: `${fontSize}px`,
|
|
98
|
+
fontWeight: '500',
|
|
99
|
+
textAlign: 'center',
|
|
100
|
+
display: 'inline-block',
|
|
101
|
+
whiteSpace: 'nowrap',
|
|
102
|
+
overflow: 'hidden',
|
|
103
|
+
textOverflow: 'ellipsis',
|
|
104
|
+
boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)',
|
|
105
|
+
lineHeight: '1.2',
|
|
106
|
+
height: 'auto',
|
|
107
|
+
}), [computedBgColor, computedTextColor, minWidth, fontSize]);
|
|
108
|
+
return (_jsx("div", { style: containerStyle, children: _jsx("span", { style: badgeStyle, children: displayText }) }));
|
|
109
109
|
}
|
|
110
|
+
export default React.memo(StateRenderer);
|
|
110
111
|
//# sourceMappingURL=StateRenderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateRenderer.js","sourceRoot":"","sources":["../../Renderers/StateRenderer.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,SAAS,cAAc,CAAC,GAAG,EAAE,IAAI;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"StateRenderer.js","sourceRoot":"","sources":["../../Renderers/StateRenderer.jsx"],"names":[],"mappings":"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"}
|