@bit.rhplus/ag-grid 0.0.114 → 0.0.115
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/AgGridOnRowDataChanged.js +3 -8
- package/CheckBoxRenderer.jsx +1 -0
- package/Components/ExtendButton.jsx +1 -0
- package/Renderers/CheckboxRenderer.jsx +1 -0
- package/Renderers/CountrySelectRenderer.jsx +1 -0
- package/Renderers/SelectCellRenderer.jsx +1 -0
- package/dist/AgGridAddNewItem.d.ts +1 -0
- package/dist/AgGridAddNewItem.js +6 -0
- package/dist/AgGridAddNewItem.js.map +1 -0
- package/dist/AgGridColumn.d.ts +3 -0
- package/dist/AgGridColumn.js +357 -0
- package/dist/AgGridColumn.js.map +1 -0
- package/dist/AgGridColumnFilter.d.ts +4 -0
- package/dist/AgGridColumnFilter.js +19 -0
- package/dist/AgGridColumnFilter.js.map +1 -0
- package/dist/AgGridOnGridReady.d.ts +1 -0
- package/dist/AgGridOnGridReady.js +6 -0
- package/dist/AgGridOnGridReady.js.map +1 -0
- package/dist/AgGridOnRowDataChanged.d.ts +1 -0
- package/dist/AgGridOnRowDataChanged.js +4 -0
- package/dist/AgGridOnRowDataChanged.js.map +1 -0
- package/dist/AgGridOnRowDataUpdated.d.ts +1 -0
- package/dist/AgGridOnRowDataUpdated.js +27 -0
- package/dist/AgGridOnRowDataUpdated.js.map +1 -0
- package/dist/AgGridPostSort.d.ts +1 -0
- package/dist/AgGridPostSort.js +32 -0
- package/dist/AgGridPostSort.js.map +1 -0
- package/dist/AggregationNotification.d.ts +1 -0
- package/dist/AggregationNotification.js +121 -0
- package/dist/AggregationNotification.js.map +1 -0
- package/dist/AggregationStatusBar.d.ts +3 -0
- package/dist/AggregationStatusBar.js +122 -0
- package/dist/AggregationStatusBar.js.map +1 -0
- package/dist/Aggregations.d.ts +2 -0
- package/dist/Aggregations.js +313 -0
- package/dist/Aggregations.js.map +1 -0
- package/dist/BulkEdit/BulkEditButton.d.ts +14 -0
- package/dist/BulkEdit/BulkEditButton.js +140 -0
- package/dist/BulkEdit/BulkEditButton.js.map +1 -0
- package/dist/BulkEdit/BulkEditDatePicker.d.ts +11 -0
- package/dist/BulkEdit/BulkEditDatePicker.js +160 -0
- package/dist/BulkEdit/BulkEditDatePicker.js.map +1 -0
- package/dist/BulkEdit/BulkEditInput.d.ts +14 -0
- package/dist/BulkEdit/BulkEditInput.js +34 -0
- package/dist/BulkEdit/BulkEditInput.js.map +1 -0
- package/dist/BulkEdit/BulkEditModule.d.ts +11 -0
- package/dist/BulkEdit/BulkEditModule.js +34 -0
- package/dist/BulkEdit/BulkEditModule.js.map +1 -0
- package/dist/BulkEdit/BulkEditPopover.d.ts +14 -0
- package/dist/BulkEdit/BulkEditPopover.js +125 -0
- package/dist/BulkEdit/BulkEditPopover.js.map +1 -0
- package/dist/BulkEdit/BulkEditSelect.d.ts +18 -0
- package/dist/BulkEdit/BulkEditSelect.js +56 -0
- package/dist/BulkEdit/BulkEditSelect.js.map +1 -0
- package/dist/BulkEdit/BulkEditTagsSelect.d.ts +15 -0
- package/dist/BulkEdit/BulkEditTagsSelect.js +45 -0
- package/dist/BulkEdit/BulkEditTagsSelect.js.map +1 -0
- package/dist/BulkEdit/index.d.ts +1 -0
- package/dist/BulkEdit/index.js +11 -0
- package/dist/BulkEdit/index.js.map +1 -0
- package/dist/BulkEdit/useBulkCellEdit.d.ts +1 -0
- package/dist/BulkEdit/useBulkCellEdit.js +397 -0
- package/dist/BulkEdit/useBulkCellEdit.js.map +1 -0
- package/dist/BulkEdit/utils.d.ts +7 -0
- package/dist/BulkEdit/utils.js +568 -0
- package/dist/BulkEdit/utils.js.map +1 -0
- package/dist/CheckBoxRenderer.d.ts +6 -0
- package/dist/CheckBoxRenderer.js +19 -0
- package/dist/CheckBoxRenderer.js.map +1 -0
- package/dist/Components/ExtendButton.css +6 -0
- package/dist/Components/ExtendButton.d.ts +2 -0
- package/dist/Components/ExtendButton.js +13 -0
- package/dist/Components/ExtendButton.js.map +1 -0
- package/dist/CountryCellRenderer.d.ts +1 -0
- package/dist/CountryCellRenderer.js +12 -0
- package/dist/CountryCellRenderer.js.map +1 -0
- package/dist/Editors/DatePickerEditor.d.ts +9 -0
- package/dist/Editors/DatePickerEditor.js +55 -0
- package/dist/Editors/DatePickerEditor.js.map +1 -0
- package/dist/Editors/index.d.ts +1 -0
- package/dist/Editors/index.js +2 -0
- package/dist/Editors/index.js.map +1 -0
- package/dist/Functions/index.d.ts +2 -0
- package/dist/Functions/index.js +27 -0
- package/dist/Functions/index.js.map +1 -0
- package/dist/HeaderTemplates/CommonHeaderTemplate.d.ts +1 -0
- package/dist/HeaderTemplates/CommonHeaderTemplate.js +15 -0
- package/dist/HeaderTemplates/CommonHeaderTemplate.js.map +1 -0
- package/dist/HyperModuleEditor.d.ts +1 -0
- package/dist/HyperModuleEditor.js +119 -0
- package/dist/HyperModuleEditor.js.map +1 -0
- package/dist/HyperModuleRenderer.d.ts +1 -0
- package/dist/HyperModuleRenderer.js +138 -0
- package/dist/HyperModuleRenderer.js.map +1 -0
- package/dist/NotificationOptions.d.ts +10 -0
- package/dist/NotificationOptions.js +80 -0
- package/dist/NotificationOptions.js.map +1 -0
- package/dist/OnCellDoubleClicked.d.ts +1 -0
- package/dist/OnCellDoubleClicked.js +6 -0
- package/dist/OnCellDoubleClicked.js.map +1 -0
- package/dist/OnCellEditingStarted.d.ts +1 -0
- package/dist/OnCellEditingStarted.js +7 -0
- package/dist/OnCellEditingStarted.js.map +1 -0
- package/dist/OnCellValueChanged.d.ts +1 -0
- package/dist/OnCellValueChanged.js +10 -0
- package/dist/OnCellValueChanged.js.map +1 -0
- package/dist/Renderers/BooleanRenderer.d.ts +3 -0
- package/dist/Renderers/BooleanRenderer.js +55 -0
- package/dist/Renderers/BooleanRenderer.js.map +1 -0
- package/dist/Renderers/ButtonRenderer.d.ts +3 -0
- package/dist/Renderers/ButtonRenderer.js +66 -0
- package/dist/Renderers/ButtonRenderer.js.map +1 -0
- package/dist/Renderers/CheckboxRenderer.d.ts +7 -0
- package/dist/Renderers/CheckboxRenderer.js +37 -0
- package/dist/Renderers/CheckboxRenderer.js.map +1 -0
- package/dist/Renderers/CountrySelectRenderer.d.ts +7 -0
- package/dist/Renderers/CountrySelectRenderer.js +56 -0
- package/dist/Renderers/CountrySelectRenderer.js.map +1 -0
- package/dist/Renderers/IconRenderer.d.ts +3 -0
- package/dist/Renderers/IconRenderer.js +187 -0
- package/dist/Renderers/IconRenderer.js.map +1 -0
- package/dist/Renderers/ImageRenderer.d.ts +3 -0
- package/dist/Renderers/ImageRenderer.js +58 -0
- package/dist/Renderers/ImageRenderer.js.map +1 -0
- package/dist/Renderers/LinkRenderer.d.ts +3 -0
- package/dist/Renderers/LinkRenderer.js +76 -0
- package/dist/Renderers/LinkRenderer.js.map +1 -0
- package/dist/Renderers/ObjectRenderer.d.ts +3 -0
- package/dist/Renderers/ObjectRenderer.js +96 -0
- package/dist/Renderers/ObjectRenderer.js.map +1 -0
- package/dist/Renderers/SelectCellRenderer.d.ts +4 -0
- package/dist/Renderers/SelectCellRenderer.js +19 -0
- package/dist/Renderers/SelectCellRenderer.js.map +1 -0
- package/dist/Renderers/SelectRenderer.d.ts +3 -0
- package/dist/Renderers/SelectRenderer.js +56 -0
- package/dist/Renderers/SelectRenderer.js.map +1 -0
- package/dist/Renderers/StateRenderer.d.ts +3 -0
- package/dist/Renderers/StateRenderer.js +137 -0
- package/dist/Renderers/StateRenderer.js.map +1 -0
- package/dist/Renderers/index.d.ts +1 -0
- package/dist/Renderers/index.js +2 -0
- package/dist/Renderers/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +868 -0
- package/dist/index.js.map +1 -0
- package/dist/preview-1773758831838.js +7 -0
- package/dist/util.d.ts +15 -0
- package/dist/util.js +108 -0
- package/dist/util.js.map +1 -0
- package/package.json +5 -5
- package/types/asset.d.ts +43 -0
- package/types/env.d.ts +15 -0
- package/types/style.d.ts +42 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
4
|
+
import ReactDOM from 'react-dom';
|
|
5
|
+
import { Button, Tooltip } from 'antd';
|
|
6
|
+
import { EditOutlined } from '@ant-design/icons';
|
|
7
|
+
import BulkEditPopover from './BulkEditPopover';
|
|
8
|
+
import { createMemoComparison } from '@bit.rhplus/react-memo';
|
|
9
|
+
/**
|
|
10
|
+
* Floating button komponenta pro bulk edit
|
|
11
|
+
* @param {Object} props
|
|
12
|
+
* @param {boolean} props.visible - Viditelnost buttonu
|
|
13
|
+
* @param {Object} props.position - Pozice buttonu {x, y}
|
|
14
|
+
* @param {Object} props.range - AG Grid cell range
|
|
15
|
+
* @param {Object} props.column - AG Grid column objekt
|
|
16
|
+
* @param {number} props.cellCount - Počet buněk k editaci
|
|
17
|
+
* @param {Object} props.editPopover - State popoveru
|
|
18
|
+
* @param {Function} props.onOpenPopover - Handler pro otevření popoveru
|
|
19
|
+
* @param {Function} props.onValueChange - Handler pro změnu hodnoty
|
|
20
|
+
* @param {Function} props.onSubmit - Handler pro submit
|
|
21
|
+
* @param {Function} props.onCancel - Handler pro cancel
|
|
22
|
+
*/
|
|
23
|
+
const BulkEditButton = ({ visible, position, range, column, cellCount, rowsContainer, // ✅ Container specifický pro tento grid
|
|
24
|
+
gridApi, editPopover, onOpenPopover, onValueChange, onSubmit, onCancel, }) => {
|
|
25
|
+
const [popoverVisible, setPopoverVisible] = useState(false);
|
|
26
|
+
const [popoverPosition, setPopoverPosition] = useState(null);
|
|
27
|
+
const buttonRef = useRef(null);
|
|
28
|
+
const popoverRef = useRef(null);
|
|
29
|
+
// Sync local popover state s parent editPopover state
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
setPopoverVisible(editPopover.visible);
|
|
32
|
+
}, [editPopover.visible]);
|
|
33
|
+
// Viewport-aware positioning pro popover
|
|
34
|
+
// ✅ Popover bude v document.body (position: fixed), takže používáme absolutní souřadnice
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (popoverVisible && popoverRef.current && position && rowsContainer) {
|
|
37
|
+
requestAnimationFrame(() => {
|
|
38
|
+
const popoverRect = popoverRef.current.getBoundingClientRect();
|
|
39
|
+
const containerRect = rowsContainer.getBoundingClientRect();
|
|
40
|
+
const viewportWidth = window.innerWidth;
|
|
41
|
+
const viewportHeight = window.innerHeight;
|
|
42
|
+
const MARGIN = 10;
|
|
43
|
+
// ✅ Přepočítat na absolutní souřadnice (pro position: fixed v document.body)
|
|
44
|
+
let top = containerRect.top + position.y + 35;
|
|
45
|
+
let left = containerRect.left + position.x;
|
|
46
|
+
// Check horizontal overflow (používáme absolutní souřadnice)
|
|
47
|
+
if (left + popoverRect.width > viewportWidth - MARGIN) {
|
|
48
|
+
left = viewportWidth - MARGIN - popoverRect.width;
|
|
49
|
+
}
|
|
50
|
+
if (left < MARGIN) {
|
|
51
|
+
left = MARGIN;
|
|
52
|
+
}
|
|
53
|
+
// Check vertical overflow (používáme absolutní souřadnice)
|
|
54
|
+
if (top + popoverRect.height > viewportHeight - MARGIN) {
|
|
55
|
+
top = containerRect.top + position.y - popoverRect.height - 5;
|
|
56
|
+
}
|
|
57
|
+
if (top < MARGIN) {
|
|
58
|
+
top = MARGIN;
|
|
59
|
+
}
|
|
60
|
+
setPopoverPosition({ top, left });
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
setPopoverPosition(null);
|
|
65
|
+
}
|
|
66
|
+
}, [popoverVisible, position, rowsContainer]);
|
|
67
|
+
if (!visible)
|
|
68
|
+
return null;
|
|
69
|
+
const colDef = column?.getColDef();
|
|
70
|
+
const fieldName = colDef?.headerName || colDef?.field || 'Sloupec';
|
|
71
|
+
/**
|
|
72
|
+
* Handler pro kliknutí na button
|
|
73
|
+
*/
|
|
74
|
+
const handleButtonClick = (e) => {
|
|
75
|
+
e.stopPropagation();
|
|
76
|
+
if (!popoverVisible) {
|
|
77
|
+
setPopoverVisible(true);
|
|
78
|
+
onOpenPopover();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Handler pro kliknutí mimo popover (close)
|
|
83
|
+
*/
|
|
84
|
+
const handleClickOutside = (e) => {
|
|
85
|
+
if (popoverVisible &&
|
|
86
|
+
popoverRef.current &&
|
|
87
|
+
!popoverRef.current.contains(e.target) &&
|
|
88
|
+
buttonRef.current &&
|
|
89
|
+
!buttonRef.current.contains(e.target)) {
|
|
90
|
+
onCancel();
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
// Click outside listener
|
|
94
|
+
useEffect(() => {
|
|
95
|
+
if (popoverVisible) {
|
|
96
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
97
|
+
return () => {
|
|
98
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}, [popoverVisible]);
|
|
102
|
+
const tooltipTitle = `Hromadně změnit ${cellCount} ${cellCount === 1 ? 'buňku' : cellCount < 5 ? 'buňky' : 'buněk'} v "${fieldName}"`;
|
|
103
|
+
/**
|
|
104
|
+
* ✅ OPTIMALIZACE: Použít container specifický pro tento grid (předaný jako prop)
|
|
105
|
+
* Toto zajistí, že button se renderuje do správného gridu i když je v DOM více gridů
|
|
106
|
+
* → Funguje správně při přepínání mezi moduly (každý modul má svůj vlastní container)
|
|
107
|
+
*/
|
|
108
|
+
const portalContainer = React.useMemo(() => {
|
|
109
|
+
if (!visible || !rowsContainer)
|
|
110
|
+
return document.body;
|
|
111
|
+
return rowsContainer;
|
|
112
|
+
}, [visible, rowsContainer]);
|
|
113
|
+
// Renderujeme pomocí React Portal do ag-center-cols-container
|
|
114
|
+
// Button se automaticky scrolluje s gridem (součástí transformed containeru)
|
|
115
|
+
const buttonContent = (_jsx("div", { ref: buttonRef, style: {
|
|
116
|
+
position: 'absolute',
|
|
117
|
+
top: position?.y || 0,
|
|
118
|
+
left: position?.x || 0,
|
|
119
|
+
zIndex: 9999,
|
|
120
|
+
pointerEvents: 'auto',
|
|
121
|
+
}, children: _jsx(Tooltip, { title: tooltipTitle, placement: "top", getPopupContainer: () => document.body, zIndex: 10001, children: _jsx(Button, { type: "primary", shape: "circle", icon: _jsx(EditOutlined, {}), size: "small", onClick: handleButtonClick, style: {
|
|
122
|
+
boxShadow: '0 2px 8px rgba(0,0,0,0.15)',
|
|
123
|
+
} }) }) }));
|
|
124
|
+
// ✅ Popover se renderuje do document.body (position: fixed) aby byl NAD pinned sloupci
|
|
125
|
+
const popoverContent = popoverVisible && (_jsx("div", { ref: popoverRef, style: {
|
|
126
|
+
position: 'fixed',
|
|
127
|
+
top: popoverPosition?.top ?? 0,
|
|
128
|
+
left: popoverPosition?.left ?? 0,
|
|
129
|
+
zIndex: 99999,
|
|
130
|
+
pointerEvents: 'auto',
|
|
131
|
+
opacity: popoverPosition ? 1 : 0,
|
|
132
|
+
transition: 'opacity 0.1s ease-in-out',
|
|
133
|
+
}, children: _jsx(BulkEditPopover, { visible: editPopover.visible, value: editPopover.value, loading: editPopover.loading, error: editPopover.error, column: column, range: range, cellCount: cellCount, gridApi: gridApi, onValueChange: onValueChange, onSubmit: onSubmit, onCancel: onCancel }) }));
|
|
134
|
+
return (_jsxs(_Fragment, { children: [ReactDOM.createPortal(buttonContent, portalContainer), popoverContent && ReactDOM.createPortal(popoverContent, document.body)] }));
|
|
135
|
+
};
|
|
136
|
+
// React.memo optimalizace - rerender pouze při změně kritických props
|
|
137
|
+
// Callback změny (onOpenPopover, onValueChange, onSubmit, onCancel) ignorujeme
|
|
138
|
+
const arePropsEqual = createMemoComparison(['visible', 'position', 'range', 'column', 'cellCount', 'rowsContainer', 'editPopover'], ['onOpenPopover', 'onValueChange', 'onSubmit', 'onCancel'], false, 'BulkEditButton');
|
|
139
|
+
export default React.memo(BulkEditButton, arePropsEqual);
|
|
140
|
+
//# sourceMappingURL=BulkEditButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkEditButton.js","sourceRoot":"","sources":["../../BulkEdit/BulkEditButton.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
import React, { useState, useCallback, useMemo } from 'react';
|
|
4
|
+
import { createMemoComparison } from '@bit.rhplus/react-memo';
|
|
5
|
+
import { Calendar, Button, Space, Tooltip } from 'antd';
|
|
6
|
+
import dayjs from 'dayjs';
|
|
7
|
+
import 'dayjs/locale/cs';
|
|
8
|
+
import styled from 'styled-components';
|
|
9
|
+
import Holidays from 'date-holidays';
|
|
10
|
+
dayjs.locale('cs');
|
|
11
|
+
const CalendarContainer = styled.div `
|
|
12
|
+
display: flex;
|
|
13
|
+
gap: 8px;
|
|
14
|
+
margin-bottom: 12px;
|
|
15
|
+
width: 900px;
|
|
16
|
+
justify-content: space-between;
|
|
17
|
+
|
|
18
|
+
.ant-picker-calendar {
|
|
19
|
+
max-width: 260px;
|
|
20
|
+
flex: 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ant-picker-calendar-header {
|
|
24
|
+
padding: 8px 12px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ant-picker-cell-selected .ant-picker-cell-inner {
|
|
28
|
+
background: transparent !important;
|
|
29
|
+
color: inherit !important;
|
|
30
|
+
font-weight: normal !important;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ant-picker-cell-disabled {
|
|
34
|
+
pointer-events: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.ant-picker-cell-disabled .ant-picker-cell-inner {
|
|
38
|
+
color: rgba(0, 0, 0, 0.25) !important;
|
|
39
|
+
background: transparent !important;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.ant-picker-cell:not(.ant-picker-cell-in-view) .ant-picker-cell-inner {
|
|
43
|
+
color: rgba(0, 0, 0, 0.25) !important;
|
|
44
|
+
background: transparent !important;
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
const BulkEditDatePicker = ({ value, onChange, onSubmit, onCancel, loading, format = 'DD.MM.YYYY', showTime = false, }) => {
|
|
48
|
+
const today = dayjs();
|
|
49
|
+
const [selectedDate, setSelectedDate] = useState(value ? dayjs(value) : null);
|
|
50
|
+
const [baseMonth, setBaseMonth] = useState(today);
|
|
51
|
+
const month1 = baseMonth;
|
|
52
|
+
const month2 = baseMonth.add(1, 'month');
|
|
53
|
+
const month3 = baseMonth.add(2, 'month');
|
|
54
|
+
const hd = useMemo(() => new Holidays('CZ'), []);
|
|
55
|
+
const handleDateSelect = (date) => {
|
|
56
|
+
setSelectedDate(date);
|
|
57
|
+
if (showTime) {
|
|
58
|
+
onChange(date.toISOString());
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
onChange(date.format('YYYY-MM-DD'));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const getHoliday = useCallback((date) => {
|
|
65
|
+
const holidays = hd.isHoliday(date.toDate());
|
|
66
|
+
return holidays && holidays.length > 0 ? holidays[0].name : null;
|
|
67
|
+
}, [hd]);
|
|
68
|
+
const getVisibleHolidays = useCallback(() => {
|
|
69
|
+
const holidays = [];
|
|
70
|
+
const months = [month1, month2, month3];
|
|
71
|
+
months.forEach(month => {
|
|
72
|
+
const startOfMonth = month.startOf('month');
|
|
73
|
+
const endOfMonth = month.endOf('month');
|
|
74
|
+
let current = startOfMonth;
|
|
75
|
+
while (current.isBefore(endOfMonth) || current.isSame(endOfMonth, 'day')) {
|
|
76
|
+
const holidayName = getHoliday(current);
|
|
77
|
+
if (holidayName) {
|
|
78
|
+
holidays.push({
|
|
79
|
+
date: current.format('DD.MM.YYYY'),
|
|
80
|
+
name: holidayName,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
current = current.add(1, 'day');
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
return holidays;
|
|
87
|
+
}, [month1, month2, month3, getHoliday]);
|
|
88
|
+
const visibleHolidays = useMemo(() => getVisibleHolidays(), [getVisibleHolidays]);
|
|
89
|
+
const createCellRender = useCallback((monthValue) => {
|
|
90
|
+
return (current, info) => {
|
|
91
|
+
const isSelected = selectedDate &&
|
|
92
|
+
current.date() === selectedDate.date() &&
|
|
93
|
+
current.month() === selectedDate.month() &&
|
|
94
|
+
current.year() === selectedDate.year();
|
|
95
|
+
const isToday = current.isSame(today, 'day');
|
|
96
|
+
const holidayName = getHoliday(current);
|
|
97
|
+
if (isSelected) {
|
|
98
|
+
return (_jsx("div", { className: "ant-picker-cell-inner", style: {
|
|
99
|
+
background: '#1890ff',
|
|
100
|
+
color: 'white',
|
|
101
|
+
fontWeight: 600,
|
|
102
|
+
}, children: current.date() }));
|
|
103
|
+
}
|
|
104
|
+
if (holidayName) {
|
|
105
|
+
return (_jsx("div", { className: "ant-picker-cell-inner", style: {
|
|
106
|
+
background: '#fff1f0',
|
|
107
|
+
color: '#cf1322',
|
|
108
|
+
fontWeight: 600,
|
|
109
|
+
}, children: current.date() }));
|
|
110
|
+
}
|
|
111
|
+
if (isToday) {
|
|
112
|
+
return (_jsx("div", { className: "ant-picker-cell-inner", style: {
|
|
113
|
+
background: '#e6f7ff',
|
|
114
|
+
color: '#1890ff',
|
|
115
|
+
fontWeight: 600,
|
|
116
|
+
border: '1px solid #1890ff',
|
|
117
|
+
}, children: current.date() }));
|
|
118
|
+
}
|
|
119
|
+
return (_jsx("div", { className: "ant-picker-cell-inner", children: current.date() }));
|
|
120
|
+
};
|
|
121
|
+
}, [selectedDate, today, getHoliday]);
|
|
122
|
+
return (_jsxs(_Fragment, { children: [_jsxs(CalendarContainer, { onClick: (e) => e.stopPropagation(), children: [_jsx(Calendar, { fullscreen: false, value: month1, onSelect: handleDateSelect, fullCellRender: createCellRender(month1), headerRender: ({ value: currentValue }) => (_jsxs("div", { style: {
|
|
123
|
+
padding: '8px 12px',
|
|
124
|
+
fontWeight: 500,
|
|
125
|
+
textAlign: 'center',
|
|
126
|
+
display: 'flex',
|
|
127
|
+
alignItems: 'center',
|
|
128
|
+
justifyContent: 'space-between'
|
|
129
|
+
}, children: [_jsx("span", { style: { cursor: 'pointer', padding: '0 4px' }, onClick: () => setBaseMonth(baseMonth.subtract(1, 'month')), children: "\u2039" }), _jsx("span", { children: currentValue.format('MMMM YYYY') }), _jsx("span", { style: { cursor: 'pointer', padding: '0 4px' }, onClick: () => setBaseMonth(baseMonth.add(1, 'month')), children: "\u203A" })] })) }), _jsx(Calendar, { fullscreen: false, value: month2, onSelect: handleDateSelect, fullCellRender: createCellRender(month2), headerRender: ({ value: currentValue }) => (_jsxs("div", { style: {
|
|
130
|
+
padding: '8px 12px',
|
|
131
|
+
fontWeight: 500,
|
|
132
|
+
textAlign: 'center',
|
|
133
|
+
display: 'flex',
|
|
134
|
+
alignItems: 'center',
|
|
135
|
+
justifyContent: 'space-between'
|
|
136
|
+
}, children: [_jsx("span", { style: { cursor: 'pointer', padding: '0 4px' }, onClick: () => setBaseMonth(baseMonth.subtract(1, 'month')), children: "\u2039" }), _jsx("span", { children: currentValue.format('MMMM YYYY') }), _jsx("span", { style: { cursor: 'pointer', padding: '0 4px' }, onClick: () => setBaseMonth(baseMonth.add(1, 'month')), children: "\u203A" })] })) }), _jsx(Calendar, { fullscreen: false, value: month3, onSelect: handleDateSelect, fullCellRender: createCellRender(month3), headerRender: ({ value: currentValue }) => (_jsxs("div", { style: {
|
|
137
|
+
padding: '8px 12px',
|
|
138
|
+
fontWeight: 500,
|
|
139
|
+
textAlign: 'center',
|
|
140
|
+
display: 'flex',
|
|
141
|
+
alignItems: 'center',
|
|
142
|
+
justifyContent: 'space-between'
|
|
143
|
+
}, children: [_jsx("span", { style: { cursor: 'pointer', padding: '0 4px' }, onClick: () => setBaseMonth(baseMonth.subtract(1, 'month')), children: "\u2039" }), _jsx("span", { children: currentValue.format('MMMM YYYY') }), _jsx("span", { style: { cursor: 'pointer', padding: '0 4px' }, onClick: () => setBaseMonth(baseMonth.add(1, 'month')), children: "\u203A" })] })) })] }), visibleHolidays.length > 0 && (_jsx("div", { style: { marginBottom: '12px', fontSize: '11px', color: '#666' }, children: visibleHolidays.map((holiday, index) => {
|
|
144
|
+
const isSelectedHoliday = selectedDate && holiday.date === selectedDate.format('DD.MM.YYYY');
|
|
145
|
+
return (_jsxs("div", { style: {
|
|
146
|
+
marginBottom: '2px',
|
|
147
|
+
background: isSelectedHoliday ? '#e6f7ff' : 'transparent',
|
|
148
|
+
padding: isSelectedHoliday ? '2px 4px' : '0',
|
|
149
|
+
borderRadius: '2px',
|
|
150
|
+
fontWeight: isSelectedHoliday ? 600 : 'normal',
|
|
151
|
+
}, children: [_jsx("span", { style: { color: '#cf1322', fontWeight: 500 }, children: holiday.date }), " - ", holiday.name] }, index));
|
|
152
|
+
}) })), _jsxs(Space, { style: { width: '100%', justifyContent: 'flex-end' }, children: [_jsx(Button, { size: "small", onClick: onCancel, disabled: loading, children: "Zru\u0161it" }), _jsx(Button, { type: "primary", size: "small", onClick: () => onSubmit(value), loading: loading, children: "Pou\u017E\u00EDt" })] })] }));
|
|
153
|
+
};
|
|
154
|
+
// React.memo optimalizace
|
|
155
|
+
// ✅ PERFORMANCE FIX: Ignore callback references
|
|
156
|
+
const arePropsEqual = createMemoComparison(['value', 'loading'], // Kritické props
|
|
157
|
+
['onChange', 'onSubmit', 'onCancel'], // Ignorované callbacky
|
|
158
|
+
false, 'BulkEditDatePicker');
|
|
159
|
+
export default React.memo(BulkEditDatePicker, arePropsEqual);
|
|
160
|
+
//# sourceMappingURL=BulkEditDatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkEditDatePicker.js","sourceRoot":"","sources":["../../BulkEdit/BulkEditDatePicker.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _default: React.NamedExoticComponent<{
|
|
2
|
+
value: any;
|
|
3
|
+
onChange: any;
|
|
4
|
+
onSubmit: any;
|
|
5
|
+
onCancel: any;
|
|
6
|
+
loading: any;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
allowClear?: boolean;
|
|
9
|
+
maxLength: any;
|
|
10
|
+
type?: string;
|
|
11
|
+
autoSubmit?: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
export default _default;
|
|
14
|
+
import React from 'react';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
import React, { useRef, useEffect } from 'react';
|
|
4
|
+
import { createMemoComparison } from '@bit.rhplus/react-memo';
|
|
5
|
+
import { Input, Button, Space } from 'antd';
|
|
6
|
+
const BulkEditInput = ({ value, onChange, onSubmit, onCancel, loading, placeholder = 'Zadejte hodnotu...', allowClear = true, maxLength, type = 'text', autoSubmit = false, }) => {
|
|
7
|
+
const inputRef = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (inputRef.current) {
|
|
10
|
+
setTimeout(() => {
|
|
11
|
+
inputRef.current?.focus();
|
|
12
|
+
inputRef.current?.select();
|
|
13
|
+
}, 100);
|
|
14
|
+
}
|
|
15
|
+
}, []);
|
|
16
|
+
const handleKeyDown = (e) => {
|
|
17
|
+
if (e.key === 'Enter' && !loading) {
|
|
18
|
+
e.preventDefault();
|
|
19
|
+
onSubmit(value);
|
|
20
|
+
}
|
|
21
|
+
else if (e.key === 'Escape') {
|
|
22
|
+
e.preventDefault();
|
|
23
|
+
onCancel();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: { marginBottom: autoSubmit ? '0' : '12px' }, onClick: (e) => e.stopPropagation(), children: _jsx(Input, { ref: inputRef, value: value, onChange: (e) => onChange(e.target.value), placeholder: placeholder, disabled: loading, allowClear: allowClear, maxLength: maxLength, type: type, onKeyDown: handleKeyDown, onClick: (e) => e.stopPropagation() }) }), !autoSubmit && (_jsxs(Space, { style: { width: '100%', justifyContent: 'flex-end' }, children: [_jsx(Button, { size: "small", onClick: onCancel, disabled: loading, children: "Zru\u0161it" }), _jsx(Button, { type: "primary", size: "small", onClick: () => onSubmit(value), loading: loading, children: "Pou\u017E\u00EDt" })] }))] }));
|
|
27
|
+
};
|
|
28
|
+
// React.memo optimalizace
|
|
29
|
+
// ✅ PERFORMANCE FIX: Ignore callback references
|
|
30
|
+
const arePropsEqual = createMemoComparison(['value', 'loading', 'placeholder', 'allowClear', 'maxLength', 'type', 'autoSubmit'], // Kritické props
|
|
31
|
+
['onChange', 'onSubmit', 'onCancel'], // Ignorované callbacky
|
|
32
|
+
false, 'BulkEditInput');
|
|
33
|
+
export default React.memo(BulkEditInput, arePropsEqual);
|
|
34
|
+
//# sourceMappingURL=BulkEditInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkEditInput.js","sourceRoot":"","sources":["../../BulkEdit/BulkEditInput.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
import React, { useRef, useEffect } from 'react';
|
|
4
|
+
import { createMemoComparison } from '@bit.rhplus/react-memo';
|
|
5
|
+
import { Button, Space } from 'antd';
|
|
6
|
+
import ModuleDropdownList from '@bit.rhplus/ui2.module-dropdown-list';
|
|
7
|
+
const BulkEditModule = ({ value, onChange, onSubmit, onCancel, loading, moduleDefinition, placeholder = 'Vyberte hodnotu...', }) => {
|
|
8
|
+
const moduleRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (moduleRef.current) {
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
moduleRef.current?.focus();
|
|
13
|
+
}, 100);
|
|
14
|
+
}
|
|
15
|
+
}, []);
|
|
16
|
+
const handleKeyDown = (e) => {
|
|
17
|
+
if (e.key === 'Enter' && !loading) {
|
|
18
|
+
e.preventDefault();
|
|
19
|
+
onSubmit(value);
|
|
20
|
+
}
|
|
21
|
+
else if (e.key === 'Escape') {
|
|
22
|
+
e.preventDefault();
|
|
23
|
+
onCancel();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: { marginBottom: '12px' }, onClick: (e) => e.stopPropagation(), children: _jsx(ModuleDropdownList, { ref: moduleRef, value: value, onChange: onChange, moduleDefinition: moduleDefinition, placeholder: placeholder, disabled: loading, style: { width: '100%' }, onKeyDown: handleKeyDown, displayMode: "full" }) }), _jsxs(Space, { style: { width: '100%', justifyContent: 'flex-end' }, children: [_jsx(Button, { size: "small", onClick: onCancel, disabled: loading, children: "Zru\u0161it" }), _jsx(Button, { type: "primary", size: "small", onClick: () => onSubmit(value), loading: loading, children: "Pou\u017E\u00EDt" })] })] }));
|
|
27
|
+
};
|
|
28
|
+
// React.memo optimalizace
|
|
29
|
+
// ✅ PERFORMANCE FIX: Ignore callback references
|
|
30
|
+
const arePropsEqual = createMemoComparison(['value', 'loading'], // Kritické props
|
|
31
|
+
['onChange', 'onSubmit', 'onCancel'], // Ignorované callbacky
|
|
32
|
+
false, 'BulkEditModule');
|
|
33
|
+
export default React.memo(BulkEditModule, arePropsEqual);
|
|
34
|
+
//# sourceMappingURL=BulkEditModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkEditModule.js","sourceRoot":"","sources":["../../BulkEdit/BulkEditModule.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AAEtE,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,WAAW,GAAG,oBAAoB,GACnC,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,EAAE;gBACd,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,cAAK,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YACvE,KAAC,kBAAkB,IACjB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,SAAS,EAAE,aAAa,EACxB,WAAW,EAAC,MAAM,GAClB,GACE,EAEN,MAAC,KAAK,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,aACzD,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,4BAEhD,EACT,KAAC,MAAM,IACL,IAAI,EAAC,SAAS,EACd,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,OAAO,EAAE,OAAO,iCAGT,IACH,IACP,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,0BAA0B;AAC1B,gDAAgD;AAChD,MAAM,aAAa,GAAG,oBAAoB,CACxC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,iBAAiB;AACvC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,uBAAuB;AAC7D,KAAK,EACL,gBAAgB,CACjB,CAAC;AAEF,eAAe,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _default: React.NamedExoticComponent<{
|
|
2
|
+
visible: boolean;
|
|
3
|
+
value: string;
|
|
4
|
+
loading: boolean;
|
|
5
|
+
error: string;
|
|
6
|
+
column: any;
|
|
7
|
+
range: any;
|
|
8
|
+
cellCount: number;
|
|
9
|
+
onValueChange: Function;
|
|
10
|
+
onSubmit: Function;
|
|
11
|
+
onCancel: Function;
|
|
12
|
+
}>;
|
|
13
|
+
export default _default;
|
|
14
|
+
import React from 'react';
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
import React, { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import { Input, InputNumber, Button, Alert, Space } from 'antd';
|
|
5
|
+
import { validateValue, getInputType } from './utils';
|
|
6
|
+
import { createMemoComparison } from '@bit.rhplus/react-memo';
|
|
7
|
+
/**
|
|
8
|
+
* Popover komponenta s inputem pro bulk edit
|
|
9
|
+
* @param {Object} props
|
|
10
|
+
* @param {boolean} props.visible - Viditelnost popoveru
|
|
11
|
+
* @param {string} props.value - Aktuální hodnota
|
|
12
|
+
* @param {boolean} props.loading - Loading state
|
|
13
|
+
* @param {string} props.error - Chybová hláška
|
|
14
|
+
* @param {Object} props.column - AG Grid column objekt
|
|
15
|
+
* @param {Object} props.range - AG Grid cell range objekt
|
|
16
|
+
* @param {number} props.cellCount - Počet buněk k editaci
|
|
17
|
+
* @param {Function} props.onValueChange - Handler pro změnu hodnoty
|
|
18
|
+
* @param {Function} props.onSubmit - Handler pro submit
|
|
19
|
+
* @param {Function} props.onCancel - Handler pro cancel
|
|
20
|
+
*/
|
|
21
|
+
const BulkEditPopover = ({ visible, value, loading, error, column, range, cellCount, gridApi, onValueChange, onSubmit, onCancel, }) => {
|
|
22
|
+
const inputRef = useRef(null);
|
|
23
|
+
// Focus input při otevření
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (visible && inputRef.current) {
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
inputRef.current?.focus();
|
|
28
|
+
}, 100);
|
|
29
|
+
}
|
|
30
|
+
}, [visible]);
|
|
31
|
+
if (!visible)
|
|
32
|
+
return null;
|
|
33
|
+
const colDef = column?.getColDef();
|
|
34
|
+
const inputType = getInputType(colDef);
|
|
35
|
+
const fieldName = colDef?.headerName || colDef?.field || 'Sloupec';
|
|
36
|
+
/**
|
|
37
|
+
* Handler pro submit
|
|
38
|
+
*/
|
|
39
|
+
const handleSubmit = useCallback(() => {
|
|
40
|
+
// Validace hodnoty
|
|
41
|
+
const validation = validateValue(value, colDef);
|
|
42
|
+
if (!validation.valid) {
|
|
43
|
+
// Zobrazit error (parent komponenta zobrazí)
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
onSubmit(validation.parsedValue);
|
|
47
|
+
}, [value, colDef, onSubmit]);
|
|
48
|
+
/**
|
|
49
|
+
* Handler pro Enter key
|
|
50
|
+
*/
|
|
51
|
+
const handleKeyPress = useCallback((e) => {
|
|
52
|
+
if (e.key === 'Enter' && !loading) {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
handleSubmit();
|
|
55
|
+
}
|
|
56
|
+
else if (e.key === 'Escape') {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
onCancel();
|
|
59
|
+
}
|
|
60
|
+
}, [handleSubmit, loading, onCancel]);
|
|
61
|
+
/**
|
|
62
|
+
* Render input podle typu
|
|
63
|
+
*/
|
|
64
|
+
const renderInput = () => {
|
|
65
|
+
// Check pro custom bulkEditPopover komponentu
|
|
66
|
+
const CustomComponent = colDef?.bulkEditPopover;
|
|
67
|
+
if (CustomComponent && typeof CustomComponent === 'function') {
|
|
68
|
+
// Renderovat custom komponentu s props
|
|
69
|
+
return (_jsx(CustomComponent, { value: value, onChange: onValueChange, onSubmit: onSubmit, onCancel: onCancel, loading: loading, error: error, column: column, range: range, cellCount: cellCount, colDef: colDef, gridApi: gridApi, autoSubmit: colDef?.bulkEditSelectAutoSubmit === true || colDef?.bulkEditInputAutoSubmit === true, autoOpen: colDef?.bulkEditSelectAutoOpen === true }));
|
|
70
|
+
}
|
|
71
|
+
// Default input podle typu
|
|
72
|
+
switch (inputType) {
|
|
73
|
+
case 'number':
|
|
74
|
+
return (_jsx(InputNumber, { ref: inputRef, style: { width: '100%' }, value: value, onChange: onValueChange, onPressEnter: handleKeyPress, placeholder: "Zadejte \u010D\u00EDslo...", disabled: loading }));
|
|
75
|
+
case 'date':
|
|
76
|
+
return (_jsx(Input, { ref: inputRef, type: "date", value: value, onChange: (e) => onValueChange(e.target.value), onKeyDown: handleKeyPress, placeholder: "Vyberte datum...", disabled: loading }));
|
|
77
|
+
case 'text':
|
|
78
|
+
default:
|
|
79
|
+
return (_jsx(Input, { ref: inputRef, value: value, onChange: (e) => onValueChange(e.target.value), onKeyDown: handleKeyPress, placeholder: "Zadejte hodnotu...", disabled: loading }));
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
// Check zda je custom komponenta
|
|
83
|
+
const CustomComponent = colDef?.bulkEditPopover;
|
|
84
|
+
const isCustomComponent = CustomComponent && typeof CustomComponent === 'function';
|
|
85
|
+
// Check zda má custom komponenta automatická tlačítka (default: true)
|
|
86
|
+
const autoButtons = colDef?.bulkEditPopoverAutoButtons !== false;
|
|
87
|
+
// Pokud je custom komponenta s automatickými tlačítky
|
|
88
|
+
if (isCustomComponent && autoButtons) {
|
|
89
|
+
return (_jsxs("div", { style: {
|
|
90
|
+
background: '#fff',
|
|
91
|
+
border: '1px solid #d9d9d9',
|
|
92
|
+
borderRadius: '4px',
|
|
93
|
+
padding: '12px',
|
|
94
|
+
boxShadow: '0 2px 8px rgba(0,0,0,0.15)',
|
|
95
|
+
minWidth: '280px',
|
|
96
|
+
maxWidth: '1050px',
|
|
97
|
+
}, children: [_jsxs("div", { style: { marginBottom: '8px' }, children: [_jsx("div", { style: { fontSize: '14px', fontWeight: 500, marginBottom: '4px' }, children: "Hromadn\u00E1 zm\u011Bna" }), _jsxs("div", { style: { fontSize: '12px', color: '#8c8c8c' }, children: [fieldName, " \u00B7 ", cellCount, " ", cellCount === 1 ? 'buňka' : cellCount < 5 ? 'buňky' : 'buněk'] })] }), error && (_jsx(Alert, { message: error, type: "error", showIcon: true, closable: true, style: { marginBottom: '12px' } })), _jsx("div", { style: { marginBottom: '12px' }, children: renderInput() }), _jsxs(Space, { style: { width: '100%', justifyContent: 'flex-end' }, children: [_jsx(Button, { size: "small", onClick: onCancel, disabled: loading, children: "Zru\u0161it" }), _jsx(Button, { type: "primary", size: "small", onClick: handleSubmit, loading: loading, children: "Pou\u017E\u00EDt" })] })] }));
|
|
98
|
+
}
|
|
99
|
+
// Pokud je custom komponenta BEZ automatických tlačítek (plná kontrola)
|
|
100
|
+
if (isCustomComponent && !autoButtons) {
|
|
101
|
+
return (_jsxs("div", { style: {
|
|
102
|
+
background: '#fff',
|
|
103
|
+
border: '1px solid #d9d9d9',
|
|
104
|
+
borderRadius: '4px',
|
|
105
|
+
padding: '12px',
|
|
106
|
+
boxShadow: '0 2px 8px rgba(0,0,0,0.15)',
|
|
107
|
+
minWidth: '280px',
|
|
108
|
+
maxWidth: '1050px',
|
|
109
|
+
}, children: [_jsxs("div", { style: { marginBottom: '8px' }, children: [_jsx("div", { style: { fontSize: '14px', fontWeight: 500, marginBottom: '4px' }, children: "Hromadn\u00E1 zm\u011Bna" }), _jsxs("div", { style: { fontSize: '12px', color: '#8c8c8c' }, children: [fieldName, " \u00B7 ", cellCount, " ", cellCount === 1 ? 'buňka' : cellCount < 5 ? 'buňky' : 'buněk'] })] }), error && (_jsx(Alert, { message: error, type: "error", showIcon: true, closable: true, style: { marginBottom: '12px' } })), renderInput()] }));
|
|
110
|
+
}
|
|
111
|
+
// Default popover s vlastními tlačítky
|
|
112
|
+
return (_jsxs("div", { style: {
|
|
113
|
+
background: '#fff',
|
|
114
|
+
border: '1px solid #d9d9d9',
|
|
115
|
+
borderRadius: '4px',
|
|
116
|
+
padding: '12px',
|
|
117
|
+
boxShadow: '0 2px 8px rgba(0,0,0,0.15)',
|
|
118
|
+
minWidth: '280px',
|
|
119
|
+
maxWidth: '320px',
|
|
120
|
+
}, children: [_jsxs("div", { style: { marginBottom: '8px' }, children: [_jsx("div", { style: { fontSize: '14px', fontWeight: 500, marginBottom: '4px' }, children: "Hromadn\u00E1 zm\u011Bna" }), _jsxs("div", { style: { fontSize: '12px', color: '#8c8c8c' }, children: [fieldName, " \u00B7 ", cellCount, " ", cellCount === 1 ? 'buňka' : cellCount < 5 ? 'buňky' : 'buněk'] })] }), error && (_jsx(Alert, { message: error, type: "error", showIcon: true, closable: true, style: { marginBottom: '12px' } })), _jsx("div", { style: { marginBottom: '12px' }, children: renderInput() }), _jsxs(Space, { style: { width: '100%', justifyContent: 'flex-end' }, children: [_jsx(Button, { size: "small", onClick: onCancel, disabled: loading, children: "Zru\u0161it" }), _jsx(Button, { type: "primary", size: "small", onClick: handleSubmit, loading: loading, children: "Pou\u017E\u00EDt" })] })] }));
|
|
121
|
+
};
|
|
122
|
+
// React.memo optimalizace - rerender pouze při změně kritických props
|
|
123
|
+
const arePropsEqual = createMemoComparison(['visible', 'value', 'loading', 'error', 'column', 'range', 'cellCount', 'gridApi'], ['onValueChange', 'onSubmit', 'onCancel'], false, 'BulkEditPopover');
|
|
124
|
+
export default React.memo(BulkEditPopover, arePropsEqual);
|
|
125
|
+
//# sourceMappingURL=BulkEditPopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BulkEditPopover.js","sourceRoot":"","sources":["../../BulkEdit/BulkEditPopover.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const _default: React.NamedExoticComponent<{
|
|
2
|
+
value: any;
|
|
3
|
+
onChange: any;
|
|
4
|
+
onSubmit: any;
|
|
5
|
+
onCancel: any;
|
|
6
|
+
loading: any;
|
|
7
|
+
options?: any[];
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
allowClear?: boolean;
|
|
10
|
+
fieldLabel?: string;
|
|
11
|
+
fieldValue?: string;
|
|
12
|
+
fieldIcon?: any;
|
|
13
|
+
showSearch?: boolean;
|
|
14
|
+
autoSubmit?: boolean;
|
|
15
|
+
autoOpen?: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export default _default;
|
|
18
|
+
import React from 'react';
|