@bit.rhplus/ui.f7.detail-item 0.0.14 → 0.0.16
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/components/Calendar.jsx +206 -19
- package/components/Contact.jsx +43 -32
- package/components/InputText.jsx +4 -3
- package/components/Switch.jsx +10 -7
- package/dist/components/Calendar.d.ts +2 -1
- package/dist/components/Calendar.js +178 -27
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/Contact.d.ts +2 -1
- package/dist/components/Contact.js +24 -17
- package/dist/components/Contact.js.map +1 -1
- package/dist/components/InputText.js +1 -1
- package/dist/components/InputText.js.map +1 -1
- package/dist/components/Switch.d.ts +3 -1
- package/dist/components/Switch.js +8 -7
- package/dist/components/Switch.js.map +1 -1
- package/package.json +6 -4
- /package/dist/{preview-1758532658726.js → preview-1758639402266.js} +0 -0
package/components/Calendar.jsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import React, { useRef, useEffect, useState, useCallback } from 'react';
|
|
3
|
-
import { f7, Popup, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card } from 'framework7-react';
|
|
3
|
+
import { f7, Popup, Popover, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card, List, ListInput, Picker, Button } from 'framework7-react';
|
|
4
4
|
import { Calendar as CalendarIcon } from 'lucide-react';
|
|
5
|
+
import SaveButton from '@bit.rhplus/ui.f7.save-button';
|
|
6
|
+
import SmallButton from '@bit.rhplus/ui.f7.small-button';
|
|
5
7
|
|
|
6
8
|
export const Calendar = ({
|
|
7
9
|
value,
|
|
@@ -16,6 +18,7 @@ export const Calendar = ({
|
|
|
16
18
|
icon,
|
|
17
19
|
iconSize = 16,
|
|
18
20
|
field = null,
|
|
21
|
+
enableTime = false, // Nový prop pro povolení výběru času
|
|
19
22
|
calendarParams = {},
|
|
20
23
|
...restProps
|
|
21
24
|
}) => {
|
|
@@ -24,7 +27,19 @@ export const Calendar = ({
|
|
|
24
27
|
const isInitializingRef = useRef(false);
|
|
25
28
|
const [displayValue, setDisplayValue] = useState('');
|
|
26
29
|
const [popupOpened, setPopupOpened] = useState(false);
|
|
30
|
+
const [timePopoverOpened, setTimePopoverOpened] = useState(false);
|
|
31
|
+
const timePickerRef = useRef(null);
|
|
27
32
|
const [selectedDate, setSelectedDate] = useState(value ? new Date(value) : null);
|
|
33
|
+
const [selectedTime, setSelectedTime] = useState(() => {
|
|
34
|
+
if (value && enableTime) {
|
|
35
|
+
const d = new Date(value);
|
|
36
|
+
return {
|
|
37
|
+
hours: String(d.getHours()).padStart(2, '0'),
|
|
38
|
+
minutes: String(d.getMinutes()).padStart(2, '0')
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return { hours: '09', minutes: '00' };
|
|
42
|
+
});
|
|
28
43
|
|
|
29
44
|
// Převod hodnoty na display formát
|
|
30
45
|
const formatDate = (date) => {
|
|
@@ -36,7 +51,16 @@ export const Calendar = ({
|
|
|
36
51
|
const month = String(d.getMonth() + 1).padStart(2, '0');
|
|
37
52
|
const year = d.getFullYear();
|
|
38
53
|
|
|
39
|
-
|
|
54
|
+
let dateStr = `${day}.${month}.${year}`;
|
|
55
|
+
|
|
56
|
+
// Pokud je povolený čas, přidej ho k formátu
|
|
57
|
+
if (enableTime) {
|
|
58
|
+
const hours = String(d.getHours()).padStart(2, '0');
|
|
59
|
+
const minutes = String(d.getMinutes()).padStart(2, '0');
|
|
60
|
+
dateStr += ` ${hours}:${minutes}`;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return dateStr;
|
|
40
64
|
};
|
|
41
65
|
|
|
42
66
|
// Aktualizace display hodnoty při změně value
|
|
@@ -54,12 +78,21 @@ export const Calendar = ({
|
|
|
54
78
|
// Cleanup kalendáře při zavírání popup
|
|
55
79
|
useEffect(() => {
|
|
56
80
|
if (!popupOpened && calendarRef.current) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
81
|
+
// Bezpečný cleanup s timeout pro prevenci konfliktů
|
|
82
|
+
setTimeout(() => {
|
|
83
|
+
if (calendarRef.current) {
|
|
84
|
+
try {
|
|
85
|
+
calendarRef.current.destroy();
|
|
86
|
+
} catch (error) {
|
|
87
|
+
console.warn('Calendar cleanup error:', error);
|
|
88
|
+
}
|
|
89
|
+
calendarRef.current = null;
|
|
90
|
+
}
|
|
91
|
+
// Vyčisti i DOM kontejner
|
|
92
|
+
if (calendarContainerRef.current) {
|
|
93
|
+
calendarContainerRef.current.innerHTML = '';
|
|
94
|
+
}
|
|
95
|
+
}, 100);
|
|
63
96
|
}
|
|
64
97
|
}, [popupOpened]);
|
|
65
98
|
|
|
@@ -106,6 +139,10 @@ export const Calendar = ({
|
|
|
106
139
|
dayNames,
|
|
107
140
|
dayNamesShort: dayNames,
|
|
108
141
|
firstDay: 1, // Pondělí jako první den
|
|
142
|
+
// Vypne timePicker - použijeme vlastní řešení
|
|
143
|
+
timePicker: false,
|
|
144
|
+
// Vypne automatické zavírání při enableTime
|
|
145
|
+
closeOnSelect: !enableTime,
|
|
109
146
|
on: {
|
|
110
147
|
change: (calendar, value) => {
|
|
111
148
|
// Ignoruj změny během inicializace
|
|
@@ -116,14 +153,16 @@ export const Calendar = ({
|
|
|
116
153
|
if (value && value.length > 0) {
|
|
117
154
|
const newSelectedDate = value[0];
|
|
118
155
|
setSelectedDate(newSelectedDate);
|
|
119
|
-
//
|
|
120
|
-
if (
|
|
121
|
-
onChange
|
|
156
|
+
// Pokud není povolen čas, automaticky potvrď a zavři popup
|
|
157
|
+
if (!enableTime) {
|
|
158
|
+
if (onChange) {
|
|
159
|
+
onChange(newSelectedDate);
|
|
160
|
+
}
|
|
161
|
+
// Zavři popup s mírným zpožděním pro lepší UX
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
setPopupOpened(false);
|
|
164
|
+
}, 200);
|
|
122
165
|
}
|
|
123
|
-
// Zavři popup s mírným zpožděním pro lepší UX
|
|
124
|
-
setTimeout(() => {
|
|
125
|
-
setPopupOpened(false);
|
|
126
|
-
}, 200);
|
|
127
166
|
}
|
|
128
167
|
}
|
|
129
168
|
},
|
|
@@ -141,24 +180,135 @@ export const Calendar = ({
|
|
|
141
180
|
return () => {
|
|
142
181
|
clearTimeout(timeoutId);
|
|
143
182
|
if (calendarRef.current) {
|
|
144
|
-
|
|
183
|
+
try {
|
|
184
|
+
calendarRef.current.destroy();
|
|
185
|
+
} catch (error) {
|
|
186
|
+
console.warn('Calendar cleanup error:', error);
|
|
187
|
+
}
|
|
145
188
|
calendarRef.current = null;
|
|
146
189
|
}
|
|
147
190
|
};
|
|
148
191
|
}, [popupOpened, selectedDate, calendarParams]);
|
|
149
192
|
|
|
193
|
+
// Otevření time picker
|
|
194
|
+
const openTimePicker = useCallback(() => {
|
|
195
|
+
if (!enableTime) return;
|
|
196
|
+
|
|
197
|
+
// Bezpečný cleanup existujícího pickeru
|
|
198
|
+
if (timePickerRef.current) {
|
|
199
|
+
try {
|
|
200
|
+
timePickerRef.current.destroy();
|
|
201
|
+
} catch (error) {
|
|
202
|
+
console.warn('Time picker cleanup error:', error);
|
|
203
|
+
}
|
|
204
|
+
timePickerRef.current = null;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Krátký timeout pro zajištění úplného cleanup
|
|
208
|
+
setTimeout(() => {
|
|
209
|
+
// Vytvoř hodnoty pro picker
|
|
210
|
+
const hours = Array.from({ length: 24 }, (_, i) => ({
|
|
211
|
+
value: String(i).padStart(2, '0'),
|
|
212
|
+
displayValue: String(i).padStart(2, '0')
|
|
213
|
+
}));
|
|
214
|
+
|
|
215
|
+
const minutes = Array.from({ length: 60 }, (_, i) => ({
|
|
216
|
+
value: String(i).padStart(2, '0'),
|
|
217
|
+
displayValue: String(i).padStart(2, '0')
|
|
218
|
+
}));
|
|
219
|
+
|
|
220
|
+
timePickerRef.current = f7.picker.create({
|
|
221
|
+
inputEl: '.time-picker-button',
|
|
222
|
+
value: [selectedTime.hours, selectedTime.minutes],
|
|
223
|
+
cols: [
|
|
224
|
+
{
|
|
225
|
+
textAlign: 'center',
|
|
226
|
+
values: hours.map(h => h.value),
|
|
227
|
+
displayValues: hours.map(h => h.displayValue),
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
textAlign: 'center',
|
|
231
|
+
values: minutes.map(m => m.value),
|
|
232
|
+
displayValues: minutes.map(m => m.displayValue),
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
formatValue: (values) => `${values[0]}:${values[1]}`,
|
|
236
|
+
on: {
|
|
237
|
+
change: (picker, values) => {
|
|
238
|
+
setSelectedTime({
|
|
239
|
+
hours: values[0],
|
|
240
|
+
minutes: values[1]
|
|
241
|
+
});
|
|
242
|
+
},
|
|
243
|
+
close: () => {
|
|
244
|
+
// Cleanup při zavření
|
|
245
|
+
setTimeout(() => {
|
|
246
|
+
if (timePickerRef.current) {
|
|
247
|
+
try {
|
|
248
|
+
timePickerRef.current.destroy();
|
|
249
|
+
} catch (error) {
|
|
250
|
+
console.warn('Time picker close cleanup error:', error);
|
|
251
|
+
}
|
|
252
|
+
timePickerRef.current = null;
|
|
253
|
+
}
|
|
254
|
+
}, 100);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
timePickerRef.current.open();
|
|
260
|
+
}, 50);
|
|
261
|
+
}, [enableTime, selectedTime]);
|
|
262
|
+
|
|
263
|
+
// Cleanup time pickeru
|
|
264
|
+
useEffect(() => {
|
|
265
|
+
return () => {
|
|
266
|
+
if (timePickerRef.current) {
|
|
267
|
+
try {
|
|
268
|
+
timePickerRef.current.destroy();
|
|
269
|
+
} catch (error) {
|
|
270
|
+
console.warn('Time picker unmount cleanup error:', error);
|
|
271
|
+
}
|
|
272
|
+
timePickerRef.current = null;
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
}, []);
|
|
276
|
+
|
|
277
|
+
// Cleanup při zavírání hlavního popup
|
|
278
|
+
useEffect(() => {
|
|
279
|
+
if (!popupOpened && timePickerRef.current) {
|
|
280
|
+
try {
|
|
281
|
+
timePickerRef.current.destroy();
|
|
282
|
+
} catch (error) {
|
|
283
|
+
console.warn('Time picker popup cleanup error:', error);
|
|
284
|
+
}
|
|
285
|
+
timePickerRef.current = null;
|
|
286
|
+
}
|
|
287
|
+
}, [popupOpened]);
|
|
288
|
+
|
|
150
289
|
// Potvrzení výběru data
|
|
151
290
|
const confirmSelection = useCallback(() => {
|
|
152
291
|
if (selectedDate && onChange) {
|
|
153
|
-
|
|
292
|
+
let finalDate = new Date(selectedDate);
|
|
293
|
+
|
|
294
|
+
// Pokud je povolen čas, aplikuj vybraný čas
|
|
295
|
+
if (enableTime) {
|
|
296
|
+
finalDate.setHours(parseInt(selectedTime.hours));
|
|
297
|
+
finalDate.setMinutes(parseInt(selectedTime.minutes));
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
onChange(finalDate);
|
|
154
301
|
}
|
|
155
302
|
setPopupOpened(false);
|
|
156
|
-
}, [selectedDate, onChange]);
|
|
303
|
+
}, [selectedDate, selectedTime, enableTime, onChange]);
|
|
157
304
|
|
|
158
305
|
// Zrušení výběru
|
|
159
306
|
const cancelSelection = useCallback(() => {
|
|
160
307
|
setSelectedDate(value ? new Date(value) : null);
|
|
161
|
-
|
|
308
|
+
// Bezpečné zavření s delay
|
|
309
|
+
setTimeout(() => {
|
|
310
|
+
setPopupOpened(false);
|
|
311
|
+
}, 50);
|
|
162
312
|
}, [value]);
|
|
163
313
|
|
|
164
314
|
const containerStyle = {
|
|
@@ -250,11 +400,48 @@ export const Calendar = ({
|
|
|
250
400
|
/>
|
|
251
401
|
</Block>
|
|
252
402
|
</Card>
|
|
403
|
+
|
|
404
|
+
{/* Pokud je povolen čas, zobraz tlačítko pro výběr času */}
|
|
405
|
+
{enableTime && (
|
|
406
|
+
<Block
|
|
407
|
+
style={{
|
|
408
|
+
padding: '10px 0',
|
|
409
|
+
}}
|
|
410
|
+
>
|
|
411
|
+
<Card>
|
|
412
|
+
<Block style={{ padding: '20px' }}>
|
|
413
|
+
<div style={{
|
|
414
|
+
display: 'flex',
|
|
415
|
+
justifyContent: 'space-between',
|
|
416
|
+
alignItems: 'center'
|
|
417
|
+
}}>
|
|
418
|
+
<h3 style={{ margin: 0, fontSize: '18px', fontWeight: '600' }}>Čas</h3>
|
|
419
|
+
<SmallButton
|
|
420
|
+
className="time-picker-button"
|
|
421
|
+
onClick={openTimePicker}
|
|
422
|
+
style={{ width: 'auto' }}
|
|
423
|
+
>
|
|
424
|
+
{selectedTime.hours}:{selectedTime.minutes}
|
|
425
|
+
</SmallButton>
|
|
426
|
+
</div>
|
|
427
|
+
</Block>
|
|
428
|
+
</Card>
|
|
429
|
+
</Block>
|
|
430
|
+
)}
|
|
431
|
+
|
|
432
|
+
{/* Tlačítko pro potvrzení */}
|
|
433
|
+
{enableTime && (
|
|
434
|
+
<SaveButton
|
|
435
|
+
onClick={confirmSelection}
|
|
436
|
+
variant="black"
|
|
437
|
+
/>
|
|
438
|
+
)}
|
|
253
439
|
</Block>
|
|
254
440
|
</div>
|
|
255
441
|
</div>
|
|
256
442
|
</div>
|
|
257
443
|
</Popup>
|
|
444
|
+
|
|
258
445
|
</>
|
|
259
446
|
);
|
|
260
447
|
};
|
package/components/Contact.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { ListInput } from 'framework7-react';
|
|
3
|
+
import { ListInput, Block, List } from 'framework7-react';
|
|
4
4
|
import { UserCheck } from 'lucide-react';
|
|
5
5
|
import { Custom } from './Custom';
|
|
6
6
|
|
|
@@ -12,29 +12,36 @@ const ContactRenderer = ({ fields, formData, onChange }) => {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
15
|
+
<Block inset>
|
|
16
|
+
<List>
|
|
17
|
+
{fields.map((field, index) => (
|
|
18
|
+
<ListInput
|
|
19
|
+
key={field.key || index}
|
|
20
|
+
type={field.type || 'text'}
|
|
21
|
+
label={field.label}
|
|
22
|
+
placeholder={field.placeholder}
|
|
23
|
+
value={formData[field.key] || ''}
|
|
24
|
+
onInput={(e) => handleInputChange(field.key, e)}
|
|
25
|
+
clearButton
|
|
26
|
+
style={{ fontSize: '18px' }}
|
|
27
|
+
// Speciální styling pro různé typy polí
|
|
28
|
+
{...(field.type === 'email' && {
|
|
29
|
+
inputMode: 'email',
|
|
30
|
+
autoComplete: 'email'
|
|
31
|
+
})}
|
|
32
|
+
{...(field.type === 'tel' && {
|
|
33
|
+
inputMode: 'tel',
|
|
34
|
+
autoComplete: 'tel'
|
|
35
|
+
})}
|
|
36
|
+
{...(field.type === 'textarea' && {
|
|
37
|
+
type: 'textarea',
|
|
38
|
+
resizable: false,
|
|
39
|
+
inputStyle: { minHeight: '60px', resize: 'none' }
|
|
40
|
+
})}
|
|
41
|
+
/>
|
|
42
|
+
))}
|
|
43
|
+
</List>
|
|
44
|
+
</Block>
|
|
38
45
|
);
|
|
39
46
|
};
|
|
40
47
|
|
|
@@ -48,22 +55,17 @@ export const Contact = ({
|
|
|
48
55
|
color = '#6887d3',
|
|
49
56
|
size = 16,
|
|
50
57
|
field = null, // Pole pro výběr konkrétní vlastnosti objektu
|
|
58
|
+
visibleFields = ['name', 'email', 'phone', 'position'], // Pole k zobrazení v popup
|
|
51
59
|
...restProps
|
|
52
60
|
}) => {
|
|
53
61
|
// Předdefinovaná pole pro Externí PM
|
|
54
|
-
const
|
|
62
|
+
const allFields = [
|
|
55
63
|
{
|
|
56
|
-
key: '
|
|
64
|
+
key: 'name',
|
|
57
65
|
label: 'Jméno',
|
|
58
66
|
type: 'text',
|
|
59
67
|
placeholder: 'Zadejte jméno'
|
|
60
68
|
},
|
|
61
|
-
{
|
|
62
|
-
key: 'lastName',
|
|
63
|
-
label: 'Příjmení',
|
|
64
|
-
type: 'text',
|
|
65
|
-
placeholder: 'Zadejte příjmení'
|
|
66
|
-
},
|
|
67
69
|
{
|
|
68
70
|
key: 'email',
|
|
69
71
|
label: 'Email',
|
|
@@ -81,9 +83,18 @@ export const Contact = ({
|
|
|
81
83
|
label: 'Pozice',
|
|
82
84
|
type: 'text',
|
|
83
85
|
placeholder: 'Zadejte pozici'
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
key: 'note',
|
|
89
|
+
label: 'Poznámka',
|
|
90
|
+
type: 'textarea',
|
|
91
|
+
placeholder: 'Zadejte poznámku'
|
|
84
92
|
}
|
|
85
93
|
];
|
|
86
94
|
|
|
95
|
+
// Filtrování polí podle visibleFields
|
|
96
|
+
const pmFields = allFields.filter(field => visibleFields.includes(field.key));
|
|
97
|
+
|
|
87
98
|
// Pole pro zobrazení v linku - jméno, příjmení a pozice
|
|
88
99
|
const displayFields = ['firstName', 'lastName', 'position'];
|
|
89
100
|
|
package/components/InputText.jsx
CHANGED
|
@@ -108,17 +108,18 @@ export const InputText = ({
|
|
|
108
108
|
<NavTitleLarge>{title}</NavTitleLarge>
|
|
109
109
|
</Navbar>
|
|
110
110
|
|
|
111
|
-
<Block
|
|
111
|
+
<Block inset>
|
|
112
112
|
<List>
|
|
113
113
|
<ListInput
|
|
114
|
-
type="
|
|
115
|
-
label="Typ dokladu"
|
|
114
|
+
type="textarea"
|
|
116
115
|
placeholder={placeholder}
|
|
117
116
|
value={inputValue}
|
|
118
117
|
onInput={(e) => setInputValue(e.target.value)}
|
|
119
118
|
clearButton
|
|
120
119
|
autoFocus
|
|
120
|
+
resizable
|
|
121
121
|
style={{ fontSize: '18px' }}
|
|
122
|
+
inputStyle={{ minHeight: '24px' }}
|
|
122
123
|
/>
|
|
123
124
|
</List>
|
|
124
125
|
</Block>
|
package/components/Switch.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { Switch as AntSwitch } from 'antd';
|
|
4
4
|
|
|
5
5
|
// Switch komponenta kompatibilní s Ant Design Form
|
|
6
6
|
export const Switch = ({
|
|
@@ -9,6 +9,9 @@ export const Switch = ({
|
|
|
9
9
|
disabled,
|
|
10
10
|
// Ant Design Form props
|
|
11
11
|
value,
|
|
12
|
+
// Text props pro stavy
|
|
13
|
+
checkedChildren, // Text když je true
|
|
14
|
+
unCheckedChildren, // Text když je false
|
|
12
15
|
// Ikona props - Switch nemá vizuální ikonu, ale zachováme konzistenci
|
|
13
16
|
lucideIcon,
|
|
14
17
|
icon,
|
|
@@ -18,21 +21,21 @@ export const Switch = ({
|
|
|
18
21
|
// Pro Form.Item kompatibilitu - preferuj value před checked
|
|
19
22
|
const isChecked = value !== undefined ? value : checked;
|
|
20
23
|
|
|
21
|
-
//
|
|
22
|
-
const handleChange = (
|
|
24
|
+
// Ant Design Switch už přímo vrací boolean hodnotu, nepotřebujeme event handling
|
|
25
|
+
const handleChange = (checked) => {
|
|
23
26
|
if (onChange) {
|
|
24
|
-
// Rozhodni jakou hodnotu vrátit podle field parametru (pro Switch nevyžíváme pole objektu)
|
|
25
|
-
const returnValue = event.target.checked;
|
|
26
27
|
// Pro Form.Item předáme boolean hodnotu
|
|
27
|
-
onChange(
|
|
28
|
+
onChange(checked);
|
|
28
29
|
}
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
return (
|
|
32
|
-
<
|
|
33
|
+
<AntSwitch
|
|
33
34
|
checked={isChecked}
|
|
34
35
|
onChange={handleChange}
|
|
35
36
|
disabled={disabled}
|
|
37
|
+
checkedChildren={checkedChildren}
|
|
38
|
+
unCheckedChildren={unCheckedChildren}
|
|
36
39
|
{...restProps}
|
|
37
40
|
/>
|
|
38
41
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function Calendar({ value, title, onChange, placeholder, format, color, style, disabled, lucideIcon, icon, iconSize, field, calendarParams, ...restProps }: {
|
|
1
|
+
export function Calendar({ value, title, onChange, placeholder, format, color, style, disabled, lucideIcon, icon, iconSize, field, enableTime, calendarParams, ...restProps }: {
|
|
2
2
|
[x: string]: any;
|
|
3
3
|
value: any;
|
|
4
4
|
title: any;
|
|
@@ -12,6 +12,7 @@ export function Calendar({ value, title, onChange, placeholder, format, color, s
|
|
|
12
12
|
icon: any;
|
|
13
13
|
iconSize?: number | undefined;
|
|
14
14
|
field?: null | undefined;
|
|
15
|
+
enableTime?: boolean | undefined;
|
|
15
16
|
calendarParams?: {} | undefined;
|
|
16
17
|
}): import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
import React from 'react';
|
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import React, { useRef, useEffect, useState, useCallback } from 'react';
|
|
4
|
-
import { f7, Popup, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card } from 'framework7-react';
|
|
4
|
+
import { f7, Popup, Popover, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card, List, ListInput, Picker, Button } from 'framework7-react';
|
|
5
5
|
import { Calendar as CalendarIcon } from 'lucide-react';
|
|
6
|
-
|
|
6
|
+
import SaveButton from '@bit.rhplus/ui.f7.save-button';
|
|
7
|
+
import SmallButton from '@bit.rhplus/ui.f7.small-button';
|
|
8
|
+
export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum', format = 'dd.MM.yyyy', color, style, disabled = false, lucideIcon = CalendarIcon, icon, iconSize = 16, field = null, enableTime = false, // Nový prop pro povolení výběru času
|
|
9
|
+
calendarParams = {}, ...restProps }) => {
|
|
7
10
|
const calendarRef = useRef(null);
|
|
8
11
|
const calendarContainerRef = useRef(null);
|
|
9
12
|
const isInitializingRef = useRef(false);
|
|
10
13
|
const [displayValue, setDisplayValue] = useState('');
|
|
11
14
|
const [popupOpened, setPopupOpened] = useState(false);
|
|
15
|
+
const [timePopoverOpened, setTimePopoverOpened] = useState(false);
|
|
16
|
+
const timePickerRef = useRef(null);
|
|
12
17
|
const [selectedDate, setSelectedDate] = useState(value ? new Date(value) : null);
|
|
18
|
+
const [selectedTime, setSelectedTime] = useState(() => {
|
|
19
|
+
if (value && enableTime) {
|
|
20
|
+
const d = new Date(value);
|
|
21
|
+
return {
|
|
22
|
+
hours: String(d.getHours()).padStart(2, '0'),
|
|
23
|
+
minutes: String(d.getMinutes()).padStart(2, '0')
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return { hours: '09', minutes: '00' };
|
|
27
|
+
});
|
|
13
28
|
// Převod hodnoty na display formát
|
|
14
29
|
const formatDate = (date) => {
|
|
15
30
|
if (!date)
|
|
@@ -20,7 +35,14 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
|
|
|
20
35
|
const day = String(d.getDate()).padStart(2, '0');
|
|
21
36
|
const month = String(d.getMonth() + 1).padStart(2, '0');
|
|
22
37
|
const year = d.getFullYear();
|
|
23
|
-
|
|
38
|
+
let dateStr = `${day}.${month}.${year}`;
|
|
39
|
+
// Pokud je povolený čas, přidej ho k formátu
|
|
40
|
+
if (enableTime) {
|
|
41
|
+
const hours = String(d.getHours()).padStart(2, '0');
|
|
42
|
+
const minutes = String(d.getMinutes()).padStart(2, '0');
|
|
43
|
+
dateStr += ` ${hours}:${minutes}`;
|
|
44
|
+
}
|
|
45
|
+
return dateStr;
|
|
24
46
|
};
|
|
25
47
|
// Aktualizace display hodnoty při změně value
|
|
26
48
|
useEffect(() => {
|
|
@@ -36,12 +58,22 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
|
|
|
36
58
|
// Cleanup kalendáře při zavírání popup
|
|
37
59
|
useEffect(() => {
|
|
38
60
|
if (!popupOpened && calendarRef.current) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
61
|
+
// Bezpečný cleanup s timeout pro prevenci konfliktů
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
if (calendarRef.current) {
|
|
64
|
+
try {
|
|
65
|
+
calendarRef.current.destroy();
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.warn('Calendar cleanup error:', error);
|
|
69
|
+
}
|
|
70
|
+
calendarRef.current = null;
|
|
71
|
+
}
|
|
72
|
+
// Vyčisti i DOM kontejner
|
|
73
|
+
if (calendarContainerRef.current) {
|
|
74
|
+
calendarContainerRef.current.innerHTML = '';
|
|
75
|
+
}
|
|
76
|
+
}, 100);
|
|
45
77
|
}
|
|
46
78
|
}, [popupOpened]);
|
|
47
79
|
// Inicializace kalendáře po otevření popup
|
|
@@ -82,6 +114,10 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
|
|
|
82
114
|
dayNames,
|
|
83
115
|
dayNamesShort: dayNames,
|
|
84
116
|
firstDay: 1, // Pondělí jako první den
|
|
117
|
+
// Vypne timePicker - použijeme vlastní řešení
|
|
118
|
+
timePicker: false,
|
|
119
|
+
// Vypne automatické zavírání při enableTime
|
|
120
|
+
closeOnSelect: !enableTime,
|
|
85
121
|
on: {
|
|
86
122
|
change: (calendar, value) => {
|
|
87
123
|
// Ignoruj změny během inicializace
|
|
@@ -91,14 +127,16 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
|
|
|
91
127
|
if (value && value.length > 0) {
|
|
92
128
|
const newSelectedDate = value[0];
|
|
93
129
|
setSelectedDate(newSelectedDate);
|
|
94
|
-
//
|
|
95
|
-
if (
|
|
96
|
-
onChange
|
|
130
|
+
// Pokud není povolen čas, automaticky potvrď a zavři popup
|
|
131
|
+
if (!enableTime) {
|
|
132
|
+
if (onChange) {
|
|
133
|
+
onChange(newSelectedDate);
|
|
134
|
+
}
|
|
135
|
+
// Zavři popup s mírným zpožděním pro lepší UX
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
setPopupOpened(false);
|
|
138
|
+
}, 200);
|
|
97
139
|
}
|
|
98
|
-
// Zavři popup s mírným zpožděním pro lepší UX
|
|
99
|
-
setTimeout(() => {
|
|
100
|
-
setPopupOpened(false);
|
|
101
|
-
}, 200);
|
|
102
140
|
}
|
|
103
141
|
}
|
|
104
142
|
},
|
|
@@ -113,22 +151,129 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
|
|
|
113
151
|
return () => {
|
|
114
152
|
clearTimeout(timeoutId);
|
|
115
153
|
if (calendarRef.current) {
|
|
116
|
-
|
|
154
|
+
try {
|
|
155
|
+
calendarRef.current.destroy();
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
console.warn('Calendar cleanup error:', error);
|
|
159
|
+
}
|
|
117
160
|
calendarRef.current = null;
|
|
118
161
|
}
|
|
119
162
|
};
|
|
120
163
|
}, [popupOpened, selectedDate, calendarParams]);
|
|
164
|
+
// Otevření time picker
|
|
165
|
+
const openTimePicker = useCallback(() => {
|
|
166
|
+
if (!enableTime)
|
|
167
|
+
return;
|
|
168
|
+
// Bezpečný cleanup existujícího pickeru
|
|
169
|
+
if (timePickerRef.current) {
|
|
170
|
+
try {
|
|
171
|
+
timePickerRef.current.destroy();
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.warn('Time picker cleanup error:', error);
|
|
175
|
+
}
|
|
176
|
+
timePickerRef.current = null;
|
|
177
|
+
}
|
|
178
|
+
// Krátký timeout pro zajištění úplného cleanup
|
|
179
|
+
setTimeout(() => {
|
|
180
|
+
// Vytvoř hodnoty pro picker
|
|
181
|
+
const hours = Array.from({ length: 24 }, (_, i) => ({
|
|
182
|
+
value: String(i).padStart(2, '0'),
|
|
183
|
+
displayValue: String(i).padStart(2, '0')
|
|
184
|
+
}));
|
|
185
|
+
const minutes = Array.from({ length: 60 }, (_, i) => ({
|
|
186
|
+
value: String(i).padStart(2, '0'),
|
|
187
|
+
displayValue: String(i).padStart(2, '0')
|
|
188
|
+
}));
|
|
189
|
+
timePickerRef.current = f7.picker.create({
|
|
190
|
+
inputEl: '.time-picker-button',
|
|
191
|
+
value: [selectedTime.hours, selectedTime.minutes],
|
|
192
|
+
cols: [
|
|
193
|
+
{
|
|
194
|
+
textAlign: 'center',
|
|
195
|
+
values: hours.map(h => h.value),
|
|
196
|
+
displayValues: hours.map(h => h.displayValue),
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
textAlign: 'center',
|
|
200
|
+
values: minutes.map(m => m.value),
|
|
201
|
+
displayValues: minutes.map(m => m.displayValue),
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
formatValue: (values) => `${values[0]}:${values[1]}`,
|
|
205
|
+
on: {
|
|
206
|
+
change: (picker, values) => {
|
|
207
|
+
setSelectedTime({
|
|
208
|
+
hours: values[0],
|
|
209
|
+
minutes: values[1]
|
|
210
|
+
});
|
|
211
|
+
},
|
|
212
|
+
close: () => {
|
|
213
|
+
// Cleanup při zavření
|
|
214
|
+
setTimeout(() => {
|
|
215
|
+
if (timePickerRef.current) {
|
|
216
|
+
try {
|
|
217
|
+
timePickerRef.current.destroy();
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
console.warn('Time picker close cleanup error:', error);
|
|
221
|
+
}
|
|
222
|
+
timePickerRef.current = null;
|
|
223
|
+
}
|
|
224
|
+
}, 100);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
timePickerRef.current.open();
|
|
229
|
+
}, 50);
|
|
230
|
+
}, [enableTime, selectedTime]);
|
|
231
|
+
// Cleanup time pickeru
|
|
232
|
+
useEffect(() => {
|
|
233
|
+
return () => {
|
|
234
|
+
if (timePickerRef.current) {
|
|
235
|
+
try {
|
|
236
|
+
timePickerRef.current.destroy();
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
console.warn('Time picker unmount cleanup error:', error);
|
|
240
|
+
}
|
|
241
|
+
timePickerRef.current = null;
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
}, []);
|
|
245
|
+
// Cleanup při zavírání hlavního popup
|
|
246
|
+
useEffect(() => {
|
|
247
|
+
if (!popupOpened && timePickerRef.current) {
|
|
248
|
+
try {
|
|
249
|
+
timePickerRef.current.destroy();
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
console.warn('Time picker popup cleanup error:', error);
|
|
253
|
+
}
|
|
254
|
+
timePickerRef.current = null;
|
|
255
|
+
}
|
|
256
|
+
}, [popupOpened]);
|
|
121
257
|
// Potvrzení výběru data
|
|
122
258
|
const confirmSelection = useCallback(() => {
|
|
123
259
|
if (selectedDate && onChange) {
|
|
124
|
-
|
|
260
|
+
let finalDate = new Date(selectedDate);
|
|
261
|
+
// Pokud je povolen čas, aplikuj vybraný čas
|
|
262
|
+
if (enableTime) {
|
|
263
|
+
finalDate.setHours(parseInt(selectedTime.hours));
|
|
264
|
+
finalDate.setMinutes(parseInt(selectedTime.minutes));
|
|
265
|
+
}
|
|
266
|
+
onChange(finalDate);
|
|
125
267
|
}
|
|
126
268
|
setPopupOpened(false);
|
|
127
|
-
}, [selectedDate, onChange]);
|
|
269
|
+
}, [selectedDate, selectedTime, enableTime, onChange]);
|
|
128
270
|
// Zrušení výběru
|
|
129
271
|
const cancelSelection = useCallback(() => {
|
|
130
272
|
setSelectedDate(value ? new Date(value) : null);
|
|
131
|
-
|
|
273
|
+
// Bezpečné zavření s delay
|
|
274
|
+
setTimeout(() => {
|
|
275
|
+
setPopupOpened(false);
|
|
276
|
+
}, 50);
|
|
132
277
|
}, [value]);
|
|
133
278
|
const containerStyle = {
|
|
134
279
|
display: 'flex',
|
|
@@ -166,13 +311,19 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
|
|
|
166
311
|
return (_jsxs(_Fragment, { children: [_jsxs("div", { style: containerStyle, onClick: openCalendar, ...restProps, children: [renderIcon(), _jsx("span", { style: displayStyle, children: displayValue || placeholder })] }), _jsx(Popup, { opened: popupOpened, onPopupClosed: cancelSelection, animate: true, backdrop: true, push: false, className: "f7-parallax calendar-popup", style: {
|
|
167
312
|
'--f7-popup-tablet-width': '90vw',
|
|
168
313
|
'--f7-popup-tablet-height': '90vh'
|
|
169
|
-
}, children: _jsx("div", { className: "view view-init", children: _jsxs("div", { className: "page page-with-navbar-large", children: [_jsxs(Navbar, { large: true, children: [_jsx(NavLeft, { children: _jsx(Link, { onClick: cancelSelection, children: _jsx(Icon, { f7: "arrow_left", style: { fontWeight: 'bold' } }) }) }), _jsx(NavTitle, { children: title }), _jsx(NavTitleLarge, { children: title })] }), _jsx("div", { className: "page-content", children:
|
|
314
|
+
}, children: _jsx("div", { className: "view view-init", children: _jsxs("div", { className: "page page-with-navbar-large", children: [_jsxs(Navbar, { large: true, children: [_jsx(NavLeft, { children: _jsx(Link, { onClick: cancelSelection, children: _jsx(Icon, { f7: "arrow_left", style: { fontWeight: 'bold' } }) }) }), _jsx(NavTitle, { children: title }), _jsx(NavTitleLarge, { children: title })] }), _jsx("div", { className: "page-content", children: _jsxs(Block, { style: {
|
|
170
315
|
padding: '10px 0',
|
|
171
|
-
}, children: _jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsx("div", { ref: calendarContainerRef, style: {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
316
|
+
}, children: [_jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsx("div", { ref: calendarContainerRef, style: {
|
|
317
|
+
minHeight: '300px',
|
|
318
|
+
display: 'flex',
|
|
319
|
+
justifyContent: 'center',
|
|
320
|
+
alignItems: 'flex-start'
|
|
321
|
+
} }) }) }), enableTime && (_jsx(Block, { style: {
|
|
322
|
+
padding: '10px 0',
|
|
323
|
+
}, children: _jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsxs("div", { style: {
|
|
324
|
+
display: 'flex',
|
|
325
|
+
justifyContent: 'space-between',
|
|
326
|
+
alignItems: 'center'
|
|
327
|
+
}, children: [_jsx("h3", { style: { margin: 0, fontSize: '18px', fontWeight: '600' }, children: "\u010Cas" }), _jsxs(SmallButton, { className: "time-picker-button", onClick: openTimePicker, style: { width: 'auto' }, children: [selectedTime.hours, ":", selectedTime.minutes] })] }) }) }) })), enableTime && (_jsx(SaveButton, { onClick: confirmSelection, variant: "black" }))] }) })] }) }) })] }));
|
|
177
328
|
};
|
|
178
329
|
//# sourceMappingURL=Calendar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../components/Calendar.jsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../components/Calendar.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function Contact({ value, onSave, onChange, title, placeholder, color, size, field, ...restProps }: {
|
|
1
|
+
export function Contact({ value, onSave, onChange, title, placeholder, color, size, field, visibleFields, ...restProps }: {
|
|
2
2
|
[x: string]: any;
|
|
3
3
|
value: any;
|
|
4
4
|
onSave: any;
|
|
@@ -8,4 +8,5 @@ export function Contact({ value, onSave, onChange, title, placeholder, color, si
|
|
|
8
8
|
color?: string | undefined;
|
|
9
9
|
size?: number | undefined;
|
|
10
10
|
field?: null | undefined;
|
|
11
|
+
visibleFields?: string[] | undefined;
|
|
11
12
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { ListInput } from 'framework7-react';
|
|
4
|
+
import { ListInput, Block, List } from 'framework7-react';
|
|
5
5
|
import { UserCheck } from 'lucide-react';
|
|
6
6
|
import { Custom } from './Custom';
|
|
7
7
|
// Renderer pro Contact formulář
|
|
@@ -10,31 +10,30 @@ const ContactRenderer = ({ fields, formData, onChange }) => {
|
|
|
10
10
|
const newValue = event.target.value;
|
|
11
11
|
onChange(fieldKey, newValue);
|
|
12
12
|
};
|
|
13
|
-
return (_jsx(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
return (_jsx(Block, { inset: true, children: _jsx(List, { children: fields.map((field, index) => (_jsx(ListInput, { type: field.type || 'text', label: field.label, placeholder: field.placeholder, value: formData[field.key] || '', onInput: (e) => handleInputChange(field.key, e), clearButton: true, style: { fontSize: '18px' }, ...(field.type === 'email' && {
|
|
14
|
+
inputMode: 'email',
|
|
15
|
+
autoComplete: 'email'
|
|
16
|
+
}), ...(field.type === 'tel' && {
|
|
17
|
+
inputMode: 'tel',
|
|
18
|
+
autoComplete: 'tel'
|
|
19
|
+
}), ...(field.type === 'textarea' && {
|
|
20
|
+
type: 'textarea',
|
|
21
|
+
resizable: false,
|
|
22
|
+
inputStyle: { minHeight: '60px', resize: 'none' }
|
|
23
|
+
}) }, field.key || index))) }) }));
|
|
20
24
|
};
|
|
21
25
|
// Externí PM komponenta s předdefinovanými poli
|
|
22
26
|
export const Contact = ({ value, onSave, onChange, title = 'Kontakt', placeholder = 'Zadej kontakt', color = '#6887d3', size = 16, field = null, // Pole pro výběr konkrétní vlastnosti objektu
|
|
27
|
+
visibleFields = ['name', 'email', 'phone', 'position'], // Pole k zobrazení v popup
|
|
23
28
|
...restProps }) => {
|
|
24
29
|
// Předdefinovaná pole pro Externí PM
|
|
25
|
-
const
|
|
30
|
+
const allFields = [
|
|
26
31
|
{
|
|
27
|
-
key: '
|
|
32
|
+
key: 'name',
|
|
28
33
|
label: 'Jméno',
|
|
29
34
|
type: 'text',
|
|
30
35
|
placeholder: 'Zadejte jméno'
|
|
31
36
|
},
|
|
32
|
-
{
|
|
33
|
-
key: 'lastName',
|
|
34
|
-
label: 'Příjmení',
|
|
35
|
-
type: 'text',
|
|
36
|
-
placeholder: 'Zadejte příjmení'
|
|
37
|
-
},
|
|
38
37
|
{
|
|
39
38
|
key: 'email',
|
|
40
39
|
label: 'Email',
|
|
@@ -52,8 +51,16 @@ export const Contact = ({ value, onSave, onChange, title = 'Kontakt', placeholde
|
|
|
52
51
|
label: 'Pozice',
|
|
53
52
|
type: 'text',
|
|
54
53
|
placeholder: 'Zadejte pozici'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: 'note',
|
|
57
|
+
label: 'Poznámka',
|
|
58
|
+
type: 'textarea',
|
|
59
|
+
placeholder: 'Zadejte poznámku'
|
|
55
60
|
}
|
|
56
61
|
];
|
|
62
|
+
// Filtrování polí podle visibleFields
|
|
63
|
+
const pmFields = allFields.filter(field => visibleFields.includes(field.key));
|
|
57
64
|
// Pole pro zobrazení v linku - jméno, příjmení a pozice
|
|
58
65
|
const displayFields = ['firstName', 'lastName', 'position'];
|
|
59
66
|
return (_jsx(Custom, { value: value, onSave: onSave, onChange: onChange, title: title, placeholder: placeholder, color: color, size: size, lucideIcon: UserCheck, FormRenderer: ContactRenderer, fields: pmFields, displayFields: displayFields, field: field, ...restProps }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contact.js","sourceRoot":"","sources":["../../components/Contact.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Contact.js","sourceRoot":"","sources":["../../components/Contact.jsx"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ field = null // Pole pro výběr konkrétní vlastnosti objektu
|
|
|
54
54
|
}
|
|
55
55
|
return _jsx(Pencil, { size: size, color: color });
|
|
56
56
|
};
|
|
57
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Link, { onClick: () => setPopupOpened(true), className: "link", style: linkStyle, children: [renderIcon(), (value !== null && value !== undefined && value !== '') ? (value || children) : placeholder] }), _jsx(Popup, { opened: popupOpened, onPopupClosed: () => setPopupOpened(false), animate: true, backdrop: true, className: "f7-parallax", children: _jsxs(Page, { children: [_jsxs(Navbar, { large: true, children: [_jsx(NavLeft, { children: _jsx(Link, { onClick: handleCancel, children: _jsx(Icon, { f7: "arrow_left", style: { fontWeight: 'bold' } }) }) }), _jsx(NavTitle, { children: title }), _jsx(NavTitleLarge, { children: title })] }), _jsx(Block, {
|
|
57
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Link, { onClick: () => setPopupOpened(true), className: "link", style: linkStyle, children: [renderIcon(), (value !== null && value !== undefined && value !== '') ? (value || children) : placeholder] }), _jsx(Popup, { opened: popupOpened, onPopupClosed: () => setPopupOpened(false), animate: true, backdrop: true, className: "f7-parallax", children: _jsxs(Page, { children: [_jsxs(Navbar, { large: true, children: [_jsx(NavLeft, { children: _jsx(Link, { onClick: handleCancel, children: _jsx(Icon, { f7: "arrow_left", style: { fontWeight: 'bold' } }) }) }), _jsx(NavTitle, { children: title }), _jsx(NavTitleLarge, { children: title })] }), _jsx(Block, { inset: true, children: _jsx(List, { children: _jsx(ListInput, { type: "textarea", placeholder: placeholder, value: inputValue, onInput: (e) => setInputValue(e.target.value), clearButton: true, autoFocus: true, resizable: true, style: { fontSize: '18px' }, inputStyle: { minHeight: '24px' } }) }) }), _jsx(SaveButton, { onClick: () => {
|
|
58
58
|
handleSave();
|
|
59
59
|
}, variant: "black" })] }) })] }));
|
|
60
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputText.js","sourceRoot":"","sources":["../../components/InputText.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,UAAU,MAAM,+BAA+B,CAAC;AAEvD,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EAAE,sCAAsC;AAChD,KAAK,GAAG,SAAS,EACjB,WAAW,GAAG,iBAAiB,EAC/B,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,EAAE,EACT,UAAU,EAAE,2CAA2C;AACvD,IAAI,EAAE,mCAAmC;AACzC,KAAK,GAAG,IAAI,CAAC,8CAA8C;EAC5D,EAAE,EAAE;IACH,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;IAEtE,+EAA+E;IAC/E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,SAAS,GAAG;QAChB,KAAK;QACL,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK;KACX,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QAEtB,8FAA8F;QAC9F,MAAM,WAAW,GAAG,UAAU,CAAC;QAE/B,qEAAqE;QACrE,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;QACR,CAAC;QAED,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,aAAa,CAAC,KAAK,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;QACvC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,yEAAyE;IACzE,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,UAAU,CAAC;YAC9B,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;QAClD,CAAC;QACD,OAAO,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,MAAC,IAAI,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,SAAS,aACzE,UAAU,EAAE,EACZ,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IACvF,EAEP,KAAC,KAAK,IACJ,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAC1C,OAAO,QACP,QAAQ,QACR,SAAS,EAAC,aAAa,YAEvB,MAAC,IAAI,eACH,MAAC,MAAM,IAAC,KAAK,mBACX,KAAC,OAAO,cACN,KAAC,IAAI,IAAC,OAAO,EAAE,YAAY,YACzB,KAAC,IAAI,IAAC,EAAE,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAI,GAClD,GACC,EACV,KAAC,QAAQ,cAAE,KAAK,GAAY,EAC5B,KAAC,aAAa,cAAE,KAAK,GAAiB,IAC/B,EAET,KAAC,KAAK,IAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"InputText.js","sourceRoot":"","sources":["../../components/InputText.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
export function Switch({ checked, onChange, disabled, value, lucideIcon, icon, field, ...restProps }: {
|
|
1
|
+
export function Switch({ checked, onChange, disabled, value, checkedChildren, unCheckedChildren, lucideIcon, icon, field, ...restProps }: {
|
|
2
2
|
[x: string]: any;
|
|
3
3
|
checked: any;
|
|
4
4
|
onChange: any;
|
|
5
5
|
disabled: any;
|
|
6
6
|
value: any;
|
|
7
|
+
checkedChildren: any;
|
|
8
|
+
unCheckedChildren: any;
|
|
7
9
|
lucideIcon: any;
|
|
8
10
|
icon: any;
|
|
9
11
|
field?: null | undefined;
|
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { Switch as AntSwitch } from 'antd';
|
|
5
5
|
// Switch komponenta kompatibilní s Ant Design Form
|
|
6
6
|
export const Switch = ({ checked, onChange, disabled,
|
|
7
7
|
// Ant Design Form props
|
|
8
8
|
value,
|
|
9
|
+
// Text props pro stavy
|
|
10
|
+
checkedChildren, // Text když je true
|
|
11
|
+
unCheckedChildren, // Text když je false
|
|
9
12
|
// Ikona props - Switch nemá vizuální ikonu, ale zachováme konzistenci
|
|
10
13
|
lucideIcon, icon, field = null, // Pole pro výběr konkrétní vlastnosti objektu
|
|
11
14
|
...restProps }) => {
|
|
12
15
|
// Pro Form.Item kompatibilitu - preferuj value před checked
|
|
13
16
|
const isChecked = value !== undefined ? value : checked;
|
|
14
|
-
//
|
|
15
|
-
const handleChange = (
|
|
17
|
+
// Ant Design Switch už přímo vrací boolean hodnotu, nepotřebujeme event handling
|
|
18
|
+
const handleChange = (checked) => {
|
|
16
19
|
if (onChange) {
|
|
17
|
-
// Rozhodni jakou hodnotu vrátit podle field parametru (pro Switch nevyžíváme pole objektu)
|
|
18
|
-
const returnValue = event.target.checked;
|
|
19
20
|
// Pro Form.Item předáme boolean hodnotu
|
|
20
|
-
onChange(
|
|
21
|
+
onChange(checked);
|
|
21
22
|
}
|
|
22
23
|
};
|
|
23
|
-
return (_jsx(
|
|
24
|
+
return (_jsx(AntSwitch, { checked: isChecked, onChange: handleChange, disabled: disabled, checkedChildren: checkedChildren, unCheckedChildren: unCheckedChildren, ...restProps }));
|
|
24
25
|
};
|
|
25
26
|
//# sourceMappingURL=Switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../components/Switch.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../components/Switch.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE3C,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,QAAQ;AACR,wBAAwB;AACxB,KAAK;AACL,uBAAuB;AACvB,eAAe,EAAE,oBAAoB;AACrC,iBAAiB,EAAE,qBAAqB;AACxC,sEAAsE;AACtE,UAAU,EACV,IAAI,EACJ,KAAK,GAAG,IAAI,EAAE,8CAA8C;AAC5D,GAAG,SAAS,EACb,EAAE,EAAE;IACH,4DAA4D;IAC5D,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAExD,iFAAiF;IACjF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,wCAAwC;YACxC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,KAChC,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bit.rhplus/ui.f7.detail-item",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"homepage": "https://bit.cloud/remote-scope/ui/f7/detail-item",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "remote-scope",
|
|
8
8
|
"name": "ui/f7/detail-item",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.16"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lucide-react": "^0.503.0",
|
|
13
|
+
"antd": "^5.20.6",
|
|
13
14
|
"@bit.rhplus/ui.f7.list-item": "0.0.7",
|
|
14
15
|
"@bit.rhplus/ui.form": "0.1.8",
|
|
16
|
+
"@bit.rhplus/ui.f7.save-button": "0.0.5",
|
|
17
|
+
"@bit.rhplus/ui.f7.small-button": "0.0.9",
|
|
15
18
|
"@bit.rhplus/ui.circle-button": "0.0.9",
|
|
16
19
|
"@bit.rhplus/ui.f7.category": "0.0.2",
|
|
17
|
-
"@bit.rhplus/ui.
|
|
18
|
-
"@bit.rhplus/ui.grid": "0.0.49",
|
|
20
|
+
"@bit.rhplus/ui.grid": "0.0.51",
|
|
19
21
|
"@bit.rhplus/ui.f7.filter": "0.0.2",
|
|
20
22
|
"@bit.rhplus/ui.f7.segmented": "0.0.11"
|
|
21
23
|
},
|
|
File without changes
|