@apia/scheduler-controller 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,538 +1,2 @@
1
- import { TableController } from '@apia/table2-controller';
2
- import { getLabel, arrayOrArray, noNaN } from '@apia/util';
3
- import dayjs from 'dayjs';
4
- import { getLabel as getLabel$1 } from '@apia/util/src/labels';
5
- import { makeObservable } from 'mobx';
6
-
7
- const dayFullWord = (window) => {
8
- return [
9
- getLabel("lblDomingo", window).text,
10
- getLabel("lblLunes", window).text,
11
- getLabel("lblMartes", window).text,
12
- getLabel("lblMiercoles", window).text,
13
- getLabel("lblJueves", window).text,
14
- getLabel("lblViernes", window).text,
15
- getLabel("lblSabado", window).text
16
- ];
17
- };
18
- const monthLabels = (window) => {
19
- return [
20
- getLabel("lblEnero", window).text,
21
- getLabel("lblFebrero", window).text,
22
- getLabel("lblMarzo", window).text,
23
- getLabel("lblAbril", window).text,
24
- getLabel("lblMayo", window).text,
25
- getLabel("lblJunio", window).text,
26
- getLabel("lblJulio", window).text,
27
- getLabel("lblAgosto", window).text,
28
- getLabel("lblSetiembre", window).text,
29
- getLabel("lblOctubre", window).text,
30
- getLabel("lblNoviembre", window).text,
31
- getLabel("lblDiciembre", window).text
32
- ];
33
- };
34
-
35
- var __defProp = Object.defineProperty;
36
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
37
- var __publicField = (obj, key, value) => {
38
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
39
- return value;
40
- };
41
- const dateFormat = "DD/MM/YYYY";
42
- function getCurrentDate() {
43
- return dayjs().format(dateFormat);
44
- }
45
- const initState = {
46
- isStageMounted: {},
47
- stageData: [],
48
- isLoading: "NotLoading",
49
- initialProps: {
50
- schId: "",
51
- proId: "",
52
- proVerId: "",
53
- tskId: "",
54
- showDisponibility: "false",
55
- showAttributes: "false"
56
- }
57
- };
58
- class Scheduler {
59
- constructor(properties, retriever, type, window) {
60
- this.retriever = retriever;
61
- this.type = type;
62
- this.window = window;
63
- __publicField(this, "state");
64
- __publicField(this, "inited", false);
65
- __publicField(this, "_tableController", new TableController({
66
- allowEdition: false,
67
- allowSelection: false,
68
- isSelectionMultiple: false,
69
- allowResize: false
70
- }));
71
- __publicField(this, "parsedDateLabel", () => {
72
- const mondayWeek = this.state?.data?.mondayWeek;
73
- if (!mondayWeek) {
74
- return "";
75
- } else {
76
- const monday = dayjs(mondayWeek, dateFormat);
77
- const sunday = monday.add(6, "day");
78
- const mondayDate = noNaN(monday.date());
79
- const sundayDate = noNaN(sunday.date());
80
- const mondayMonth = noNaN(monday.month());
81
- const sundayMonth = noNaN(sunday.month());
82
- const mondayYear = noNaN(monday.year());
83
- const sundayYear = noNaN(sunday.year());
84
- const getMonthLabel = (monthIndex) => monthLabels(this.window)[monthIndex];
85
- if (mondayDate > sundayDate && mondayMonth < sundayMonth) {
86
- return `${mondayDate} de ${getMonthLabel(mondayMonth)} - ${sundayDate} de ${getMonthLabel(sundayMonth)}, ${mondayYear}`;
87
- }
88
- if (mondayMonth > sundayMonth) {
89
- return `${mondayDate} de ${getMonthLabel(mondayMonth)}, ${mondayYear} - ${sundayDate} de ${getMonthLabel(sundayMonth)}, ${sundayYear}`;
90
- }
91
- return `${mondayDate} - ${sundayDate} de ${getMonthLabel(mondayMonth)}, ${mondayYear}`;
92
- }
93
- });
94
- this.state = initState;
95
- this.state.initialProps = properties;
96
- makeObservable(this, { state: true, getState: true });
97
- }
98
- getState() {
99
- return this.state;
100
- }
101
- setState(newState) {
102
- Object.entries(newState).forEach(([key, value]) => {
103
- this.state[key] = value;
104
- });
105
- }
106
- get tableController() {
107
- return this._tableController;
108
- }
109
- async loadWeek(weekDay = getCurrentDate()) {
110
- const { schId, proId, proVerId, tskId } = this.state.initialProps;
111
- const data = await this.retriever.loadWeek(
112
- weekDay,
113
- schId,
114
- proId,
115
- proVerId,
116
- tskId
117
- );
118
- if (data) {
119
- this.state.data = data;
120
- this.makeDaysStage(data);
121
- const rows = this.parseRows(data);
122
- if (!this.inited) {
123
- this.inited = true;
124
- const tableJson = {
125
- columns: this.getSchedulerColumns(data),
126
- rows,
127
- filters: []
128
- };
129
- this.tableController.build(tableJson);
130
- } else {
131
- this.tableController.head.getState("rows").forEach((r) => {
132
- r.cells.forEach((cell, cellIndex) => {
133
- const newCell = this.getSchedulerColumns(data)[cellIndex];
134
- if (newCell) {
135
- if (cellIndex !== 0) {
136
- cell.setState((cellState) => {
137
- return {
138
- ...cellState,
139
- content: newCell.content
140
- };
141
- });
142
- }
143
- }
144
- });
145
- });
146
- this.tableController.body.getState("rows").forEach((r, i) => {
147
- r.cells.forEach((cell, cellIndex) => {
148
- const newCell = rows[i]?.cells?.[cellIndex];
149
- if (newCell) {
150
- cell.setState((cellState) => {
151
- return {
152
- ...cellState,
153
- content: newCell.content,
154
- properties: newCell.properties,
155
- domProperties: newCell.domProperties
156
- };
157
- });
158
- }
159
- });
160
- });
161
- }
162
- this.state.isLoading = "NotLoading";
163
- return true;
164
- } else {
165
- this.state.isLoading = "NotLoading";
166
- return false;
167
- }
168
- }
169
- async loadInfo(dayNumber, hour) {
170
- if (this.state.data?.tskSchId && this.state.data?.mondayWeek) {
171
- const processes = await this.retriever.loadInfo(
172
- this.state.data.tskSchId,
173
- this.state.data.mondayWeek,
174
- dayNumber,
175
- hour
176
- );
177
- return arrayOrArray(processes);
178
- }
179
- return [];
180
- }
181
- parseRows(data) {
182
- const retrievedDays = arrayOrArray(data?.tskSchDay);
183
- const hourIndexes = arrayOrArray(
184
- retrievedDays.find((c) => c?.tskSchHour)?.tskSchHour
185
- );
186
- const columnsWithOutHour = this.getSchedulerColumns(data).slice(1);
187
- const newRows = hourIndexes.map((hour, rowIdx) => {
188
- if (hour.disabled)
189
- return null;
190
- const currentDate = dayjs();
191
- const currentHour = Number(dayjs().format("HHmm"));
192
- const newRow = {
193
- id: hour.hour,
194
- cells: [
195
- {
196
- colName: "hour",
197
- content: `${hour.hour.slice(0, -2)}:${hour.hour.slice(2)}`
198
- },
199
- ...columnsWithOutHour.map((_, colIdx) => {
200
- const currentDayDefinition = retrievedDays[colIdx];
201
- const currentHourDefinition = arrayOrArray(
202
- currentDayDefinition?.tskSchHour
203
- )[rowIdx];
204
- const parsingDay = dayjs(currentDayDefinition?.day, dateFormat);
205
- const parsingHour = Number(currentHourDefinition?.hour);
206
- const isEnabled = !hour?.disabled && Number(currentHourDefinition?.value) + Number(this.state.data?.overassign) > 0 && (!(parsingDay.isSame(currentDate, "day") || parsingDay.isBefore(currentDate, "day")) || parsingDay.isSame(currentDate, "day") && currentHour <= parsingHour);
207
- const isQueriedDisabled = hour?.disabled;
208
- const returnCell = {
209
- colName: columnsWithOutHour[colIdx].colName,
210
- domProperties: {
211
- className: isEnabled ? "" : "disabled"
212
- },
213
- properties: {
214
- cellId: `${hour.hour}_${colIdx + 1}_${data?.mondayWeek ?? ""}`,
215
- currentDayDefinition,
216
- isEnabled,
217
- isQueriedDisabled,
218
- weekDay: data?.mondayWeek ?? "",
219
- dayNumber: colIdx + 1,
220
- hour: hour.hour,
221
- value: Number(currentHourDefinition?.value),
222
- valuePlusOverassign: Number(currentHourDefinition?.value) + Number(this.state.data?.overassign),
223
- isOverassignClassName: !!(!Number(currentHourDefinition?.value) && Number(currentHourDefinition?.value) < Number(this.state.data?.overassign))
224
- }
225
- };
226
- return returnCell;
227
- }).filter((c) => c !== null)
228
- ]
229
- };
230
- return newRow;
231
- });
232
- return newRows.filter((c) => c !== null);
233
- }
234
- isMorningTime(hour) {
235
- if (Number(hour) < 1200)
236
- return true;
237
- return false;
238
- }
239
- setDay(day) {
240
- if (!this.state.selectedDay)
241
- this.state.selectedDay = {};
242
- this.state.selectedDay = { ...this.state.selectedDay, ...day };
243
- }
244
- setStage({ index, newStage }) {
245
- if (!this.state.stageData)
246
- this.state.stageData = [];
247
- this.state.stageData[index] = newStage;
248
- this.state.stageData.splice(index + 1);
249
- }
250
- syncStage(day, hour) {
251
- this.makeMorningOrAfternoonStage(day);
252
- this.makeHoursStage(day, this.isMorningTime(hour));
253
- }
254
- makeDaysStage(data) {
255
- const dayData = data ?? this.state.data;
256
- const overassign = this.state.data?.overassign;
257
- const availableDays = arrayOrArray(dayData?.tskSchDay).map((currentDay) => {
258
- const isDisabled = !arrayOrArray(currentDay?.tskSchHour).find(
259
- (hour) => {
260
- const parsingDay = dayjs(currentDay.day, dateFormat);
261
- const currentDate = dayjs();
262
- const parsingHour = Number(hour.hour);
263
- const currentHour = Number(dayjs().format("HHmm"));
264
- if (hour.hour !== void 0 && noNaN(hour.value) + noNaN(overassign) >= 0 && !(parsingDay.isSame(currentDate, "day") || parsingDay.isBefore(currentDate, "day")) || parsingDay.isSame(currentDate, "day") && currentHour <= parsingHour && !hour.disabled) {
265
- return true;
266
- }
267
- return false;
268
- }
269
- );
270
- return { ...currentDay, isDisabled };
271
- }) ?? [];
272
- const availableDaysButtons = availableDays.map((c) => {
273
- const parsingDay = dayjs(c.day, dateFormat);
274
- const returnBtn = {
275
- isDisabled: c.isDisabled,
276
- "aria-label": dayFullWord(this.window)[dayjs(parsingDay).day()],
277
- title: c.day,
278
- label: `${dayFullWord(this.window)[dayjs(parsingDay).day()]},
279
- ${dayjs(parsingDay).get("date")}`,
280
- value: "",
281
- isSelectedSelector: () => {
282
- return this.state.selectedDay?.day === c.day;
283
- },
284
- action: () => {
285
- const isLoading = this.state.isLoading;
286
- if (isLoading !== "NotLoading")
287
- return;
288
- this.makeMorningOrAfternoonStage(c);
289
- const monday = dayjs(dayData?.mondayWeek, dateFormat);
290
- const current = dayjs(c.day, dateFormat);
291
- const diffDays = current.diff(monday, "day");
292
- const dayNumber = diffDays + 1;
293
- this.setDay({
294
- mondayWeek: dayData?.mondayWeek,
295
- day: c.day,
296
- dayNumber
297
- });
298
- }
299
- };
300
- return returnBtn;
301
- });
302
- this.setStage({
303
- index: 0,
304
- newStage: {
305
- name: "daysList",
306
- buttons: [...availableDaysButtons]
307
- }
308
- });
309
- }
310
- makeMorningOrAfternoonStage(day) {
311
- const thisDate = day.day;
312
- const hours = arrayOrArray(day.tskSchHour);
313
- const isLoading = this.state.isLoading;
314
- const overassign = this.state.data?.overassign;
315
- const parsingDay = dayjs(thisDate, dateFormat);
316
- const currentDate = dayjs();
317
- const currentHour = Number(dayjs().format("HHmm"));
318
- const morningHours = hours?.filter((hour) => {
319
- return (parsingDay.isSame(currentDate, "day") && currentHour <= Number(hour.hour) || !parsingDay.isSame(currentDate, "day") && Number(hour.value) + Number(overassign) > 0) && Number(hour.hour) < 1200;
320
- });
321
- const afternoonHours = hours?.filter((hour) => {
322
- return (parsingDay.isSame(currentDate, "day") && currentHour <= Number(hour.hour) || !parsingDay.isSame(currentDate, "day") && Number(hour.value) + Number(overassign) > 0) && Number(hour.hour) >= 1200;
323
- });
324
- const morningButton = {
325
- isDisabled: (morningHours?.length ?? 0) === 0,
326
- label: getLabel$1("lblSchedMorning").text,
327
- title: getLabel$1("lblSchedMorning").text,
328
- "aria-label": getLabel$1("lblSchedMorning").text,
329
- value: "",
330
- isSelectedSelector: () => {
331
- return this.isMorningTime(
332
- this.state.selectedDay?.morningOrAfternoonSelected
333
- );
334
- },
335
- action: () => {
336
- if (isLoading !== "NotLoading")
337
- return;
338
- this.setDay({
339
- morningOrAfternoonSelected: 1100
340
- });
341
- const newStagesStringArray = [];
342
- this.makeHoursStage(day, this.isMorningTime(1100));
343
- this.setState({
344
- stageList: newStagesStringArray
345
- });
346
- }
347
- };
348
- const afternoonButton = {
349
- isDisabled: (afternoonHours?.length ?? 0) === 0,
350
- label: getLabel$1("lblSchedAfternoon").text,
351
- title: getLabel$1("lblSchedAfternoon").text,
352
- "aria-label": getLabel$1("lblSchedAfternoon").text,
353
- value: "",
354
- isSelectedSelector: () => {
355
- if (this.state.selectedDay?.morningOrAfternoonSelected) {
356
- return !this.isMorningTime(
357
- this.state.selectedDay?.morningOrAfternoonSelected
358
- );
359
- }
360
- return false;
361
- },
362
- action: () => {
363
- if (isLoading !== "NotLoading")
364
- return;
365
- this.setDay({
366
- morningOrAfternoonSelected: 1300
367
- });
368
- this.makeHoursStage(day, this.isMorningTime(1300));
369
- }
370
- };
371
- this.setStage({
372
- index: 1,
373
- newStage: {
374
- name: "morningOrAfternoon",
375
- buttons: [morningButton, afternoonButton].filter(
376
- (current) => current !== null
377
- )
378
- }
379
- });
380
- }
381
- makeHoursStage(day, isMorning) {
382
- const thisDate = day.day;
383
- const hours = arrayOrArray(day.tskSchHour);
384
- const overassign = this.state.data?.overassign;
385
- const parsingDay = dayjs(thisDate, dateFormat);
386
- const currentDate = dayjs();
387
- const currentHour = Number(dayjs().format("HHmm"));
388
- const isLoading = this.state.isLoading;
389
- let morningOrAfternoonHours;
390
- if (isMorning) {
391
- morningOrAfternoonHours = hours?.filter((hour) => {
392
- return (parsingDay.isSame(currentDate, "day") && currentHour <= Number(hour.hour) || !parsingDay.isSame(currentDate, "day") && Number(hour.value) + Number(overassign) > 0) && Number(hour.hour) < 1200;
393
- });
394
- } else {
395
- morningOrAfternoonHours = hours?.filter((hour) => {
396
- return (parsingDay.isSame(currentDate, "day") && currentHour <= Number(hour.hour) || !parsingDay.isSame(currentDate, "day") && Number(hour.value) + Number(overassign) > 0) && Number(hour.hour) >= 1200;
397
- });
398
- }
399
- const enableHours = morningOrAfternoonHours?.filter(
400
- (hour) => !hour.disabled
401
- );
402
- this.setStage({
403
- index: 2,
404
- newStage: {
405
- name: "daysHours",
406
- buttons: enableHours?.map((hour) => {
407
- const returnButton = {
408
- title: hour.hour,
409
- label: `${hour.hour.slice(0, -2)}:${hour.hour.slice(2)}`,
410
- value: hour.value,
411
- "aria-label": hour.hour,
412
- isSelectedSelector: () => {
413
- return this.state?.selectedDay?.hour === hour.hour;
414
- },
415
- action: () => {
416
- if (isLoading !== "NotLoading")
417
- return;
418
- this.setState({
419
- selectedCell: `${hour.hour} ${String(
420
- this.state?.selectedDay?.dayNumber
421
- )} ${this.state?.selectedDay?.mondayWeek}`
422
- });
423
- this.setDay({
424
- hour: hour.hour,
425
- mondayWeek: this.state?.selectedDay?.mondayWeek
426
- });
427
- if (this.state?.selectedDay?.dayNumber && this.state?.selectedDay?.mondayWeek && this.type !== "RescheduleTskScheduler") {
428
- this.retriever.markDay(
429
- this.state?.selectedDay?.mondayWeek,
430
- hour.hour,
431
- this.state?.selectedDay?.dayNumber
432
- );
433
- }
434
- }
435
- };
436
- return returnButton;
437
- })
438
- }
439
- });
440
- }
441
- async deleteDate() {
442
- this.setState({ isLoading: "DeleteWeek" });
443
- this.retriever.deleteDate().then((success) => {
444
- if (success) {
445
- this.setState({
446
- selectedDay: {},
447
- selectedCell: null,
448
- isLoading: "NotLoading"
449
- });
450
- this.makeDaysStage();
451
- }
452
- }).catch(() => {
453
- });
454
- }
455
- async goNextWeek() {
456
- if (this.state.isLoading === "NotLoading") {
457
- this.setState({ isLoading: "NextWeek" });
458
- await this.loadWeek(
459
- dayjs(this.state.data?.mondayWeek, dateFormat).add(7, "day").format(dateFormat)
460
- );
461
- this.makeDaysStage(this.state.data);
462
- }
463
- }
464
- async goPreviousWeek() {
465
- if (this.state.isLoading === "NotLoading") {
466
- this.setState({ isLoading: "LastWeek" });
467
- await this.loadWeek(
468
- dayjs(this.state.data?.mondayWeek, dateFormat).subtract(7, "day").format(dateFormat)
469
- );
470
- this.makeDaysStage(this.state.data);
471
- }
472
- }
473
- getSchedulerColumns(data) {
474
- if (!data || !data.mondayWeek) {
475
- return [];
476
- }
477
- const columns = [
478
- {
479
- content: getLabel$1("lblTime").text,
480
- colName: "Hour",
481
- width: "75px"
482
- },
483
- {
484
- content: `${getLabel$1("lblTskDayMon").text} ${dayjs(
485
- data?.mondayWeek,
486
- dateFormat
487
- ).format("DD/MM")}`,
488
- colName: "Monday"
489
- },
490
- {
491
- content: `${getLabel$1("lblTskDayTue").text} ${dayjs(
492
- data?.mondayWeek,
493
- dateFormat
494
- ).add(1, "day").format("DD/MM")}`,
495
- colName: "Tuesday"
496
- },
497
- {
498
- content: `${getLabel$1("lblTskDayWed").text} ${dayjs(
499
- data?.mondayWeek,
500
- dateFormat
501
- ).add(2, "day").format("DD/MM")} `,
502
- colName: "Wednesday"
503
- },
504
- {
505
- content: `${getLabel$1("lblTskDayThu").text} ${dayjs(
506
- data?.mondayWeek,
507
- dateFormat
508
- ).add(3, "day").format("DD/MM")}`,
509
- colName: "Thursday"
510
- },
511
- {
512
- content: `${getLabel$1("lblTskDayFri").text} ${dayjs(
513
- data?.mondayWeek,
514
- dateFormat
515
- ).add(4, "day").format("DD/MM")}`,
516
- colName: "Friday"
517
- },
518
- {
519
- content: `${getLabel$1("lblTskDaySat").text} ${dayjs(
520
- data?.mondayWeek,
521
- dateFormat
522
- ).add(5, "day").format("DD/MM")}`,
523
- colName: "Saturday"
524
- },
525
- {
526
- content: `${getLabel$1("lblTskDaySun").text} ${dayjs(
527
- data?.mondayWeek,
528
- dateFormat
529
- ).add(6, "day").format("DD/MM")}`,
530
- colName: "Sunday"
531
- }
532
- ];
533
- return columns;
534
- }
535
- }
536
-
537
- export { Scheduler };
1
+ export { Scheduler } from './Scheduler/index.js';
538
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Scheduler/util.ts","../src/Scheduler/index.ts"],"sourcesContent":["import { getLabel } from '@apia/util';\r\n\r\nexport const dayLabels = (window?: any) => {\r\n return [\r\n getLabel('lblTskDayMon', window).text,\r\n getLabel('lblTskDayTue', window).text,\r\n getLabel('lblTskDayWed', window).text,\r\n getLabel('lblTskDayThu', window).text,\r\n getLabel('lblTskDayFri', window).text,\r\n getLabel('lblTskDaySat', window).text,\r\n getLabel('lblTskDaySun', window).text,\r\n ];\r\n};\r\nexport const dayFullWord = (window?: any) => {\r\n return [\r\n getLabel('lblDomingo', window).text,\r\n getLabel('lblLunes', window).text,\r\n getLabel('lblMartes', window).text,\r\n getLabel('lblMiercoles', window).text,\r\n getLabel('lblJueves', window).text,\r\n getLabel('lblViernes', window).text,\r\n getLabel('lblSabado', window).text,\r\n ];\r\n};\r\n\r\nexport const monthLabels = (window?: any) => {\r\n return [\r\n getLabel('lblEnero', window).text,\r\n getLabel('lblFebrero', window).text,\r\n getLabel('lblMarzo', window).text,\r\n getLabel('lblAbril', window).text,\r\n getLabel('lblMayo', window).text,\r\n getLabel('lblJunio', window).text,\r\n getLabel('lblJulio', window).text,\r\n getLabel('lblAgosto', window).text,\r\n getLabel('lblSetiembre', window).text,\r\n getLabel('lblOctubre', window).text,\r\n getLabel('lblNoviembre', window).text,\r\n getLabel('lblDiciembre', window).text,\r\n ];\r\n};\r\n","import {\r\n IScheduleInitialProps,\r\n ISelectedDay,\r\n IStage,\r\n IStageButton,\r\n TProcesses,\r\n TScheduleResult,\r\n TSchedulerState,\r\n TTskSchDay,\r\n} from './types';\r\nimport {\r\n CellState,\r\n TableController,\r\n TBuildRow,\r\n TBuildTable,\r\n} from '@apia/table2-controller';\r\n\r\nimport { arrayOrArray, noNaN, TDateFormat } from '@apia/util';\r\nimport dayjs from 'dayjs';\r\nimport { getLabel } from '@apia/util/src/labels';\r\nimport { dayFullWord, monthLabels } from './util';\r\nimport { makeObservable } from 'mobx';\r\n\r\nconst dateFormat: TDateFormat = 'DD/MM/YYYY';\r\nexport function getCurrentDate() {\r\n return dayjs().format(dateFormat);\r\n}\r\n\r\nexport interface ISchedulerDataRetriever {\r\n markDay(weekDay: string, hour: string, dayNumber: number): Promise<void>;\r\n deleteDate(): Promise<boolean>;\r\n loadWeek(\r\n weekDay: string,\r\n schId: string,\r\n proId: string,\r\n proVerId: string,\r\n tskId: string,\r\n ): Promise<TScheduleResult | null>;\r\n\r\n loadInfo(\r\n schId: string,\r\n weekDay: string,\r\n dayNumber: number,\r\n hour: string,\r\n ): Promise<TProcesses | []>;\r\n}\r\n\r\nconst initState: TSchedulerState = {\r\n isStageMounted: {},\r\n stageData: [],\r\n isLoading: 'NotLoading',\r\n initialProps: {\r\n schId: '',\r\n proId: '',\r\n proVerId: '',\r\n tskId: '',\r\n showDisponibility: 'false',\r\n showAttributes: 'false',\r\n },\r\n};\r\n\r\nexport class Scheduler {\r\n public state: TSchedulerState;\r\n private inited = false;\r\n\r\n protected readonly _tableController: TableController = new TableController({\r\n allowEdition: false,\r\n allowSelection: false,\r\n isSelectionMultiple: false,\r\n allowResize: false,\r\n });\r\n\r\n constructor(\r\n properties: IScheduleInitialProps,\r\n public retriever: ISchedulerDataRetriever,\r\n public type?: 'RescheduleTskScheduler' | 'Scheduler',\r\n public window?: any,\r\n ) {\r\n this.state = initState;\r\n this.state.initialProps = properties;\r\n makeObservable<Scheduler, 'state'>(this, { state: true, getState: true });\r\n }\r\n getState(): TSchedulerState {\r\n return this.state;\r\n }\r\n public setState(newState: Partial<TSchedulerState>) {\r\n Object.entries(newState).forEach(([key, value]) => {\r\n (this.state[key as keyof TSchedulerState] as unknown) = value;\r\n });\r\n }\r\n\r\n public get tableController() {\r\n return this._tableController;\r\n }\r\n\r\n public async loadWeek(weekDay = getCurrentDate()): Promise<boolean> {\r\n const { schId, proId, proVerId, tskId } = this.state.initialProps;\r\n const data = await this.retriever.loadWeek(\r\n weekDay,\r\n schId,\r\n proId,\r\n proVerId,\r\n tskId,\r\n );\r\n\r\n if (data) {\r\n this.state.data = data;\r\n this.makeDaysStage(data);\r\n\r\n const rows = this.parseRows(data);\r\n\r\n if (!this.inited) {\r\n this.inited = true;\r\n const tableJson = {\r\n columns: this.getSchedulerColumns(data),\r\n rows,\r\n filters: [],\r\n } as TBuildTable;\r\n this.tableController.build(tableJson);\r\n } else {\r\n this.tableController.head.getState('rows').forEach((r) => {\r\n r.cells.forEach((cell, cellIndex) => {\r\n const newCell = this.getSchedulerColumns(data)[cellIndex];\r\n if (newCell) {\r\n if (cellIndex !== 0) {\r\n cell.setState((cellState) => {\r\n return {\r\n ...cellState,\r\n content: newCell.content,\r\n };\r\n });\r\n }\r\n }\r\n });\r\n });\r\n this.tableController.body.getState('rows').forEach((r, i) => {\r\n r.cells.forEach((cell, cellIndex) => {\r\n const newCell = rows[i]?.cells?.[cellIndex];\r\n if (newCell) {\r\n cell.setState((cellState) => {\r\n return {\r\n ...cellState,\r\n content: newCell.content,\r\n properties: newCell.properties,\r\n domProperties: newCell.domProperties,\r\n };\r\n });\r\n }\r\n });\r\n });\r\n }\r\n this.state.isLoading = 'NotLoading';\r\n return true;\r\n } else {\r\n this.state.isLoading = 'NotLoading';\r\n return false;\r\n }\r\n }\r\n\r\n public async loadInfo(dayNumber: number, hour: string) {\r\n if (this.state.data?.tskSchId && this.state.data?.mondayWeek) {\r\n const processes = await this.retriever.loadInfo(\r\n this.state.data.tskSchId,\r\n this.state.data.mondayWeek,\r\n dayNumber,\r\n hour,\r\n );\r\n\r\n return arrayOrArray(processes);\r\n }\r\n return [];\r\n }\r\n\r\n private parseRows(data: TScheduleResult): TBuildRow[] {\r\n const retrievedDays = arrayOrArray(data?.tskSchDay);\r\n const hourIndexes = arrayOrArray(\r\n retrievedDays.find((c) => c?.tskSchHour)?.tskSchHour,\r\n );\r\n const columnsWithOutHour = this.getSchedulerColumns(data).slice(1);\r\n\r\n const newRows = hourIndexes.map((hour, rowIdx) => {\r\n if (hour.disabled) return null;\r\n const currentDate = dayjs();\r\n const currentHour = Number(dayjs().format('HHmm'));\r\n const newRow: TBuildRow = {\r\n id: hour.hour,\r\n cells: [\r\n {\r\n colName: 'hour',\r\n content: `${hour.hour.slice(0, -2)}:${hour.hour.slice(2)}`,\r\n },\r\n ...columnsWithOutHour\r\n .map((_, colIdx) => {\r\n const currentDayDefinition = retrievedDays[colIdx];\r\n const currentHourDefinition = arrayOrArray(\r\n currentDayDefinition?.tskSchHour,\r\n )[rowIdx];\r\n\r\n const parsingDay = dayjs(currentDayDefinition?.day, dateFormat);\r\n const parsingHour = Number(currentHourDefinition?.hour);\r\n\r\n const isEnabled =\r\n !hour?.disabled &&\r\n Number(currentHourDefinition?.value) +\r\n Number(this.state.data?.overassign) >\r\n 0 &&\r\n (!(\r\n parsingDay.isSame(currentDate, 'day') ||\r\n parsingDay.isBefore(currentDate, 'day')\r\n ) ||\r\n (parsingDay.isSame(currentDate, 'day') &&\r\n currentHour <= parsingHour));\r\n\r\n const isQueriedDisabled = hour?.disabled;\r\n\r\n const returnCell: CellState = {\r\n colName: columnsWithOutHour[colIdx].colName,\r\n domProperties: {\r\n className: isEnabled ? '' : 'disabled',\r\n },\r\n properties: {\r\n cellId: `${hour.hour}_${colIdx + 1}_${\r\n data?.mondayWeek ?? ''\r\n }`,\r\n currentDayDefinition,\r\n isEnabled,\r\n isQueriedDisabled,\r\n weekDay: data?.mondayWeek ?? '',\r\n dayNumber: colIdx + 1,\r\n hour: hour.hour,\r\n value: Number(currentHourDefinition?.value),\r\n valuePlusOverassign:\r\n Number(currentHourDefinition?.value) +\r\n Number(this.state.data?.overassign),\r\n isOverassignClassName: !!(\r\n !Number(currentHourDefinition?.value) &&\r\n Number(currentHourDefinition?.value) <\r\n Number(this.state.data?.overassign)\r\n ),\r\n },\r\n };\r\n return returnCell;\r\n })\r\n .filter((c): c is CellState => c !== null),\r\n ],\r\n };\r\n\r\n return newRow;\r\n });\r\n\r\n return newRows.filter((c): c is TBuildRow => c !== null);\r\n }\r\n\r\n private isMorningTime(hour: number) {\r\n if (Number(hour) < 1200) return true;\r\n return false;\r\n }\r\n\r\n public setDay(day: ISelectedDay) {\r\n if (!this.state.selectedDay) this.state.selectedDay = {};\r\n this.state.selectedDay = { ...this.state.selectedDay, ...day };\r\n }\r\n\r\n public setStage({ index, newStage }: { index: number; newStage: IStage }) {\r\n if (!this.state.stageData) this.state.stageData = [];\r\n this.state.stageData[index] = newStage;\r\n this.state.stageData.splice(index + 1);\r\n }\r\n\r\n public syncStage(day: TTskSchDay, hour: number) {\r\n this.makeMorningOrAfternoonStage(day);\r\n this.makeHoursStage(day, this.isMorningTime(hour));\r\n }\r\n\r\n public makeDaysStage(data?: TScheduleResult) {\r\n const dayData = data ?? this.state.data;\r\n const overassign = this.state.data?.overassign;\r\n\r\n const availableDays =\r\n arrayOrArray(dayData?.tskSchDay).map((currentDay) => {\r\n const isDisabled = !arrayOrArray(currentDay?.tskSchHour).find(\r\n (hour) => {\r\n const parsingDay = dayjs(currentDay.day, dateFormat);\r\n const currentDate = dayjs();\r\n const parsingHour = Number(hour.hour);\r\n const currentHour = Number(dayjs().format('HHmm'));\r\n\r\n if (\r\n (hour.hour !== undefined &&\r\n noNaN(hour.value) + noNaN(overassign) >= 0 &&\r\n !(\r\n parsingDay.isSame(currentDate, 'day') ||\r\n parsingDay.isBefore(currentDate, 'day')\r\n )) ||\r\n (parsingDay.isSame(currentDate, 'day') &&\r\n currentHour <= parsingHour &&\r\n !hour.disabled)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n );\r\n\r\n return { ...currentDay, isDisabled };\r\n }) ?? [];\r\n\r\n const availableDaysButtons = availableDays.map((c) => {\r\n const parsingDay = dayjs(c.day, dateFormat);\r\n const returnBtn: IStageButton = {\r\n isDisabled: c.isDisabled,\r\n 'aria-label': dayFullWord(this.window)[dayjs(parsingDay).day()],\r\n title: c.day,\r\n label: `${dayFullWord(this.window)[dayjs(parsingDay).day()]}, \r\n ${dayjs(parsingDay).get('date')}`,\r\n value: '',\r\n isSelectedSelector: () => {\r\n return this.state.selectedDay?.day === c.day;\r\n },\r\n\r\n action: () => {\r\n const isLoading = this.state.isLoading;\r\n if (isLoading !== 'NotLoading') return;\r\n\r\n this.makeMorningOrAfternoonStage(c);\r\n const monday = dayjs(dayData?.mondayWeek, dateFormat);\r\n const current = dayjs(c.day, dateFormat);\r\n\r\n const diffDays = current.diff(monday, 'day');\r\n\r\n const dayNumber = diffDays + 1;\r\n\r\n this.setDay({\r\n mondayWeek: dayData?.mondayWeek,\r\n day: c.day,\r\n dayNumber,\r\n });\r\n },\r\n };\r\n\r\n return returnBtn;\r\n });\r\n\r\n this.setStage({\r\n index: 0,\r\n newStage: {\r\n name: 'daysList',\r\n buttons: [...availableDaysButtons],\r\n },\r\n });\r\n }\r\n\r\n private makeMorningOrAfternoonStage(day: TTskSchDay) {\r\n const thisDate = day.day;\r\n const hours = arrayOrArray(day.tskSchHour);\r\n const isLoading = this.state.isLoading;\r\n\r\n const overassign = this.state.data?.overassign;\r\n const parsingDay = dayjs(thisDate, dateFormat);\r\n const currentDate = dayjs();\r\n const currentHour = Number(dayjs().format('HHmm'));\r\n\r\n const morningHours = hours?.filter((hour) => {\r\n return (\r\n ((parsingDay.isSame(currentDate, 'day') &&\r\n currentHour <= Number(hour.hour)) ||\r\n (!parsingDay.isSame(currentDate, 'day') &&\r\n Number(hour.value) + Number(overassign) > 0)) &&\r\n Number(hour.hour) < 1200\r\n );\r\n });\r\n const afternoonHours = hours?.filter((hour) => {\r\n return (\r\n ((parsingDay.isSame(currentDate, 'day') &&\r\n currentHour <= Number(hour.hour)) ||\r\n (!parsingDay.isSame(currentDate, 'day') &&\r\n Number(hour.value) + Number(overassign) > 0)) &&\r\n Number(hour.hour) >= 1200\r\n );\r\n });\r\n\r\n const morningButton: IStageButton = {\r\n isDisabled: (morningHours?.length ?? 0) === 0,\r\n label: getLabel('lblSchedMorning').text,\r\n title: getLabel('lblSchedMorning').text,\r\n 'aria-label': getLabel('lblSchedMorning').text,\r\n value: '',\r\n isSelectedSelector: () => {\r\n return this.isMorningTime(\r\n this.state.selectedDay?.morningOrAfternoonSelected as number,\r\n );\r\n },\r\n action: () => {\r\n if (isLoading !== 'NotLoading') return;\r\n\r\n this.setDay({\r\n morningOrAfternoonSelected: 1100,\r\n });\r\n\r\n const newStagesStringArray: string[] = [];\r\n\r\n this.makeHoursStage(day, this.isMorningTime(1100));\r\n this.setState({\r\n stageList: newStagesStringArray,\r\n });\r\n },\r\n };\r\n\r\n const afternoonButton: IStageButton = {\r\n isDisabled: (afternoonHours?.length ?? 0) === 0,\r\n label: getLabel('lblSchedAfternoon').text,\r\n title: getLabel('lblSchedAfternoon').text,\r\n 'aria-label': getLabel('lblSchedAfternoon').text,\r\n value: '',\r\n isSelectedSelector: () => {\r\n if (this.state.selectedDay?.morningOrAfternoonSelected) {\r\n return !this.isMorningTime(\r\n this.state.selectedDay?.morningOrAfternoonSelected,\r\n );\r\n }\r\n return false;\r\n },\r\n action: () => {\r\n if (isLoading !== 'NotLoading') return;\r\n\r\n this.setDay({\r\n morningOrAfternoonSelected: 1300,\r\n });\r\n this.makeHoursStage(day, this.isMorningTime(1300));\r\n },\r\n };\r\n\r\n this.setStage({\r\n index: 1,\r\n newStage: {\r\n name: 'morningOrAfternoon',\r\n buttons: [morningButton, afternoonButton].filter(\r\n (current): current is IStageButton => current !== null,\r\n ),\r\n },\r\n });\r\n }\r\n\r\n private makeHoursStage(day: TTskSchDay, isMorning: boolean) {\r\n const thisDate = day.day;\r\n const hours = arrayOrArray(day.tskSchHour);\r\n const overassign = this.state.data?.overassign;\r\n const parsingDay = dayjs(thisDate, dateFormat);\r\n const currentDate = dayjs();\r\n const currentHour = Number(dayjs().format('HHmm'));\r\n const isLoading = this.state.isLoading;\r\n let morningOrAfternoonHours;\r\n\r\n if (isMorning) {\r\n morningOrAfternoonHours = hours?.filter((hour) => {\r\n return (\r\n ((parsingDay.isSame(currentDate, 'day') &&\r\n currentHour <= Number(hour.hour)) ||\r\n (!parsingDay.isSame(currentDate, 'day') &&\r\n Number(hour.value) + Number(overassign) > 0)) &&\r\n Number(hour.hour) < 1200\r\n );\r\n });\r\n } else {\r\n morningOrAfternoonHours = hours?.filter((hour) => {\r\n return (\r\n ((parsingDay.isSame(currentDate, 'day') &&\r\n currentHour <= Number(hour.hour)) ||\r\n (!parsingDay.isSame(currentDate, 'day') &&\r\n Number(hour.value) + Number(overassign) > 0)) &&\r\n Number(hour.hour) >= 1200\r\n );\r\n });\r\n }\r\n\r\n const enableHours = morningOrAfternoonHours?.filter(\r\n (hour) => !hour.disabled,\r\n );\r\n\r\n this.setStage({\r\n index: 2,\r\n newStage: {\r\n name: 'daysHours',\r\n buttons: enableHours?.map((hour) => {\r\n const returnButton: IStageButton = {\r\n title: hour.hour,\r\n label: `${hour.hour.slice(0, -2)}:${hour.hour.slice(2)}`,\r\n value: hour.value,\r\n 'aria-label': hour.hour,\r\n isSelectedSelector: () => {\r\n return this.state?.selectedDay?.hour === hour.hour;\r\n },\r\n action: () => {\r\n if (isLoading !== 'NotLoading') return;\r\n this.setState({\r\n selectedCell: `${hour.hour} ${String(\r\n this.state?.selectedDay?.dayNumber,\r\n )} ${this.state?.selectedDay?.mondayWeek as string}`,\r\n });\r\n this.setDay({\r\n hour: hour.hour,\r\n mondayWeek: this.state?.selectedDay?.mondayWeek,\r\n });\r\n if (\r\n this.state?.selectedDay?.dayNumber &&\r\n this.state?.selectedDay?.mondayWeek &&\r\n this.type !== 'RescheduleTskScheduler'\r\n ) {\r\n this.retriever.markDay(\r\n this.state?.selectedDay?.mondayWeek,\r\n hour.hour,\r\n this.state?.selectedDay?.dayNumber,\r\n );\r\n }\r\n },\r\n };\r\n\r\n return returnButton;\r\n }),\r\n },\r\n });\r\n }\r\n\r\n public async deleteDate() {\r\n this.setState({ isLoading: 'DeleteWeek' });\r\n\r\n this.retriever\r\n .deleteDate()\r\n .then((success) => {\r\n if (success) {\r\n this.setState({\r\n selectedDay: {},\r\n selectedCell: null,\r\n isLoading: 'NotLoading',\r\n });\r\n this.makeDaysStage();\r\n }\r\n })\r\n .catch(() => {});\r\n }\r\n\r\n public async goNextWeek() {\r\n if (this.state.isLoading === 'NotLoading') {\r\n this.setState({ isLoading: 'NextWeek' });\r\n\r\n await this.loadWeek(\r\n dayjs(this.state.data?.mondayWeek, dateFormat)\r\n .add(7, 'day')\r\n .format(dateFormat),\r\n );\r\n this.makeDaysStage(this.state.data);\r\n }\r\n }\r\n\r\n public async goPreviousWeek() {\r\n if (this.state.isLoading === 'NotLoading') {\r\n this.setState({ isLoading: 'LastWeek' });\r\n await this.loadWeek(\r\n dayjs(this.state.data?.mondayWeek, dateFormat)\r\n .subtract(7, 'day')\r\n .format(dateFormat),\r\n );\r\n this.makeDaysStage(this.state.data);\r\n }\r\n }\r\n\r\n public parsedDateLabel = () => {\r\n const mondayWeek = this.state?.data?.mondayWeek;\r\n if (!mondayWeek) {\r\n return '';\r\n } else {\r\n const monday = dayjs(mondayWeek, dateFormat);\r\n const sunday = monday.add(6, 'day');\r\n\r\n const mondayDate = noNaN(monday.date());\r\n const sundayDate = noNaN(sunday.date());\r\n\r\n const mondayMonth = noNaN(monday.month());\r\n const sundayMonth = noNaN(sunday.month());\r\n\r\n const mondayYear = noNaN(monday.year());\r\n const sundayYear = noNaN(sunday.year());\r\n\r\n const getMonthLabel = (monthIndex: number) =>\r\n monthLabels(this.window)[monthIndex];\r\n\r\n if (mondayDate > sundayDate && mondayMonth < sundayMonth) {\r\n return `${mondayDate} de ${getMonthLabel(mondayMonth)} - ${sundayDate} de ${getMonthLabel(sundayMonth)}, ${mondayYear}`;\r\n }\r\n\r\n if (mondayMonth > sundayMonth) {\r\n return `${mondayDate} de ${getMonthLabel(mondayMonth)}, ${mondayYear} - ${sundayDate} de ${getMonthLabel(sundayMonth)}, ${sundayYear}`;\r\n }\r\n\r\n return `${mondayDate} - ${sundayDate} de ${getMonthLabel(mondayMonth)}, ${mondayYear}`;\r\n }\r\n };\r\n\r\n public getSchedulerColumns(data: TScheduleResult | null) {\r\n if (!data || !data.mondayWeek) {\r\n return [];\r\n }\r\n const columns = [\r\n {\r\n content: getLabel('lblTime').text,\r\n colName: 'Hour',\r\n width: '75px',\r\n },\r\n {\r\n content: `${getLabel('lblTskDayMon').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n ).format('DD/MM')}`,\r\n colName: 'Monday',\r\n },\r\n {\r\n content: `${getLabel('lblTskDayTue').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n )\r\n .add(1, 'day')\r\n .format('DD/MM')}`,\r\n colName: 'Tuesday',\r\n },\r\n {\r\n content: `${getLabel('lblTskDayWed').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n )\r\n .add(2, 'day')\r\n .format('DD/MM')} `,\r\n colName: 'Wednesday',\r\n },\r\n {\r\n content: `${getLabel('lblTskDayThu').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n )\r\n .add(3, 'day')\r\n .format('DD/MM')}`,\r\n colName: 'Thursday',\r\n },\r\n {\r\n content: `${getLabel('lblTskDayFri').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n )\r\n .add(4, 'day')\r\n .format('DD/MM')}`,\r\n colName: 'Friday',\r\n },\r\n {\r\n content: `${getLabel('lblTskDaySat').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n )\r\n .add(5, 'day')\r\n .format('DD/MM')}`,\r\n colName: 'Saturday',\r\n },\r\n {\r\n content: `${getLabel('lblTskDaySun').text} ${dayjs(\r\n data?.mondayWeek,\r\n dateFormat,\r\n )\r\n .add(6, 'day')\r\n .format('DD/MM')}`,\r\n\r\n colName: 'Sunday',\r\n },\r\n ] as CellState[];\r\n return columns;\r\n }\r\n}\r\n"],"names":["getLabel"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apia/scheduler-controller",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "sideEffects": false,
5
5
  "author": "Sebastián La Cruz <sebastianlacruz@live.com>",
6
6
  "main": "dist/index.js",
@@ -31,10 +31,10 @@
31
31
  "registry": "https://registry.npmjs.org/"
32
32
  },
33
33
  "dependencies": {
34
- "@apia/table2-controller": "^5.0.0",
35
- "@apia/util": "^5.0.0",
36
- "mobx": "^6.13.7",
37
- "mobx-react-lite": "^4.1.0"
34
+ "@apia/table2-controller": "^5.0.1",
35
+ "@apia/util": "^5.0.1",
36
+ "mobx": "6.12.3",
37
+ "mobx-react-lite": "3.4.3"
38
38
  },
39
- "gitHead": "985b675635fb9d3dc5e26a90a6d9898864418b84"
39
+ "gitHead": "6d9a616690ac8454136310af79a721a8ccd6588d"
40
40
  }