akfatimeline 1.0.2 → 1.0.5
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/.babelrc +5 -3
- package/CHANGELOG.md +35 -0
- package/dist/Timeline.js +3277 -1
- package/dist/dist/components/Timeline/DatePickerComponent.js +17 -0
- package/dist/dist/components/Timeline/DragAndDropHandler.js +35 -0
- package/dist/dist/components/Timeline/EventTooltip.js +206 -0
- package/dist/dist/components/Timeline/Indicator.js +29 -0
- package/dist/dist/components/Timeline/MasterHeader.js +68 -0
- package/dist/dist/components/Timeline/Resources.js +53 -0
- package/dist/dist/components/Timeline/ResourcesHeader.js +14 -0
- package/dist/dist/components/Timeline/Timeline.css +616 -0
- package/dist/dist/components/Timeline/Timeline.js +304 -0
- package/dist/dist/components/Timeline/TimelineCell.js +8 -0
- package/dist/dist/components/Timeline/TimelineContent.js +447 -0
- package/dist/dist/components/Timeline/TimelineEvents.js +114 -0
- package/dist/dist/components/Timeline/TimelineHeader.js +43 -0
- package/dist/dist/components/Timeline/TimelineMonthContainer.js +29 -0
- package/dist/dist/components/Timeline/TimelineResources.js +16 -0
- package/dist/dist/hooks/useDragAndDrop.js +80 -0
- package/dist/dist/hooks/useEventDragDrop.js +126 -0
- package/dist/dist/hooks/useExtendEvent.js +28 -0
- package/dist/dist/utils/HorizontalVirtualScroll.js +0 -0
- package/dist/dist/utils/dateUtils.js +36 -0
- package/dist/dist/utils/filterTimelineData.js +21 -0
- package/dist/dist/utils/timelineUtils.js +40 -0
- package/package.json +2 -1
- package/public/dist/Timeline.js +3277 -0
- package/public/dist/dist/components/Timeline/DatePickerComponent.js +17 -0
- package/public/dist/dist/components/Timeline/DragAndDropHandler.js +35 -0
- package/public/dist/dist/components/Timeline/EventTooltip.js +206 -0
- package/public/dist/dist/components/Timeline/Indicator.js +29 -0
- package/public/dist/dist/components/Timeline/MasterHeader.js +68 -0
- package/public/dist/dist/components/Timeline/Resources.js +53 -0
- package/public/dist/dist/components/Timeline/ResourcesHeader.js +14 -0
- package/public/dist/dist/components/Timeline/Timeline.css +616 -0
- package/public/dist/dist/components/Timeline/Timeline.js +304 -0
- package/public/dist/dist/components/Timeline/TimelineCell.js +8 -0
- package/public/dist/dist/components/Timeline/TimelineContent.js +447 -0
- package/public/dist/dist/components/Timeline/TimelineEvents.js +114 -0
- package/public/dist/dist/components/Timeline/TimelineHeader.js +43 -0
- package/public/dist/dist/components/Timeline/TimelineMonthContainer.js +29 -0
- package/public/dist/dist/components/Timeline/TimelineResources.js +16 -0
- package/public/dist/dist/hooks/useDragAndDrop.js +80 -0
- package/public/dist/dist/hooks/useEventDragDrop.js +126 -0
- package/public/dist/dist/hooks/useExtendEvent.js +28 -0
- package/public/dist/dist/utils/HorizontalVirtualScroll.js +0 -0
- package/public/dist/dist/utils/dateUtils.js +36 -0
- package/public/dist/dist/utils/filterTimelineData.js +21 -0
- package/public/dist/dist/utils/timelineUtils.js +40 -0
- package/public/index kutuphane /304/261c/304/261n.html" +43 -0
- package/public/index tasarim icin.html +20 -0
- package/src/App.js +161 -154
- package/src/components/Timeline/DatePickerComponent.js +17 -0
- package/src/components/Timeline/EventTooltip.js +1 -1
- package/src/components/Timeline/Indicator.js +1 -2
- package/src/components/Timeline/MasterHeader.js +36 -23
- package/src/components/Timeline/Timeline.css +90 -8
- package/src/components/Timeline/Timeline.js +71 -44
- package/src/components/Timeline/TimelineContent.js +154 -129
- package/src/hooks/useEventDragDrop.js +22 -16
- package/webpack.config.js +25 -7
- package/src/App copy.js +0 -185
- package/src/components/Timeline/TimelineContent copy.js +0 -421
|
@@ -0,0 +1,3277 @@
|
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory(require("react"));
|
|
4
|
+
else if(typeof define === 'function' && define.amd)
|
|
5
|
+
define(["react"], factory);
|
|
6
|
+
else if(typeof exports === 'object')
|
|
7
|
+
exports["AkfaTimeline"] = factory(require("react"));
|
|
8
|
+
else
|
|
9
|
+
root["AkfaTimeline"] = factory(root["react"]);
|
|
10
|
+
})(this, (__WEBPACK_EXTERNAL_MODULE__155__) => {
|
|
11
|
+
return /******/ (() => { // webpackBootstrap
|
|
12
|
+
/******/ "use strict";
|
|
13
|
+
/******/ var __webpack_modules__ = ({
|
|
14
|
+
|
|
15
|
+
/***/ 941:
|
|
16
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
17
|
+
|
|
18
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
19
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
20
|
+
/* harmony export */ });
|
|
21
|
+
/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601);
|
|
22
|
+
/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
23
|
+
/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314);
|
|
24
|
+
/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
25
|
+
// Imports
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
29
|
+
// Module
|
|
30
|
+
___CSS_LOADER_EXPORT___.push([module.id, `.flatpickr-calendar {
|
|
31
|
+
background: transparent;
|
|
32
|
+
opacity: 0;
|
|
33
|
+
display: none;
|
|
34
|
+
text-align: center;
|
|
35
|
+
visibility: hidden;
|
|
36
|
+
padding: 0;
|
|
37
|
+
-webkit-animation: none;
|
|
38
|
+
animation: none;
|
|
39
|
+
direction: ltr;
|
|
40
|
+
border: 0;
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
line-height: 24px;
|
|
43
|
+
border-radius: 5px;
|
|
44
|
+
position: absolute;
|
|
45
|
+
width: 307.875px;
|
|
46
|
+
-webkit-box-sizing: border-box;
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
-ms-touch-action: manipulation;
|
|
49
|
+
touch-action: manipulation;
|
|
50
|
+
-webkit-box-shadow: 0 3px 13px rgba(0,0,0,0.08);
|
|
51
|
+
box-shadow: 0 3px 13px rgba(0,0,0,0.08);
|
|
52
|
+
}
|
|
53
|
+
.flatpickr-calendar.open,
|
|
54
|
+
.flatpickr-calendar.inline {
|
|
55
|
+
opacity: 1;
|
|
56
|
+
max-height: 640px;
|
|
57
|
+
visibility: visible;
|
|
58
|
+
}
|
|
59
|
+
.flatpickr-calendar.open {
|
|
60
|
+
display: inline-block;
|
|
61
|
+
z-index: 99999;
|
|
62
|
+
}
|
|
63
|
+
.flatpickr-calendar.animate.open {
|
|
64
|
+
-webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
|
|
65
|
+
animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
|
|
66
|
+
}
|
|
67
|
+
.flatpickr-calendar.inline {
|
|
68
|
+
display: block;
|
|
69
|
+
position: relative;
|
|
70
|
+
top: 2px;
|
|
71
|
+
}
|
|
72
|
+
.flatpickr-calendar.static {
|
|
73
|
+
position: absolute;
|
|
74
|
+
top: calc(100% + 2px);
|
|
75
|
+
}
|
|
76
|
+
.flatpickr-calendar.static.open {
|
|
77
|
+
z-index: 999;
|
|
78
|
+
display: block;
|
|
79
|
+
}
|
|
80
|
+
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
|
|
81
|
+
-webkit-box-shadow: none !important;
|
|
82
|
+
box-shadow: none !important;
|
|
83
|
+
}
|
|
84
|
+
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
|
|
85
|
+
-webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
|
|
86
|
+
box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
|
|
87
|
+
}
|
|
88
|
+
.flatpickr-calendar .hasWeeks .dayContainer,
|
|
89
|
+
.flatpickr-calendar .hasTime .dayContainer {
|
|
90
|
+
border-bottom: 0;
|
|
91
|
+
border-bottom-right-radius: 0;
|
|
92
|
+
border-bottom-left-radius: 0;
|
|
93
|
+
}
|
|
94
|
+
.flatpickr-calendar .hasWeeks .dayContainer {
|
|
95
|
+
border-left: 0;
|
|
96
|
+
}
|
|
97
|
+
.flatpickr-calendar.hasTime .flatpickr-time {
|
|
98
|
+
height: 40px;
|
|
99
|
+
border-top: 1px solid rgba(72,72,72,0.2);
|
|
100
|
+
}
|
|
101
|
+
.flatpickr-calendar.hasTime .flatpickr-innerContainer {
|
|
102
|
+
border-bottom: 0;
|
|
103
|
+
}
|
|
104
|
+
.flatpickr-calendar.hasTime .flatpickr-time {
|
|
105
|
+
border: 1px solid rgba(72,72,72,0.2);
|
|
106
|
+
}
|
|
107
|
+
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
|
|
108
|
+
height: auto;
|
|
109
|
+
}
|
|
110
|
+
.flatpickr-calendar:before,
|
|
111
|
+
.flatpickr-calendar:after {
|
|
112
|
+
position: absolute;
|
|
113
|
+
display: block;
|
|
114
|
+
pointer-events: none;
|
|
115
|
+
border: solid transparent;
|
|
116
|
+
content: '';
|
|
117
|
+
height: 0;
|
|
118
|
+
width: 0;
|
|
119
|
+
left: 22px;
|
|
120
|
+
}
|
|
121
|
+
.flatpickr-calendar.rightMost:before,
|
|
122
|
+
.flatpickr-calendar.arrowRight:before,
|
|
123
|
+
.flatpickr-calendar.rightMost:after,
|
|
124
|
+
.flatpickr-calendar.arrowRight:after {
|
|
125
|
+
left: auto;
|
|
126
|
+
right: 22px;
|
|
127
|
+
}
|
|
128
|
+
.flatpickr-calendar.arrowCenter:before,
|
|
129
|
+
.flatpickr-calendar.arrowCenter:after {
|
|
130
|
+
left: 50%;
|
|
131
|
+
right: 50%;
|
|
132
|
+
}
|
|
133
|
+
.flatpickr-calendar:before {
|
|
134
|
+
border-width: 5px;
|
|
135
|
+
margin: 0 -5px;
|
|
136
|
+
}
|
|
137
|
+
.flatpickr-calendar:after {
|
|
138
|
+
border-width: 4px;
|
|
139
|
+
margin: 0 -4px;
|
|
140
|
+
}
|
|
141
|
+
.flatpickr-calendar.arrowTop:before,
|
|
142
|
+
.flatpickr-calendar.arrowTop:after {
|
|
143
|
+
bottom: 100%;
|
|
144
|
+
}
|
|
145
|
+
.flatpickr-calendar.arrowTop:before {
|
|
146
|
+
border-bottom-color: rgba(72,72,72,0.2);
|
|
147
|
+
}
|
|
148
|
+
.flatpickr-calendar.arrowTop:after {
|
|
149
|
+
border-bottom-color: #1bbc9b;
|
|
150
|
+
}
|
|
151
|
+
.flatpickr-calendar.arrowBottom:before,
|
|
152
|
+
.flatpickr-calendar.arrowBottom:after {
|
|
153
|
+
top: 100%;
|
|
154
|
+
}
|
|
155
|
+
.flatpickr-calendar.arrowBottom:before {
|
|
156
|
+
border-top-color: rgba(72,72,72,0.2);
|
|
157
|
+
}
|
|
158
|
+
.flatpickr-calendar.arrowBottom:after {
|
|
159
|
+
border-top-color: #1bbc9b;
|
|
160
|
+
}
|
|
161
|
+
.flatpickr-calendar:focus {
|
|
162
|
+
outline: 0;
|
|
163
|
+
}
|
|
164
|
+
.flatpickr-wrapper {
|
|
165
|
+
position: relative;
|
|
166
|
+
display: inline-block;
|
|
167
|
+
}
|
|
168
|
+
.flatpickr-months {
|
|
169
|
+
display: -webkit-box;
|
|
170
|
+
display: -webkit-flex;
|
|
171
|
+
display: -ms-flexbox;
|
|
172
|
+
display: flex;
|
|
173
|
+
}
|
|
174
|
+
.flatpickr-months .flatpickr-month {
|
|
175
|
+
border-radius: 5px 5px 0 0;
|
|
176
|
+
background: #1bbc9b;
|
|
177
|
+
color: #fff;
|
|
178
|
+
fill: #fff;
|
|
179
|
+
height: 34px;
|
|
180
|
+
line-height: 1;
|
|
181
|
+
text-align: center;
|
|
182
|
+
position: relative;
|
|
183
|
+
-webkit-user-select: none;
|
|
184
|
+
-moz-user-select: none;
|
|
185
|
+
-ms-user-select: none;
|
|
186
|
+
user-select: none;
|
|
187
|
+
overflow: hidden;
|
|
188
|
+
-webkit-box-flex: 1;
|
|
189
|
+
-webkit-flex: 1;
|
|
190
|
+
-ms-flex: 1;
|
|
191
|
+
flex: 1;
|
|
192
|
+
}
|
|
193
|
+
.flatpickr-months .flatpickr-prev-month,
|
|
194
|
+
.flatpickr-months .flatpickr-next-month {
|
|
195
|
+
-webkit-user-select: none;
|
|
196
|
+
-moz-user-select: none;
|
|
197
|
+
-ms-user-select: none;
|
|
198
|
+
user-select: none;
|
|
199
|
+
text-decoration: none;
|
|
200
|
+
cursor: pointer;
|
|
201
|
+
position: absolute;
|
|
202
|
+
top: 0;
|
|
203
|
+
height: 34px;
|
|
204
|
+
padding: 10px;
|
|
205
|
+
z-index: 3;
|
|
206
|
+
color: #fff;
|
|
207
|
+
fill: #fff;
|
|
208
|
+
}
|
|
209
|
+
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
|
|
210
|
+
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
|
|
211
|
+
display: none;
|
|
212
|
+
}
|
|
213
|
+
.flatpickr-months .flatpickr-prev-month i,
|
|
214
|
+
.flatpickr-months .flatpickr-next-month i {
|
|
215
|
+
position: relative;
|
|
216
|
+
}
|
|
217
|
+
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
|
|
218
|
+
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
|
|
219
|
+
/*
|
|
220
|
+
/*rtl:begin:ignore*/
|
|
221
|
+
/*
|
|
222
|
+
*/
|
|
223
|
+
left: 0;
|
|
224
|
+
/*
|
|
225
|
+
/*rtl:end:ignore*/
|
|
226
|
+
/*
|
|
227
|
+
*/
|
|
228
|
+
}
|
|
229
|
+
/*
|
|
230
|
+
/*rtl:begin:ignore*/
|
|
231
|
+
/*
|
|
232
|
+
/*rtl:end:ignore*/
|
|
233
|
+
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
|
|
234
|
+
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
|
|
235
|
+
/*
|
|
236
|
+
/*rtl:begin:ignore*/
|
|
237
|
+
/*
|
|
238
|
+
*/
|
|
239
|
+
right: 0;
|
|
240
|
+
/*
|
|
241
|
+
/*rtl:end:ignore*/
|
|
242
|
+
/*
|
|
243
|
+
*/
|
|
244
|
+
}
|
|
245
|
+
/*
|
|
246
|
+
/*rtl:begin:ignore*/
|
|
247
|
+
/*
|
|
248
|
+
/*rtl:end:ignore*/
|
|
249
|
+
.flatpickr-months .flatpickr-prev-month:hover,
|
|
250
|
+
.flatpickr-months .flatpickr-next-month:hover {
|
|
251
|
+
color: #bbb;
|
|
252
|
+
}
|
|
253
|
+
.flatpickr-months .flatpickr-prev-month:hover svg,
|
|
254
|
+
.flatpickr-months .flatpickr-next-month:hover svg {
|
|
255
|
+
fill: #f64747;
|
|
256
|
+
}
|
|
257
|
+
.flatpickr-months .flatpickr-prev-month svg,
|
|
258
|
+
.flatpickr-months .flatpickr-next-month svg {
|
|
259
|
+
width: 14px;
|
|
260
|
+
height: 14px;
|
|
261
|
+
}
|
|
262
|
+
.flatpickr-months .flatpickr-prev-month svg path,
|
|
263
|
+
.flatpickr-months .flatpickr-next-month svg path {
|
|
264
|
+
-webkit-transition: fill 0.1s;
|
|
265
|
+
transition: fill 0.1s;
|
|
266
|
+
fill: inherit;
|
|
267
|
+
}
|
|
268
|
+
.numInputWrapper {
|
|
269
|
+
position: relative;
|
|
270
|
+
height: auto;
|
|
271
|
+
}
|
|
272
|
+
.numInputWrapper input,
|
|
273
|
+
.numInputWrapper span {
|
|
274
|
+
display: inline-block;
|
|
275
|
+
}
|
|
276
|
+
.numInputWrapper input {
|
|
277
|
+
width: 100%;
|
|
278
|
+
}
|
|
279
|
+
.numInputWrapper input::-ms-clear {
|
|
280
|
+
display: none;
|
|
281
|
+
}
|
|
282
|
+
.numInputWrapper input::-webkit-outer-spin-button,
|
|
283
|
+
.numInputWrapper input::-webkit-inner-spin-button {
|
|
284
|
+
margin: 0;
|
|
285
|
+
-webkit-appearance: none;
|
|
286
|
+
}
|
|
287
|
+
.numInputWrapper span {
|
|
288
|
+
position: absolute;
|
|
289
|
+
right: 0;
|
|
290
|
+
width: 14px;
|
|
291
|
+
padding: 0 4px 0 2px;
|
|
292
|
+
height: 50%;
|
|
293
|
+
line-height: 50%;
|
|
294
|
+
opacity: 0;
|
|
295
|
+
cursor: pointer;
|
|
296
|
+
border: 1px solid rgba(72,72,72,0.15);
|
|
297
|
+
-webkit-box-sizing: border-box;
|
|
298
|
+
box-sizing: border-box;
|
|
299
|
+
}
|
|
300
|
+
.numInputWrapper span:hover {
|
|
301
|
+
background: rgba(0,0,0,0.1);
|
|
302
|
+
}
|
|
303
|
+
.numInputWrapper span:active {
|
|
304
|
+
background: rgba(0,0,0,0.2);
|
|
305
|
+
}
|
|
306
|
+
.numInputWrapper span:after {
|
|
307
|
+
display: block;
|
|
308
|
+
content: "";
|
|
309
|
+
position: absolute;
|
|
310
|
+
}
|
|
311
|
+
.numInputWrapper span.arrowUp {
|
|
312
|
+
top: 0;
|
|
313
|
+
border-bottom: 0;
|
|
314
|
+
}
|
|
315
|
+
.numInputWrapper span.arrowUp:after {
|
|
316
|
+
border-left: 4px solid transparent;
|
|
317
|
+
border-right: 4px solid transparent;
|
|
318
|
+
border-bottom: 4px solid rgba(72,72,72,0.6);
|
|
319
|
+
top: 26%;
|
|
320
|
+
}
|
|
321
|
+
.numInputWrapper span.arrowDown {
|
|
322
|
+
top: 50%;
|
|
323
|
+
}
|
|
324
|
+
.numInputWrapper span.arrowDown:after {
|
|
325
|
+
border-left: 4px solid transparent;
|
|
326
|
+
border-right: 4px solid transparent;
|
|
327
|
+
border-top: 4px solid rgba(72,72,72,0.6);
|
|
328
|
+
top: 40%;
|
|
329
|
+
}
|
|
330
|
+
.numInputWrapper span svg {
|
|
331
|
+
width: inherit;
|
|
332
|
+
height: auto;
|
|
333
|
+
}
|
|
334
|
+
.numInputWrapper span svg path {
|
|
335
|
+
fill: rgba(255,255,255,0.5);
|
|
336
|
+
}
|
|
337
|
+
.numInputWrapper:hover {
|
|
338
|
+
background: rgba(0,0,0,0.05);
|
|
339
|
+
}
|
|
340
|
+
.numInputWrapper:hover span {
|
|
341
|
+
opacity: 1;
|
|
342
|
+
}
|
|
343
|
+
.flatpickr-current-month {
|
|
344
|
+
font-size: 135%;
|
|
345
|
+
line-height: inherit;
|
|
346
|
+
font-weight: 300;
|
|
347
|
+
color: inherit;
|
|
348
|
+
position: absolute;
|
|
349
|
+
width: 75%;
|
|
350
|
+
left: 12.5%;
|
|
351
|
+
padding: 7.48px 0 0 0;
|
|
352
|
+
line-height: 1;
|
|
353
|
+
height: 34px;
|
|
354
|
+
display: inline-block;
|
|
355
|
+
text-align: center;
|
|
356
|
+
-webkit-transform: translate3d(0px, 0px, 0px);
|
|
357
|
+
transform: translate3d(0px, 0px, 0px);
|
|
358
|
+
}
|
|
359
|
+
.flatpickr-current-month span.cur-month {
|
|
360
|
+
font-family: inherit;
|
|
361
|
+
font-weight: 700;
|
|
362
|
+
color: inherit;
|
|
363
|
+
display: inline-block;
|
|
364
|
+
margin-left: 0.5ch;
|
|
365
|
+
padding: 0;
|
|
366
|
+
}
|
|
367
|
+
.flatpickr-current-month span.cur-month:hover {
|
|
368
|
+
background: rgba(0,0,0,0.05);
|
|
369
|
+
}
|
|
370
|
+
.flatpickr-current-month .numInputWrapper {
|
|
371
|
+
width: 6ch;
|
|
372
|
+
width: 7ch\\0;
|
|
373
|
+
display: inline-block;
|
|
374
|
+
}
|
|
375
|
+
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
|
|
376
|
+
border-bottom-color: #fff;
|
|
377
|
+
}
|
|
378
|
+
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
|
|
379
|
+
border-top-color: #fff;
|
|
380
|
+
}
|
|
381
|
+
.flatpickr-current-month input.cur-year {
|
|
382
|
+
background: transparent;
|
|
383
|
+
-webkit-box-sizing: border-box;
|
|
384
|
+
box-sizing: border-box;
|
|
385
|
+
color: inherit;
|
|
386
|
+
cursor: text;
|
|
387
|
+
padding: 0 0 0 0.5ch;
|
|
388
|
+
margin: 0;
|
|
389
|
+
display: inline-block;
|
|
390
|
+
font-size: inherit;
|
|
391
|
+
font-family: inherit;
|
|
392
|
+
font-weight: 300;
|
|
393
|
+
line-height: inherit;
|
|
394
|
+
height: auto;
|
|
395
|
+
border: 0;
|
|
396
|
+
border-radius: 0;
|
|
397
|
+
vertical-align: initial;
|
|
398
|
+
-webkit-appearance: textfield;
|
|
399
|
+
-moz-appearance: textfield;
|
|
400
|
+
appearance: textfield;
|
|
401
|
+
}
|
|
402
|
+
.flatpickr-current-month input.cur-year:focus {
|
|
403
|
+
outline: 0;
|
|
404
|
+
}
|
|
405
|
+
.flatpickr-current-month input.cur-year[disabled],
|
|
406
|
+
.flatpickr-current-month input.cur-year[disabled]:hover {
|
|
407
|
+
font-size: 100%;
|
|
408
|
+
color: rgba(255,255,255,0.5);
|
|
409
|
+
background: transparent;
|
|
410
|
+
pointer-events: none;
|
|
411
|
+
}
|
|
412
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months {
|
|
413
|
+
appearance: menulist;
|
|
414
|
+
background: #1bbc9b;
|
|
415
|
+
border: none;
|
|
416
|
+
border-radius: 0;
|
|
417
|
+
box-sizing: border-box;
|
|
418
|
+
color: inherit;
|
|
419
|
+
cursor: pointer;
|
|
420
|
+
font-size: inherit;
|
|
421
|
+
font-family: inherit;
|
|
422
|
+
font-weight: 300;
|
|
423
|
+
height: auto;
|
|
424
|
+
line-height: inherit;
|
|
425
|
+
margin: -1px 0 0 0;
|
|
426
|
+
outline: none;
|
|
427
|
+
padding: 0 0 0 0.5ch;
|
|
428
|
+
position: relative;
|
|
429
|
+
vertical-align: initial;
|
|
430
|
+
-webkit-box-sizing: border-box;
|
|
431
|
+
-webkit-appearance: menulist;
|
|
432
|
+
-moz-appearance: menulist;
|
|
433
|
+
width: auto;
|
|
434
|
+
}
|
|
435
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
|
|
436
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
|
|
437
|
+
outline: none;
|
|
438
|
+
}
|
|
439
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
|
|
440
|
+
background: rgba(0,0,0,0.05);
|
|
441
|
+
}
|
|
442
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
|
|
443
|
+
background-color: #1bbc9b;
|
|
444
|
+
outline: none;
|
|
445
|
+
padding: 0;
|
|
446
|
+
}
|
|
447
|
+
.flatpickr-weekdays {
|
|
448
|
+
background: #1bbc9b;
|
|
449
|
+
text-align: center;
|
|
450
|
+
overflow: hidden;
|
|
451
|
+
width: 100%;
|
|
452
|
+
display: -webkit-box;
|
|
453
|
+
display: -webkit-flex;
|
|
454
|
+
display: -ms-flexbox;
|
|
455
|
+
display: flex;
|
|
456
|
+
-webkit-box-align: center;
|
|
457
|
+
-webkit-align-items: center;
|
|
458
|
+
-ms-flex-align: center;
|
|
459
|
+
align-items: center;
|
|
460
|
+
height: 28px;
|
|
461
|
+
}
|
|
462
|
+
.flatpickr-weekdays .flatpickr-weekdaycontainer {
|
|
463
|
+
display: -webkit-box;
|
|
464
|
+
display: -webkit-flex;
|
|
465
|
+
display: -ms-flexbox;
|
|
466
|
+
display: flex;
|
|
467
|
+
-webkit-box-flex: 1;
|
|
468
|
+
-webkit-flex: 1;
|
|
469
|
+
-ms-flex: 1;
|
|
470
|
+
flex: 1;
|
|
471
|
+
}
|
|
472
|
+
span.flatpickr-weekday {
|
|
473
|
+
cursor: default;
|
|
474
|
+
font-size: 90%;
|
|
475
|
+
background: #1bbc9b;
|
|
476
|
+
color: rgba(0,0,0,0.54);
|
|
477
|
+
line-height: 1;
|
|
478
|
+
margin: 0;
|
|
479
|
+
text-align: center;
|
|
480
|
+
display: block;
|
|
481
|
+
-webkit-box-flex: 1;
|
|
482
|
+
-webkit-flex: 1;
|
|
483
|
+
-ms-flex: 1;
|
|
484
|
+
flex: 1;
|
|
485
|
+
font-weight: bolder;
|
|
486
|
+
}
|
|
487
|
+
.dayContainer,
|
|
488
|
+
.flatpickr-weeks {
|
|
489
|
+
padding: 1px 0 0 0;
|
|
490
|
+
}
|
|
491
|
+
.flatpickr-days {
|
|
492
|
+
position: relative;
|
|
493
|
+
overflow: hidden;
|
|
494
|
+
display: -webkit-box;
|
|
495
|
+
display: -webkit-flex;
|
|
496
|
+
display: -ms-flexbox;
|
|
497
|
+
display: flex;
|
|
498
|
+
-webkit-box-align: start;
|
|
499
|
+
-webkit-align-items: flex-start;
|
|
500
|
+
-ms-flex-align: start;
|
|
501
|
+
align-items: flex-start;
|
|
502
|
+
width: 307.875px;
|
|
503
|
+
border-left: 1px solid rgba(72,72,72,0.2);
|
|
504
|
+
border-right: 1px solid rgba(72,72,72,0.2);
|
|
505
|
+
}
|
|
506
|
+
.flatpickr-days:focus {
|
|
507
|
+
outline: 0;
|
|
508
|
+
}
|
|
509
|
+
.dayContainer {
|
|
510
|
+
padding: 0;
|
|
511
|
+
outline: 0;
|
|
512
|
+
text-align: left;
|
|
513
|
+
width: 307.875px;
|
|
514
|
+
min-width: 307.875px;
|
|
515
|
+
max-width: 307.875px;
|
|
516
|
+
-webkit-box-sizing: border-box;
|
|
517
|
+
box-sizing: border-box;
|
|
518
|
+
display: inline-block;
|
|
519
|
+
display: -ms-flexbox;
|
|
520
|
+
display: -webkit-box;
|
|
521
|
+
display: -webkit-flex;
|
|
522
|
+
display: flex;
|
|
523
|
+
-webkit-flex-wrap: wrap;
|
|
524
|
+
flex-wrap: wrap;
|
|
525
|
+
-ms-flex-wrap: wrap;
|
|
526
|
+
-ms-flex-pack: justify;
|
|
527
|
+
-webkit-justify-content: space-around;
|
|
528
|
+
justify-content: space-around;
|
|
529
|
+
-webkit-transform: translate3d(0px, 0px, 0px);
|
|
530
|
+
transform: translate3d(0px, 0px, 0px);
|
|
531
|
+
opacity: 1;
|
|
532
|
+
}
|
|
533
|
+
.dayContainer + .dayContainer {
|
|
534
|
+
-webkit-box-shadow: -1px 0 0 rgba(72,72,72,0.2);
|
|
535
|
+
box-shadow: -1px 0 0 rgba(72,72,72,0.2);
|
|
536
|
+
}
|
|
537
|
+
.flatpickr-day {
|
|
538
|
+
background: none;
|
|
539
|
+
border: 1px solid transparent;
|
|
540
|
+
border-radius: 150px;
|
|
541
|
+
-webkit-box-sizing: border-box;
|
|
542
|
+
box-sizing: border-box;
|
|
543
|
+
color: #484848;
|
|
544
|
+
cursor: pointer;
|
|
545
|
+
font-weight: 400;
|
|
546
|
+
width: 14.2857143%;
|
|
547
|
+
-webkit-flex-basis: 14.2857143%;
|
|
548
|
+
-ms-flex-preferred-size: 14.2857143%;
|
|
549
|
+
flex-basis: 14.2857143%;
|
|
550
|
+
max-width: 39px;
|
|
551
|
+
height: 39px;
|
|
552
|
+
line-height: 39px;
|
|
553
|
+
margin: 0;
|
|
554
|
+
display: inline-block;
|
|
555
|
+
position: relative;
|
|
556
|
+
-webkit-box-pack: center;
|
|
557
|
+
-webkit-justify-content: center;
|
|
558
|
+
-ms-flex-pack: center;
|
|
559
|
+
justify-content: center;
|
|
560
|
+
text-align: center;
|
|
561
|
+
}
|
|
562
|
+
.flatpickr-day.inRange,
|
|
563
|
+
.flatpickr-day.prevMonthDay.inRange,
|
|
564
|
+
.flatpickr-day.nextMonthDay.inRange,
|
|
565
|
+
.flatpickr-day.today.inRange,
|
|
566
|
+
.flatpickr-day.prevMonthDay.today.inRange,
|
|
567
|
+
.flatpickr-day.nextMonthDay.today.inRange,
|
|
568
|
+
.flatpickr-day:hover,
|
|
569
|
+
.flatpickr-day.prevMonthDay:hover,
|
|
570
|
+
.flatpickr-day.nextMonthDay:hover,
|
|
571
|
+
.flatpickr-day:focus,
|
|
572
|
+
.flatpickr-day.prevMonthDay:focus,
|
|
573
|
+
.flatpickr-day.nextMonthDay:focus {
|
|
574
|
+
cursor: pointer;
|
|
575
|
+
outline: 0;
|
|
576
|
+
background: #e2e2e2;
|
|
577
|
+
border-color: #e2e2e2;
|
|
578
|
+
}
|
|
579
|
+
.flatpickr-day.today {
|
|
580
|
+
border-color: #bbb;
|
|
581
|
+
}
|
|
582
|
+
.flatpickr-day.today:hover,
|
|
583
|
+
.flatpickr-day.today:focus {
|
|
584
|
+
border-color: #bbb;
|
|
585
|
+
background: #bbb;
|
|
586
|
+
color: #fff;
|
|
587
|
+
}
|
|
588
|
+
.flatpickr-day.selected,
|
|
589
|
+
.flatpickr-day.startRange,
|
|
590
|
+
.flatpickr-day.endRange,
|
|
591
|
+
.flatpickr-day.selected.inRange,
|
|
592
|
+
.flatpickr-day.startRange.inRange,
|
|
593
|
+
.flatpickr-day.endRange.inRange,
|
|
594
|
+
.flatpickr-day.selected:focus,
|
|
595
|
+
.flatpickr-day.startRange:focus,
|
|
596
|
+
.flatpickr-day.endRange:focus,
|
|
597
|
+
.flatpickr-day.selected:hover,
|
|
598
|
+
.flatpickr-day.startRange:hover,
|
|
599
|
+
.flatpickr-day.endRange:hover,
|
|
600
|
+
.flatpickr-day.selected.prevMonthDay,
|
|
601
|
+
.flatpickr-day.startRange.prevMonthDay,
|
|
602
|
+
.flatpickr-day.endRange.prevMonthDay,
|
|
603
|
+
.flatpickr-day.selected.nextMonthDay,
|
|
604
|
+
.flatpickr-day.startRange.nextMonthDay,
|
|
605
|
+
.flatpickr-day.endRange.nextMonthDay {
|
|
606
|
+
background: #1bbc9b;
|
|
607
|
+
-webkit-box-shadow: none;
|
|
608
|
+
box-shadow: none;
|
|
609
|
+
color: #fff;
|
|
610
|
+
border-color: #1bbc9b;
|
|
611
|
+
}
|
|
612
|
+
.flatpickr-day.selected.startRange,
|
|
613
|
+
.flatpickr-day.startRange.startRange,
|
|
614
|
+
.flatpickr-day.endRange.startRange {
|
|
615
|
+
border-radius: 50px 0 0 50px;
|
|
616
|
+
}
|
|
617
|
+
.flatpickr-day.selected.endRange,
|
|
618
|
+
.flatpickr-day.startRange.endRange,
|
|
619
|
+
.flatpickr-day.endRange.endRange {
|
|
620
|
+
border-radius: 0 50px 50px 0;
|
|
621
|
+
}
|
|
622
|
+
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
|
|
623
|
+
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
|
|
624
|
+
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
|
|
625
|
+
-webkit-box-shadow: -10px 0 0 #1bbc9b;
|
|
626
|
+
box-shadow: -10px 0 0 #1bbc9b;
|
|
627
|
+
}
|
|
628
|
+
.flatpickr-day.selected.startRange.endRange,
|
|
629
|
+
.flatpickr-day.startRange.startRange.endRange,
|
|
630
|
+
.flatpickr-day.endRange.startRange.endRange {
|
|
631
|
+
border-radius: 50px;
|
|
632
|
+
}
|
|
633
|
+
.flatpickr-day.inRange {
|
|
634
|
+
border-radius: 0;
|
|
635
|
+
-webkit-box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
|
|
636
|
+
box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
|
|
637
|
+
}
|
|
638
|
+
.flatpickr-day.flatpickr-disabled,
|
|
639
|
+
.flatpickr-day.flatpickr-disabled:hover,
|
|
640
|
+
.flatpickr-day.prevMonthDay,
|
|
641
|
+
.flatpickr-day.nextMonthDay,
|
|
642
|
+
.flatpickr-day.notAllowed,
|
|
643
|
+
.flatpickr-day.notAllowed.prevMonthDay,
|
|
644
|
+
.flatpickr-day.notAllowed.nextMonthDay {
|
|
645
|
+
color: rgba(72,72,72,0.3);
|
|
646
|
+
background: transparent;
|
|
647
|
+
border-color: transparent;
|
|
648
|
+
cursor: default;
|
|
649
|
+
}
|
|
650
|
+
.flatpickr-day.flatpickr-disabled,
|
|
651
|
+
.flatpickr-day.flatpickr-disabled:hover {
|
|
652
|
+
cursor: not-allowed;
|
|
653
|
+
color: rgba(72,72,72,0.1);
|
|
654
|
+
}
|
|
655
|
+
.flatpickr-day.week.selected {
|
|
656
|
+
border-radius: 0;
|
|
657
|
+
-webkit-box-shadow: -5px 0 0 #1bbc9b, 5px 0 0 #1bbc9b;
|
|
658
|
+
box-shadow: -5px 0 0 #1bbc9b, 5px 0 0 #1bbc9b;
|
|
659
|
+
}
|
|
660
|
+
.flatpickr-day.hidden {
|
|
661
|
+
visibility: hidden;
|
|
662
|
+
}
|
|
663
|
+
.rangeMode .flatpickr-day {
|
|
664
|
+
margin-top: 1px;
|
|
665
|
+
}
|
|
666
|
+
.flatpickr-weekwrapper {
|
|
667
|
+
float: left;
|
|
668
|
+
}
|
|
669
|
+
.flatpickr-weekwrapper .flatpickr-weeks {
|
|
670
|
+
padding: 0 12px;
|
|
671
|
+
border-left: 1px solid rgba(72,72,72,0.2);
|
|
672
|
+
}
|
|
673
|
+
.flatpickr-weekwrapper .flatpickr-weekday {
|
|
674
|
+
float: none;
|
|
675
|
+
width: 100%;
|
|
676
|
+
line-height: 28px;
|
|
677
|
+
}
|
|
678
|
+
.flatpickr-weekwrapper span.flatpickr-day,
|
|
679
|
+
.flatpickr-weekwrapper span.flatpickr-day:hover {
|
|
680
|
+
display: block;
|
|
681
|
+
width: 100%;
|
|
682
|
+
max-width: none;
|
|
683
|
+
color: rgba(72,72,72,0.3);
|
|
684
|
+
background: transparent;
|
|
685
|
+
cursor: default;
|
|
686
|
+
border: none;
|
|
687
|
+
}
|
|
688
|
+
.flatpickr-innerContainer {
|
|
689
|
+
display: block;
|
|
690
|
+
display: -webkit-box;
|
|
691
|
+
display: -webkit-flex;
|
|
692
|
+
display: -ms-flexbox;
|
|
693
|
+
display: flex;
|
|
694
|
+
-webkit-box-sizing: border-box;
|
|
695
|
+
box-sizing: border-box;
|
|
696
|
+
overflow: hidden;
|
|
697
|
+
background: #fff;
|
|
698
|
+
border-bottom: 1px solid rgba(72,72,72,0.2);
|
|
699
|
+
}
|
|
700
|
+
.flatpickr-rContainer {
|
|
701
|
+
display: inline-block;
|
|
702
|
+
padding: 0;
|
|
703
|
+
-webkit-box-sizing: border-box;
|
|
704
|
+
box-sizing: border-box;
|
|
705
|
+
}
|
|
706
|
+
.flatpickr-time {
|
|
707
|
+
text-align: center;
|
|
708
|
+
outline: 0;
|
|
709
|
+
display: block;
|
|
710
|
+
height: 0;
|
|
711
|
+
line-height: 40px;
|
|
712
|
+
max-height: 40px;
|
|
713
|
+
-webkit-box-sizing: border-box;
|
|
714
|
+
box-sizing: border-box;
|
|
715
|
+
overflow: hidden;
|
|
716
|
+
display: -webkit-box;
|
|
717
|
+
display: -webkit-flex;
|
|
718
|
+
display: -ms-flexbox;
|
|
719
|
+
display: flex;
|
|
720
|
+
background: #fff;
|
|
721
|
+
border-radius: 0 0 5px 5px;
|
|
722
|
+
}
|
|
723
|
+
.flatpickr-time:after {
|
|
724
|
+
content: "";
|
|
725
|
+
display: table;
|
|
726
|
+
clear: both;
|
|
727
|
+
}
|
|
728
|
+
.flatpickr-time .numInputWrapper {
|
|
729
|
+
-webkit-box-flex: 1;
|
|
730
|
+
-webkit-flex: 1;
|
|
731
|
+
-ms-flex: 1;
|
|
732
|
+
flex: 1;
|
|
733
|
+
width: 40%;
|
|
734
|
+
height: 40px;
|
|
735
|
+
float: left;
|
|
736
|
+
}
|
|
737
|
+
.flatpickr-time .numInputWrapper span.arrowUp:after {
|
|
738
|
+
border-bottom-color: #484848;
|
|
739
|
+
}
|
|
740
|
+
.flatpickr-time .numInputWrapper span.arrowDown:after {
|
|
741
|
+
border-top-color: #484848;
|
|
742
|
+
}
|
|
743
|
+
.flatpickr-time.hasSeconds .numInputWrapper {
|
|
744
|
+
width: 26%;
|
|
745
|
+
}
|
|
746
|
+
.flatpickr-time.time24hr .numInputWrapper {
|
|
747
|
+
width: 49%;
|
|
748
|
+
}
|
|
749
|
+
.flatpickr-time input {
|
|
750
|
+
background: transparent;
|
|
751
|
+
-webkit-box-shadow: none;
|
|
752
|
+
box-shadow: none;
|
|
753
|
+
border: 0;
|
|
754
|
+
border-radius: 0;
|
|
755
|
+
text-align: center;
|
|
756
|
+
margin: 0;
|
|
757
|
+
padding: 0;
|
|
758
|
+
height: inherit;
|
|
759
|
+
line-height: inherit;
|
|
760
|
+
color: #484848;
|
|
761
|
+
font-size: 14px;
|
|
762
|
+
position: relative;
|
|
763
|
+
-webkit-box-sizing: border-box;
|
|
764
|
+
box-sizing: border-box;
|
|
765
|
+
-webkit-appearance: textfield;
|
|
766
|
+
-moz-appearance: textfield;
|
|
767
|
+
appearance: textfield;
|
|
768
|
+
}
|
|
769
|
+
.flatpickr-time input.flatpickr-hour {
|
|
770
|
+
font-weight: bold;
|
|
771
|
+
}
|
|
772
|
+
.flatpickr-time input.flatpickr-minute,
|
|
773
|
+
.flatpickr-time input.flatpickr-second {
|
|
774
|
+
font-weight: 400;
|
|
775
|
+
}
|
|
776
|
+
.flatpickr-time input:focus {
|
|
777
|
+
outline: 0;
|
|
778
|
+
border: 0;
|
|
779
|
+
}
|
|
780
|
+
.flatpickr-time .flatpickr-time-separator,
|
|
781
|
+
.flatpickr-time .flatpickr-am-pm {
|
|
782
|
+
height: inherit;
|
|
783
|
+
float: left;
|
|
784
|
+
line-height: inherit;
|
|
785
|
+
color: #484848;
|
|
786
|
+
font-weight: bold;
|
|
787
|
+
width: 2%;
|
|
788
|
+
-webkit-user-select: none;
|
|
789
|
+
-moz-user-select: none;
|
|
790
|
+
-ms-user-select: none;
|
|
791
|
+
user-select: none;
|
|
792
|
+
-webkit-align-self: center;
|
|
793
|
+
-ms-flex-item-align: center;
|
|
794
|
+
align-self: center;
|
|
795
|
+
}
|
|
796
|
+
.flatpickr-time .flatpickr-am-pm {
|
|
797
|
+
outline: 0;
|
|
798
|
+
width: 18%;
|
|
799
|
+
cursor: pointer;
|
|
800
|
+
text-align: center;
|
|
801
|
+
font-weight: 400;
|
|
802
|
+
}
|
|
803
|
+
.flatpickr-time input:hover,
|
|
804
|
+
.flatpickr-time .flatpickr-am-pm:hover,
|
|
805
|
+
.flatpickr-time input:focus,
|
|
806
|
+
.flatpickr-time .flatpickr-am-pm:focus {
|
|
807
|
+
background: #eaeaea;
|
|
808
|
+
}
|
|
809
|
+
.flatpickr-input[readonly] {
|
|
810
|
+
cursor: pointer;
|
|
811
|
+
}
|
|
812
|
+
@-webkit-keyframes fpFadeInDown {
|
|
813
|
+
from {
|
|
814
|
+
opacity: 0;
|
|
815
|
+
-webkit-transform: translate3d(0, -20px, 0);
|
|
816
|
+
transform: translate3d(0, -20px, 0);
|
|
817
|
+
}
|
|
818
|
+
to {
|
|
819
|
+
opacity: 1;
|
|
820
|
+
-webkit-transform: translate3d(0, 0, 0);
|
|
821
|
+
transform: translate3d(0, 0, 0);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
@keyframes fpFadeInDown {
|
|
825
|
+
from {
|
|
826
|
+
opacity: 0;
|
|
827
|
+
-webkit-transform: translate3d(0, -20px, 0);
|
|
828
|
+
transform: translate3d(0, -20px, 0);
|
|
829
|
+
}
|
|
830
|
+
to {
|
|
831
|
+
opacity: 1;
|
|
832
|
+
-webkit-transform: translate3d(0, 0, 0);
|
|
833
|
+
transform: translate3d(0, 0, 0);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
`, ""]);
|
|
837
|
+
// Exports
|
|
838
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
/***/ }),
|
|
842
|
+
|
|
843
|
+
/***/ 27:
|
|
844
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
845
|
+
|
|
846
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
847
|
+
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
848
|
+
/* harmony export */ });
|
|
849
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601);
|
|
850
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
851
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314);
|
|
852
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
853
|
+
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_flatpickr_dist_themes_material_green_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(941);
|
|
854
|
+
// Imports
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
859
|
+
___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_node_modules_flatpickr_dist_themes_material_green_css__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A);
|
|
860
|
+
// Module
|
|
861
|
+
___CSS_LOADER_EXPORT___.push([module.id, `/* src/components/Timeline/Timeline.css */
|
|
862
|
+
|
|
863
|
+
/*
|
|
864
|
+
Temel: "sales sayfası" temasıyla uyumlu renkler,
|
|
865
|
+
light vs. dark tanımları
|
|
866
|
+
*/
|
|
867
|
+
|
|
868
|
+
:root {
|
|
869
|
+
/* Light Tema Varsayılan Renkler */
|
|
870
|
+
--background-color: #f5f5f2; /* Açık tema arka plan */
|
|
871
|
+
--text-color: #666; /* Açık tema yazı rengi */
|
|
872
|
+
--border-color: #bbb; /* Daha yumuşak border */
|
|
873
|
+
|
|
874
|
+
/* Header */
|
|
875
|
+
--header-background-color: #f5f5f2; /* Üst header, tablo header */
|
|
876
|
+
--header-text-color: #666;
|
|
877
|
+
|
|
878
|
+
/* Resources */
|
|
879
|
+
--resource-background-color: #f5f5f2;
|
|
880
|
+
--resource-text-color: #666;
|
|
881
|
+
--group-header-background-color: #dadada;
|
|
882
|
+
|
|
883
|
+
/* Timeline */
|
|
884
|
+
--timeline-header-background-color: #f5f5f2;
|
|
885
|
+
--timeline-cell-border-color: #ccc;
|
|
886
|
+
--timeline-event-background-color: #fff;
|
|
887
|
+
--timeline-event-border-color: #666;
|
|
888
|
+
--timeline-event-text-color: #666;
|
|
889
|
+
|
|
890
|
+
/* Scrollbar */
|
|
891
|
+
--scrollbar-thumb-background: #aaa;
|
|
892
|
+
--scrollbar-thumb-hover-background: #888;
|
|
893
|
+
|
|
894
|
+
--resource-width: 150px;
|
|
895
|
+
--cell-height: 40px;
|
|
896
|
+
--header-height: 60px;
|
|
897
|
+
--time-slot-height: 20px;
|
|
898
|
+
--container-height: 480px;
|
|
899
|
+
|
|
900
|
+
--timeline-new-event-background-color: #ff5722;
|
|
901
|
+
--timeline-new-event-text-color: #fff;
|
|
902
|
+
|
|
903
|
+
--timeline-event-background-color: #ff7f50;
|
|
904
|
+
--timeline-event-text-color: #fff;
|
|
905
|
+
--timeline-event-border-color: #fff;
|
|
906
|
+
|
|
907
|
+
--timeline-cell-selected-bg: rgba(25,118,210,0.2);
|
|
908
|
+
|
|
909
|
+
user-select: none; /* Metin seçimini engelle */
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
/* Koyu Tema */
|
|
913
|
+
.dark-mode {
|
|
914
|
+
/* Koyu tema */
|
|
915
|
+
--background-color: #16202a; /* Koyu tema arka plan */
|
|
916
|
+
--text-color: #ddd; /* Koyu tema yazı rengi */
|
|
917
|
+
--border-color: #444;
|
|
918
|
+
|
|
919
|
+
--header-background-color: #16202a;
|
|
920
|
+
--header-text-color: #bbb;
|
|
921
|
+
|
|
922
|
+
--resource-background-color: #16202a;
|
|
923
|
+
--resource-text-color: #bbb;
|
|
924
|
+
--group-header-background-color: #0d141b;
|
|
925
|
+
|
|
926
|
+
--timeline-header-background-color: #16202a;
|
|
927
|
+
--timeline-cell-border-color: #444;
|
|
928
|
+
--timeline-event-background-color: #2a2a2a;
|
|
929
|
+
--timeline-event-border-color: #222;
|
|
930
|
+
--timeline-event-text-color: #ddd;
|
|
931
|
+
|
|
932
|
+
--scrollbar-thumb-background: #555;
|
|
933
|
+
--scrollbar-thumb-hover-background: #888;
|
|
934
|
+
|
|
935
|
+
--timeline-new-event-background-color: #a83e20;
|
|
936
|
+
--timeline-new-event-text-color: #eee;
|
|
937
|
+
|
|
938
|
+
--timeline-event-background-color: #a83e20;
|
|
939
|
+
--timeline-event-text-color: #fff;
|
|
940
|
+
--timeline-event-border-color: #222;
|
|
941
|
+
|
|
942
|
+
--timeline-cell-selected-bg: rgba(76,175,80,0.2);
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
/* Genel Timeline Konteyner */
|
|
946
|
+
.timeline-container {
|
|
947
|
+
display: flex;
|
|
948
|
+
flex-direction: column;
|
|
949
|
+
width: 100%;
|
|
950
|
+
height: 100%;
|
|
951
|
+
border: 1px solid var(--border-color);
|
|
952
|
+
border-radius: 8px;
|
|
953
|
+
overflow: hidden;
|
|
954
|
+
box-sizing: border-box;
|
|
955
|
+
background-color: var(--background-color);
|
|
956
|
+
color: var(--text-color);
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
/* Master Header */
|
|
960
|
+
.timeline-master-header {
|
|
961
|
+
width: 100%;
|
|
962
|
+
background-color: var(--header-background-color);
|
|
963
|
+
color: var(--header-text-color);
|
|
964
|
+
border-bottom: 1px solid var(--border-color);
|
|
965
|
+
z-index: 10;
|
|
966
|
+
padding: 10px;
|
|
967
|
+
box-sizing: border-box;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
/* Timeline Body */
|
|
971
|
+
.timeline-body {
|
|
972
|
+
display: flex;
|
|
973
|
+
flex: 1;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/* Sol Kısım: Resources */
|
|
977
|
+
.timeline-resources-container {
|
|
978
|
+
width: var(--resource-width);
|
|
979
|
+
display: flex;
|
|
980
|
+
flex-direction: column;
|
|
981
|
+
border-right: 1px solid var(--border-color);
|
|
982
|
+
position: sticky;
|
|
983
|
+
left: 0;
|
|
984
|
+
top: var(--header-height);
|
|
985
|
+
z-index: 2;
|
|
986
|
+
background-color: var(--resource-background-color);
|
|
987
|
+
overflow-y: auto;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
/* Resources Header */
|
|
991
|
+
.resources-header {
|
|
992
|
+
background-color: var(--header-background-color);
|
|
993
|
+
color: var(--resource-text-color);
|
|
994
|
+
text-align: center;
|
|
995
|
+
width: var(--resource-width);
|
|
996
|
+
font-weight: bold;
|
|
997
|
+
display: flex;
|
|
998
|
+
flex-direction: column;
|
|
999
|
+
justify-content: center;
|
|
1000
|
+
align-items: center;
|
|
1001
|
+
height: calc(var(--header-height) * 2); /* Üst üste iki header yüksekliği */
|
|
1002
|
+
border-right: 1px solid var(--border-color);
|
|
1003
|
+
box-sizing: border-box;
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
/* Grup Başlığı Hücreleri */
|
|
1007
|
+
.group-header-row {
|
|
1008
|
+
display: flex;
|
|
1009
|
+
height: var(--cell-height);
|
|
1010
|
+
background-color: var(--group-header-background-color);
|
|
1011
|
+
color: var(--resource-text-color);
|
|
1012
|
+
font-weight: bold;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
.group-header-cell {
|
|
1016
|
+
flex: 1;
|
|
1017
|
+
border: 1px solid var(--border-color);
|
|
1018
|
+
text-align: center;
|
|
1019
|
+
background-color: var(--group-header-background-color);
|
|
1020
|
+
color: var(--resource-text-color);
|
|
1021
|
+
height: var(--cell-height);
|
|
1022
|
+
display: flex;
|
|
1023
|
+
align-items: center;
|
|
1024
|
+
justify-content: center;
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
/* Resource Grupları */
|
|
1028
|
+
.resource-group {
|
|
1029
|
+
display: flex;
|
|
1030
|
+
flex-direction: column;
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
/* Resource Grup Header */
|
|
1034
|
+
.resource-group-header {
|
|
1035
|
+
background-color: var(--group-header-background-color);
|
|
1036
|
+
color: var(--resource-text-color);
|
|
1037
|
+
font-weight: bold;
|
|
1038
|
+
height: var(--cell-height);
|
|
1039
|
+
box-sizing: border-box;
|
|
1040
|
+
display: flex;
|
|
1041
|
+
align-items: center;
|
|
1042
|
+
justify-content: space-between;
|
|
1043
|
+
padding: 0 0px;
|
|
1044
|
+
cursor: pointer;
|
|
1045
|
+
border: 1px solid var(--border-color);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
/* Resource Hücreleri */
|
|
1049
|
+
.resource-cell {
|
|
1050
|
+
padding: 0;
|
|
1051
|
+
text-align: left;
|
|
1052
|
+
background-color: var(--resource-background-color);
|
|
1053
|
+
color: var(--resource-text-color);
|
|
1054
|
+
height: var(--cell-height);
|
|
1055
|
+
display: flex;
|
|
1056
|
+
align-items: center;
|
|
1057
|
+
border: 0.3px solid var(--border-color);
|
|
1058
|
+
box-sizing: border-box;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
/* Sağ Kısım: Timeline */
|
|
1062
|
+
.timeline-scrollable-container {
|
|
1063
|
+
flex: 1;
|
|
1064
|
+
overflow-x: auto;
|
|
1065
|
+
overflow-y: hidden;
|
|
1066
|
+
display: flex;
|
|
1067
|
+
flex-direction: column;
|
|
1068
|
+
position: relative;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
/* Header ve Content Wrapper */
|
|
1072
|
+
.timeline-header-content-wrapper {
|
|
1073
|
+
display: flex;
|
|
1074
|
+
flex-direction: column;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
/* Timeline Header */
|
|
1078
|
+
.timeline-header {
|
|
1079
|
+
display: flex;
|
|
1080
|
+
background-color: var(--timeline-header-background-color);
|
|
1081
|
+
color: var(--header-text-color);
|
|
1082
|
+
position: sticky;
|
|
1083
|
+
top: 0;
|
|
1084
|
+
z-index: 2;
|
|
1085
|
+
height: var(--header-height);
|
|
1086
|
+
overflow: hidden;
|
|
1087
|
+
box-sizing: border-box;
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
/* Timeline Content */
|
|
1091
|
+
.timeline-content {
|
|
1092
|
+
display: flex;
|
|
1093
|
+
flex-direction: column;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
/* Grup Container */
|
|
1097
|
+
.group-container {
|
|
1098
|
+
display: flex;
|
|
1099
|
+
flex-direction: column;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
/* Resource Satırları */
|
|
1103
|
+
.resource-row {
|
|
1104
|
+
display: flex;
|
|
1105
|
+
box-sizing: border-box;
|
|
1106
|
+
position: relative;
|
|
1107
|
+
height: var(--cell-height);
|
|
1108
|
+
border: 1px solid var(--border-color);
|
|
1109
|
+
margin-top: -1px;
|
|
1110
|
+
overflow: hidden;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
/* Timeline Hücreleri */
|
|
1114
|
+
.timeline-cell {
|
|
1115
|
+
flex: 1;
|
|
1116
|
+
border: 1px solid var(--timeline-cell-border-color);
|
|
1117
|
+
height: 100%;
|
|
1118
|
+
box-sizing: border-box;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
/* Hücre Seçili Durumu */
|
|
1122
|
+
.timeline-cell.selected {
|
|
1123
|
+
background-color: rgba(25, 118, 210, 0.2); /* satır içi/hover */
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
/* Event Stilleri */
|
|
1127
|
+
.event {
|
|
1128
|
+
position: absolute;
|
|
1129
|
+
background-color: var(--timeline-event-background-color);
|
|
1130
|
+
color: var(--timeline-event-text-color);
|
|
1131
|
+
font-size: 12px;
|
|
1132
|
+
padding: 2px 5px;
|
|
1133
|
+
border-radius: 4px;
|
|
1134
|
+
text-align: left;
|
|
1135
|
+
display: flex;
|
|
1136
|
+
flex-direction: column;
|
|
1137
|
+
justify-content: center;
|
|
1138
|
+
box-sizing: border-box;
|
|
1139
|
+
z-index: 10;
|
|
1140
|
+
overflow: hidden;
|
|
1141
|
+
text-overflow: ellipsis;
|
|
1142
|
+
white-space: nowrap;
|
|
1143
|
+
border: 1px solid var(--timeline-event-border-color);
|
|
1144
|
+
cursor: pointer;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
/* Event Time Stili */
|
|
1148
|
+
.event-time {
|
|
1149
|
+
font-size: 10px;
|
|
1150
|
+
margin-top: 2px;
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
/* Scrollbar için */
|
|
1154
|
+
.timeline-scrollable-container::-webkit-scrollbar {
|
|
1155
|
+
height: 10px;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
.timeline-scrollable-container::-webkit-scrollbar-thumb {
|
|
1159
|
+
background: var(--scrollbar-thumb-background);
|
|
1160
|
+
border-radius: 5px;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
.timeline-scrollable-container::-webkit-scrollbar-thumb:hover {
|
|
1164
|
+
background: var(--scrollbar-thumb-hover-background);
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
.resources-header {
|
|
1168
|
+
background-color: var(--header-background-color);
|
|
1169
|
+
color: var(--resource-text-color);
|
|
1170
|
+
text-align: center;
|
|
1171
|
+
width: var(--resource-width);
|
|
1172
|
+
font-weight: bold;
|
|
1173
|
+
display: flex;
|
|
1174
|
+
flex-direction: column;
|
|
1175
|
+
justify-content: center;
|
|
1176
|
+
align-items: center;
|
|
1177
|
+
height: 80px;
|
|
1178
|
+
border-right: 1px solid var(--border-color);
|
|
1179
|
+
box-sizing: border-box;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
/* TimelineHeader Container */
|
|
1183
|
+
.timeline-header-container {
|
|
1184
|
+
flex: 1;
|
|
1185
|
+
display: flex;
|
|
1186
|
+
flex-direction: column;
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
/* Ay + Yıl satırı */
|
|
1190
|
+
.timeline-header-month-row {
|
|
1191
|
+
display: flex;
|
|
1192
|
+
background-color: var(--header-background-color);
|
|
1193
|
+
color: var(--header-text-color);
|
|
1194
|
+
font-weight: bold;
|
|
1195
|
+
font-size: 16px;
|
|
1196
|
+
height: 40px;
|
|
1197
|
+
line-height: 40px;
|
|
1198
|
+
border-bottom: 1px solid var(--border-color);
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
/* Ay + Yıl hücreleri */
|
|
1202
|
+
.timeline-header-month-cell {
|
|
1203
|
+
text-align: center;
|
|
1204
|
+
display: flex;
|
|
1205
|
+
align-items: center;
|
|
1206
|
+
justify-content: center;
|
|
1207
|
+
/* border-right => dynamic, inline style if needed */
|
|
1208
|
+
box-sizing: border-box;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
/* Günlük Hücreler (tarih satırı) */
|
|
1212
|
+
.timeline-header-day-row {
|
|
1213
|
+
display: flex;
|
|
1214
|
+
background-color: var(--timeline-header-background-color);
|
|
1215
|
+
color: var(--header-text-color);
|
|
1216
|
+
/* border-bottom: 1px solid var(--border-color); if needed */
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
/* Günlük hücre (her gün) */
|
|
1220
|
+
.timeline-header-day-cell {
|
|
1221
|
+
height: 40px;
|
|
1222
|
+
line-height: 40px;
|
|
1223
|
+
font-size: 14px;
|
|
1224
|
+
white-space: nowrap;
|
|
1225
|
+
overflow: hidden;
|
|
1226
|
+
text-overflow: ellipsis;
|
|
1227
|
+
text-align: center;
|
|
1228
|
+
box-sizing: border-box;
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
/* src/components/Timeline/Timeline.css */
|
|
1233
|
+
/* Ekleme: MasterHeader stili */
|
|
1234
|
+
|
|
1235
|
+
/* Kapsayıcı */
|
|
1236
|
+
.master-header-container {
|
|
1237
|
+
display: flex;
|
|
1238
|
+
align-items: center;
|
|
1239
|
+
justify-content: space-between; /* Butonlar solda, select sağda */
|
|
1240
|
+
padding: 10px;
|
|
1241
|
+
background-color: var(--header-background-color);
|
|
1242
|
+
color: var(--header-text-color);
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
.master-header-buttons {
|
|
1246
|
+
display: flex; /* Yan yana dizilim */
|
|
1247
|
+
align-items: center; /* Dikey hizalama */
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
.master-header-btn {
|
|
1251
|
+
background-color: transparent;
|
|
1252
|
+
color: var(--header-text-color);
|
|
1253
|
+
border: 1px solid var(--border-color);
|
|
1254
|
+
border-radius: 4px;
|
|
1255
|
+
padding: 6px 12px;
|
|
1256
|
+
margin-right: 10px; /* Butonlar arasında mesafe */
|
|
1257
|
+
cursor: pointer;
|
|
1258
|
+
font-size: 14px;
|
|
1259
|
+
transition: background-color 0.2s ease, color 0.2s ease;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
.master-header-btn:hover {
|
|
1263
|
+
background-color: rgba(25, 118, 210, 0.2); /* Açık tema hover */
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
.dark-mode .master-header-btn:hover {
|
|
1267
|
+
background-color: rgba(76, 175, 80, 0.2); /* Koyu tema hover */
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
.master-header-btn:focus {
|
|
1271
|
+
outline: none;
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
/* Tarih seçici (Date Picker) */
|
|
1277
|
+
.master-header-date-picker {
|
|
1278
|
+
background-color: transparent;
|
|
1279
|
+
color: var(--header-text-color);
|
|
1280
|
+
border: 1px solid var(--border-color);
|
|
1281
|
+
border-radius: 4px;
|
|
1282
|
+
padding: 5px 12px;
|
|
1283
|
+
margin-right: 10px; /* Butonlar arasında mesafe */
|
|
1284
|
+
cursor: pointer;
|
|
1285
|
+
font-size: 14px;
|
|
1286
|
+
transition: background-color 0.2s ease, color 0.2s ease;
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
.master-header-date-picker:hover {
|
|
1290
|
+
background-color: rgba(25, 118, 210, 0.2); /* Açık tema hover */
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
.dark-mode .master-header-date-picker:hover {
|
|
1294
|
+
background-color: rgba(76, 175, 80, 0.2); /* Koyu tema hover */
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
.master-header-date-picker:focus {
|
|
1298
|
+
outline: none;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
/* Select */
|
|
1302
|
+
.master-header-select {
|
|
1303
|
+
margin-left: auto; /* Sağa yaslamak için */
|
|
1304
|
+
background-color: transparent;
|
|
1305
|
+
color: var(--header-text-color);
|
|
1306
|
+
border: 1px solid var(--border-color);
|
|
1307
|
+
border-radius: 4px;
|
|
1308
|
+
padding: 4px 8px;
|
|
1309
|
+
font-size: 14px;
|
|
1310
|
+
cursor: pointer;
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
.master-header-select:focus {
|
|
1314
|
+
outline: none;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
/* Flatpickr Takvim Kutusu */
|
|
1318
|
+
.flatpickr-calendar {
|
|
1319
|
+
background-color: var(--background-color);
|
|
1320
|
+
color: var(--text-color);
|
|
1321
|
+
border: 1px solid var(--border-color);
|
|
1322
|
+
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); /* Gölge efekti */
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
/* Flatpickr Günü */
|
|
1327
|
+
.flatpickr-day {
|
|
1328
|
+
background-color: var(--background-color); /* Arka plan rengi */
|
|
1329
|
+
color: var(--text-color); /* Yazı rengi */
|
|
1330
|
+
border-radius: 4px; /* Köşeleri yuvarlat */
|
|
1331
|
+
cursor: pointer;
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
.flatpickr-day:hover {
|
|
1335
|
+
background-color: rgba(25, 118, 210, 0.2); /* Hover efekti */
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
.dark-mode .flatpickr-day:hover {
|
|
1339
|
+
background-color: rgba(76, 175, 80, 0.2); /* Koyu tema hover efekti */
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
/* Seçili Gün */
|
|
1343
|
+
.flatpickr-day.selected {
|
|
1344
|
+
background-color: #4caf50; /* Seçili gün rengi */
|
|
1345
|
+
color: white; /* Seçili gün yazı rengi */
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
/* Flatpickr Ay ve Yıl */
|
|
1349
|
+
.flatpickr-months .flatpickr-month {
|
|
1350
|
+
background-color: var(--background-color);
|
|
1351
|
+
color: var(--text-color);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
/* Flatpickr Ay İleri ve Geri Düğmeleri */
|
|
1355
|
+
.flatpickr-prev-month, .flatpickr-next-month {
|
|
1356
|
+
color: var(--text-color);
|
|
1357
|
+
cursor: pointer;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
/* Koyu Tema Örnekleri */
|
|
1361
|
+
.dark-mode .flatpickr-calendar {
|
|
1362
|
+
background-color: #1f2937; /* Koyu tema arka plan */
|
|
1363
|
+
color: #ffffff; /* Koyu tema yazı rengi */
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
.dark-mode .flatpickr-day.selected {
|
|
1367
|
+
background-color: #4caf50;
|
|
1368
|
+
color: white;
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
/* Container */
|
|
1373
|
+
.timeline-content-container {
|
|
1374
|
+
position: relative;
|
|
1375
|
+
width: 100%;
|
|
1376
|
+
height: auto; /* or as needed */
|
|
1377
|
+
display: flex;
|
|
1378
|
+
flex-direction: column;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
/* Group container */
|
|
1382
|
+
.timeline-group-container {
|
|
1383
|
+
margin-bottom: 0px;
|
|
1384
|
+
display: flex;
|
|
1385
|
+
flex-direction: column;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
/* Group header row */
|
|
1389
|
+
.timeline-group-header-row {
|
|
1390
|
+
display: flex;
|
|
1391
|
+
margin-top: -0.08rem;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
.timeline-group-header-cell {
|
|
1395
|
+
flex: 1;
|
|
1396
|
+
height: 2.58rem;
|
|
1397
|
+
background-color: var(--group-header-background-color);
|
|
1398
|
+
border: 1px solid var(--border-color);
|
|
1399
|
+
|
|
1400
|
+
box-sizing: border-box;
|
|
1401
|
+
display: flex;
|
|
1402
|
+
align-items: center;
|
|
1403
|
+
justify-content: center;
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
/* Resource row */
|
|
1407
|
+
.timeline-resource-row {
|
|
1408
|
+
display: flex;
|
|
1409
|
+
position: relative;
|
|
1410
|
+
height: var(--cell-height, 40px);
|
|
1411
|
+
border: 1px solid var(--border-color);
|
|
1412
|
+
box-sizing: border-box;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
/* Each day cell */
|
|
1416
|
+
.timeline-cell {
|
|
1417
|
+
flex: 1;
|
|
1418
|
+
height: 100%;
|
|
1419
|
+
position: relative;
|
|
1420
|
+
border-left: 1px solid var(--border-color);
|
|
1421
|
+
border-right: 1px solid var(--border-color);
|
|
1422
|
+
box-sizing: border-box;
|
|
1423
|
+
cursor: pointer;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
/* "selected" day cell */
|
|
1427
|
+
.timeline-cell.selected {
|
|
1428
|
+
background-color: var(--timeline-cell-selected-bg, rgba(25,118,210,0.2));
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
/* Event */
|
|
1432
|
+
.timeline-event {
|
|
1433
|
+
position: absolute;
|
|
1434
|
+
background-color: var(--timeline-event-background-color, #0093ce);
|
|
1435
|
+
color: var(--timeline-event-text-color, #fff);
|
|
1436
|
+
font-size: 14px;
|
|
1437
|
+
padding: 5px;
|
|
1438
|
+
border-radius: 20px;
|
|
1439
|
+
box-sizing: border-box;
|
|
1440
|
+
z-index: 10;
|
|
1441
|
+
overflow: hidden;
|
|
1442
|
+
text-overflow: ellipsis;
|
|
1443
|
+
white-space: nowrap;
|
|
1444
|
+
border: 1px solid var(--timeline-event-border-color, #fff);
|
|
1445
|
+
top: 5px; /* or a variable offset if you want */
|
|
1446
|
+
/* "left" and "width" are inline from JS */
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
/* Extend handle */
|
|
1450
|
+
.timeline-event-extend-handle {
|
|
1451
|
+
position: absolute;
|
|
1452
|
+
right: 0;
|
|
1453
|
+
top: 0;
|
|
1454
|
+
width: 10px;
|
|
1455
|
+
height: 100%;
|
|
1456
|
+
background-color: rgba(0,0,0,0.2);
|
|
1457
|
+
cursor: col-resize;
|
|
1458
|
+
z-index: 20;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
/* Temp event (while creating) */
|
|
1462
|
+
.timeline-temp-event {
|
|
1463
|
+
position: absolute;
|
|
1464
|
+
background-color: var(--timeline-new-event-background-color, #0093ce);
|
|
1465
|
+
color: var(--timeline-new-event-text-color, #fff);
|
|
1466
|
+
opacity: 0.7;
|
|
1467
|
+
border-radius: 20px;
|
|
1468
|
+
z-index: 9;
|
|
1469
|
+
display: flex;
|
|
1470
|
+
align-items: center;
|
|
1471
|
+
justify-content: center;
|
|
1472
|
+
font-size: 14px;
|
|
1473
|
+
/* "left"/"width" from JS: " ...calculatePosition(tempEvent, dates)" */
|
|
1474
|
+
top: 5px;
|
|
1475
|
+
}
|
|
1476
|
+
`, ""]);
|
|
1477
|
+
// Exports
|
|
1478
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
/***/ }),
|
|
1482
|
+
|
|
1483
|
+
/***/ 314:
|
|
1484
|
+
/***/ ((module) => {
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
/*
|
|
1489
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
1490
|
+
Author Tobias Koppers @sokra
|
|
1491
|
+
*/
|
|
1492
|
+
module.exports = function (cssWithMappingToString) {
|
|
1493
|
+
var list = [];
|
|
1494
|
+
|
|
1495
|
+
// return the list of modules as css string
|
|
1496
|
+
list.toString = function toString() {
|
|
1497
|
+
return this.map(function (item) {
|
|
1498
|
+
var content = "";
|
|
1499
|
+
var needLayer = typeof item[5] !== "undefined";
|
|
1500
|
+
if (item[4]) {
|
|
1501
|
+
content += "@supports (".concat(item[4], ") {");
|
|
1502
|
+
}
|
|
1503
|
+
if (item[2]) {
|
|
1504
|
+
content += "@media ".concat(item[2], " {");
|
|
1505
|
+
}
|
|
1506
|
+
if (needLayer) {
|
|
1507
|
+
content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
|
|
1508
|
+
}
|
|
1509
|
+
content += cssWithMappingToString(item);
|
|
1510
|
+
if (needLayer) {
|
|
1511
|
+
content += "}";
|
|
1512
|
+
}
|
|
1513
|
+
if (item[2]) {
|
|
1514
|
+
content += "}";
|
|
1515
|
+
}
|
|
1516
|
+
if (item[4]) {
|
|
1517
|
+
content += "}";
|
|
1518
|
+
}
|
|
1519
|
+
return content;
|
|
1520
|
+
}).join("");
|
|
1521
|
+
};
|
|
1522
|
+
|
|
1523
|
+
// import a list of modules into the list
|
|
1524
|
+
list.i = function i(modules, media, dedupe, supports, layer) {
|
|
1525
|
+
if (typeof modules === "string") {
|
|
1526
|
+
modules = [[null, modules, undefined]];
|
|
1527
|
+
}
|
|
1528
|
+
var alreadyImportedModules = {};
|
|
1529
|
+
if (dedupe) {
|
|
1530
|
+
for (var k = 0; k < this.length; k++) {
|
|
1531
|
+
var id = this[k][0];
|
|
1532
|
+
if (id != null) {
|
|
1533
|
+
alreadyImportedModules[id] = true;
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
for (var _k = 0; _k < modules.length; _k++) {
|
|
1538
|
+
var item = [].concat(modules[_k]);
|
|
1539
|
+
if (dedupe && alreadyImportedModules[item[0]]) {
|
|
1540
|
+
continue;
|
|
1541
|
+
}
|
|
1542
|
+
if (typeof layer !== "undefined") {
|
|
1543
|
+
if (typeof item[5] === "undefined") {
|
|
1544
|
+
item[5] = layer;
|
|
1545
|
+
} else {
|
|
1546
|
+
item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
|
|
1547
|
+
item[5] = layer;
|
|
1548
|
+
}
|
|
1549
|
+
}
|
|
1550
|
+
if (media) {
|
|
1551
|
+
if (!item[2]) {
|
|
1552
|
+
item[2] = media;
|
|
1553
|
+
} else {
|
|
1554
|
+
item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
|
|
1555
|
+
item[2] = media;
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
if (supports) {
|
|
1559
|
+
if (!item[4]) {
|
|
1560
|
+
item[4] = "".concat(supports);
|
|
1561
|
+
} else {
|
|
1562
|
+
item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
|
|
1563
|
+
item[4] = supports;
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
list.push(item);
|
|
1567
|
+
}
|
|
1568
|
+
};
|
|
1569
|
+
return list;
|
|
1570
|
+
};
|
|
1571
|
+
|
|
1572
|
+
/***/ }),
|
|
1573
|
+
|
|
1574
|
+
/***/ 601:
|
|
1575
|
+
/***/ ((module) => {
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
module.exports = function (i) {
|
|
1580
|
+
return i[1];
|
|
1581
|
+
};
|
|
1582
|
+
|
|
1583
|
+
/***/ }),
|
|
1584
|
+
|
|
1585
|
+
/***/ 72:
|
|
1586
|
+
/***/ ((module) => {
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
var stylesInDOM = [];
|
|
1591
|
+
function getIndexByIdentifier(identifier) {
|
|
1592
|
+
var result = -1;
|
|
1593
|
+
for (var i = 0; i < stylesInDOM.length; i++) {
|
|
1594
|
+
if (stylesInDOM[i].identifier === identifier) {
|
|
1595
|
+
result = i;
|
|
1596
|
+
break;
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
return result;
|
|
1600
|
+
}
|
|
1601
|
+
function modulesToDom(list, options) {
|
|
1602
|
+
var idCountMap = {};
|
|
1603
|
+
var identifiers = [];
|
|
1604
|
+
for (var i = 0; i < list.length; i++) {
|
|
1605
|
+
var item = list[i];
|
|
1606
|
+
var id = options.base ? item[0] + options.base : item[0];
|
|
1607
|
+
var count = idCountMap[id] || 0;
|
|
1608
|
+
var identifier = "".concat(id, " ").concat(count);
|
|
1609
|
+
idCountMap[id] = count + 1;
|
|
1610
|
+
var indexByIdentifier = getIndexByIdentifier(identifier);
|
|
1611
|
+
var obj = {
|
|
1612
|
+
css: item[1],
|
|
1613
|
+
media: item[2],
|
|
1614
|
+
sourceMap: item[3],
|
|
1615
|
+
supports: item[4],
|
|
1616
|
+
layer: item[5]
|
|
1617
|
+
};
|
|
1618
|
+
if (indexByIdentifier !== -1) {
|
|
1619
|
+
stylesInDOM[indexByIdentifier].references++;
|
|
1620
|
+
stylesInDOM[indexByIdentifier].updater(obj);
|
|
1621
|
+
} else {
|
|
1622
|
+
var updater = addElementStyle(obj, options);
|
|
1623
|
+
options.byIndex = i;
|
|
1624
|
+
stylesInDOM.splice(i, 0, {
|
|
1625
|
+
identifier: identifier,
|
|
1626
|
+
updater: updater,
|
|
1627
|
+
references: 1
|
|
1628
|
+
});
|
|
1629
|
+
}
|
|
1630
|
+
identifiers.push(identifier);
|
|
1631
|
+
}
|
|
1632
|
+
return identifiers;
|
|
1633
|
+
}
|
|
1634
|
+
function addElementStyle(obj, options) {
|
|
1635
|
+
var api = options.domAPI(options);
|
|
1636
|
+
api.update(obj);
|
|
1637
|
+
var updater = function updater(newObj) {
|
|
1638
|
+
if (newObj) {
|
|
1639
|
+
if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {
|
|
1640
|
+
return;
|
|
1641
|
+
}
|
|
1642
|
+
api.update(obj = newObj);
|
|
1643
|
+
} else {
|
|
1644
|
+
api.remove();
|
|
1645
|
+
}
|
|
1646
|
+
};
|
|
1647
|
+
return updater;
|
|
1648
|
+
}
|
|
1649
|
+
module.exports = function (list, options) {
|
|
1650
|
+
options = options || {};
|
|
1651
|
+
list = list || [];
|
|
1652
|
+
var lastIdentifiers = modulesToDom(list, options);
|
|
1653
|
+
return function update(newList) {
|
|
1654
|
+
newList = newList || [];
|
|
1655
|
+
for (var i = 0; i < lastIdentifiers.length; i++) {
|
|
1656
|
+
var identifier = lastIdentifiers[i];
|
|
1657
|
+
var index = getIndexByIdentifier(identifier);
|
|
1658
|
+
stylesInDOM[index].references--;
|
|
1659
|
+
}
|
|
1660
|
+
var newLastIdentifiers = modulesToDom(newList, options);
|
|
1661
|
+
for (var _i = 0; _i < lastIdentifiers.length; _i++) {
|
|
1662
|
+
var _identifier = lastIdentifiers[_i];
|
|
1663
|
+
var _index = getIndexByIdentifier(_identifier);
|
|
1664
|
+
if (stylesInDOM[_index].references === 0) {
|
|
1665
|
+
stylesInDOM[_index].updater();
|
|
1666
|
+
stylesInDOM.splice(_index, 1);
|
|
1667
|
+
}
|
|
1668
|
+
}
|
|
1669
|
+
lastIdentifiers = newLastIdentifiers;
|
|
1670
|
+
};
|
|
1671
|
+
};
|
|
1672
|
+
|
|
1673
|
+
/***/ }),
|
|
1674
|
+
|
|
1675
|
+
/***/ 659:
|
|
1676
|
+
/***/ ((module) => {
|
|
1677
|
+
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
var memo = {};
|
|
1681
|
+
|
|
1682
|
+
/* istanbul ignore next */
|
|
1683
|
+
function getTarget(target) {
|
|
1684
|
+
if (typeof memo[target] === "undefined") {
|
|
1685
|
+
var styleTarget = document.querySelector(target);
|
|
1686
|
+
|
|
1687
|
+
// Special case to return head of iframe instead of iframe itself
|
|
1688
|
+
if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
|
|
1689
|
+
try {
|
|
1690
|
+
// This will throw an exception if access to iframe is blocked
|
|
1691
|
+
// due to cross-origin restrictions
|
|
1692
|
+
styleTarget = styleTarget.contentDocument.head;
|
|
1693
|
+
} catch (e) {
|
|
1694
|
+
// istanbul ignore next
|
|
1695
|
+
styleTarget = null;
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1698
|
+
memo[target] = styleTarget;
|
|
1699
|
+
}
|
|
1700
|
+
return memo[target];
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
/* istanbul ignore next */
|
|
1704
|
+
function insertBySelector(insert, style) {
|
|
1705
|
+
var target = getTarget(insert);
|
|
1706
|
+
if (!target) {
|
|
1707
|
+
throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
|
|
1708
|
+
}
|
|
1709
|
+
target.appendChild(style);
|
|
1710
|
+
}
|
|
1711
|
+
module.exports = insertBySelector;
|
|
1712
|
+
|
|
1713
|
+
/***/ }),
|
|
1714
|
+
|
|
1715
|
+
/***/ 540:
|
|
1716
|
+
/***/ ((module) => {
|
|
1717
|
+
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
/* istanbul ignore next */
|
|
1721
|
+
function insertStyleElement(options) {
|
|
1722
|
+
var element = document.createElement("style");
|
|
1723
|
+
options.setAttributes(element, options.attributes);
|
|
1724
|
+
options.insert(element, options.options);
|
|
1725
|
+
return element;
|
|
1726
|
+
}
|
|
1727
|
+
module.exports = insertStyleElement;
|
|
1728
|
+
|
|
1729
|
+
/***/ }),
|
|
1730
|
+
|
|
1731
|
+
/***/ 56:
|
|
1732
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
1733
|
+
|
|
1734
|
+
|
|
1735
|
+
|
|
1736
|
+
/* istanbul ignore next */
|
|
1737
|
+
function setAttributesWithoutAttributes(styleElement) {
|
|
1738
|
+
var nonce = true ? __webpack_require__.nc : 0;
|
|
1739
|
+
if (nonce) {
|
|
1740
|
+
styleElement.setAttribute("nonce", nonce);
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1743
|
+
module.exports = setAttributesWithoutAttributes;
|
|
1744
|
+
|
|
1745
|
+
/***/ }),
|
|
1746
|
+
|
|
1747
|
+
/***/ 825:
|
|
1748
|
+
/***/ ((module) => {
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
/* istanbul ignore next */
|
|
1753
|
+
function apply(styleElement, options, obj) {
|
|
1754
|
+
var css = "";
|
|
1755
|
+
if (obj.supports) {
|
|
1756
|
+
css += "@supports (".concat(obj.supports, ") {");
|
|
1757
|
+
}
|
|
1758
|
+
if (obj.media) {
|
|
1759
|
+
css += "@media ".concat(obj.media, " {");
|
|
1760
|
+
}
|
|
1761
|
+
var needLayer = typeof obj.layer !== "undefined";
|
|
1762
|
+
if (needLayer) {
|
|
1763
|
+
css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");
|
|
1764
|
+
}
|
|
1765
|
+
css += obj.css;
|
|
1766
|
+
if (needLayer) {
|
|
1767
|
+
css += "}";
|
|
1768
|
+
}
|
|
1769
|
+
if (obj.media) {
|
|
1770
|
+
css += "}";
|
|
1771
|
+
}
|
|
1772
|
+
if (obj.supports) {
|
|
1773
|
+
css += "}";
|
|
1774
|
+
}
|
|
1775
|
+
var sourceMap = obj.sourceMap;
|
|
1776
|
+
if (sourceMap && typeof btoa !== "undefined") {
|
|
1777
|
+
css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
|
|
1778
|
+
}
|
|
1779
|
+
|
|
1780
|
+
// For old IE
|
|
1781
|
+
/* istanbul ignore if */
|
|
1782
|
+
options.styleTagTransform(css, styleElement, options.options);
|
|
1783
|
+
}
|
|
1784
|
+
function removeStyleElement(styleElement) {
|
|
1785
|
+
// istanbul ignore if
|
|
1786
|
+
if (styleElement.parentNode === null) {
|
|
1787
|
+
return false;
|
|
1788
|
+
}
|
|
1789
|
+
styleElement.parentNode.removeChild(styleElement);
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
/* istanbul ignore next */
|
|
1793
|
+
function domAPI(options) {
|
|
1794
|
+
if (typeof document === "undefined") {
|
|
1795
|
+
return {
|
|
1796
|
+
update: function update() {},
|
|
1797
|
+
remove: function remove() {}
|
|
1798
|
+
};
|
|
1799
|
+
}
|
|
1800
|
+
var styleElement = options.insertStyleElement(options);
|
|
1801
|
+
return {
|
|
1802
|
+
update: function update(obj) {
|
|
1803
|
+
apply(styleElement, options, obj);
|
|
1804
|
+
},
|
|
1805
|
+
remove: function remove() {
|
|
1806
|
+
removeStyleElement(styleElement);
|
|
1807
|
+
}
|
|
1808
|
+
};
|
|
1809
|
+
}
|
|
1810
|
+
module.exports = domAPI;
|
|
1811
|
+
|
|
1812
|
+
/***/ }),
|
|
1813
|
+
|
|
1814
|
+
/***/ 113:
|
|
1815
|
+
/***/ ((module) => {
|
|
1816
|
+
|
|
1817
|
+
|
|
1818
|
+
|
|
1819
|
+
/* istanbul ignore next */
|
|
1820
|
+
function styleTagTransform(css, styleElement) {
|
|
1821
|
+
if (styleElement.styleSheet) {
|
|
1822
|
+
styleElement.styleSheet.cssText = css;
|
|
1823
|
+
} else {
|
|
1824
|
+
while (styleElement.firstChild) {
|
|
1825
|
+
styleElement.removeChild(styleElement.firstChild);
|
|
1826
|
+
}
|
|
1827
|
+
styleElement.appendChild(document.createTextNode(css));
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1830
|
+
module.exports = styleTagTransform;
|
|
1831
|
+
|
|
1832
|
+
/***/ }),
|
|
1833
|
+
|
|
1834
|
+
/***/ 155:
|
|
1835
|
+
/***/ ((module) => {
|
|
1836
|
+
|
|
1837
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__155__;
|
|
1838
|
+
|
|
1839
|
+
/***/ })
|
|
1840
|
+
|
|
1841
|
+
/******/ });
|
|
1842
|
+
/************************************************************************/
|
|
1843
|
+
/******/ // The module cache
|
|
1844
|
+
/******/ var __webpack_module_cache__ = {};
|
|
1845
|
+
/******/
|
|
1846
|
+
/******/ // The require function
|
|
1847
|
+
/******/ function __webpack_require__(moduleId) {
|
|
1848
|
+
/******/ // Check if module is in cache
|
|
1849
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
1850
|
+
/******/ if (cachedModule !== undefined) {
|
|
1851
|
+
/******/ return cachedModule.exports;
|
|
1852
|
+
/******/ }
|
|
1853
|
+
/******/ // Create a new module (and put it into the cache)
|
|
1854
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
1855
|
+
/******/ id: moduleId,
|
|
1856
|
+
/******/ // no module.loaded needed
|
|
1857
|
+
/******/ exports: {}
|
|
1858
|
+
/******/ };
|
|
1859
|
+
/******/
|
|
1860
|
+
/******/ // Execute the module function
|
|
1861
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
1862
|
+
/******/
|
|
1863
|
+
/******/ // Return the exports of the module
|
|
1864
|
+
/******/ return module.exports;
|
|
1865
|
+
/******/ }
|
|
1866
|
+
/******/
|
|
1867
|
+
/************************************************************************/
|
|
1868
|
+
/******/ /* webpack/runtime/compat get default export */
|
|
1869
|
+
/******/ (() => {
|
|
1870
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
1871
|
+
/******/ __webpack_require__.n = (module) => {
|
|
1872
|
+
/******/ var getter = module && module.__esModule ?
|
|
1873
|
+
/******/ () => (module['default']) :
|
|
1874
|
+
/******/ () => (module);
|
|
1875
|
+
/******/ __webpack_require__.d(getter, { a: getter });
|
|
1876
|
+
/******/ return getter;
|
|
1877
|
+
/******/ };
|
|
1878
|
+
/******/ })();
|
|
1879
|
+
/******/
|
|
1880
|
+
/******/ /* webpack/runtime/define property getters */
|
|
1881
|
+
/******/ (() => {
|
|
1882
|
+
/******/ // define getter functions for harmony exports
|
|
1883
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
1884
|
+
/******/ for(var key in definition) {
|
|
1885
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
1886
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
1887
|
+
/******/ }
|
|
1888
|
+
/******/ }
|
|
1889
|
+
/******/ };
|
|
1890
|
+
/******/ })();
|
|
1891
|
+
/******/
|
|
1892
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
1893
|
+
/******/ (() => {
|
|
1894
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
1895
|
+
/******/ })();
|
|
1896
|
+
/******/
|
|
1897
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
1898
|
+
/******/ (() => {
|
|
1899
|
+
/******/ // define __esModule on exports
|
|
1900
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
1901
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
1902
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1903
|
+
/******/ }
|
|
1904
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
1905
|
+
/******/ };
|
|
1906
|
+
/******/ })();
|
|
1907
|
+
/******/
|
|
1908
|
+
/******/ /* webpack/runtime/nonce */
|
|
1909
|
+
/******/ (() => {
|
|
1910
|
+
/******/ __webpack_require__.nc = undefined;
|
|
1911
|
+
/******/ })();
|
|
1912
|
+
/******/
|
|
1913
|
+
/************************************************************************/
|
|
1914
|
+
var __webpack_exports__ = {};
|
|
1915
|
+
// ESM COMPAT FLAG
|
|
1916
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1917
|
+
|
|
1918
|
+
// EXPORTS
|
|
1919
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
1920
|
+
"default": () => (/* binding */ components_Timeline_Timeline)
|
|
1921
|
+
});
|
|
1922
|
+
|
|
1923
|
+
// EXTERNAL MODULE: external "react"
|
|
1924
|
+
var external_react_ = __webpack_require__(155);
|
|
1925
|
+
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
|
|
1926
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
|
|
1927
|
+
var injectStylesIntoStyleTag = __webpack_require__(72);
|
|
1928
|
+
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
|
|
1929
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/styleDomAPI.js
|
|
1930
|
+
var styleDomAPI = __webpack_require__(825);
|
|
1931
|
+
var styleDomAPI_default = /*#__PURE__*/__webpack_require__.n(styleDomAPI);
|
|
1932
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/insertBySelector.js
|
|
1933
|
+
var insertBySelector = __webpack_require__(659);
|
|
1934
|
+
var insertBySelector_default = /*#__PURE__*/__webpack_require__.n(insertBySelector);
|
|
1935
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js
|
|
1936
|
+
var setAttributesWithoutAttributes = __webpack_require__(56);
|
|
1937
|
+
var setAttributesWithoutAttributes_default = /*#__PURE__*/__webpack_require__.n(setAttributesWithoutAttributes);
|
|
1938
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/insertStyleElement.js
|
|
1939
|
+
var insertStyleElement = __webpack_require__(540);
|
|
1940
|
+
var insertStyleElement_default = /*#__PURE__*/__webpack_require__.n(insertStyleElement);
|
|
1941
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/styleTagTransform.js
|
|
1942
|
+
var styleTagTransform = __webpack_require__(113);
|
|
1943
|
+
var styleTagTransform_default = /*#__PURE__*/__webpack_require__.n(styleTagTransform);
|
|
1944
|
+
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./src/components/Timeline/Timeline.css
|
|
1945
|
+
var Timeline = __webpack_require__(27);
|
|
1946
|
+
;// ./src/components/Timeline/Timeline.css
|
|
1947
|
+
|
|
1948
|
+
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
|
|
1952
|
+
|
|
1953
|
+
|
|
1954
|
+
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
|
|
1958
|
+
var options = {};
|
|
1959
|
+
|
|
1960
|
+
options.styleTagTransform = (styleTagTransform_default());
|
|
1961
|
+
options.setAttributes = (setAttributesWithoutAttributes_default());
|
|
1962
|
+
options.insert = insertBySelector_default().bind(null, "head");
|
|
1963
|
+
options.domAPI = (styleDomAPI_default());
|
|
1964
|
+
options.insertStyleElement = (insertStyleElement_default());
|
|
1965
|
+
|
|
1966
|
+
var update = injectStylesIntoStyleTag_default()(Timeline/* default */.A, options);
|
|
1967
|
+
|
|
1968
|
+
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
/* harmony default export */ const Timeline_Timeline = (Timeline/* default */.A && Timeline/* default */.A.locals ? Timeline/* default */.A.locals : undefined);
|
|
1972
|
+
|
|
1973
|
+
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/flatpickr/dist/themes/material_green.css
|
|
1974
|
+
var material_green = __webpack_require__(941);
|
|
1975
|
+
;// ./node_modules/flatpickr/dist/themes/material_green.css
|
|
1976
|
+
|
|
1977
|
+
|
|
1978
|
+
|
|
1979
|
+
|
|
1980
|
+
|
|
1981
|
+
|
|
1982
|
+
|
|
1983
|
+
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
|
|
1987
|
+
var material_green_options = {};
|
|
1988
|
+
|
|
1989
|
+
material_green_options.styleTagTransform = (styleTagTransform_default());
|
|
1990
|
+
material_green_options.setAttributes = (setAttributesWithoutAttributes_default());
|
|
1991
|
+
material_green_options.insert = insertBySelector_default().bind(null, "head");
|
|
1992
|
+
material_green_options.domAPI = (styleDomAPI_default());
|
|
1993
|
+
material_green_options.insertStyleElement = (insertStyleElement_default());
|
|
1994
|
+
|
|
1995
|
+
var material_green_update = injectStylesIntoStyleTag_default()(material_green/* default */.A, material_green_options);
|
|
1996
|
+
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
/* harmony default export */ const themes_material_green = (material_green/* default */.A && material_green/* default */.A.locals ? material_green/* default */.A.locals : undefined);
|
|
2001
|
+
|
|
2002
|
+
;// ./src/components/Timeline/MasterHeader.js
|
|
2003
|
+
|
|
2004
|
+
// veya MasterHeader.css, eğer ayrı dosyaya koyacaksan
|
|
2005
|
+
// Flatpickr Tema
|
|
2006
|
+
|
|
2007
|
+
const MasterHeader = _ref => {
|
|
2008
|
+
let {
|
|
2009
|
+
selectedDate,
|
|
2010
|
+
onDateSelect,
|
|
2011
|
+
onToday,
|
|
2012
|
+
onAdvance,
|
|
2013
|
+
onRetreat,
|
|
2014
|
+
onMonthAdvance,
|
|
2015
|
+
onMonthRetreat,
|
|
2016
|
+
dayRange,
|
|
2017
|
+
setDayRange
|
|
2018
|
+
} = _ref;
|
|
2019
|
+
const formattedDate = new Date(selectedDate.getTime() + 24 * 60 * 60 * 1000 - selectedDate.getTimezoneOffset() * 60000).toISOString().split("T")[0]; // YYYY-MM-DD formatı
|
|
2020
|
+
|
|
2021
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2022
|
+
className: "master-header-container"
|
|
2023
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
2024
|
+
className: "master-header-buttons"
|
|
2025
|
+
}, /*#__PURE__*/external_react_default().createElement("button", {
|
|
2026
|
+
className: "master-header-btn",
|
|
2027
|
+
onClick: onMonthRetreat
|
|
2028
|
+
}, "1 Ay Geri"), /*#__PURE__*/external_react_default().createElement("button", {
|
|
2029
|
+
className: "master-header-btn",
|
|
2030
|
+
onClick: onRetreat
|
|
2031
|
+
}, "5 G\xFCn Geri"), /*#__PURE__*/external_react_default().createElement("input", {
|
|
2032
|
+
type: "date",
|
|
2033
|
+
className: "master-header-date-picker",
|
|
2034
|
+
value: formattedDate // Seçili tarih burada gösteriliyor
|
|
2035
|
+
,
|
|
2036
|
+
onChange: e => onDateSelect(e.target.value) // Tarih seçimi
|
|
2037
|
+
,
|
|
2038
|
+
onKeyDown: e => e.preventDefault() // Manuel girişleri engelle
|
|
2039
|
+
}), /*#__PURE__*/external_react_default().createElement("button", {
|
|
2040
|
+
className: "master-header-btn",
|
|
2041
|
+
onClick: onAdvance
|
|
2042
|
+
}, "5 G\xFCn \u0130leri"), /*#__PURE__*/external_react_default().createElement("button", {
|
|
2043
|
+
className: "master-header-btn",
|
|
2044
|
+
onClick: onMonthAdvance
|
|
2045
|
+
}, "1 Ay \u0130leri"), /*#__PURE__*/external_react_default().createElement("button", {
|
|
2046
|
+
className: "master-header-btn",
|
|
2047
|
+
onClick: onToday
|
|
2048
|
+
}, "Bug\xFCn")), /*#__PURE__*/external_react_default().createElement("select", {
|
|
2049
|
+
className: "master-header-select",
|
|
2050
|
+
value: dayRange,
|
|
2051
|
+
onChange: e => setDayRange(parseInt(e.target.value, 10))
|
|
2052
|
+
}, /*#__PURE__*/external_react_default().createElement("option", {
|
|
2053
|
+
value: 30
|
|
2054
|
+
}, "30 G\xFCn"), /*#__PURE__*/external_react_default().createElement("option", {
|
|
2055
|
+
value: 60
|
|
2056
|
+
}, "60 G\xFCn"), /*#__PURE__*/external_react_default().createElement("option", {
|
|
2057
|
+
value: 90
|
|
2058
|
+
}, "90 G\xFCn")));
|
|
2059
|
+
};
|
|
2060
|
+
/* harmony default export */ const Timeline_MasterHeader = (MasterHeader);
|
|
2061
|
+
;// ./src/components/Timeline/ResourcesHeader.js
|
|
2062
|
+
// ResourcesHeader.js
|
|
2063
|
+
|
|
2064
|
+
|
|
2065
|
+
const ResourcesHeader = _ref => {
|
|
2066
|
+
let {
|
|
2067
|
+
content
|
|
2068
|
+
} = _ref;
|
|
2069
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2070
|
+
className: "resources-header"
|
|
2071
|
+
}, content);
|
|
2072
|
+
};
|
|
2073
|
+
/* harmony default export */ const Timeline_ResourcesHeader = (ResourcesHeader);
|
|
2074
|
+
;// ./src/components/Timeline/Resources.js
|
|
2075
|
+
|
|
2076
|
+
const Resources = _ref => {
|
|
2077
|
+
let {
|
|
2078
|
+
groupedResources = [],
|
|
2079
|
+
// Kaynakların listesi
|
|
2080
|
+
collapsedGroups = {},
|
|
2081
|
+
// Grupların açık/kapalı durumunu tutan nesne
|
|
2082
|
+
toggleGroupCollapse,
|
|
2083
|
+
// Grupları açma/kapama fonksiyonu
|
|
2084
|
+
resourceSettings = {
|
|
2085
|
+
showIdAsName: false,
|
|
2086
|
+
// Varsayılan: `name` varsa onu göster, yoksa `id`
|
|
2087
|
+
isGrouped: true,
|
|
2088
|
+
// Varsayılan: Gruplama açık
|
|
2089
|
+
isCollapsible: true // Varsayılan: Gruplar açılıp kapanabilir
|
|
2090
|
+
}
|
|
2091
|
+
} = _ref;
|
|
2092
|
+
const {
|
|
2093
|
+
showIdAsName,
|
|
2094
|
+
isGrouped,
|
|
2095
|
+
isCollapsible
|
|
2096
|
+
} = resourceSettings;
|
|
2097
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2098
|
+
className: "timeline-resources"
|
|
2099
|
+
}, isGrouped ?
|
|
2100
|
+
// Gruplama aktif
|
|
2101
|
+
groupedResources.map((group, groupIndex) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2102
|
+
key: groupIndex,
|
|
2103
|
+
className: "resource-group"
|
|
2104
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
2105
|
+
className: "resource-group-header",
|
|
2106
|
+
onClick: () => isCollapsible && toggleGroupCollapse(group.groupName)
|
|
2107
|
+
}, group.groupName, " ", isCollapsible && (collapsedGroups[group.groupName] ? "▲" : "▼")), !collapsedGroups[group.groupName] && group.resources.map((resource, resourceIndex) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2108
|
+
key: resourceIndex,
|
|
2109
|
+
className: "resource-cell"
|
|
2110
|
+
}, showIdAsName ? resource.id : resource.name || resource.id)))) :
|
|
2111
|
+
// Gruplama yok
|
|
2112
|
+
groupedResources.flatMap(group => group.resources).map((resource, resourceIndex) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2113
|
+
key: resourceIndex,
|
|
2114
|
+
className: "resource-cell"
|
|
2115
|
+
}, showIdAsName ? resource.id : resource.name || resource.id)));
|
|
2116
|
+
};
|
|
2117
|
+
/* harmony default export */ const Timeline_Resources = (Resources);
|
|
2118
|
+
;// ./src/components/Timeline/TimelineHeader.js
|
|
2119
|
+
|
|
2120
|
+
// CSS dosyasını import etmeyi unutma
|
|
2121
|
+
|
|
2122
|
+
const TimelineHeader = _ref => {
|
|
2123
|
+
let {
|
|
2124
|
+
dates,
|
|
2125
|
+
monthHeaders
|
|
2126
|
+
} = _ref;
|
|
2127
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2128
|
+
className: "timeline-header-container"
|
|
2129
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
2130
|
+
className: "timeline-header-month-row"
|
|
2131
|
+
}, monthHeaders.map((monthHeader, index) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2132
|
+
key: index,
|
|
2133
|
+
className: "timeline-header-month-cell",
|
|
2134
|
+
style: {
|
|
2135
|
+
flex: monthHeader.endIndex - monthHeader.startIndex + 1,
|
|
2136
|
+
borderRight: index < monthHeaders.length - 1 ? "1px solid var(--border-color)" : "none"
|
|
2137
|
+
}
|
|
2138
|
+
}, monthHeader.monthName, " ", monthHeader.year))), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2139
|
+
className: "timeline-header-day-row"
|
|
2140
|
+
}, dates.map((date, index) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2141
|
+
key: index,
|
|
2142
|
+
className: "timeline-header-day-cell",
|
|
2143
|
+
style: {
|
|
2144
|
+
flex: 1,
|
|
2145
|
+
borderRight: index < dates.length - 1 ? "1px solid var(--border-color)" : "none"
|
|
2146
|
+
}
|
|
2147
|
+
}, date.display))));
|
|
2148
|
+
};
|
|
2149
|
+
/* harmony default export */ const Timeline_TimelineHeader = (TimelineHeader);
|
|
2150
|
+
;// ./src/utils/dateUtils.js
|
|
2151
|
+
// src/utils/dateUtils.js
|
|
2152
|
+
|
|
2153
|
+
/**
|
|
2154
|
+
* "dd/mm/yyyy" formatındaki bir tarih string'ini Date objesine dönüştürür.
|
|
2155
|
+
* Eğer dateInput bir string değilse, direkt Date objesini döndürür.
|
|
2156
|
+
* @param {string | Object | Date} dateInput - "dd/mm/yyyy" formatında tarih stringi veya {fullDate: Date, display: string} objesi veya Date objesi.
|
|
2157
|
+
* @returns {Date} - Date objesi.
|
|
2158
|
+
*/
|
|
2159
|
+
const parseDate = dateInput => {
|
|
2160
|
+
if (dateInput instanceof Date) {
|
|
2161
|
+
return dateInput;
|
|
2162
|
+
}
|
|
2163
|
+
if (typeof dateInput === 'string') {
|
|
2164
|
+
const [day, month, year] = dateInput.split("/").map(Number);
|
|
2165
|
+
return new Date(year, month - 1, day);
|
|
2166
|
+
} else if (typeof dateInput === 'object' && dateInput.fullDate instanceof Date) {
|
|
2167
|
+
return new Date(dateInput.fullDate.getTime() + dateInput.fullDate.getTimezoneOffset() * 60000);
|
|
2168
|
+
} else {
|
|
2169
|
+
console.error("parseDate received invalid input:", dateInput);
|
|
2170
|
+
return new Date(); // veya hata fırlat
|
|
2171
|
+
}
|
|
2172
|
+
};
|
|
2173
|
+
|
|
2174
|
+
/**
|
|
2175
|
+
* Bir tarihin belirli bir aralık içinde olup olmadığını kontrol eder.
|
|
2176
|
+
* @param {string | Object | Date} date - "dd/mm/yyyy" formatında tarih stringi, {fullDate: Date, display: string} objesi veya Date objesi.
|
|
2177
|
+
* @param {string | Object | Date} startDate - "dd/mm/yyyy" formatında başlangıç tarihi stringi, {fullDate: Date, display: string} objesi veya Date objesi.
|
|
2178
|
+
* @param {string | Object | Date} endDate - "dd/mm/yyyy" formatında bitiş tarihi stringi, {fullDate: Date, display: string} objesi veya Date objesi.
|
|
2179
|
+
* @returns {boolean} - Tarih aralık içinde ise true, değilse false.
|
|
2180
|
+
*/
|
|
2181
|
+
const isDateInRange = (date, startDate, endDate) => {
|
|
2182
|
+
const d = parseDate(date);
|
|
2183
|
+
const start = parseDate(startDate);
|
|
2184
|
+
const end = parseDate(endDate);
|
|
2185
|
+
return d >= start && d <= end;
|
|
2186
|
+
};
|
|
2187
|
+
;// ./src/hooks/useDragAndDrop.js
|
|
2188
|
+
// src/hooks/useDragAndDrop.js
|
|
2189
|
+
|
|
2190
|
+
// Named import
|
|
2191
|
+
|
|
2192
|
+
const useDragAndDrop = function () {
|
|
2193
|
+
let initialEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
2194
|
+
const [isDragging, setIsDragging] = (0,external_react_.useState)(false);
|
|
2195
|
+
const [dragStart, setDragStart] = (0,external_react_.useState)(null);
|
|
2196
|
+
const [dragEnd, setDragEnd] = (0,external_react_.useState)(null);
|
|
2197
|
+
const [events, setEvents] = (0,external_react_.useState)(initialEvents);
|
|
2198
|
+
|
|
2199
|
+
// Sürükleme başlat
|
|
2200
|
+
const startDrag = (resourceId, date) => {
|
|
2201
|
+
setIsDragging(true);
|
|
2202
|
+
setDragStart({
|
|
2203
|
+
resourceId,
|
|
2204
|
+
date
|
|
2205
|
+
});
|
|
2206
|
+
setDragEnd({
|
|
2207
|
+
resourceId,
|
|
2208
|
+
date
|
|
2209
|
+
});
|
|
2210
|
+
};
|
|
2211
|
+
|
|
2212
|
+
// Sürükleme hareketi
|
|
2213
|
+
const updateDrag = (resourceId, date) => {
|
|
2214
|
+
if (!isDragging) return;
|
|
2215
|
+
setDragEnd({
|
|
2216
|
+
resourceId,
|
|
2217
|
+
date
|
|
2218
|
+
});
|
|
2219
|
+
};
|
|
2220
|
+
|
|
2221
|
+
// Sürükleme bitişi
|
|
2222
|
+
const endDrag = dates => {
|
|
2223
|
+
if (!isDragging || !dragStart || !dragEnd) return;
|
|
2224
|
+
if (dragStart.resourceId !== dragEnd.resourceId) {
|
|
2225
|
+
resetDrag();
|
|
2226
|
+
return;
|
|
2227
|
+
}
|
|
2228
|
+
const startDateIndex = dates.findIndex(d => parseDate(d.fullDate).toDateString() === parseDate(dragStart.date.fullDate).toDateString());
|
|
2229
|
+
const endDateIndex = dates.findIndex(d => parseDate(d.fullDate).toDateString() === parseDate(dragEnd.date.fullDate).toDateString());
|
|
2230
|
+
if (startDateIndex === -1 || endDateIndex === -1) {
|
|
2231
|
+
resetDrag();
|
|
2232
|
+
return;
|
|
2233
|
+
}
|
|
2234
|
+
const sortedStartIndex = Math.min(startDateIndex, endDateIndex);
|
|
2235
|
+
const sortedEndIndex = Math.max(startDateIndex, endDateIndex);
|
|
2236
|
+
const startDate = dates[sortedStartIndex].fullDate;
|
|
2237
|
+
const endDate = dates[sortedEndIndex].fullDate;
|
|
2238
|
+
const newEvent = {
|
|
2239
|
+
id: Date.now(),
|
|
2240
|
+
title: "Yeni Etkinlik",
|
|
2241
|
+
resourceId: dragStart.resourceId,
|
|
2242
|
+
startDate: startDate,
|
|
2243
|
+
endDate: endDate,
|
|
2244
|
+
color: "#ff7f50"
|
|
2245
|
+
};
|
|
2246
|
+
setEvents(prev => [...prev, newEvent]);
|
|
2247
|
+
resetDrag();
|
|
2248
|
+
};
|
|
2249
|
+
const resetDrag = () => {
|
|
2250
|
+
setIsDragging(false);
|
|
2251
|
+
setDragStart(null);
|
|
2252
|
+
setDragEnd(null);
|
|
2253
|
+
};
|
|
2254
|
+
return {
|
|
2255
|
+
events,
|
|
2256
|
+
isDragging,
|
|
2257
|
+
dragStart,
|
|
2258
|
+
dragEnd,
|
|
2259
|
+
startDrag,
|
|
2260
|
+
updateDrag,
|
|
2261
|
+
endDrag,
|
|
2262
|
+
setEvents
|
|
2263
|
+
};
|
|
2264
|
+
};
|
|
2265
|
+
/* harmony default export */ const hooks_useDragAndDrop = (useDragAndDrop);
|
|
2266
|
+
;// ./src/hooks/useEventDragDrop.js
|
|
2267
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2268
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2269
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2270
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
2271
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
2272
|
+
|
|
2273
|
+
const useEventDragDrop = (events, setEvents, setDropInfo) => {
|
|
2274
|
+
const [draggingEvent, setDraggingEvent] = (0,external_react_.useState)(null);
|
|
2275
|
+
const [dragOffset, setDragOffset] = (0,external_react_.useState)(0);
|
|
2276
|
+
const [mode, setMode] = (0,external_react_.useState)(null); // "drag" veya "extend"
|
|
2277
|
+
|
|
2278
|
+
const handleDragStart = (event, eventId) => {
|
|
2279
|
+
if (mode === "extend") return; // Uzatma modundaysa taşıma işlemini başlatma
|
|
2280
|
+
|
|
2281
|
+
event.stopPropagation();
|
|
2282
|
+
const eventElement = event.target;
|
|
2283
|
+
const eventRect = eventElement.getBoundingClientRect();
|
|
2284
|
+
const offset = event.clientX - eventRect.left;
|
|
2285
|
+
setDraggingEvent(eventId);
|
|
2286
|
+
setDragOffset(offset);
|
|
2287
|
+
setMode("drag"); // Modu taşıma olarak ayarla
|
|
2288
|
+
|
|
2289
|
+
const draggedEvent = events.find(evt => evt.id === eventId);
|
|
2290
|
+
if (draggedEvent) {
|
|
2291
|
+
console.log("Dragging Event Start:", draggedEvent.startDate);
|
|
2292
|
+
console.log("Dragging Event End:", draggedEvent.endDate);
|
|
2293
|
+
}
|
|
2294
|
+
};
|
|
2295
|
+
const handleExtendStart = (event, eventId) => {
|
|
2296
|
+
event.stopPropagation();
|
|
2297
|
+
setDraggingEvent(eventId);
|
|
2298
|
+
setMode("extend"); // Modu uzatma olarak ayarla
|
|
2299
|
+
};
|
|
2300
|
+
const handleDragOver = event => {
|
|
2301
|
+
event.preventDefault();
|
|
2302
|
+
};
|
|
2303
|
+
const handleDrop = (event, resourceId, targetDate) => {
|
|
2304
|
+
event.preventDefault();
|
|
2305
|
+
if (mode === "drag" && draggingEvent) {
|
|
2306
|
+
const draggedEvent = events.find(evt => evt.id === draggingEvent);
|
|
2307
|
+
if (draggedEvent) {
|
|
2308
|
+
const duration = draggedEvent.endDate - draggedEvent.startDate;
|
|
2309
|
+
const cellWidth = event.target.offsetWidth || 30;
|
|
2310
|
+
const offsetDays = Math.floor(dragOffset / cellWidth);
|
|
2311
|
+
const newStartDate = new Date(targetDate.getTime() - offsetDays * 24 * 60 * 60 * 1000);
|
|
2312
|
+
const newEndDate = new Date(newStartDate.getTime() + duration);
|
|
2313
|
+
|
|
2314
|
+
// Callback kontrolü ve loglama
|
|
2315
|
+
if (setDropInfo) {
|
|
2316
|
+
console.log("setDropInfo is being called with:", {
|
|
2317
|
+
id: draggingEvent,
|
|
2318
|
+
newResourceId: resourceId,
|
|
2319
|
+
newStartDate,
|
|
2320
|
+
newEndDate
|
|
2321
|
+
});
|
|
2322
|
+
setDropInfo({
|
|
2323
|
+
id: draggingEvent,
|
|
2324
|
+
newResourceId: resourceId,
|
|
2325
|
+
newStartDate,
|
|
2326
|
+
newEndDate
|
|
2327
|
+
});
|
|
2328
|
+
}
|
|
2329
|
+
|
|
2330
|
+
// Event güncellemesi
|
|
2331
|
+
setEvents(prevEvents => prevEvents.map(evt => evt.id === draggingEvent ? _objectSpread(_objectSpread({}, evt), {}, {
|
|
2332
|
+
resourceId,
|
|
2333
|
+
startDate: newStartDate,
|
|
2334
|
+
endDate: newEndDate
|
|
2335
|
+
}) : evt));
|
|
2336
|
+
}
|
|
2337
|
+
}
|
|
2338
|
+
setDraggingEvent(null);
|
|
2339
|
+
setDragOffset(0);
|
|
2340
|
+
setMode(null);
|
|
2341
|
+
};
|
|
2342
|
+
const handleExtend = (event, eventId, newEndDate) => {
|
|
2343
|
+
if (mode !== "extend" || draggingEvent !== eventId) return;
|
|
2344
|
+
setEvents(prevEvents => prevEvents.map(evt => evt.id === eventId ? _objectSpread(_objectSpread({}, evt), {}, {
|
|
2345
|
+
endDate: newEndDate
|
|
2346
|
+
}) : evt));
|
|
2347
|
+
console.log("Extended Event ID:", eventId, "New End Date:", newEndDate);
|
|
2348
|
+
setDraggingEvent(null);
|
|
2349
|
+
setMode(null);
|
|
2350
|
+
};
|
|
2351
|
+
const handleDragEnd = () => {
|
|
2352
|
+
setDraggingEvent(null);
|
|
2353
|
+
setDragOffset(0);
|
|
2354
|
+
setMode(null);
|
|
2355
|
+
};
|
|
2356
|
+
return {
|
|
2357
|
+
handleDragStart,
|
|
2358
|
+
handleExtendStart,
|
|
2359
|
+
handleDragOver,
|
|
2360
|
+
handleDrop,
|
|
2361
|
+
handleExtend,
|
|
2362
|
+
handleDragEnd
|
|
2363
|
+
};
|
|
2364
|
+
};
|
|
2365
|
+
/* harmony default export */ const hooks_useEventDragDrop = (useEventDragDrop);
|
|
2366
|
+
;// ./src/components/Timeline/Indicator.js
|
|
2367
|
+
|
|
2368
|
+
const Indicator = _ref => {
|
|
2369
|
+
let {
|
|
2370
|
+
todayIndex,
|
|
2371
|
+
totalDays
|
|
2372
|
+
} = _ref;
|
|
2373
|
+
if (todayIndex < 0 || todayIndex >= totalDays) {
|
|
2374
|
+
console.log("Indicator not visible: Out of bounds");
|
|
2375
|
+
return null; // Bugün timeline dışında ise çizgiyi gösterme
|
|
2376
|
+
}
|
|
2377
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2378
|
+
style: {
|
|
2379
|
+
position: "absolute",
|
|
2380
|
+
top: 0,
|
|
2381
|
+
left: "calc(".concat((todayIndex + 0.5) / totalDays, " * 100%)"),
|
|
2382
|
+
// Günün ortasına yerleştirmek için +0.5
|
|
2383
|
+
width: "2px",
|
|
2384
|
+
height: "100%",
|
|
2385
|
+
backgroundColor: "transparent",
|
|
2386
|
+
zIndex: 5,
|
|
2387
|
+
borderStyle: "dashed",
|
|
2388
|
+
// Kesikli çizgi için
|
|
2389
|
+
borderWidth: "0 0 0 2px",
|
|
2390
|
+
// Sadece sol tarafa kesikli çizgi
|
|
2391
|
+
borderColor: "red"
|
|
2392
|
+
}
|
|
2393
|
+
});
|
|
2394
|
+
};
|
|
2395
|
+
/* harmony default export */ const Timeline_Indicator = (Indicator);
|
|
2396
|
+
;// ./src/hooks/useExtendEvent.js
|
|
2397
|
+
function useExtendEvent_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2398
|
+
function useExtendEvent_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? useExtendEvent_ownKeys(Object(t), !0).forEach(function (r) { useExtendEvent_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : useExtendEvent_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2399
|
+
function useExtendEvent_defineProperty(e, r, t) { return (r = useExtendEvent_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2400
|
+
function useExtendEvent_toPropertyKey(t) { var i = useExtendEvent_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
2401
|
+
function useExtendEvent_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
2402
|
+
|
|
2403
|
+
const useExtendEvent = (events, setEvents) => {
|
|
2404
|
+
/**
|
|
2405
|
+
* Etkinliği uzatmak veya kısaltmak için kullanılan işlev.
|
|
2406
|
+
* @param {number} eventId - Güncellenmesi gereken etkinliğin ID'si.
|
|
2407
|
+
* @param {Date} newEndDate - Etkinliğin yeni bitiş tarihi.
|
|
2408
|
+
*/
|
|
2409
|
+
const extendEvent = (0,external_react_.useCallback)((eventId, newEndDate) => {
|
|
2410
|
+
setEvents(prevEvents => prevEvents.map(event => event.id === eventId ? useExtendEvent_objectSpread(useExtendEvent_objectSpread({}, event), {}, {
|
|
2411
|
+
endDate: newEndDate // Yeni bitiş tarihini günceller
|
|
2412
|
+
}) : event // Diğer etkinlikler aynı kalır
|
|
2413
|
+
));
|
|
2414
|
+
}, [setEvents]);
|
|
2415
|
+
return {
|
|
2416
|
+
extendEvent
|
|
2417
|
+
};
|
|
2418
|
+
};
|
|
2419
|
+
/* harmony default export */ const hooks_useExtendEvent = (useExtendEvent);
|
|
2420
|
+
;// ./src/components/Timeline/TimelineContent.js
|
|
2421
|
+
function TimelineContent_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2422
|
+
function TimelineContent_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? TimelineContent_ownKeys(Object(t), !0).forEach(function (r) { TimelineContent_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : TimelineContent_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2423
|
+
function TimelineContent_defineProperty(e, r, t) { return (r = TimelineContent_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2424
|
+
function TimelineContent_toPropertyKey(t) { var i = TimelineContent_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
2425
|
+
function TimelineContent_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
2426
|
+
|
|
2427
|
+
|
|
2428
|
+
|
|
2429
|
+
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
// import "./Timeline.css"; // varsayalım "Timeline.css" globalde import ediliyor
|
|
2433
|
+
|
|
2434
|
+
const TimelineContent = _ref => {
|
|
2435
|
+
let {
|
|
2436
|
+
groupedResources,
|
|
2437
|
+
dates,
|
|
2438
|
+
collapsedGroups,
|
|
2439
|
+
events,
|
|
2440
|
+
setEvents,
|
|
2441
|
+
onEventClick,
|
|
2442
|
+
todayIndex,
|
|
2443
|
+
indicatorOn,
|
|
2444
|
+
resourceSettings,
|
|
2445
|
+
setDropInfo,
|
|
2446
|
+
eventsDragOn = true,
|
|
2447
|
+
eventsExtendOn = true,
|
|
2448
|
+
createNewEventOn = true,
|
|
2449
|
+
onExtendInfo,
|
|
2450
|
+
onCreateEventInfo,
|
|
2451
|
+
onEventRightClick,
|
|
2452
|
+
eventTooltipOn = true,
|
|
2453
|
+
tooltipComponent: TooltipComponent,
|
|
2454
|
+
tempEventStyle = {},
|
|
2455
|
+
eventStyleResolver = () => ({})
|
|
2456
|
+
} = _ref;
|
|
2457
|
+
// ------------------- HOOKS & STATE -------------------
|
|
2458
|
+
const containerRef = (0,external_react_.useRef)(null);
|
|
2459
|
+
|
|
2460
|
+
// Drag
|
|
2461
|
+
const {
|
|
2462
|
+
isDragging,
|
|
2463
|
+
dragStart,
|
|
2464
|
+
dragEnd
|
|
2465
|
+
} = hooks_useDragAndDrop(events, setEvents);
|
|
2466
|
+
const {
|
|
2467
|
+
handleDragStart,
|
|
2468
|
+
handleDragOver,
|
|
2469
|
+
handleDrop,
|
|
2470
|
+
handleDragEnd
|
|
2471
|
+
} = hooks_useEventDragDrop(events, setEvents, setDropInfo // Doğrudan setDropInfo'yu geçiriyoruz
|
|
2472
|
+
);
|
|
2473
|
+
|
|
2474
|
+
// Extend
|
|
2475
|
+
const {
|
|
2476
|
+
extendEvent
|
|
2477
|
+
} = hooks_useExtendEvent(events, setEvents);
|
|
2478
|
+
const [mode, setMode] = (0,external_react_.useState)(null); // null | "extend"
|
|
2479
|
+
const [extendingEvent, setExtendingEvent] = (0,external_react_.useState)(null);
|
|
2480
|
+
const [originalEndDate, setOriginalEndDate] = (0,external_react_.useState)(null);
|
|
2481
|
+
const [startMouseX, setStartMouseX] = (0,external_react_.useState)(null);
|
|
2482
|
+
|
|
2483
|
+
// Create new event
|
|
2484
|
+
const [isCreating, setIsCreating] = (0,external_react_.useState)(false);
|
|
2485
|
+
const [tempEvent, setTempEvent] = (0,external_react_.useState)(null);
|
|
2486
|
+
|
|
2487
|
+
// Tooltip
|
|
2488
|
+
const [selectedEvent, setSelectedEvent] = (0,external_react_.useState)(null);
|
|
2489
|
+
const [tooltipPosition, setTooltipPosition] = (0,external_react_.useState)({
|
|
2490
|
+
top: 0,
|
|
2491
|
+
left: 0
|
|
2492
|
+
});
|
|
2493
|
+
const totalDays = dates.length;
|
|
2494
|
+
|
|
2495
|
+
// ------------------- Tooltip Logic -------------------
|
|
2496
|
+
const handleEventClickInternal = (event, e) => {
|
|
2497
|
+
e.stopPropagation();
|
|
2498
|
+
// Eğer mod "extend" ise tooltip'i açma
|
|
2499
|
+
if (mode === "extend") {
|
|
2500
|
+
return;
|
|
2501
|
+
}
|
|
2502
|
+
|
|
2503
|
+
// Harici callback
|
|
2504
|
+
if (onEventClick) onEventClick(event, e);
|
|
2505
|
+
|
|
2506
|
+
// Tooltip göstermek
|
|
2507
|
+
const eventElement = e.currentTarget;
|
|
2508
|
+
if (eventElement) {
|
|
2509
|
+
const rect = eventElement.getBoundingClientRect();
|
|
2510
|
+
setTooltipPosition({
|
|
2511
|
+
top: rect.top + window.scrollY,
|
|
2512
|
+
left: rect.left + rect.width / 2 + window.scrollX
|
|
2513
|
+
});
|
|
2514
|
+
setSelectedEvent(event);
|
|
2515
|
+
}
|
|
2516
|
+
};
|
|
2517
|
+
const handleCloseTooltip = () => {
|
|
2518
|
+
setSelectedEvent(null);
|
|
2519
|
+
};
|
|
2520
|
+
|
|
2521
|
+
// ------------------- Create New Event -------------------
|
|
2522
|
+
const handleCellClick = (resourceId, date) => {
|
|
2523
|
+
if (!createNewEventOn) return; // create devrede değilse
|
|
2524
|
+
|
|
2525
|
+
const startDate = parseDate(date.fullDate);
|
|
2526
|
+
const newEvent = {
|
|
2527
|
+
id: Date.now(),
|
|
2528
|
+
title: "1 Gece",
|
|
2529
|
+
startDate,
|
|
2530
|
+
endDate: new Date(startDate.getTime() + 24 * 60 * 60 * 1000),
|
|
2531
|
+
resourceId,
|
|
2532
|
+
// color => var(--timeline-new-event-background-color) => => Sonra inline style yerine className
|
|
2533
|
+
color: "" // Bunu .css’te "var(--timeline-new-event-background-color)" atayabilirsin
|
|
2534
|
+
};
|
|
2535
|
+
setTempEvent(newEvent);
|
|
2536
|
+
setIsCreating(true);
|
|
2537
|
+
};
|
|
2538
|
+
(0,external_react_.useEffect)(() => {
|
|
2539
|
+
if (!createNewEventOn) return;
|
|
2540
|
+
if (!isCreating) return;
|
|
2541
|
+
if (mode === "extend") {
|
|
2542
|
+
console.log(">>> 'extend' mode, skip new event creation");
|
|
2543
|
+
return;
|
|
2544
|
+
}
|
|
2545
|
+
const handleMouseMove = e => {
|
|
2546
|
+
if (!isCreating || !tempEvent) return;
|
|
2547
|
+
const cell = document.elementFromPoint(e.clientX, e.clientY);
|
|
2548
|
+
const cellW = (cell === null || cell === void 0 ? void 0 : cell.offsetWidth) || 30;
|
|
2549
|
+
const startX = tempEvent.startX || e.clientX;
|
|
2550
|
+
const deltaX = e.clientX - startX;
|
|
2551
|
+
const daysToAdd = Math.max(1, Math.floor(deltaX / cellW));
|
|
2552
|
+
const newEndDate = new Date(tempEvent.startDate.getTime());
|
|
2553
|
+
newEndDate.setDate(newEndDate.getDate() + daysToAdd);
|
|
2554
|
+
setTempEvent(TimelineContent_objectSpread(TimelineContent_objectSpread({}, tempEvent), {}, {
|
|
2555
|
+
endDate: newEndDate,
|
|
2556
|
+
startX: startX,
|
|
2557
|
+
title: "".concat(daysToAdd, " Gece")
|
|
2558
|
+
}));
|
|
2559
|
+
};
|
|
2560
|
+
const handleMouseUp = () => {
|
|
2561
|
+
if (isCreating && tempEvent) {
|
|
2562
|
+
setEvents([...events, tempEvent]);
|
|
2563
|
+
if (onCreateEventInfo) {
|
|
2564
|
+
onCreateEventInfo(tempEvent);
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
setTempEvent(null);
|
|
2568
|
+
setIsCreating(false);
|
|
2569
|
+
};
|
|
2570
|
+
window.addEventListener("mousemove", handleMouseMove);
|
|
2571
|
+
window.addEventListener("mouseup", handleMouseUp);
|
|
2572
|
+
return () => {
|
|
2573
|
+
window.removeEventListener("mousemove", handleMouseMove);
|
|
2574
|
+
window.removeEventListener("mouseup", handleMouseUp);
|
|
2575
|
+
};
|
|
2576
|
+
}, [createNewEventOn, isCreating, mode, tempEvent, events, onCreateEventInfo, setEvents]);
|
|
2577
|
+
|
|
2578
|
+
// ------------------- Drag Logic -------------------
|
|
2579
|
+
const handleDragStartSafe = (e, eventId) => {
|
|
2580
|
+
if (!eventsDragOn) {
|
|
2581
|
+
e.preventDefault();
|
|
2582
|
+
return;
|
|
2583
|
+
}
|
|
2584
|
+
handleDragStart(e, eventId);
|
|
2585
|
+
};
|
|
2586
|
+
const handleDragEndSafe = e => {
|
|
2587
|
+
if (!eventsDragOn) {
|
|
2588
|
+
e.preventDefault();
|
|
2589
|
+
return;
|
|
2590
|
+
}
|
|
2591
|
+
handleDragEnd();
|
|
2592
|
+
};
|
|
2593
|
+
|
|
2594
|
+
// ------------------- Extend Logic -------------------
|
|
2595
|
+
const handleMouseDownExtend = (mouseEvent, event) => {
|
|
2596
|
+
if (!eventsExtendOn) return;
|
|
2597
|
+
mouseEvent.stopPropagation();
|
|
2598
|
+
console.log(">>> Extend start ID:", event.id);
|
|
2599
|
+
setMode("extend");
|
|
2600
|
+
setExtendingEvent(event);
|
|
2601
|
+
setOriginalEndDate(event.endDate);
|
|
2602
|
+
setStartMouseX(mouseEvent.clientX);
|
|
2603
|
+
};
|
|
2604
|
+
const handleMouseMoveExtend = e => {
|
|
2605
|
+
if (mode !== "extend" || !extendingEvent) return;
|
|
2606
|
+
if (!eventsExtendOn) return;
|
|
2607
|
+
const currentMouseX = e.clientX;
|
|
2608
|
+
const deltaX = currentMouseX - (startMouseX !== null && startMouseX !== void 0 ? startMouseX : 0);
|
|
2609
|
+
const cellW = 30;
|
|
2610
|
+
const daysToAdd = Math.floor(deltaX / cellW);
|
|
2611
|
+
const newEndDate = new Date((originalEndDate !== null && originalEndDate !== void 0 ? originalEndDate : new Date()).getTime());
|
|
2612
|
+
newEndDate.setDate(newEndDate.getDate() + daysToAdd);
|
|
2613
|
+
console.log(">>> Extending ID:", extendingEvent.id, "=>", newEndDate);
|
|
2614
|
+
setEvents(prev => prev.map(evt => evt.id === extendingEvent.id ? TimelineContent_objectSpread(TimelineContent_objectSpread({}, evt), {}, {
|
|
2615
|
+
endDate: newEndDate
|
|
2616
|
+
}) : evt));
|
|
2617
|
+
};
|
|
2618
|
+
const handleMouseUpExtend = () => {
|
|
2619
|
+
console.log(">>> Extend finished ID:", extendingEvent === null || extendingEvent === void 0 ? void 0 : extendingEvent.id);
|
|
2620
|
+
if (onExtendInfo && extendingEvent) {
|
|
2621
|
+
// callback
|
|
2622
|
+
const updatedEvent = events.find(ev => ev.id === extendingEvent.id);
|
|
2623
|
+
if (updatedEvent) {
|
|
2624
|
+
onExtendInfo({
|
|
2625
|
+
eventId: extendingEvent.id,
|
|
2626
|
+
newEndDate: updatedEvent.endDate
|
|
2627
|
+
});
|
|
2628
|
+
}
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
// Tooltip açılmasını engellemek için modun null olmasını geciktiriyoruz
|
|
2632
|
+
setTimeout(() => {
|
|
2633
|
+
setMode(null);
|
|
2634
|
+
}, 100); // 100ms gecikme
|
|
2635
|
+
setExtendingEvent(null);
|
|
2636
|
+
setOriginalEndDate(null);
|
|
2637
|
+
setStartMouseX(null);
|
|
2638
|
+
};
|
|
2639
|
+
(0,external_react_.useEffect)(() => {
|
|
2640
|
+
if (mode === "extend") {
|
|
2641
|
+
const onMove = e => handleMouseMoveExtend(e);
|
|
2642
|
+
const onUp = () => handleMouseUpExtend();
|
|
2643
|
+
document.addEventListener("mousemove", onMove);
|
|
2644
|
+
document.addEventListener("mouseup", onUp);
|
|
2645
|
+
return () => {
|
|
2646
|
+
document.removeEventListener("mousemove", onMove);
|
|
2647
|
+
document.removeEventListener("mouseup", onUp);
|
|
2648
|
+
};
|
|
2649
|
+
}
|
|
2650
|
+
}, [mode, extendingEvent, eventsExtendOn, originalEndDate, startMouseX]);
|
|
2651
|
+
|
|
2652
|
+
// ------------------- Right Click (context) -------------------
|
|
2653
|
+
const handleRightClickEvent = (evt, reactEvent) => {
|
|
2654
|
+
reactEvent.preventDefault();
|
|
2655
|
+
if (onEventRightClick) onEventRightClick(evt, reactEvent);
|
|
2656
|
+
};
|
|
2657
|
+
|
|
2658
|
+
// ------------------- Helper isCellSelected -------------------
|
|
2659
|
+
const isCellSelected = (resourceId, date) => {
|
|
2660
|
+
if (!dragStart || !dragEnd) return false;
|
|
2661
|
+
if (resourceId !== dragStart.resourceId) return false;
|
|
2662
|
+
const startIndex = dates.findIndex(d => parseDate(d.fullDate).getTime() === parseDate(dragStart.date).getTime());
|
|
2663
|
+
const endIndex = dates.findIndex(d => parseDate(d.fullDate).getTime() === parseDate(dragEnd.date).getTime());
|
|
2664
|
+
const currentIndex = dates.findIndex(d => parseDate(d.fullDate).getTime() === parseDate(date.fullDate).getTime());
|
|
2665
|
+
if (startIndex === -1 || endIndex === -1 || currentIndex === -1) return false;
|
|
2666
|
+
return currentIndex >= Math.min(startIndex, endIndex) && currentIndex <= Math.max(startIndex, endIndex);
|
|
2667
|
+
};
|
|
2668
|
+
|
|
2669
|
+
// ------------------- calculatePosition -------------------
|
|
2670
|
+
const calculatePosition = (ev, dateArr) => {
|
|
2671
|
+
const startDate = parseDate(ev.startDate);
|
|
2672
|
+
const endDate = parseDate(ev.endDate);
|
|
2673
|
+
const startIndex = dateArr.findIndex(d => parseDate(d.fullDate).toDateString() === startDate.toDateString());
|
|
2674
|
+
const endIndex = dateArr.findIndex(d => parseDate(d.fullDate).toDateString() === endDate.toDateString());
|
|
2675
|
+
const totalDays = dateArr.length;
|
|
2676
|
+
if (startIndex < 0 && endIndex < 0) {
|
|
2677
|
+
return {
|
|
2678
|
+
isVisible: false,
|
|
2679
|
+
left: 0,
|
|
2680
|
+
width: 0,
|
|
2681
|
+
isPartialStart: false,
|
|
2682
|
+
isPartialEnd: false
|
|
2683
|
+
};
|
|
2684
|
+
}
|
|
2685
|
+
if (startIndex >= totalDays && endIndex >= totalDays) {
|
|
2686
|
+
return {
|
|
2687
|
+
isVisible: false,
|
|
2688
|
+
left: 0,
|
|
2689
|
+
width: 0,
|
|
2690
|
+
isPartialStart: false,
|
|
2691
|
+
isPartialEnd: false
|
|
2692
|
+
};
|
|
2693
|
+
}
|
|
2694
|
+
const effectiveStartIndex = Math.max(startIndex, 0);
|
|
2695
|
+
const effectiveEndIndex = Math.min(endIndex, totalDays - 1);
|
|
2696
|
+
const isPartialStart = startIndex < 0;
|
|
2697
|
+
const isPartialEnd = endIndex >= totalDays;
|
|
2698
|
+
const leftPercentage = (effectiveStartIndex + (isPartialStart ? 0 : 0.5)) / totalDays * 100;
|
|
2699
|
+
const rightPercentage = (effectiveEndIndex + (isPartialEnd ? 1 : 0.5)) / totalDays * 100;
|
|
2700
|
+
const widthPercentage = rightPercentage - leftPercentage;
|
|
2701
|
+
return {
|
|
2702
|
+
isVisible: true,
|
|
2703
|
+
left: "".concat(leftPercentage, "%"),
|
|
2704
|
+
width: "".concat(widthPercentage, "%"),
|
|
2705
|
+
isPartialStart,
|
|
2706
|
+
isPartialEnd
|
|
2707
|
+
};
|
|
2708
|
+
};
|
|
2709
|
+
|
|
2710
|
+
// ------------------- RENDER -------------------
|
|
2711
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2712
|
+
ref: containerRef,
|
|
2713
|
+
className: "timeline-content-container" // Yeni class, stilini timeline.css'e ekleyebilirsin
|
|
2714
|
+
}, indicatorOn && /*#__PURE__*/external_react_default().createElement(Timeline_Indicator, {
|
|
2715
|
+
todayIndex: todayIndex,
|
|
2716
|
+
totalDays: totalDays
|
|
2717
|
+
}), groupedResources.map((group, groupIndex) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2718
|
+
key: groupIndex,
|
|
2719
|
+
className: "timeline-group-container"
|
|
2720
|
+
}, resourceSettings.isGrouped && /*#__PURE__*/external_react_default().createElement("div", {
|
|
2721
|
+
className: "timeline-group-header-row"
|
|
2722
|
+
}, dates.map((dateObj, colIndex) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2723
|
+
key: "group-header-".concat(groupIndex, "-").concat(colIndex),
|
|
2724
|
+
className: "timeline-group-header-cell"
|
|
2725
|
+
}))), !collapsedGroups[group.groupName] && group.resources.map((resource, rowIndex) => {
|
|
2726
|
+
const resourceEvents = events.filter(ev => ev.resourceId === resource.id);
|
|
2727
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2728
|
+
key: resource.id,
|
|
2729
|
+
className: "timeline-resource-row"
|
|
2730
|
+
}, resourceEvents.map(event => {
|
|
2731
|
+
const {
|
|
2732
|
+
isVisible,
|
|
2733
|
+
left,
|
|
2734
|
+
width,
|
|
2735
|
+
isPartialStart,
|
|
2736
|
+
isPartialEnd
|
|
2737
|
+
} = calculatePosition(event, dates);
|
|
2738
|
+
if (!isVisible) return null;
|
|
2739
|
+
|
|
2740
|
+
// Kullanıcıdan gelen stil
|
|
2741
|
+
const eventStyle = eventStyleResolver ? eventStyleResolver(event) : {};
|
|
2742
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2743
|
+
key: event.id,
|
|
2744
|
+
className: "timeline-event",
|
|
2745
|
+
draggable: mode !== "extend" && eventsDragOn,
|
|
2746
|
+
onDragStart: e => {
|
|
2747
|
+
if (mode === "extend") {
|
|
2748
|
+
e.preventDefault();
|
|
2749
|
+
return;
|
|
2750
|
+
}
|
|
2751
|
+
handleDragStartSafe(e, event.id);
|
|
2752
|
+
},
|
|
2753
|
+
onDragEnd: e => {
|
|
2754
|
+
if (mode === "extend") {
|
|
2755
|
+
e.preventDefault();
|
|
2756
|
+
return;
|
|
2757
|
+
}
|
|
2758
|
+
handleDragEndSafe(e);
|
|
2759
|
+
},
|
|
2760
|
+
onContextMenu: reactEvent => handleRightClickEvent(event, reactEvent),
|
|
2761
|
+
onClick: ev => handleEventClickInternal(event, ev),
|
|
2762
|
+
style: TimelineContent_objectSpread({
|
|
2763
|
+
left,
|
|
2764
|
+
width,
|
|
2765
|
+
top: "5px",
|
|
2766
|
+
borderTopLeftRadius: isPartialStart ? "0px" : "20px",
|
|
2767
|
+
borderBottomLeftRadius: isPartialStart ? "0px" : "20px",
|
|
2768
|
+
borderTopRightRadius: isPartialEnd ? "0px" : "20px",
|
|
2769
|
+
borderBottomRightRadius: isPartialEnd ? "0px" : "20px",
|
|
2770
|
+
cursor: mode === "extend" ? "col-resize" : "grab"
|
|
2771
|
+
}, eventStyle)
|
|
2772
|
+
}, event.title, eventsExtendOn && /*#__PURE__*/external_react_default().createElement("div", {
|
|
2773
|
+
className: "timeline-event-extend-handle",
|
|
2774
|
+
onMouseDown: mouseEvent => {
|
|
2775
|
+
mouseEvent.stopPropagation();
|
|
2776
|
+
handleMouseDownExtend(mouseEvent, event);
|
|
2777
|
+
}
|
|
2778
|
+
}));
|
|
2779
|
+
}), tempEvent && tempEvent.resourceId === resource.id && /*#__PURE__*/external_react_default().createElement("div", {
|
|
2780
|
+
className: "timeline-temp-event",
|
|
2781
|
+
style: TimelineContent_objectSpread(TimelineContent_objectSpread({}, calculatePosition(tempEvent, dates)), tempEventStyle)
|
|
2782
|
+
}, tempEvent.title), dates.map((dateObj, colIndex) => /*#__PURE__*/external_react_default().createElement("div", {
|
|
2783
|
+
key: "cell-".concat(groupIndex, "-").concat(rowIndex, "-").concat(colIndex),
|
|
2784
|
+
className: "timeline-cell ".concat(isCellSelected(resource.id, dateObj) ? "selected" : ""),
|
|
2785
|
+
"data-date": JSON.stringify(dateObj),
|
|
2786
|
+
"data-resource-id": resource.id,
|
|
2787
|
+
onMouseDown: () => handleCellClick(resource.id, dateObj),
|
|
2788
|
+
onDragOver: e => handleDragOver(e),
|
|
2789
|
+
onDrop: e => handleDrop(e, resource.id, parseDate(dateObj.fullDate))
|
|
2790
|
+
})));
|
|
2791
|
+
}))), eventTooltipOn && selectedEvent && TooltipComponent && mode !== "extend" && /*#__PURE__*/external_react_default().createElement(TooltipComponent, {
|
|
2792
|
+
event: selectedEvent,
|
|
2793
|
+
position: tooltipPosition,
|
|
2794
|
+
onClose: handleCloseTooltip
|
|
2795
|
+
}));
|
|
2796
|
+
};
|
|
2797
|
+
/* harmony default export */ const Timeline_TimelineContent = (TimelineContent);
|
|
2798
|
+
;// ./src/components/Timeline/EventTooltip.js
|
|
2799
|
+
// src/components/Timeline/EventTooltip.js
|
|
2800
|
+
|
|
2801
|
+
const EventTooltip = _ref => {
|
|
2802
|
+
let {
|
|
2803
|
+
event,
|
|
2804
|
+
position = {
|
|
2805
|
+
top: 0,
|
|
2806
|
+
left: 0
|
|
2807
|
+
},
|
|
2808
|
+
onClose,
|
|
2809
|
+
onEdit,
|
|
2810
|
+
onDelete
|
|
2811
|
+
} = _ref;
|
|
2812
|
+
if (!event) return null;
|
|
2813
|
+
const {
|
|
2814
|
+
top,
|
|
2815
|
+
left
|
|
2816
|
+
} = position;
|
|
2817
|
+
|
|
2818
|
+
// Rezervasyon durumuna göre renk belirleme
|
|
2819
|
+
const getStatusColor = status => {
|
|
2820
|
+
switch (status) {
|
|
2821
|
+
case "Confirmed":
|
|
2822
|
+
return "#4caf50";
|
|
2823
|
+
// Yeşil
|
|
2824
|
+
case "Pending":
|
|
2825
|
+
return "#ff9800";
|
|
2826
|
+
// Turuncu
|
|
2827
|
+
case "Cancelled":
|
|
2828
|
+
return "#f44336";
|
|
2829
|
+
// Kırmızı
|
|
2830
|
+
case "Completed":
|
|
2831
|
+
return "#2196f3";
|
|
2832
|
+
// Mavi
|
|
2833
|
+
default:
|
|
2834
|
+
return "#9e9e9e";
|
|
2835
|
+
// Gri
|
|
2836
|
+
}
|
|
2837
|
+
};
|
|
2838
|
+
const statusColor = getStatusColor(event.status);
|
|
2839
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2840
|
+
style: {
|
|
2841
|
+
position: "absolute",
|
|
2842
|
+
top: top - 200,
|
|
2843
|
+
// Tooltip'in biraz yukarıda görünmesi için
|
|
2844
|
+
left: left + 70,
|
|
2845
|
+
transform: "translateX(-50%)",
|
|
2846
|
+
backgroundColor: "#ffffff",
|
|
2847
|
+
color: "#333333",
|
|
2848
|
+
borderRadius: "10px",
|
|
2849
|
+
boxShadow: "0 8px 16px rgba(0, 0, 0, 0.2)",
|
|
2850
|
+
fontSize: "16px",
|
|
2851
|
+
zIndex: 1000,
|
|
2852
|
+
pointerEvents: "auto",
|
|
2853
|
+
// Tooltip'in tıklanabilir olmasını sağlar
|
|
2854
|
+
whiteSpace: "normal",
|
|
2855
|
+
maxWidth: "400px",
|
|
2856
|
+
width: "100%",
|
|
2857
|
+
transition: "opacity 0.3s ease, transform 0.3s ease"
|
|
2858
|
+
}
|
|
2859
|
+
}, onClose && /*#__PURE__*/external_react_default().createElement("button", {
|
|
2860
|
+
onClick: onClose,
|
|
2861
|
+
style: {
|
|
2862
|
+
position: "absolute",
|
|
2863
|
+
top: "10px",
|
|
2864
|
+
right: "15px",
|
|
2865
|
+
background: "transparent",
|
|
2866
|
+
border: "none",
|
|
2867
|
+
color: "#aaa",
|
|
2868
|
+
fontSize: "24px",
|
|
2869
|
+
cursor: "pointer",
|
|
2870
|
+
transition: "color 0.2s"
|
|
2871
|
+
},
|
|
2872
|
+
"aria-label": "Kapat",
|
|
2873
|
+
onMouseOver: e => e.target.style.color = "#000",
|
|
2874
|
+
onMouseOut: e => e.target.style.color = "#aaa"
|
|
2875
|
+
}, "\xD7"), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2876
|
+
style: {
|
|
2877
|
+
backgroundColor: statusColor,
|
|
2878
|
+
color: "#ffffff",
|
|
2879
|
+
padding: "15px 20px",
|
|
2880
|
+
borderTopLeftRadius: "10px",
|
|
2881
|
+
borderTopRightRadius: "10px",
|
|
2882
|
+
display: "flex",
|
|
2883
|
+
flexDirection: "column",
|
|
2884
|
+
gap: "5px"
|
|
2885
|
+
}
|
|
2886
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
2887
|
+
style: {
|
|
2888
|
+
fontWeight: "bold",
|
|
2889
|
+
fontSize: "18px"
|
|
2890
|
+
}
|
|
2891
|
+
}, event.title), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2892
|
+
style: {
|
|
2893
|
+
fontSize: "14px"
|
|
2894
|
+
}
|
|
2895
|
+
}, "Rezervasyon ID: ", event.reservationId)), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2896
|
+
style: {
|
|
2897
|
+
padding: "20px",
|
|
2898
|
+
display: "flex",
|
|
2899
|
+
flexDirection: "column",
|
|
2900
|
+
gap: "15px"
|
|
2901
|
+
}
|
|
2902
|
+
}, Array.isArray(event.guestNames) && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Misafirler:"), " ", event.guestNames.join(", ")), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2903
|
+
style: {
|
|
2904
|
+
display: "flex",
|
|
2905
|
+
justifyContent: "space-between",
|
|
2906
|
+
marginBottom: "10px"
|
|
2907
|
+
}
|
|
2908
|
+
}, /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Giri\u015F:"), " ", new Date(event.startDate).toLocaleDateString()), /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "\xC7\u0131k\u0131\u015F:"), " ", new Date(event.endDate).toLocaleDateString())), (event.totalAmount !== undefined || event.amountPaid !== undefined) && /*#__PURE__*/external_react_default().createElement("div", {
|
|
2909
|
+
style: {
|
|
2910
|
+
display: "flex",
|
|
2911
|
+
justifyContent: "space-between",
|
|
2912
|
+
marginBottom: "10px"
|
|
2913
|
+
}
|
|
2914
|
+
}, event.amountPaid !== undefined && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "\xD6denen Miktar:"), " $", event.amountPaid.toFixed(2)), event.totalAmount !== undefined && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Toplam Bor\xE7:"), " $", event.totalAmount.toFixed(2))), event.status && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Durum:"), " ", event.status), event.note && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Not:"), " ", event.note)), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2915
|
+
style: {
|
|
2916
|
+
padding: "15px 20px",
|
|
2917
|
+
borderTop: "1px solid #ddd",
|
|
2918
|
+
display: "flex",
|
|
2919
|
+
justifyContent: "flex-end",
|
|
2920
|
+
gap: "10px",
|
|
2921
|
+
borderBottomLeftRadius: "10px",
|
|
2922
|
+
borderBottomRightRadius: "10px"
|
|
2923
|
+
}
|
|
2924
|
+
}, onEdit && /*#__PURE__*/external_react_default().createElement("button", {
|
|
2925
|
+
onClick: () => onEdit(event),
|
|
2926
|
+
style: {
|
|
2927
|
+
padding: "8px 16px",
|
|
2928
|
+
backgroundColor: "#2196f3",
|
|
2929
|
+
color: "#ffffff",
|
|
2930
|
+
border: "none",
|
|
2931
|
+
borderRadius: "4px",
|
|
2932
|
+
cursor: "pointer",
|
|
2933
|
+
fontSize: "14px",
|
|
2934
|
+
display: "flex",
|
|
2935
|
+
alignItems: "center",
|
|
2936
|
+
gap: "5px",
|
|
2937
|
+
transition: "background-color 0.2s"
|
|
2938
|
+
},
|
|
2939
|
+
onMouseOver: e => e.target.style.backgroundColor = "#1976d2",
|
|
2940
|
+
onMouseOut: e => e.target.style.backgroundColor = "#2196f3"
|
|
2941
|
+
}, /*#__PURE__*/external_react_default().createElement("span", {
|
|
2942
|
+
role: "img",
|
|
2943
|
+
"aria-label": "D\xFCzenle"
|
|
2944
|
+
}, "\u270F\uFE0F"), "D\xFCzenle"), onDelete && /*#__PURE__*/external_react_default().createElement("button", {
|
|
2945
|
+
onClick: () => onDelete(event.id),
|
|
2946
|
+
style: {
|
|
2947
|
+
padding: "8px 16px",
|
|
2948
|
+
backgroundColor: "#f44336",
|
|
2949
|
+
color: "#ffffff",
|
|
2950
|
+
border: "none",
|
|
2951
|
+
borderRadius: "4px",
|
|
2952
|
+
cursor: "pointer",
|
|
2953
|
+
fontSize: "14px",
|
|
2954
|
+
display: "flex",
|
|
2955
|
+
alignItems: "center",
|
|
2956
|
+
gap: "5px",
|
|
2957
|
+
transition: "background-color 0.2s"
|
|
2958
|
+
},
|
|
2959
|
+
onMouseOver: e => e.target.style.backgroundColor = "#d32f2f",
|
|
2960
|
+
onMouseOut: e => e.target.style.backgroundColor = "#f44336"
|
|
2961
|
+
}, /*#__PURE__*/external_react_default().createElement("span", {
|
|
2962
|
+
role: "img",
|
|
2963
|
+
"aria-label": "Sil"
|
|
2964
|
+
}, "\uD83D\uDDD1\uFE0F"), "Sil")));
|
|
2965
|
+
};
|
|
2966
|
+
/* harmony default export */ const Timeline_EventTooltip = (EventTooltip);
|
|
2967
|
+
;// ./src/utils/timelineUtils.js
|
|
2968
|
+
// src/utils/timelineUtils.js
|
|
2969
|
+
|
|
2970
|
+
const generateTimelineData = (startYear, endYear) => {
|
|
2971
|
+
const dayNames = ["Paz", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt"];
|
|
2972
|
+
const monthNames = ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"];
|
|
2973
|
+
const dates = [];
|
|
2974
|
+
const monthHeaders = [];
|
|
2975
|
+
for (let year = startYear; year <= endYear; year++) {
|
|
2976
|
+
for (let month = 1; month <= 12; month++) {
|
|
2977
|
+
const daysInMonth = new Date(year, month, 0).getDate();
|
|
2978
|
+
const startIndex = dates.length;
|
|
2979
|
+
for (let day = 1; day <= daysInMonth; day++) {
|
|
2980
|
+
const date = new Date(year, month - 1, day);
|
|
2981
|
+
const dayName = dayNames[date.getDay()];
|
|
2982
|
+
dates.push({
|
|
2983
|
+
fullDate: date,
|
|
2984
|
+
display: "".concat(day, " ").concat(dayName)
|
|
2985
|
+
});
|
|
2986
|
+
}
|
|
2987
|
+
const endIndex = dates.length - 1;
|
|
2988
|
+
monthHeaders.push({
|
|
2989
|
+
monthName: monthNames[month - 1],
|
|
2990
|
+
year,
|
|
2991
|
+
startIndex,
|
|
2992
|
+
endIndex,
|
|
2993
|
+
totalDays: endIndex - startIndex + 1
|
|
2994
|
+
});
|
|
2995
|
+
}
|
|
2996
|
+
}
|
|
2997
|
+
return {
|
|
2998
|
+
dates,
|
|
2999
|
+
monthHeaders
|
|
3000
|
+
};
|
|
3001
|
+
};
|
|
3002
|
+
;// ./src/components/Timeline/Timeline.js
|
|
3003
|
+
function Timeline_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3004
|
+
function Timeline_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Timeline_ownKeys(Object(t), !0).forEach(function (r) { Timeline_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Timeline_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3005
|
+
function Timeline_defineProperty(e, r, t) { return (r = Timeline_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
3006
|
+
function Timeline_toPropertyKey(t) { var i = Timeline_toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3007
|
+
function Timeline_toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
3008
|
+
|
|
3009
|
+
|
|
3010
|
+
|
|
3011
|
+
|
|
3012
|
+
|
|
3013
|
+
|
|
3014
|
+
|
|
3015
|
+
|
|
3016
|
+
|
|
3017
|
+
const Timeline_Timeline_Timeline = _ref => {
|
|
3018
|
+
let {
|
|
3019
|
+
resources,
|
|
3020
|
+
programDate = null,
|
|
3021
|
+
events = [],
|
|
3022
|
+
resourceSettings = {
|
|
3023
|
+
showIdAsName: false,
|
|
3024
|
+
isGrouped: true,
|
|
3025
|
+
isCollapsible: true
|
|
3026
|
+
},
|
|
3027
|
+
indicatorOn = false,
|
|
3028
|
+
dropInfo,
|
|
3029
|
+
setDropInfo,
|
|
3030
|
+
masterHeaderView = true,
|
|
3031
|
+
resourceHeaderContent = "Akfa Timeline",
|
|
3032
|
+
eventsDragOn = true,
|
|
3033
|
+
eventsExtendOn = true,
|
|
3034
|
+
createNewEventOn = true,
|
|
3035
|
+
onDragInfo,
|
|
3036
|
+
onExtendInfo,
|
|
3037
|
+
onCreateEventInfo,
|
|
3038
|
+
// İsteğe bağlı event tıklama callback'leri
|
|
3039
|
+
onEventClick,
|
|
3040
|
+
onEventRightClick,
|
|
3041
|
+
// Yatay scroll özelliği aç/kapa
|
|
3042
|
+
horizontalScrollOn = false,
|
|
3043
|
+
// Varsayılan false
|
|
3044
|
+
|
|
3045
|
+
dayRange = 30,
|
|
3046
|
+
setDayRange,
|
|
3047
|
+
themeType = "light",
|
|
3048
|
+
// Tema bilgisi varsayılan olarak light
|
|
3049
|
+
|
|
3050
|
+
eventTooltipOn = true,
|
|
3051
|
+
tooltipComponent: TooltipComponent,
|
|
3052
|
+
// Özelleştirilebilir Tooltip bileşeni
|
|
3053
|
+
tempEventStyle = {},
|
|
3054
|
+
eventStyleResolver = () => ({}),
|
|
3055
|
+
onToday,
|
|
3056
|
+
onAdvance,
|
|
3057
|
+
onRetreat,
|
|
3058
|
+
onMonthAdvance,
|
|
3059
|
+
onMonthRetreat
|
|
3060
|
+
} = _ref;
|
|
3061
|
+
// ---------------------------------------------------------
|
|
3062
|
+
// 1) timelineData oluştur (dates, monthHeaders vs.)
|
|
3063
|
+
// ---------------------------------------------------------
|
|
3064
|
+
const timelineData = generateTimelineData(2020, 2030); // 10 yıllık veri
|
|
3065
|
+
const {
|
|
3066
|
+
dates,
|
|
3067
|
+
monthHeaders
|
|
3068
|
+
} = timelineData;
|
|
3069
|
+
const [selectedDate, setSelectedDate] = (0,external_react_.useState)(() => {
|
|
3070
|
+
const date = programDate ? new Date(programDate) : new Date();
|
|
3071
|
+
date.setDate(date.getDate() - 3); // Program tarihinden 3 gün öncesini al
|
|
3072
|
+
return date;
|
|
3073
|
+
});
|
|
3074
|
+
|
|
3075
|
+
// ---------------------------------------------------------
|
|
3076
|
+
// 2) local state
|
|
3077
|
+
// ---------------------------------------------------------
|
|
3078
|
+
const [collapsedGroups, setCollapsedGroups] = (0,external_react_.useState)({});
|
|
3079
|
+
const [localEvents, setLocalEvents] = (0,external_react_.useState)(events);
|
|
3080
|
+
const [selectedEvent, setSelectedEvent] = (0,external_react_.useState)(null);
|
|
3081
|
+
const [tooltipPosition, setTooltipPosition] = (0,external_react_.useState)({
|
|
3082
|
+
top: 0,
|
|
3083
|
+
left: 0
|
|
3084
|
+
});
|
|
3085
|
+
|
|
3086
|
+
// dayRange = ekranda göstermeyi istediğimiz gün/hücre sayısı (ör. 30 gün)
|
|
3087
|
+
|
|
3088
|
+
const [isDarkMode, setIsDarkMode] = (0,external_react_.useState)(themeType === "dark");
|
|
3089
|
+
(0,external_react_.useEffect)(() => {
|
|
3090
|
+
if (themeType !== undefined) {
|
|
3091
|
+
setIsDarkMode(themeType === "dark");
|
|
3092
|
+
}
|
|
3093
|
+
}, [themeType]);
|
|
3094
|
+
const toggleDarkMode = () => {
|
|
3095
|
+
setIsDarkMode(prev => !prev);
|
|
3096
|
+
};
|
|
3097
|
+
// ---------------------------------------------------------
|
|
3098
|
+
// 3) Sabit hücre genişliği (örneğin 56.95 px)
|
|
3099
|
+
// Container genişliği = dayRange * cellWidth
|
|
3100
|
+
// ---------------------------------------------------------
|
|
3101
|
+
const cellWidth = 56.95; // her gün/hücre ~57 piksel
|
|
3102
|
+
const containerWidth = dayRange * cellWidth;
|
|
3103
|
+
// örneğin dayRange=30 => containerWidth=30*56.95=1708.5 px
|
|
3104
|
+
|
|
3105
|
+
// ---------------------------------------------------------
|
|
3106
|
+
// 4) Event Tooltip logic
|
|
3107
|
+
// ---------------------------------------------------------
|
|
3108
|
+
const handleEventClick = (event, e) => {
|
|
3109
|
+
// Harici onEventClick callback'i varsa, önce onu tetikleyelim
|
|
3110
|
+
if (onEventClick) {
|
|
3111
|
+
onEventClick(event, e);
|
|
3112
|
+
}
|
|
3113
|
+
// Ardından tooltip göstermek istiyorsak:
|
|
3114
|
+
const eventElement = e.currentTarget;
|
|
3115
|
+
if (eventElement) {
|
|
3116
|
+
const rect = eventElement.getBoundingClientRect();
|
|
3117
|
+
setTooltipPosition({
|
|
3118
|
+
top: rect.top + window.scrollY,
|
|
3119
|
+
left: rect.left + rect.width / 2 + window.scrollX
|
|
3120
|
+
});
|
|
3121
|
+
setSelectedEvent(event);
|
|
3122
|
+
}
|
|
3123
|
+
};
|
|
3124
|
+
const handleCloseTooltip = () => {
|
|
3125
|
+
setSelectedEvent(null);
|
|
3126
|
+
};
|
|
3127
|
+
|
|
3128
|
+
// ---------------------------------------------------------
|
|
3129
|
+
// 5) Tarih filtreleme => filteredDates
|
|
3130
|
+
// ---------------------------------------------------------
|
|
3131
|
+
const startIndex = dates.findIndex(d => d.fullDate >= selectedDate);
|
|
3132
|
+
const endIndex = startIndex + dayRange;
|
|
3133
|
+
const filteredDates = startIndex !== -1 ? dates.slice(startIndex, Math.min(endIndex, dates.length)) : [];
|
|
3134
|
+
const today = programDate ? new Date(programDate) : new Date();
|
|
3135
|
+
const todayIndex = filteredDates.findIndex(d => new Date(d.fullDate).toDateString() === today.toDateString());
|
|
3136
|
+
const totalDays = filteredDates.length;
|
|
3137
|
+
|
|
3138
|
+
// ---------------------------------------------------------
|
|
3139
|
+
// 6) Grupları aç/kapa
|
|
3140
|
+
// ---------------------------------------------------------
|
|
3141
|
+
const toggleGroupCollapse = groupName => {
|
|
3142
|
+
setCollapsedGroups(prev => Timeline_objectSpread(Timeline_objectSpread({}, prev), {}, {
|
|
3143
|
+
[groupName]: !prev[groupName]
|
|
3144
|
+
}));
|
|
3145
|
+
};
|
|
3146
|
+
|
|
3147
|
+
// ---------------------------------------------------------
|
|
3148
|
+
// 7) Navigation fonksiyonları
|
|
3149
|
+
// --------------------------------------------------------- const { dates, monthHeaders } = timelineData;
|
|
3150
|
+
|
|
3151
|
+
const handleDateChange = newDate => {
|
|
3152
|
+
setSelectedDate(new Date(newDate));
|
|
3153
|
+
};
|
|
3154
|
+
const handleToday = () => {
|
|
3155
|
+
const today = new Date();
|
|
3156
|
+
today.setDate(today.getDate() - 3); // Bugünden 3 gün öncesini ayarla
|
|
3157
|
+
setSelectedDate(today);
|
|
3158
|
+
};
|
|
3159
|
+
const handleAdvance = () => {
|
|
3160
|
+
setSelectedDate(prev => new Date(prev.getTime() + 5 * 24 * 60 * 60 * 1000));
|
|
3161
|
+
};
|
|
3162
|
+
const handleRetreat = () => {
|
|
3163
|
+
setSelectedDate(prev => new Date(prev.getTime() - 5 * 24 * 60 * 60 * 1000));
|
|
3164
|
+
};
|
|
3165
|
+
const handleMonthAdvance = () => {
|
|
3166
|
+
setSelectedDate(prev => {
|
|
3167
|
+
const newDate = new Date(prev);
|
|
3168
|
+
newDate.setMonth(newDate.getMonth() + 1);
|
|
3169
|
+
return newDate;
|
|
3170
|
+
});
|
|
3171
|
+
};
|
|
3172
|
+
const handleMonthRetreat = () => {
|
|
3173
|
+
setSelectedDate(prev => {
|
|
3174
|
+
const newDate = new Date(prev);
|
|
3175
|
+
newDate.setMonth(newDate.getMonth() - 1);
|
|
3176
|
+
return newDate;
|
|
3177
|
+
});
|
|
3178
|
+
};
|
|
3179
|
+
|
|
3180
|
+
// ---------------------------------------------------------
|
|
3181
|
+
// 8) Dark Mode
|
|
3182
|
+
// ---------------------------------------------------------
|
|
3183
|
+
|
|
3184
|
+
// ---------------------------------------------------------
|
|
3185
|
+
// 9) Ay başlıklarını filtrele
|
|
3186
|
+
// ---------------------------------------------------------
|
|
3187
|
+
const filteredMonthHeaders = monthHeaders.map(header => {
|
|
3188
|
+
const adjustedStartIndex = Math.max(header.startIndex, startIndex);
|
|
3189
|
+
const adjustedEndIndex = Math.min(header.endIndex, endIndex - 1);
|
|
3190
|
+
return Timeline_objectSpread(Timeline_objectSpread({}, header), {}, {
|
|
3191
|
+
startIndex: adjustedStartIndex,
|
|
3192
|
+
endIndex: adjustedEndIndex
|
|
3193
|
+
});
|
|
3194
|
+
}).filter(header => header.startIndex <= header.endIndex);
|
|
3195
|
+
|
|
3196
|
+
// ---------------------------------------------------------
|
|
3197
|
+
// 10) Return
|
|
3198
|
+
// ---------------------------------------------------------
|
|
3199
|
+
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
3200
|
+
className: "timeline-container ".concat(isDarkMode ? "dark-mode" : "")
|
|
3201
|
+
}, masterHeaderView && /*#__PURE__*/external_react_default().createElement("div", {
|
|
3202
|
+
className: "timeline-master-header"
|
|
3203
|
+
}, /*#__PURE__*/external_react_default().createElement(Timeline_MasterHeader, {
|
|
3204
|
+
selectedDate: selectedDate // Seçili tarihi gönder
|
|
3205
|
+
,
|
|
3206
|
+
onDateSelect: handleDateChange,
|
|
3207
|
+
onToday: handleToday,
|
|
3208
|
+
onAdvance: handleAdvance,
|
|
3209
|
+
onRetreat: handleRetreat,
|
|
3210
|
+
onMonthAdvance: handleMonthAdvance,
|
|
3211
|
+
onMonthRetreat: handleMonthRetreat,
|
|
3212
|
+
dayRange: dayRange,
|
|
3213
|
+
setDayRange: setDayRange
|
|
3214
|
+
})), /*#__PURE__*/external_react_default().createElement("div", {
|
|
3215
|
+
className: "timeline-body"
|
|
3216
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
3217
|
+
className: "timeline-resources-container",
|
|
3218
|
+
style: {
|
|
3219
|
+
overflow: "hidden"
|
|
3220
|
+
}
|
|
3221
|
+
}, /*#__PURE__*/external_react_default().createElement(Timeline_ResourcesHeader, {
|
|
3222
|
+
content: resourceHeaderContent
|
|
3223
|
+
}), /*#__PURE__*/external_react_default().createElement(Timeline_Resources, {
|
|
3224
|
+
groupedResources: resources,
|
|
3225
|
+
toggleGroupCollapse: toggleGroupCollapse,
|
|
3226
|
+
collapsedGroups: collapsedGroups,
|
|
3227
|
+
resourceSettings: resourceSettings
|
|
3228
|
+
})), /*#__PURE__*/external_react_default().createElement("div", {
|
|
3229
|
+
className: "timeline-scrollable-container",
|
|
3230
|
+
style: {
|
|
3231
|
+
overflowX: horizontalScrollOn ? "auto" : "hidden"
|
|
3232
|
+
}
|
|
3233
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
3234
|
+
className: "timeline-header-content-wrapper",
|
|
3235
|
+
style: {
|
|
3236
|
+
width: horizontalScrollOn ? "".concat(containerWidth, "px") : "100%"
|
|
3237
|
+
}
|
|
3238
|
+
}, /*#__PURE__*/external_react_default().createElement(Timeline_TimelineHeader, {
|
|
3239
|
+
dates: filteredDates,
|
|
3240
|
+
monthHeaders: filteredMonthHeaders
|
|
3241
|
+
}), /*#__PURE__*/external_react_default().createElement(Timeline_TimelineContent, {
|
|
3242
|
+
groupedResources: resources,
|
|
3243
|
+
dates: filteredDates,
|
|
3244
|
+
collapsedGroups: collapsedGroups,
|
|
3245
|
+
events: localEvents,
|
|
3246
|
+
setEvents: setLocalEvents,
|
|
3247
|
+
onEventClick: onEventClick,
|
|
3248
|
+
todayIndex: filteredDates.findIndex(d => new Date(d.fullDate).toDateString() === new Date().toDateString()),
|
|
3249
|
+
indicatorOn: indicatorOn,
|
|
3250
|
+
resourceSettings: resourceSettings,
|
|
3251
|
+
toggleGroupCollapse: toggleGroupCollapse,
|
|
3252
|
+
setDropInfo: setDropInfo,
|
|
3253
|
+
eventsDragOn: eventsDragOn,
|
|
3254
|
+
eventsExtendOn: eventsExtendOn,
|
|
3255
|
+
createNewEventOn: createNewEventOn,
|
|
3256
|
+
onDragInfo: onDragInfo,
|
|
3257
|
+
onExtendInfo: onExtendInfo,
|
|
3258
|
+
onCreateEventInfo: onCreateEventInfo,
|
|
3259
|
+
onEventRightClick: onEventRightClick,
|
|
3260
|
+
eventTooltipOn: eventTooltipOn // Tooltip kontrolü
|
|
3261
|
+
,
|
|
3262
|
+
tooltipComponent: TooltipComponent // Özelleştirilebilir Tooltip bileşeni
|
|
3263
|
+
,
|
|
3264
|
+
tempEventStyle: tempEventStyle,
|
|
3265
|
+
eventStyleResolver: eventStyleResolver
|
|
3266
|
+
}), selectedEvent && /*#__PURE__*/external_react_default().createElement(Timeline_EventTooltip, {
|
|
3267
|
+
event: selectedEvent,
|
|
3268
|
+
position: tooltipPosition,
|
|
3269
|
+
onClose: handleCloseTooltip,
|
|
3270
|
+
onDelete: eventId => setLocalEvents(prev => prev.filter(e => e.id !== eventId))
|
|
3271
|
+
})))));
|
|
3272
|
+
};
|
|
3273
|
+
/* harmony default export */ const components_Timeline_Timeline = (Timeline_Timeline_Timeline);
|
|
3274
|
+
/******/ return __webpack_exports__;
|
|
3275
|
+
/******/ })()
|
|
3276
|
+
;
|
|
3277
|
+
});
|