@cwellt_software/cwellt-reactjs-lib 1.0.5 → 1.0.7
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/content/icons/new-cw-icons/NewCwIcons.html +7 -0
- package/dist/content/icons/new-cw-icons/NewCwIcons.json +1 -1
- package/dist/content/icons/new-cw-icons/css/new-cw-icons.css +8 -1
- package/dist/content/icons/new-cw-icons/fonts/NewCwIcons.woff +0 -0
- package/dist/index.cjs.js +265 -143
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +133 -29
- package/dist/index.es.js +264 -144
- package/dist/index.esm.js +693 -621
- package/dist/src/common/functions/reactor.d.ts +1 -0
- package/dist/src/components/custom/find-airport/CwFindAirportComp.d.ts +1 -0
- package/dist/src/components/custom/find-airport/CwFindAirportComp.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler/components/ClearSchedulerButton.d.ts +2 -2
- package/dist/src/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts +1 -0
- package/dist/src/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts +1 -0
- package/dist/src/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler/logic/ui/shouldTriggerScroll.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler/state/EventProps.d.ts +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/TestScheduler.d.ts +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgrounEvent.d.ts +0 -7
- package/dist/src/components/custom/scheduler-new/presentation/components/row/BackgrounEvent.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler-new/presentation/components/row/cancellablePromise.d.ts +7 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/cancellablePromise.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/useCancellablePromise.d.ts +7 -0
- package/dist/src/components/custom/scheduler-new/presentation/components/row/useCancellablePromise.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsByResource.d.ts +5 -0
- package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsByResource.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Event.d.ts +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Event.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Row.d.ts +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/external/Row.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/EventSideDragState.d.ts +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/EventSideDragState.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerEventState.d.ts +2 -3
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerEventState.d.ts.map +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerHeaderState.d.ts +5 -2
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerHeaderState.d.ts.map +1 -1
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerRow.d.ts +1 -0
- package/dist/src/components/custom/scheduler-new/presentation/state/ui/SchedulerRow.d.ts.map +1 -0
- package/dist/src/components/display/data/table/CwTable.d.ts +13 -13
- package/dist/src/components/display/data/table/CwTable.d.ts.map +1 -1
- package/dist/src/components/display/graphics/icon/CwIcon.d.ts +6 -3
- package/dist/src/components/display/graphics/icon/CwIcon.d.ts.map +1 -1
- package/dist/src/components/display/text/message/CwMessage.d.ts +3 -3
- package/dist/src/components/display/text/message/CwMessage.d.ts.map +1 -1
- package/dist/src/components/display/text/tag/CwChip.d.ts +36 -0
- package/dist/src/components/display/text/tag/CwChip.d.ts.map +1 -0
- package/dist/src/components/layout/card/CwCard.d.ts +61 -0
- package/dist/src/components/layout/card/CwCard.d.ts.map +1 -0
- package/dist/src/components/layout/tabs/CwTabs.d.ts +16 -9
- package/dist/src/components/layout/tabs/CwTabs.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/test/components/custom/newScheduler/presentation/logic/getDefaultDivisions.test.d.ts.map +1 -0
- package/dist/test/components/custom/scheduler/calculateMaxPxFromDateRange.test.d.ts +1 -0
- package/package.json +1 -1
- package/dist/assets/asset-Boimp3FS +0 -46
- package/dist/assets/asset-CIKjURuf +0 -48
- package/dist/assets/asset-DO0cv1ff +0 -51
- package/dist/assets/asset-DitoBYw6 +0 -51
- package/dist/common/classes/CwSelectList.d.ts +0 -8
- package/dist/common/classes/CwSelectList.d.ts.map +0 -1
- package/dist/common/classes/CwSelectListItems.d.ts +0 -9
- package/dist/common/classes/CwSelectListItems.d.ts.map +0 -1
- package/dist/common/functions/collections.d.ts +0 -5
- package/dist/common/functions/collections.d.ts.map +0 -1
- package/dist/common/functions/reactor.d.ts +0 -2
- package/dist/common/functions/reactor.d.ts.map +0 -1
- package/dist/common/interfaces/CwSelectListProps.d.ts +0 -9
- package/dist/common/interfaces/CwSelectListProps.d.ts.map +0 -1
- package/dist/components/control/action/button/CwButton.d.ts +0 -7
- package/dist/components/control/action/button/CwButton.d.ts.map +0 -1
- package/dist/components/control/action/buttons/CwButtons.d.ts +0 -326
- package/dist/components/control/action/buttons/CwButtons.d.ts.map +0 -1
- package/dist/components/control/action/contextmenu/CwContextMenu.d.ts +0 -33
- package/dist/components/control/action/contextmenu/CwContextMenu.d.ts.map +0 -1
- package/dist/components/control/action/search/CwSearch.d.ts +0 -18
- package/dist/components/control/action/search/CwSearch.d.ts.map +0 -1
- package/dist/components/control/action/tooltip-dialog/CwTooltipDialog.d.ts +0 -21
- package/dist/components/control/action/tooltip-dialog/CwTooltipDialog.d.ts.map +0 -1
- package/dist/components/control/choice/checkbox/CwCheckbox.d.ts +0 -19
- package/dist/components/control/choice/checkbox/CwCheckbox.d.ts.map +0 -1
- package/dist/components/control/choice/deprecated/MultiSelect_deprecated_.d.ts +0 -24
- package/dist/components/control/choice/deprecated/MultiSelect_deprecated_.d.ts.map +0 -1
- package/dist/components/control/choice/dropdown/CwDropdown.d.ts +0 -21
- package/dist/components/control/choice/dropdown/CwDropdown.d.ts.map +0 -1
- package/dist/components/control/choice/dropdown/CwDropdownContainer.d.ts +0 -19
- package/dist/components/control/choice/dropdown/CwDropdownContainer.d.ts.map +0 -1
- package/dist/components/control/choice/dropdown/CwDropdownFilter.d.ts +0 -32
- package/dist/components/control/choice/dropdown/CwDropdownFilter.d.ts.map +0 -1
- package/dist/components/control/choice/dropdown/CwDropdownNavigation.d.ts +0 -23
- package/dist/components/control/choice/dropdown/CwDropdownNavigation.d.ts.map +0 -1
- package/dist/components/control/choice/multi-filter/CwMultiFilter.d.ts +0 -68
- package/dist/components/control/choice/multi-filter/CwMultiFilter.d.ts.map +0 -1
- package/dist/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.d.ts +0 -34
- package/dist/components/control/choice/multi-filter/components/tag/CwMultiFilterTag.d.ts.map +0 -1
- package/dist/components/control/choice/multiselect/CwHeadFilter.d.ts +0 -18
- package/dist/components/control/choice/multiselect/CwHeadFilter.d.ts.map +0 -1
- package/dist/components/control/choice/multiselect/CwMultiselect.d.ts +0 -15
- package/dist/components/control/choice/multiselect/CwMultiselect.d.ts.map +0 -1
- package/dist/components/control/choice/multiselect/CwOptionList.d.ts +0 -17
- package/dist/components/control/choice/multiselect/CwOptionList.d.ts.map +0 -1
- package/dist/components/control/choice/option/CwOption.d.ts +0 -17
- package/dist/components/control/choice/option/CwOption.d.ts.map +0 -1
- package/dist/components/control/choice/select/CwSelect.d.ts +0 -49
- package/dist/components/control/choice/select/CwSelect.d.ts.map +0 -1
- package/dist/components/control/choice/toggle/CwToggle.d.ts +0 -36
- package/dist/components/control/choice/toggle/CwToggle.d.ts.map +0 -1
- package/dist/components/control/input/any/CwInput.d.ts +0 -19
- package/dist/components/control/input/any/CwInput.d.ts.map +0 -1
- package/dist/components/control/input/chipper/CwChip.d.ts +0 -16
- package/dist/components/control/input/chipper/CwChip.d.ts.map +0 -1
- package/dist/components/control/input/date/CwInputDate.d.ts +0 -40
- package/dist/components/control/input/date/CwInputDate.d.ts.map +0 -1
- package/dist/components/control/input/date-picker/CwInputDatePicker.d.ts +0 -7
- package/dist/components/control/input/date-picker/CwInputDatePicker.d.ts.map +0 -1
- package/dist/components/control/input/date-text/CwInputDateText.d.ts +0 -39
- package/dist/components/control/input/date-text/CwInputDateText.d.ts.map +0 -1
- package/dist/components/control/input/datetime/CwInputDatetime.d.ts +0 -40
- package/dist/components/control/input/datetime/CwInputDatetime.d.ts.map +0 -1
- package/dist/components/control/input/digit/CwDigit.d.ts +0 -40
- package/dist/components/control/input/digit/CwDigit.d.ts.map +0 -1
- package/dist/components/control/input/file/CwFileUpload.d.ts +0 -20
- package/dist/components/control/input/file/CwFileUpload.d.ts.map +0 -1
- package/dist/components/control/input/image/CwInputImage.d.ts +0 -11
- package/dist/components/control/input/image/CwInputImage.d.ts.map +0 -1
- package/dist/components/control/input/image-area/CwImageArea.d.ts +0 -58
- package/dist/components/control/input/image-area/CwImageArea.d.ts.map +0 -1
- package/dist/components/control/input/number/CwInputNumber.d.ts +0 -22
- package/dist/components/control/input/number/CwInputNumber.d.ts.map +0 -1
- package/dist/components/control/input/phone/CwInputPhone.d.ts +0 -36
- package/dist/components/control/input/phone/CwInputPhone.d.ts.map +0 -1
- package/dist/components/control/input/text/CwInputText.d.ts +0 -40
- package/dist/components/control/input/text/CwInputText.d.ts.map +0 -1
- package/dist/components/control/input/text-area/CwTextArea.d.ts +0 -25
- package/dist/components/control/input/text-area/CwTextArea.d.ts.map +0 -1
- package/dist/components/control/input/time/CwTime.d.ts +0 -40
- package/dist/components/control/input/time/CwTime.d.ts.map +0 -1
- package/dist/components/custom/find-airport/CwFindAirportComp.d.ts +0 -32
- package/dist/components/custom/find-airport/CwFindAirportComp.d.ts.map +0 -1
- package/dist/components/custom/scheduler/CwSchedulerComp.d.ts +0 -39
- package/dist/components/custom/scheduler/CwSchedulerComp.d.ts.map +0 -1
- package/dist/components/custom/scheduler/CwSuperSchedulerComp.d.ts +0 -101
- package/dist/components/custom/scheduler/CwSuperSchedulerComp.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/ClearSchedulerButton.d.ts +0 -7
- package/dist/components/custom/scheduler/components/ClearSchedulerButton.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/EventRender.d.ts +0 -3
- package/dist/components/custom/scheduler/components/EventRender.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/ResourceListRender.d.ts +0 -17
- package/dist/components/custom/scheduler/components/ResourceListRender.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/ResourceRender.d.ts +0 -15
- package/dist/components/custom/scheduler/components/ResourceRender.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/day_headers/DayHeader.d.ts +0 -10
- package/dist/components/custom/scheduler/components/day_headers/DayHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/day_headers/MonthHeader.d.ts +0 -10
- package/dist/components/custom/scheduler/components/day_headers/MonthHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/day_headers/MyDaysHeader.d.ts +0 -10
- package/dist/components/custom/scheduler/components/day_headers/MyDaysHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/day_headers/WeekHeader.d.ts +0 -10
- package/dist/components/custom/scheduler/components/day_headers/WeekHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.d.ts +0 -14
- package/dist/components/custom/scheduler/components/resources_title_list/ResourcesTitleList.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.d.ts +0 -24
- package/dist/components/custom/scheduler/components/scheduler_content_area/SchedulerContentArea.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/scheduler_header/SchedulerHeader.d.ts +0 -8
- package/dist/components/custom/scheduler/components/scheduler_header/SchedulerHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.d.ts +0 -11
- package/dist/components/custom/scheduler/components/scheduler_timeline/SchedulerTimeLine.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/time_headers/TimeHeader.d.ts +0 -11
- package/dist/components/custom/scheduler/components/time_headers/TimeHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/time_headers/TimeHeaderRow.d.ts +0 -10
- package/dist/components/custom/scheduler/components/time_headers/TimeHeaderRow.d.ts.map +0 -1
- package/dist/components/custom/scheduler/components/time_line/TimeLine.d.ts +0 -7
- package/dist/components/custom/scheduler/components/time_line/TimeLine.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/dates/addMinutesToDateFromPx.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDates.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDates.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/dates/daysBetweenTwoDatesWithoutCeil.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.d.ts +0 -11
- package/dist/components/custom/scheduler/logic/dates/getFormatedTimeForHeader.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/getMonthHeaderData.d.ts +0 -10
- package/dist/components/custom/scheduler/logic/dates/getMonthHeaderData.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/getUtcToday.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/dates/getUtcToday.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.d.ts +0 -11
- package/dist/components/custom/scheduler/logic/dates/getWeekHeaderDataFromWeekRange.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/dates/listOfDatesToWeeks.d.ts +0 -8
- package/dist/components/custom/scheduler/logic/dates/listOfDatesToWeeks.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/divisions/calculateDivisionType.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/divisions/calculateDivisionType.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/divisions/calculateDivisions.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/divisions/calculateDivisions.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts +0 -19
- package/dist/components/custom/scheduler/logic/filtering/filterAndProcessResources.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/filtering/filterEvents.d.ts +0 -10
- package/dist/components/custom/scheduler/logic/filtering/filterEvents.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/filtering/filterResources.d.ts +0 -10
- package/dist/components/custom/scheduler/logic/filtering/filterResources.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/filtering/hasSameProperties.d.ts +0 -3
- package/dist/components/custom/scheduler/logic/filtering/hasSameProperties.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/onDrop/OnDrop.d.ts +0 -14
- package/dist/components/custom/scheduler/logic/onDrop/OnDrop.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts +0 -7
- package/dist/components/custom/scheduler/logic/pixels/calculateMaxPxFromDateRange.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/pixels/getPixelsForEvent.d.ts +0 -8
- package/dist/components/custom/scheduler/logic/pixels/getPixelsForEvent.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/pixels/heightScheduler.d.ts +0 -6
- package/dist/components/custom/scheduler/logic/pixels/heightScheduler.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/pixels/heightSchedulerPinned.d.ts +0 -6
- package/dist/components/custom/scheduler/logic/pixels/heightSchedulerPinned.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts +0 -10
- package/dist/components/custom/scheduler/logic/state_handle/handleDateChange.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts +0 -11
- package/dist/components/custom/scheduler/logic/state_handle/handlePropChanges.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/state_handle/handleResourceChange.d.ts +0 -10
- package/dist/components/custom/scheduler/logic/state_handle/handleResourceChange.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/strings/compareStrings.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/strings/compareStrings.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/strings/getGUID.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/strings/getGUID.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/ui/checkIfSlotAvailable.d.ts +0 -3
- package/dist/components/custom/scheduler/logic/ui/checkIfSlotAvailable.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/ui/getEventsOfResource.d.ts +0 -13
- package/dist/components/custom/scheduler/logic/ui/getEventsOfResource.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts +0 -8
- package/dist/components/custom/scheduler/logic/ui/getHasPropsChanged.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/ui/getTimeHeaders.d.ts +0 -2
- package/dist/components/custom/scheduler/logic/ui/getTimeHeaders.d.ts.map +0 -1
- package/dist/components/custom/scheduler/logic/ui/isAllowedToMove.d.ts +0 -3
- package/dist/components/custom/scheduler/logic/ui/isAllowedToMove.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/CblDragAndDrop.d.ts +0 -19
- package/dist/components/custom/scheduler/state/CblDragAndDrop.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/CwSchedulerProps.d.ts +0 -48
- package/dist/components/custom/scheduler/state/CwSchedulerProps.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/EventProps.d.ts +0 -7
- package/dist/components/custom/scheduler/state/EventProps.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/Resource.d.ts +0 -14
- package/dist/components/custom/scheduler/state/Resource.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/State.d.ts +0 -25
- package/dist/components/custom/scheduler/state/State.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/cblEvent.d.ts +0 -26
- package/dist/components/custom/scheduler/state/cblEvent.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/cblEventCompProps.d.ts +0 -7
- package/dist/components/custom/scheduler/state/cblEventCompProps.d.ts.map +0 -1
- package/dist/components/custom/scheduler/state/resourceCompProps2.d.ts +0 -6
- package/dist/components/custom/scheduler/state/resourceCompProps2.d.ts.map +0 -1
- package/dist/components/display/data/accordion/CwAccordionContainer.d.ts +0 -16
- package/dist/components/display/data/accordion/CwAccordionContainer.d.ts.map +0 -1
- package/dist/components/display/data/table/CwTable.d.ts +0 -130
- package/dist/components/display/data/table/CwTable.d.ts.map +0 -1
- package/dist/components/display/graphics/icon/CwIcon.d.ts +0 -14
- package/dist/components/display/graphics/icon/CwIcon.d.ts.map +0 -1
- package/dist/components/display/graphics/loading/CwLoading.d.ts +0 -19
- package/dist/components/display/graphics/loading/CwLoading.d.ts.map +0 -1
- package/dist/components/display/graphics/loading-small/CwLoadingSmall.d.ts +0 -8
- package/dist/components/display/graphics/loading-small/CwLoadingSmall.d.ts.map +0 -1
- package/dist/components/display/text/heading/CwHeadingMain.d.ts +0 -5
- package/dist/components/display/text/heading/CwHeadingMain.d.ts.map +0 -1
- package/dist/components/display/text/heading/CwHeadingSecond.d.ts +0 -5
- package/dist/components/display/text/heading/CwHeadingSecond.d.ts.map +0 -1
- package/dist/components/display/text/label/CwLabel.d.ts +0 -28
- package/dist/components/display/text/label/CwLabel.d.ts.map +0 -1
- package/dist/components/display/text/message/CwMessage.d.ts +0 -31
- package/dist/components/display/text/message/CwMessage.d.ts.map +0 -1
- package/dist/components/display/text/tag/CwTag.d.ts +0 -16
- package/dist/components/display/text/tag/CwTag.d.ts.map +0 -1
- package/dist/components/display/text/tooltip/CwTooltip.d.ts +0 -10
- package/dist/components/display/text/tooltip/CwTooltip.d.ts.map +0 -1
- package/dist/components/layout/align/CwAlign.d.ts +0 -53
- package/dist/components/layout/align/CwAlign.d.ts.map +0 -1
- package/dist/components/layout/list/details/CwExpandable.d.ts +0 -23
- package/dist/components/layout/list/details/CwExpandable.d.ts.map +0 -1
- package/dist/components/layout/modal/hover/CwModalHover.d.ts +0 -19
- package/dist/components/layout/modal/hover/CwModalHover.d.ts.map +0 -1
- package/dist/components/layout/modal/legacy/cw_modal.d.ts +0 -24
- package/dist/components/layout/modal/legacy/cw_modal.d.ts.map +0 -1
- package/dist/components/layout/modal/legacy/cw_modal_confirm.d.ts +0 -19
- package/dist/components/layout/modal/legacy/cw_modal_confirm.d.ts.map +0 -1
- package/dist/components/layout/modal/legacy/cw_modal_iframe.d.ts +0 -21
- package/dist/components/layout/modal/legacy/cw_modal_iframe.d.ts.map +0 -1
- package/dist/components/layout/modal/legacy/cw_modal_report.d.ts +0 -35
- package/dist/components/layout/modal/legacy/cw_modal_report.d.ts.map +0 -1
- package/dist/components/layout/table/grouped/CwTableGrouped.d.ts +0 -80
- package/dist/components/layout/table/grouped/CwTableGrouped.d.ts.map +0 -1
- package/dist/components/layout/tabs/CwTabs.d.ts +0 -37
- package/dist/components/layout/tabs/CwTabs.d.ts.map +0 -1
- package/dist/index.es.js.map +0 -1
- package/dist/index.esm.js.map +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { useEffect, useState, useRef,
|
|
3
|
+
import React__default, { useEffect, useState, useRef, forwardRef, useImperativeHandle, useCallback, useMemo, createElement, Fragment, createRef } from 'react';
|
|
4
4
|
import { createRoot } from 'react-dom/client';
|
|
5
5
|
import { Tooltip, Modal, InputNumber, Select, Tag, Dropdown, Menu } from 'antd';
|
|
6
6
|
import Draggable from 'react-draggable';
|
|
@@ -358,120 +358,10 @@ class CwModalIframe extends React.Component {
|
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
var styles$3 = {"cw-dialog-main":"cw-dialog-module_cw-dialog-main__cHxHt","cw-dialog-button-close":"cw-dialog-module_cw-dialog-button-close__9GRd8","cw-dialog-button-save":"cw-dialog-module_cw-dialog-button-save__eZ9SI"};
|
|
362
|
-
|
|
363
|
-
const CwDialog = props => {
|
|
364
|
-
const dialogRef = useRef(null);
|
|
365
|
-
const initialDialogSize = { width: props.$size?.width ?? 800, height: props.$size?.height ?? 600 };
|
|
366
|
-
const [isDragging, setIsDragging] = useState(false);
|
|
367
|
-
const [resizeDirection, setResizeDirection] = useState(null);
|
|
368
|
-
const [position, setPosition] = useState({
|
|
369
|
-
x: window.document.body.clientWidth / 2 - initialDialogSize.width / 2,
|
|
370
|
-
y: window.document.body.clientHeight / 2 - initialDialogSize.height / 2
|
|
371
|
-
});
|
|
372
|
-
const [size, setSize] = useState(initialDialogSize);
|
|
373
|
-
const [dragStart, setDragStart] = useState({ x: 0, y: 0 });
|
|
374
|
-
useEffect(() => {
|
|
375
|
-
const handleMouseMove = (e) => {
|
|
376
|
-
if (isDragging) {
|
|
377
|
-
const parent = dialogRef.current?.parentElement;
|
|
378
|
-
if (parent) {
|
|
379
|
-
const parentRect = parent.getBoundingClientRect();
|
|
380
|
-
const dialogRect = dialogRef.current?.getBoundingClientRect();
|
|
381
|
-
if (dialogRect) {
|
|
382
|
-
const minVisiblePx = 48;
|
|
383
|
-
const newX = e.clientX - dragStart.x;
|
|
384
|
-
const newY = e.clientY - dragStart.y;
|
|
385
|
-
const clampedX = Math.min(Math.max(newX, minVisiblePx - dialogRect.width), parentRect.width - minVisiblePx);
|
|
386
|
-
const clampedY = Math.min(Math.max(newY, minVisiblePx - dialogRect.height), parentRect.height - minVisiblePx);
|
|
387
|
-
setPosition({ x: clampedX, y: clampedY });
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
else if (resizeDirection) {
|
|
392
|
-
const parent = dialogRef.current?.parentElement;
|
|
393
|
-
if (parent) {
|
|
394
|
-
const parentRect = parent.getBoundingClientRect();
|
|
395
|
-
const dialogRect = dialogRef.current?.getBoundingClientRect();
|
|
396
|
-
if (dialogRect) {
|
|
397
|
-
let newWidth = size.width;
|
|
398
|
-
let newHeight = size.height;
|
|
399
|
-
let newX = position.x;
|
|
400
|
-
let newY = position.y;
|
|
401
|
-
const minVisiblePx = 64;
|
|
402
|
-
const minSize = 100;
|
|
403
|
-
if (resizeDirection.includes("w")) {
|
|
404
|
-
const dx = e.clientX - position.x;
|
|
405
|
-
newWidth = Math.max(size.width - dx, minSize);
|
|
406
|
-
newX = Math.min(Math.max(position.x + dx, minVisiblePx - newWidth), position.x + size.width - minSize);
|
|
407
|
-
}
|
|
408
|
-
if (resizeDirection.includes("e")) {
|
|
409
|
-
newWidth = Math.min(Math.max(e.clientX - position.x, minSize), parentRect.width - position.x + dialogRect.width - minVisiblePx);
|
|
410
|
-
}
|
|
411
|
-
if (resizeDirection.includes("n")) {
|
|
412
|
-
const dy = e.clientY - position.y;
|
|
413
|
-
newHeight = Math.max(size.height - dy, minSize);
|
|
414
|
-
newY = Math.min(Math.max(position.y + dy, minVisiblePx - newHeight), position.y + size.height - minSize);
|
|
415
|
-
}
|
|
416
|
-
if (resizeDirection.includes("s")) {
|
|
417
|
-
newHeight = Math.min(Math.max(e.clientY - position.y, minSize), parentRect.height - position.y + dialogRect.height - minVisiblePx);
|
|
418
|
-
}
|
|
419
|
-
// Ensure the modal stays within bounds after resizing
|
|
420
|
-
newX = Math.min(Math.max(newX, minVisiblePx - newWidth), parentRect.width - minVisiblePx);
|
|
421
|
-
newY = Math.min(Math.max(newY, minVisiblePx - newHeight), parentRect.height - minVisiblePx);
|
|
422
|
-
setSize({ width: newWidth, height: newHeight });
|
|
423
|
-
setPosition({ x: newX, y: newY });
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
};
|
|
428
|
-
const handleMouseUp = () => {
|
|
429
|
-
setIsDragging(false);
|
|
430
|
-
setResizeDirection(null);
|
|
431
|
-
};
|
|
432
|
-
document.addEventListener("mousemove", handleMouseMove);
|
|
433
|
-
document.addEventListener("mouseup", handleMouseUp);
|
|
434
|
-
return () => {
|
|
435
|
-
document.removeEventListener("mousemove", handleMouseMove);
|
|
436
|
-
document.removeEventListener("mouseup", handleMouseUp);
|
|
437
|
-
};
|
|
438
|
-
}, [isDragging, resizeDirection, dragStart, position, size]);
|
|
439
|
-
const handleMouseDown = (e) => {
|
|
440
|
-
setIsDragging(true);
|
|
441
|
-
setDragStart({ x: e.clientX - position.x, y: e.clientY - position.y });
|
|
442
|
-
};
|
|
443
|
-
const handleResizeMouseDown = (direction) => (e) => {
|
|
444
|
-
e.stopPropagation();
|
|
445
|
-
setResizeDirection(direction);
|
|
446
|
-
};
|
|
447
|
-
const header = (jsxs("header", { onMouseDown: handleMouseDown, children: [jsx("span", { children: props.$headline }), props.$customHeader || (jsx("button", { className: styles$3["cw-dialog-button-close"], onClick: props.$onClose, children: "\u2A2F" }))] }));
|
|
448
|
-
const content = (jsx("section", { style: { flex: 1, overflowX: "auto", overflowY: "auto", width: "100%" }, children: props.children }));
|
|
449
|
-
const footer = (jsx("footer", { style: { width: "100%" }, children: props.$customFooter || (jsx("button", { className: styles$3["cw-dialog-button-save"], onClick: props.$onSave, children: "\uD83D\uDDAB" })) }));
|
|
450
|
-
const resizeHandles = [
|
|
451
|
-
jsx("div", { "data-handle-n": true, onMouseDown: handleResizeMouseDown("n") }, "handle-n"),
|
|
452
|
-
jsx("div", { "data-handle-s": true, onMouseDown: handleResizeMouseDown("s") }, "handle-s"),
|
|
453
|
-
jsx("div", { "data-handle-e": true, onMouseDown: handleResizeMouseDown("e") }, "handle-e"),
|
|
454
|
-
jsx("div", { "data-handle-w": true, onMouseDown: handleResizeMouseDown("w") }, "handle-w"),
|
|
455
|
-
jsx("div", { "data-handle-ne": true, onMouseDown: handleResizeMouseDown("ne") }, "handle-ne"),
|
|
456
|
-
jsx("div", { "data-handle-nw": true, onMouseDown: handleResizeMouseDown("nw") }, "handle-nw"),
|
|
457
|
-
jsx("div", { "data-handle-se": true, onMouseDown: handleResizeMouseDown("se") }, "handle-se"),
|
|
458
|
-
jsx("div", { "data-handle-sw": true, onMouseDown: handleResizeMouseDown("sw") }, "handle-sw")
|
|
459
|
-
];
|
|
460
|
-
return (props.open && (jsx("div", { "data-has-scrim": props.$scrim, className: styles$3["cw-dialog-main"], children: jsxs("dialog", { ...props, ref: dialogRef, style: {
|
|
461
|
-
left: `${position.x}px`,
|
|
462
|
-
top: `${position.y}px`,
|
|
463
|
-
width: `${size.width}px`,
|
|
464
|
-
height: `${size.height}px`,
|
|
465
|
-
zIndex: props.$zIndex,
|
|
466
|
-
minWidth: "200px", // Set an appropriate minimum size
|
|
467
|
-
minHeight: "200px", // Set an appropriate minimum size
|
|
468
|
-
display: "flex",
|
|
469
|
-
flexDirection: "column"
|
|
470
|
-
}, children: [header, content, props.isReport !== true && footer, resizeHandles] }) })));
|
|
471
|
-
};
|
|
472
|
-
|
|
473
361
|
class CwReportModal extends React.Component {
|
|
474
362
|
formRef = React.createRef();
|
|
363
|
+
// For draggable modal
|
|
364
|
+
draggableRef = React.createRef();
|
|
475
365
|
constructor(props) {
|
|
476
366
|
super(props);
|
|
477
367
|
this.state = {
|
|
@@ -486,53 +376,44 @@ class CwReportModal extends React.Component {
|
|
|
486
376
|
isModal: props.isModal !== undefined && props.isModal !== null ? props.isModal : true
|
|
487
377
|
};
|
|
488
378
|
}
|
|
379
|
+
// Drag [ limit positions ]
|
|
380
|
+
onStart = (_event, uiData) => {
|
|
381
|
+
const { clientWidth, clientHeight } = window.document.documentElement;
|
|
382
|
+
const targetRect = this.draggableRef.current?.getBoundingClientRect();
|
|
383
|
+
if (!targetRect) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
this.setState({
|
|
387
|
+
modalPosition: {
|
|
388
|
+
top: -targetRect.top + uiData.y,
|
|
389
|
+
left: -targetRect.left + uiData.x,
|
|
390
|
+
right: clientWidth - (targetRect.right - uiData.x),
|
|
391
|
+
bottom: clientHeight - (targetRect.bottom - uiData.y)
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
};
|
|
489
395
|
render() {
|
|
490
|
-
|
|
396
|
+
const { disabled } = this.state;
|
|
397
|
+
const { modalPosition } = this.state;
|
|
398
|
+
return (jsx("div", { id: "cwelltModalReportContent", children: this.state.isModal === true ? (jsxs(Modal, { className: "CwelltModal CwelltModalCrewDetailsReport",
|
|
399
|
+
//title={this.props.title}
|
|
400
|
+
title: jsx("div", { style: {
|
|
401
|
+
width: "100%",
|
|
402
|
+
cursor: "move"
|
|
403
|
+
}, onMouseOver: () => {
|
|
404
|
+
if (this.state.disabled) {
|
|
405
|
+
this.setState({
|
|
406
|
+
disabled: false
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
}, onMouseOut: () => {
|
|
410
|
+
this.setState({
|
|
411
|
+
disabled: true
|
|
412
|
+
});
|
|
413
|
+
}, children: this.props.title }), visible: this.props.visible, width: this.props.width, footer: false, onCancel: () => {
|
|
491
414
|
this.formRef?.current?.resetFields();
|
|
492
415
|
this.props.SET_MODAL_REPORT_VISIBLE(false);
|
|
493
|
-
},
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
class CwDialogManager {
|
|
498
|
-
static openDialogs = new Map();
|
|
499
|
-
static OpenDialog(id, props) {
|
|
500
|
-
if (!CwDialogManager.openDialogs.has(id)) {
|
|
501
|
-
const container = document.createElement("div");
|
|
502
|
-
document.body.appendChild(container);
|
|
503
|
-
const root = createRoot(container);
|
|
504
|
-
root.render(jsx(CwDialog, { ...props }));
|
|
505
|
-
CwDialogManager.openDialogs.set(id, { props, container });
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
static CloseDialog(id) {
|
|
509
|
-
const dialog = CwDialogManager.openDialogs.get(id);
|
|
510
|
-
if (dialog) {
|
|
511
|
-
const root = createRoot(dialog.container);
|
|
512
|
-
root.unmount();
|
|
513
|
-
dialog.container.remove();
|
|
514
|
-
CwDialogManager.openDialogs.delete(id);
|
|
515
|
-
}
|
|
516
|
-
}
|
|
517
|
-
static CloseAllDialogs() {
|
|
518
|
-
CwDialogManager.openDialogs.forEach((_dialog, id) => {
|
|
519
|
-
CwDialogManager.CloseDialog(id);
|
|
520
|
-
});
|
|
521
|
-
}
|
|
522
|
-
static CloseLastDialog() {
|
|
523
|
-
const lastDialogId = Array.from(CwDialogManager.openDialogs.keys()).pop();
|
|
524
|
-
if (lastDialogId) {
|
|
525
|
-
CwDialogManager.CloseDialog(lastDialogId);
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
static CloseFirstDialog() {
|
|
529
|
-
const firstDialogId = Array.from(CwDialogManager.openDialogs.keys())[0];
|
|
530
|
-
if (firstDialogId) {
|
|
531
|
-
CwDialogManager.CloseDialog(firstDialogId);
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
static GetOpenDialogCount() {
|
|
535
|
-
return CwDialogManager.openDialogs.size;
|
|
416
|
+
}, destroyOnClose: true, modalRender: modal => (jsx(Draggable, { disabled: disabled, onStart: (event, uiData) => this.onStart(event, uiData), bounds: modalPosition, children: jsxs("div", { ref: this.draggableRef, children: [" ", modal] }) })), children: [this.props.name !== "Empty.pdf" && (jsx("embed", { src: "data:application/pdf;base64," + this.props.content, type: "application/pdf", width: "100%", height: "600px" })), this.props.name === "Empty.pdf" && (jsx("div", { children: jsxs("h1", { style: { marginLeft: "2em" }, children: [" ", "Please add a(n) ", this.props.reportName, " report in ", this.props.moduleSettings, " Settings"] }) }))] })) : (jsxs("div", { children: [this.props.name !== "Empty.pdf" && (jsx("embed", { src: "data:application/pdf;base64," + this.props.content, type: "application/pdf", width: "100%", height: "600px" })), this.props.name === "Empty.pdf" && (jsxs("div", { children: ["Please add a(n) ", this.props.reportName, " report in ", this.props.moduleSettings, " Settings"] }))] })) }));
|
|
536
417
|
}
|
|
537
418
|
}
|
|
538
419
|
|
|
@@ -627,7 +508,7 @@ function CwAccordionContainer(CwelltAccordionContainerProps) {
|
|
|
627
508
|
* title: 'Age',
|
|
628
509
|
* dataIndex: 'age',
|
|
629
510
|
* key: 'age',
|
|
630
|
-
* render: (age) => <span>{age}
|
|
511
|
+
* render: (age) => <span>{age} años</span>, // Ejemplo de renderización personalizada
|
|
631
512
|
* },
|
|
632
513
|
* {
|
|
633
514
|
* title: 'Address',
|
|
@@ -637,7 +518,7 @@ function CwAccordionContainer(CwelltAccordionContainerProps) {
|
|
|
637
518
|
* <a href={`https://maps.google.com/?q=${encodeURIComponent(address)}`} target="_blank">
|
|
638
519
|
* {address}
|
|
639
520
|
* </a>
|
|
640
|
-
* ), //
|
|
521
|
+
* ), // Ejemplo de renderización personalizada con un enlace
|
|
641
522
|
* },
|
|
642
523
|
* ];
|
|
643
524
|
*
|
|
@@ -662,7 +543,7 @@ function CwAccordionContainer(CwelltAccordionContainerProps) {
|
|
|
662
543
|
* },
|
|
663
544
|
* {
|
|
664
545
|
* key: '4',
|
|
665
|
-
* name: '
|
|
546
|
+
* name: 'Gabri',
|
|
666
547
|
* age: 22,
|
|
667
548
|
* address: '10 Downing Street',
|
|
668
549
|
* },
|
|
@@ -693,7 +574,7 @@ function CwAccordionContainer(CwelltAccordionContainerProps) {
|
|
|
693
574
|
*
|
|
694
575
|
* <CwTable
|
|
695
576
|
* columns={columns}
|
|
696
|
-
* data={data}
|
|
577
|
+
* data={data}
|
|
697
578
|
* itemsPerPage={3}
|
|
698
579
|
* pagination={true}
|
|
699
580
|
* expandedRowRender={generateExpandedContent}
|
|
@@ -701,7 +582,7 @@ function CwAccordionContainer(CwelltAccordionContainerProps) {
|
|
|
701
582
|
* />
|
|
702
583
|
* @returns React component
|
|
703
584
|
*/
|
|
704
|
-
function CwTable({ columns, data, pagination, itemsPerPage, expandedRowRender, onExpand, className, classNameHeader, classNameTr_row, style, classNameContainer, id
|
|
585
|
+
function CwTable({ columns, data, pagination, itemsPerPage, expandedRowRender, onExpand, className, classNameHeader, classNameTr_row, style, classNameContainer, id }) {
|
|
705
586
|
const [currentPage, setCurrentPage] = useState(1);
|
|
706
587
|
const [expandedRowKey, setExpandedRowKey] = useState(null);
|
|
707
588
|
const [sortConfig, setSortConfig] = useState({
|
|
@@ -728,47 +609,40 @@ function CwTable({ columns, data, pagination, itemsPerPage, expandedRowRender, o
|
|
|
728
609
|
}
|
|
729
610
|
setSortConfig({ key: columnKey, direction });
|
|
730
611
|
};
|
|
731
|
-
//
|
|
732
|
-
const sortedData =
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
if (aValue > bValue) {
|
|
744
|
-
return sortConfig.direction === "asc" ? 1 : -1;
|
|
745
|
-
}
|
|
746
|
-
return 0;
|
|
747
|
-
});
|
|
748
|
-
}
|
|
749
|
-
return dataCopy;
|
|
750
|
-
}, [data, sortConfig]);
|
|
751
|
-
// Calculate paged data only if sortedData is not null
|
|
752
|
-
const paginatedData = useMemo(() => {
|
|
753
|
-
if (!sortedData)
|
|
754
|
-
return null;
|
|
755
|
-
const startIndex = itemsPerPage !== undefined ? (currentPage - 1) * itemsPerPage : 0;
|
|
756
|
-
const endIndex = itemsPerPage !== undefined ? startIndex + itemsPerPage : sortedData.length;
|
|
757
|
-
return sortedData.slice(startIndex, endIndex);
|
|
758
|
-
}, [sortedData, currentPage, itemsPerPage]);
|
|
759
|
-
// Calculate the total number of pages for pagination
|
|
760
|
-
const totalPages = useMemo(() => {
|
|
761
|
-
if (!sortedData)
|
|
612
|
+
// Create a sorted copy of the data based on the sorting configuration
|
|
613
|
+
const sortedData = [...data];
|
|
614
|
+
if (sortConfig.key !== null) {
|
|
615
|
+
sortedData.sort((a, b) => {
|
|
616
|
+
const aValue = a[sortConfig.key];
|
|
617
|
+
const bValue = b[sortConfig.key];
|
|
618
|
+
if (aValue < bValue) {
|
|
619
|
+
return sortConfig.direction === "asc" ? -1 : 1;
|
|
620
|
+
}
|
|
621
|
+
if (aValue > bValue) {
|
|
622
|
+
return sortConfig.direction === "asc" ? 1 : -1;
|
|
623
|
+
}
|
|
762
624
|
return 0;
|
|
763
|
-
|
|
764
|
-
}
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
// Calculate the start and end index for pagination
|
|
628
|
+
const startIndex = itemsPerPage !== undefined ? (currentPage - 1) * itemsPerPage : (currentPage - 1) * 0;
|
|
629
|
+
const endIndex = itemsPerPage !== undefined ? startIndex + itemsPerPage : startIndex + 0;
|
|
630
|
+
const paginatedData = sortedData.slice(startIndex, endIndex);
|
|
631
|
+
// Calculate the total number of pages for pagination
|
|
632
|
+
const totalPages = itemsPerPage !== undefined ? Math.ceil(sortedData.length / itemsPerPage) : Math.ceil(sortedData.length / 0);
|
|
765
633
|
// Function to handle page change
|
|
766
634
|
const handlePageChange = (newPage) => {
|
|
767
635
|
if (newPage >= 1 && newPage <= totalPages) {
|
|
768
636
|
setCurrentPage(newPage);
|
|
769
637
|
}
|
|
770
638
|
};
|
|
771
|
-
return (jsxs("div", { id: id, className: classNameContainer + " " + "cwTableComp", children: [jsxs("table", { className: className + " " + "cw_table", style: style, children: [jsx("thead", { className:
|
|
639
|
+
return (jsxs("div", { id: id, className: classNameContainer + " " + "cwTableComp", children: [jsxs("table", { className: className + " " + "cw_table", style: style, children: [jsx("thead", { className: classNameHeader + " " + "cw_thead", children: jsxs("tr", { className: "cw_thead_tr", children: [expandedRowRender && jsx("th", { className: "cw_thead_th cw_thead_th_expand" }), columns.map(column => (jsx("th", { onClick: () => handleSort(column.dataIndex), className: sortConfig.key === column.dataIndex
|
|
640
|
+
? sortConfig.direction + " cw_thead_th" + " " + column.className
|
|
641
|
+
: "cw_thead_th" + " " + column.className, children: column.title }, column.key)))] }) }), pagination === true ? (jsx("tbody", { className: "cw_tbody", children: paginatedData.map(item => (
|
|
642
|
+
// !TODO: Ask sergio which tag place [ key ={ ite.key }]
|
|
643
|
+
jsxs(React__default.Fragment, { children: [jsxs("tr", { className: classNameTr_row + " " + "cw_tbody_tr", children: [expandedRowRender && (jsx("td", { className: "cw_tbody_td", children: jsx("button", { onClick: () => handleRowExpand(item), className: expandedRowKey === item.key
|
|
644
|
+
? "cwellt_flex cwellt_justify_center cwellt_align_items_center cw_button_expanded_collapse cw_button_expanded"
|
|
645
|
+
: "cwellt_flex cwellt_justify_center cwellt_align_items_center cw_button_expanded_collapse cw_button_collapse" }) })), columns.map(column => (jsx("td", { className: "cw_tbody_td", children: column.render ? column.render(item) : item[column.dataIndex] }, `${item.key}_${column.key}`)))] }), expandedRowKey === item.key && (jsx("tr", { children: jsx("td", { colSpan: columns.length + 1, children: expandedRowRender ? expandedRowRender(item) : null }) }))] }, item.key))) })) : (jsx("tbody", { className: "cw_tbody", children: sortedData.map(item => (jsxs(React__default.Fragment, { children: [jsxs("tr", { className: "cw_tbody_tr", children: [columns.map(column => (jsx("td", { className: "cw_tbody_td", children: column.render ? column.render(item) : item[column.dataIndex] }, `${item.key}_${column.key}`))), expandedRowRender && (jsx("td", { children: jsx("button", { onClick: () => handleRowExpand(item), children: expandedRowKey === item.key ? "-" : "+" }) }))] }), expandedRowKey === item.key && (jsx("tr", { children: jsx("td", { colSpan: columns.length + 1, children: expandedRowRender ? expandedRowRender(item) : null }) }))] }, item.key))) }))] }), pagination === true ? (jsxs("div", { className: "cw_table_pagination cwellt_flex cwellt_align-items-start cwellt_align_items_center", children: [jsx("button", { onClick: () => handlePageChange(currentPage - 1), disabled: currentPage === 1, className: "cw_tb_button_pag cw_tb_button_prev cwellt_flex cwellt_justify_center cwellt_align_items_center" }), jsxs("span", { className: "cw_table_pag_desc", children: ["Page ", currentPage, " of ", totalPages] }), jsx("button", { onClick: () => handlePageChange(currentPage + 1), disabled: currentPage === totalPages, className: "cw_tb_button_pag cw_tb_button_next cwellt_flex cwellt_justify_center cwellt_align_items_center" })] })) : (jsx("div", {}))] }));
|
|
772
646
|
}
|
|
773
647
|
|
|
774
648
|
/**
|
|
@@ -797,7 +671,7 @@ function CwTabs(CwTabsProps) {
|
|
|
797
671
|
CwTabsProps.onTabClick(tab);
|
|
798
672
|
}
|
|
799
673
|
};
|
|
800
|
-
return (jsxs("div", { id: CwTabsProps.id, className: "cwellt_flex cwellt_flex_column cwTab", children: [jsx("ul", { className: "cw_tab_container", children: CwTabsProps.tabs.map(tab => (jsxs("li", { className: `cw_tab cwellt_flex cwellt_align_items_center cwellt_justify_center ${tab.key === activeTab ? "cw_tab_active" : ""}`, onClick: () => handleTabClick(tab), children: [tab.icon, tab.title] }, tab.key))) }), jsx("div", { className: "cw_tab_content cwellt_flex cwellt_align_items_center cwellt_justify_center", children: jsx("div", { className: "cw_tab_container_holder", children: activeTab !== null && CwTabsProps.tabs.find(tab => tab.key === activeTab)?.content }) })] }));
|
|
674
|
+
return (jsxs("div", { id: CwTabsProps.id, className: "cwellt_flex cwellt_flex_column cwTab", children: [jsx("ul", { className: "cw_tab_container cwellt_flex cwellt_flex_row cwellt_flex_wrap", children: CwTabsProps.tabs.map(tab => (jsxs("li", { className: `cw_tab cwellt_flex cwellt_align_items_center cwellt_justify_center ${tab.key === activeTab ? "cw_tab_active" : ""}`, onClick: () => handleTabClick(tab), children: [tab.icon, tab.title] }, tab.key))) }), jsx("div", { className: "cw_tab_content cwellt_flex cwellt_align_items_center cwellt_justify_center", children: jsx("div", { className: "cw_tab_container_holder", children: activeTab !== null && CwTabsProps.tabs.find(tab => tab.key === activeTab)?.content }) })] }));
|
|
801
675
|
}
|
|
802
676
|
|
|
803
677
|
/**
|
|
@@ -919,6 +793,7 @@ function CwFileUpload(fileUploadProps) {
|
|
|
919
793
|
if (typeof reader.result === "string") {
|
|
920
794
|
const hexContent = arrayBufferToHex(reader.result);
|
|
921
795
|
setCurrentHexContent(hexContent);
|
|
796
|
+
// eslint-disable-next-line no-debugger
|
|
922
797
|
debugger;
|
|
923
798
|
// fileUploadProps.onChange({
|
|
924
799
|
// ...file,
|
|
@@ -1481,149 +1356,6 @@ const CwImageArea = forwardRef((props, ref) => {
|
|
|
1481
1356
|
});
|
|
1482
1357
|
CwImageArea.displayName = "CwImageArea";
|
|
1483
1358
|
|
|
1484
|
-
var styles$2 = {"cw-weekday-selector":"cw-weekday-selector-module_cw-weekday-selector__Iz4GZ"};
|
|
1485
|
-
|
|
1486
|
-
/**
|
|
1487
|
-
* This class represents a week where days can be selected or unselected
|
|
1488
|
-
* @remark Selected days are in UPPERCASE, unselected days are in lowercase
|
|
1489
|
-
* ```
|
|
1490
|
-
* Monday = "M" | "m"
|
|
1491
|
-
* Tuesday = "T" | "t"
|
|
1492
|
-
* Wendnesday = "W" | "w"
|
|
1493
|
-
* thuRsday = "R" | "r"
|
|
1494
|
-
* Friday = "F" | "f"
|
|
1495
|
-
* Saturday = "S" | "s"
|
|
1496
|
-
* sUnday = "U" | "u"
|
|
1497
|
-
* ```
|
|
1498
|
-
*/
|
|
1499
|
-
class Weekdays {
|
|
1500
|
-
static WEEKDAYS_STANDARD_ARRAY_FULL = ["M", "T", "W", "R", "F", "S", "U"];
|
|
1501
|
-
static WEEKDAYS_STANDARD_ARRAY_EMPTY = ["m", "t", "w", "r", "f", "s", "u"];
|
|
1502
|
-
static WEEKDAYS_STANDARD_STRING_FULL = "MTWRFSU";
|
|
1503
|
-
static WEEKDAYS_STANDARD_STRING_EMPTY = "mtwrfsu";
|
|
1504
|
-
static WEEKDAYS_TO_USA_LETTER_FORMAT = new Map([
|
|
1505
|
-
["M", "M"],
|
|
1506
|
-
["T", "T"],
|
|
1507
|
-
["W", "W"],
|
|
1508
|
-
["R", "T"],
|
|
1509
|
-
["F", "F"],
|
|
1510
|
-
["S", "S"],
|
|
1511
|
-
["U", "S"]
|
|
1512
|
-
]);
|
|
1513
|
-
static WEEKDAYS_TO_USA_SHORT_FORMAT = new Map([
|
|
1514
|
-
["M", "Mon"],
|
|
1515
|
-
["T", "Tue"],
|
|
1516
|
-
["W", "Wen"],
|
|
1517
|
-
["R", "Thu"],
|
|
1518
|
-
["F", "Fri"],
|
|
1519
|
-
["S", "Sat"],
|
|
1520
|
-
["U", "Sun"]
|
|
1521
|
-
]);
|
|
1522
|
-
static WEEKDAY_MAP = {
|
|
1523
|
-
0: "U",
|
|
1524
|
-
1: "M",
|
|
1525
|
-
2: "T",
|
|
1526
|
-
3: "W",
|
|
1527
|
-
4: "R",
|
|
1528
|
-
5: "F",
|
|
1529
|
-
6: "S"
|
|
1530
|
-
};
|
|
1531
|
-
days;
|
|
1532
|
-
constructor(days = Weekdays.WEEKDAYS_STANDARD_ARRAY_FULL) {
|
|
1533
|
-
if (typeof days === "string")
|
|
1534
|
-
this.days = this.normalize(days.split(""));
|
|
1535
|
-
else
|
|
1536
|
-
this.days = this.normalize(days);
|
|
1537
|
-
}
|
|
1538
|
-
includes(day) {
|
|
1539
|
-
return this.days.includes(day);
|
|
1540
|
-
}
|
|
1541
|
-
static fromString(value) {
|
|
1542
|
-
return new Weekdays(value.split(""));
|
|
1543
|
-
}
|
|
1544
|
-
static isValidToday(validFrom, validUntil, validWeekdays) {
|
|
1545
|
-
const today = new Date();
|
|
1546
|
-
// Check if today is within the validity period
|
|
1547
|
-
if (today < validFrom || today > validUntil) {
|
|
1548
|
-
return false;
|
|
1549
|
-
}
|
|
1550
|
-
// Convert today's weekday to Weekday type
|
|
1551
|
-
const todayWeekday = Weekdays.WEEKDAY_MAP[today.getDay()];
|
|
1552
|
-
// Check if today's weekday is in the validWeekdays array
|
|
1553
|
-
return validWeekdays.includes(todayWeekday);
|
|
1554
|
-
}
|
|
1555
|
-
normalize(weekdays) {
|
|
1556
|
-
const uniqueWeekdays = new Set(weekdays);
|
|
1557
|
-
if (uniqueWeekdays.size != 7)
|
|
1558
|
-
throw Error(`Illegal weekday string ${Array.from(uniqueWeekdays).join("")}`);
|
|
1559
|
-
return Weekdays.WEEKDAYS_STANDARD_STRING_FULL.split("").map(day => {
|
|
1560
|
-
if (uniqueWeekdays.has(day)) {
|
|
1561
|
-
return day;
|
|
1562
|
-
}
|
|
1563
|
-
else if (uniqueWeekdays.has(day.toLowerCase())) {
|
|
1564
|
-
return day.toLowerCase();
|
|
1565
|
-
}
|
|
1566
|
-
else {
|
|
1567
|
-
throw Error(`Illegal weekday string ${weekdays.join("")}`);
|
|
1568
|
-
}
|
|
1569
|
-
});
|
|
1570
|
-
}
|
|
1571
|
-
toString() {
|
|
1572
|
-
return this.days.join("").trim();
|
|
1573
|
-
}
|
|
1574
|
-
toStringFormatted(limiters = { startExistingDay: "{", endExsitingDay: "}", startMissingDay: "(", endMissingDay: ")", separator: " " }, format = Weekdays.WEEKDAYS_TO_USA_SHORT_FORMAT) {
|
|
1575
|
-
const result = new Array();
|
|
1576
|
-
[...this.days].forEach((letter, index) => {
|
|
1577
|
-
if (letter === letter.toUpperCase()) {
|
|
1578
|
-
result.push(limiters.startExistingDay + format.get(letter) + limiters.endExsitingDay);
|
|
1579
|
-
}
|
|
1580
|
-
else if (letter === letter.toLowerCase()) {
|
|
1581
|
-
result.push(limiters.startMissingDay +
|
|
1582
|
-
format.get(Weekdays.WEEKDAYS_STANDARD_STRING_FULL.charAt(index)) +
|
|
1583
|
-
limiters.endMissingDay);
|
|
1584
|
-
}
|
|
1585
|
-
});
|
|
1586
|
-
return result.join(limiters.separator).trim();
|
|
1587
|
-
}
|
|
1588
|
-
toArray() {
|
|
1589
|
-
return [...this.days];
|
|
1590
|
-
}
|
|
1591
|
-
isEmpty() {
|
|
1592
|
-
return this.toString() === Weekdays.WEEKDAYS_STANDARD_STRING_EMPTY;
|
|
1593
|
-
}
|
|
1594
|
-
isFull() {
|
|
1595
|
-
return this.toString() === Weekdays.WEEKDAYS_STANDARD_STRING_FULL;
|
|
1596
|
-
}
|
|
1597
|
-
static getFullWeek() {
|
|
1598
|
-
return Weekdays.WEEKDAYS_STANDARD_ARRAY_FULL;
|
|
1599
|
-
}
|
|
1600
|
-
static getEmptyWeek() {
|
|
1601
|
-
return Weekdays.WEEKDAYS_STANDARD_ARRAY_EMPTY;
|
|
1602
|
-
}
|
|
1603
|
-
}
|
|
1604
|
-
const CwWeekdaySelector = ({ value = "", onChange, disabled = false }) => {
|
|
1605
|
-
const [selectedDays, setSelectedDays] = useState(Weekdays.fromString(value));
|
|
1606
|
-
useEffect(() => {
|
|
1607
|
-
setSelectedDays(Weekdays.fromString(value));
|
|
1608
|
-
}, [value]);
|
|
1609
|
-
const handleChange = (day, checked) => {
|
|
1610
|
-
const currentDays = selectedDays.toArray();
|
|
1611
|
-
let updated;
|
|
1612
|
-
if (checked) {
|
|
1613
|
-
updated = currentDays.filter(d => d !== day.toLowerCase());
|
|
1614
|
-
updated.push(day);
|
|
1615
|
-
}
|
|
1616
|
-
else {
|
|
1617
|
-
updated = currentDays.filter(d => d !== day);
|
|
1618
|
-
updated.push(day.toLowerCase());
|
|
1619
|
-
}
|
|
1620
|
-
const newWeekdays = new Weekdays(updated);
|
|
1621
|
-
setSelectedDays(newWeekdays);
|
|
1622
|
-
onChange?.(newWeekdays.toString());
|
|
1623
|
-
};
|
|
1624
|
-
return (jsx("div", { className: styles$2["cw-weekday-selector"], children: Weekdays.getFullWeek().map(day => (jsx("input", { type: "checkbox", "data-day": day, checked: selectedDays.toArray().includes(day), onChange: (e) => handleChange(day, e.target.checked), disabled: disabled }, day))) }));
|
|
1625
|
-
};
|
|
1626
|
-
|
|
1627
1359
|
function CwCheckbox(CwCheckboxProps) {
|
|
1628
1360
|
const handleChange = (e) => {
|
|
1629
1361
|
CwCheckboxProps.onChange(e.target.checked);
|
|
@@ -2576,21 +2308,6 @@ function CwMultiselect(CwelltCustomFilterTabProps) {
|
|
|
2576
2308
|
}) }) }, "_" + i))) })] }) }) }));
|
|
2577
2309
|
}
|
|
2578
2310
|
|
|
2579
|
-
function itemsToMultiFilterTags(items, nameKey, valueKey, category, primaryColor, onPrimaryColor) {
|
|
2580
|
-
const result = new Set();
|
|
2581
|
-
items.forEach((item, index) => {
|
|
2582
|
-
result.add({
|
|
2583
|
-
ID: `${category}_${index}`,
|
|
2584
|
-
Name: item[nameKey] || index,
|
|
2585
|
-
Value: item[valueKey] || index,
|
|
2586
|
-
Category: category || "Missing Category",
|
|
2587
|
-
PrimaryColor: primaryColor || { r: 0, g: 0, b: 0 },
|
|
2588
|
-
OnPrimaryColor: onPrimaryColor || { r: 255, g: 255, b: 255 }
|
|
2589
|
-
});
|
|
2590
|
-
});
|
|
2591
|
-
return result;
|
|
2592
|
-
}
|
|
2593
|
-
|
|
2594
2311
|
var styles$1 = {"cw-multifilter-tag":"cw-multi-filter-tag-module_cw-multifilter-tag__Epda-"};
|
|
2595
2312
|
|
|
2596
2313
|
const CwMultiFilterTag = props => {
|
|
@@ -2630,7 +2347,6 @@ var styles = {"cw-multi-filter-catalog-container":"cw-multi-filter-module_cw-mul
|
|
|
2630
2347
|
* ```
|
|
2631
2348
|
* /// Use setSelectedTags to set the initial selected tags or to add/remove them after an action.
|
|
2632
2349
|
* const [selectedTags, setSelectedTags] = useState(new Set<CwMultiFilterTagProps>());
|
|
2633
|
-
* const [selectedCategory, setSelectedCategory] = useState("");
|
|
2634
2350
|
*
|
|
2635
2351
|
* <CwMultiFilter
|
|
2636
2352
|
* $id="multifilter"
|
|
@@ -2638,8 +2354,6 @@ var styles = {"cw-multi-filter-catalog-container":"cw-multi-filter-module_cw-mul
|
|
|
2638
2354
|
* console.log("This will get called every time the selected filters change");
|
|
2639
2355
|
* }}
|
|
2640
2356
|
* $selectedTags={selectedTags} // Selected filters, in case you want to modify them manually
|
|
2641
|
-
* selectedCategory={selectedCategory}
|
|
2642
|
-
* onChangeCategory={setSelectedCategory}
|
|
2643
2357
|
* $allTags={
|
|
2644
2358
|
* new Set([
|
|
2645
2359
|
* {
|
|
@@ -2664,48 +2378,48 @@ var styles = {"cw-multi-filter-catalog-container":"cw-multi-filter-module_cw-mul
|
|
|
2664
2378
|
* @param {CwMultiFilterProps} props
|
|
2665
2379
|
* @returns Set the `$onChange` callback to a function to check for changes in the selected filters
|
|
2666
2380
|
*/
|
|
2667
|
-
const CwMultiFilter = ({
|
|
2668
|
-
const [filteredTags, setFilteredTags] = useState(new Set());
|
|
2381
|
+
const CwMultiFilter = ({ $onChange, $allTags, $selectedTags, $id, style }) => {
|
|
2669
2382
|
const [inputTextValue, setInputTextValue] = useState("");
|
|
2383
|
+
const [selectedCategory, setSelectedCategory] = useState("");
|
|
2670
2384
|
const [inputIsFocussed, setInputIsFocussed] = useState(false);
|
|
2671
|
-
const
|
|
2672
|
-
const categoriesMappedToTags = () => {
|
|
2385
|
+
const categoriesMappedToTags = useMemo(() => {
|
|
2673
2386
|
const categoriesMap = new Map();
|
|
2674
|
-
allTags.forEach(tag => {
|
|
2387
|
+
$allTags.forEach(tag => {
|
|
2675
2388
|
const category = categoriesMap.get(tag.Category) || new Set();
|
|
2676
2389
|
category.add(tag);
|
|
2677
2390
|
categoriesMap.set(tag.Category, category);
|
|
2678
2391
|
});
|
|
2679
2392
|
return categoriesMap;
|
|
2680
|
-
};
|
|
2681
|
-
const
|
|
2393
|
+
}, [$allTags]);
|
|
2394
|
+
const filteredTags = useMemo(() => {
|
|
2395
|
+
let tags = selectedCategory ? categoriesMappedToTags.get(selectedCategory) || new Set() : $allTags;
|
|
2396
|
+
if (inputTextValue) {
|
|
2397
|
+
tags = new Set(Array.from(tags).filter(tag => !Array.from($selectedTags).some(t => t.ID === tag.ID) &&
|
|
2398
|
+
tag.Name.replaceAll(" ", "").toLowerCase().includes(inputTextValue.replaceAll(" ", "").toLowerCase())));
|
|
2399
|
+
}
|
|
2400
|
+
return tags;
|
|
2401
|
+
}, [$allTags, selectedCategory, inputTextValue, $selectedTags, categoriesMappedToTags]);
|
|
2402
|
+
const handleClickCategory = useCallback((category) => {
|
|
2682
2403
|
setSelectedCategory(category);
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
const handleInputText = (input) => {
|
|
2686
|
-
if (selectedCategory !== "All")
|
|
2687
|
-
setSelectedCategory("All");
|
|
2404
|
+
}, []);
|
|
2405
|
+
const handleInputText = useCallback((input) => {
|
|
2688
2406
|
setInputTextValue(input);
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
setFilteredTags(new Set(newFilterTags));
|
|
2692
|
-
};
|
|
2693
|
-
const addTag = (newTag) => {
|
|
2407
|
+
}, []);
|
|
2408
|
+
const addTag = useCallback((newTag) => {
|
|
2694
2409
|
newTag.Selected = true;
|
|
2695
2410
|
newTag.Removable = true;
|
|
2696
2411
|
newTag.Selectable = false;
|
|
2697
|
-
if (selectedTags.has(newTag) || Array.from(selectedTags).some(t => t.ID === newTag.ID)) {
|
|
2412
|
+
if ($selectedTags.has(newTag) || Array.from($selectedTags).some(t => t.ID === newTag.ID)) {
|
|
2698
2413
|
return;
|
|
2699
2414
|
}
|
|
2700
2415
|
else {
|
|
2701
|
-
const updatedTags = new Set(selectedTags).add(newTag);
|
|
2702
|
-
|
|
2416
|
+
const updatedTags = new Set($selectedTags).add(newTag);
|
|
2417
|
+
$onChange?.(updatedTags);
|
|
2703
2418
|
setInputTextValue("");
|
|
2704
|
-
setFilteredTags(allTags);
|
|
2705
2419
|
}
|
|
2706
|
-
};
|
|
2707
|
-
const removeTag = (id) => {
|
|
2708
|
-
const updatedTags = new Set(selectedTags);
|
|
2420
|
+
}, [$selectedTags, $onChange]);
|
|
2421
|
+
const removeTag = useCallback((id) => {
|
|
2422
|
+
const updatedTags = new Set($selectedTags);
|
|
2709
2423
|
const toDelete = Array.from(updatedTags).find(i => i.ID === id);
|
|
2710
2424
|
if (toDelete) {
|
|
2711
2425
|
toDelete.Selected = false;
|
|
@@ -2713,18 +2427,15 @@ const CwMultiFilter = ({ allTags, id, onChangeSelectedTags, selectedTags, style
|
|
|
2713
2427
|
toDelete.Removable = false;
|
|
2714
2428
|
updatedTags.delete(toDelete);
|
|
2715
2429
|
}
|
|
2716
|
-
|
|
2717
|
-
};
|
|
2430
|
+
$onChange?.(updatedTags);
|
|
2431
|
+
}, [$selectedTags, $onChange]);
|
|
2718
2432
|
useEffect(() => {
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
// setFilteredTags(new Set([...(categoriesMappedToTags().get(selectedCategory) ?? [])]));
|
|
2724
|
-
}, [allTags]);
|
|
2725
|
-
return (jsxs("form", { id: id, className: styles["cw-multi-filter"], style: style, onSubmit: (e) => {
|
|
2433
|
+
handleClickCategory("");
|
|
2434
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2435
|
+
}, [$allTags]);
|
|
2436
|
+
return (jsxs("form", { id: $id, className: styles["cw-multi-filter"], style: style, onSubmit: (e) => {
|
|
2726
2437
|
e.preventDefault();
|
|
2727
|
-
}, children: [jsxs("div", { className: styles["cw-multi-filter-search"], children: [jsx("ul", { id: id + "_selected_filters", children: Array.from(selectedTags).map(tag => (createElement(CwMultiFilterTag, { ...tag, key: tag.ID, Selectable: false, Removable: true, OnRemove: () => removeTag(tag.ID) }))) }), jsx("input", { type: "text", id: id + "_input", value: inputTextValue, spellCheck: false, onFocus: () => setInputIsFocussed(true), onBlur: () => setInputIsFocussed(false), onChange: e => handleInputText(e.target.value),
|
|
2438
|
+
}, children: [jsxs("div", { className: styles["cw-multi-filter-search"], children: [jsx("ul", { id: $id + "_selected_filters", children: Array.from($selectedTags).map(tag => (createElement(CwMultiFilterTag, { ...tag, key: tag.ID, Selectable: false, Removable: true, OnRemove: () => removeTag(tag.ID) }))) }), jsx("input", { autoComplete: "off", type: "text", id: $id + "_input", value: inputTextValue, spellCheck: false, onFocus: () => setInputIsFocussed(true), onBlur: () => setInputIsFocussed(false), onChange: e => handleInputText(e.target.value), onKeyDown: e => {
|
|
2728
2439
|
switch (e.key) {
|
|
2729
2440
|
case "Enter":
|
|
2730
2441
|
case "Tab":
|
|
@@ -2736,29 +2447,33 @@ const CwMultiFilter = ({ allTags, id, onChangeSelectedTags, selectedTags, style
|
|
|
2736
2447
|
}
|
|
2737
2448
|
break;
|
|
2738
2449
|
case "Backspace": {
|
|
2739
|
-
if (inputTextValue === "" && selectedTags.size > 0) {
|
|
2740
|
-
removeTag(Array.from(selectedTags).toReversed()[0].ID);
|
|
2450
|
+
if (inputTextValue === "" && $selectedTags.size > 0) {
|
|
2451
|
+
removeTag(Array.from($selectedTags).toReversed()[0].ID);
|
|
2741
2452
|
}
|
|
2742
2453
|
break;
|
|
2743
2454
|
}
|
|
2744
2455
|
}
|
|
2745
|
-
} }), selectedTags.size > 0 ? (jsx("input", { type: "reset", value: "\u00D7", onClick: e => {
|
|
2456
|
+
} }), $selectedTags.size > 0 ? (jsx("input", { type: "reset", value: "\u00D7", onClick: e => {
|
|
2746
2457
|
e.preventDefault();
|
|
2747
|
-
|
|
2748
|
-
} })) : null] }), jsxs("section", { className: styles["cw-multi-filter-catalog-container"], "data-display-none": !inputIsFocussed, children: [jsxs("nav", { children: [jsx("button", { style: selectedCategory
|
|
2458
|
+
$onChange?.(new Set());
|
|
2459
|
+
} })) : null] }), jsxs("section", { className: styles["cw-multi-filter-catalog-container"], "data-display-none": !inputIsFocussed, children: [jsxs("nav", { children: [jsx("button", { style: !selectedCategory
|
|
2749
2460
|
? {
|
|
2750
2461
|
backgroundColor: "var(--cw-color-primary)",
|
|
2751
2462
|
color: "var(--cw-color-on-primary)",
|
|
2752
2463
|
fontWeight: 400
|
|
2753
2464
|
}
|
|
2754
|
-
: {}, onClick: () =>
|
|
2465
|
+
: {}, onClick: () => {
|
|
2466
|
+
handleClickCategory("");
|
|
2467
|
+
}, children: "All" }), Array.from(categoriesMappedToTags.keys()).map(category => (jsx("button", { style: selectedCategory === category
|
|
2755
2468
|
? {
|
|
2756
2469
|
backgroundColor: "var(--cw-color-primary)",
|
|
2757
2470
|
color: "var(--cw-color-on-primary)",
|
|
2758
2471
|
fontWeight: 400
|
|
2759
2472
|
}
|
|
2760
|
-
: {}, onClick: () =>
|
|
2761
|
-
|
|
2473
|
+
: {}, onClick: () => {
|
|
2474
|
+
handleClickCategory(category);
|
|
2475
|
+
}, children: category }, category)))] }), jsx("ul", { children: Array.from(filteredTags).map((props) => (jsx(CwMultiFilterTag, { ...props, Selectable: true, Removable: false, Selected: Array.from($selectedTags).some(p => p.ID === props.ID), OnSelect: () => {
|
|
2476
|
+
if (Array.from($selectedTags).some(p => p.ID === props.ID))
|
|
2762
2477
|
removeTag(props.ID);
|
|
2763
2478
|
else
|
|
2764
2479
|
addTag(props);
|
|
@@ -2875,170 +2590,184 @@ function CwFloatingButton() {
|
|
|
2875
2590
|
const cwScheduler = document.getElementById("CwelltScheduler");
|
|
2876
2591
|
cwScheduler?.classList.toggle("CwelltSchedulerActive");
|
|
2877
2592
|
};
|
|
2878
|
-
return jsx("button", { className: "
|
|
2593
|
+
return jsx("button", { className: "cw_btnFloatingButton", onClick: cwShowElement, id: "cw_btnFloatingButton" });
|
|
2594
|
+
}
|
|
2595
|
+
// Button for expand and collapase
|
|
2596
|
+
function CwButtonExpandAndCollapse() {
|
|
2597
|
+
const cwExpandCollapseButton = () => {
|
|
2598
|
+
// cwellt_btnExpandCollapse
|
|
2599
|
+
const cw_btnExpandCollapse = document.getElementById("cw_btnExpandCollapse");
|
|
2600
|
+
cw_btnExpandCollapse?.classList.toggle("cw_btnExpandCollapseActive");
|
|
2601
|
+
// text of tooltip
|
|
2602
|
+
// Switches
|
|
2603
|
+
const cwSwitches = document.getElementsByClassName("CwSwitches")[0];
|
|
2604
|
+
cwSwitches.classList.toggle("cwSwitchesActive");
|
|
2605
|
+
// ContentButton
|
|
2606
|
+
};
|
|
2607
|
+
return jsx("button", { className: "cw_btnExpandCollapse", onClick: cwExpandCollapseButton, id: "cw_btnExpandCollapse" });
|
|
2879
2608
|
}
|
|
2880
2609
|
// Primary button => CwButtonDef
|
|
2881
2610
|
// CwButtonDef
|
|
2882
2611
|
function CwButtonDef({ cw_btn_desc, cw_btnOnclick, cw_btn_disabled }) {
|
|
2883
|
-
return (jsx("button", { className: "
|
|
2612
|
+
return (jsx("button", { className: "cw_btn_df_desc cw_btn_primary", onClick: cw_btnOnclick, disabled: cw_btn_disabled, children: cw_btn_desc }));
|
|
2884
2613
|
}
|
|
2885
2614
|
// CwButtonDefOutline
|
|
2886
2615
|
function CwButtonDefOutline({ cw_btn_desc, cw_btnOnclick, cw_btn_disabled }) {
|
|
2887
|
-
return (jsx("button", { className: "
|
|
2616
|
+
return (jsx("button", { className: "cw_btn_df_desc cw_btn_primaryOutline", onClick: cw_btnOnclick, disabled: cw_btn_disabled, children: cw_btn_desc }));
|
|
2888
2617
|
}
|
|
2889
2618
|
// Primary button => CwButtonSecondary
|
|
2890
2619
|
// CweButtonSec
|
|
2891
2620
|
function CwButtonSec({ cw_btn_desc, cw_btnOnclick, cw_btn_disabled }) {
|
|
2892
|
-
return (jsx("button", { className: "
|
|
2621
|
+
return (jsx("button", { className: "cw_btn_df_desc cw_btn_secondary", onClick: cw_btnOnclick, disabled: cw_btn_disabled, children: cw_btn_desc }));
|
|
2893
2622
|
}
|
|
2894
2623
|
// CwButtonSecOutline
|
|
2895
2624
|
function CwButtonSecOutline({ cw_btn_desc, cw_btnOnclick, cw_btn_disabled }) {
|
|
2896
|
-
return (jsx("button", { className: "
|
|
2625
|
+
return (jsx("button", { className: "cw_btn_df_desc cw_btn_secondaryOutline", onClick: cw_btnOnclick, disabled: cw_btn_disabled, children: cw_btn_desc }));
|
|
2897
2626
|
}
|
|
2898
2627
|
// Primary button => cwelltButton_danger
|
|
2899
2628
|
// CwButton_danger
|
|
2900
2629
|
function CwButtonDanger({ cw_btn_desc, cw_btnOnclick, cw_btn_disabled }) {
|
|
2901
|
-
return (jsx("button", { className: "
|
|
2630
|
+
return (jsx("button", { className: "cw_btn_df_desc cw_btn_danger", onClick: cw_btnOnclick, disabled: cw_btn_disabled, children: cw_btn_desc }));
|
|
2902
2631
|
}
|
|
2903
2632
|
// CwButtonDangerOutline
|
|
2904
2633
|
function CwButtonDangerOutline({ cw_btn_desc, cw_btnOnclick, cw_btn_disabled }) {
|
|
2905
|
-
return (jsx("button", { className: "
|
|
2634
|
+
return (jsx("button", { className: "cw_btn_df_desc cw_btn_dangerOutline", onClick: cw_btnOnclick, disabled: cw_btn_disabled, children: cw_btn_desc }));
|
|
2906
2635
|
}
|
|
2907
2636
|
// Cw add button
|
|
2908
2637
|
function CwBtnAdd({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2909
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2638
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_add", disabled: cw_btn_disabled }));
|
|
2910
2639
|
}
|
|
2911
2640
|
// Cw Save button
|
|
2912
2641
|
function CwBtnSave({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2913
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2642
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_save", disabled: cw_btn_disabled }));
|
|
2914
2643
|
}
|
|
2915
2644
|
// Cw edit button
|
|
2916
2645
|
function CwBtnEdit({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2917
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2646
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_edit", disabled: cw_btn_disabled }));
|
|
2918
2647
|
}
|
|
2919
2648
|
// Cw search button
|
|
2920
2649
|
function CwBtnSearch({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2921
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2650
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_search", disabled: cw_btn_disabled }));
|
|
2922
2651
|
}
|
|
2923
2652
|
// Cw download button
|
|
2924
2653
|
function CwBtnDownload({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2925
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2654
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_download", disabled: cw_btn_disabled }));
|
|
2926
2655
|
}
|
|
2927
2656
|
// Cw view button
|
|
2928
2657
|
function CwBtnView({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2929
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2658
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_view", disabled: cw_btn_disabled }));
|
|
2930
2659
|
}
|
|
2931
2660
|
// Cw Print button
|
|
2932
2661
|
function CwBtnPrint({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2933
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2662
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_print", disabled: cw_btn_disabled }));
|
|
2934
2663
|
}
|
|
2935
2664
|
// Cw cancel button
|
|
2936
2665
|
function CwBtnCancel({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2937
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2666
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_cancel", disabled: cw_btn_disabled }));
|
|
2938
2667
|
}
|
|
2939
2668
|
// Cw Delete button
|
|
2940
2669
|
function CwBtnDelete({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2941
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2670
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_delete", disabled: cw_btn_disabled }));
|
|
2942
2671
|
}
|
|
2943
2672
|
// Cw Select save
|
|
2944
2673
|
function CwBtnSelectedSave({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2945
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2674
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_saveSelected", disabled: cw_btn_disabled }));
|
|
2946
2675
|
}
|
|
2947
2676
|
// CwUndo
|
|
2948
2677
|
function CwBtnUndo({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2949
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2678
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_undo", disabled: cw_btn_disabled }));
|
|
2950
2679
|
}
|
|
2951
2680
|
// Cw
|
|
2952
2681
|
function CwBtnRefresh({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2953
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2682
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_refresh", disabled: cw_btn_disabled }));
|
|
2954
2683
|
}
|
|
2955
2684
|
// Cw hide
|
|
2956
2685
|
function CwBtnHide({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2957
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2686
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_hide", disabled: cw_btn_disabled }));
|
|
2958
2687
|
}
|
|
2959
2688
|
// Cw Select
|
|
2960
2689
|
function CwBtnSelect({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2961
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2690
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_select", disabled: cw_btn_disabled }));
|
|
2962
2691
|
}
|
|
2963
2692
|
// Cw copy
|
|
2964
2693
|
function CwBtnCopy({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2965
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2694
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_copy", disabled: cw_btn_disabled }));
|
|
2966
2695
|
}
|
|
2967
2696
|
// Cw Pin
|
|
2968
2697
|
function CwBtnPin({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2969
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2698
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_pin", disabled: cw_btn_disabled }));
|
|
2970
2699
|
}
|
|
2971
2700
|
// Cw Info
|
|
2972
2701
|
function CwBtnInfo({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2973
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2702
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_info", disabled: cw_btn_disabled }));
|
|
2974
2703
|
}
|
|
2975
2704
|
// Cw Warning
|
|
2976
2705
|
function CwBtnWarning({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2977
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2706
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_warning", disabled: cw_btn_disabled }));
|
|
2978
2707
|
}
|
|
2979
2708
|
// Cw Share
|
|
2980
2709
|
function CwBtnShare({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2981
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2710
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_share", disabled: cw_btn_disabled }));
|
|
2982
2711
|
}
|
|
2983
2712
|
// Cw Files
|
|
2984
2713
|
function CwBtnFiles({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2985
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2714
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_files", disabled: cw_btn_disabled }));
|
|
2986
2715
|
}
|
|
2987
2716
|
// Cw Users
|
|
2988
2717
|
function CwBtnUsers({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2989
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2718
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_users", disabled: cw_btn_disabled }));
|
|
2990
2719
|
}
|
|
2991
2720
|
// Cw Airport
|
|
2992
2721
|
function CwBtnAirport({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2993
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2722
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_airport", disabled: cw_btn_disabled }));
|
|
2994
2723
|
}
|
|
2995
2724
|
// OneDrive
|
|
2996
2725
|
function CwBtnOneDrive({ cw_btnOnclick, cw_btn_disabled }) {
|
|
2997
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2726
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_oneDrive", disabled: cw_btn_disabled }));
|
|
2998
2727
|
}
|
|
2999
2728
|
// userFolder
|
|
3000
2729
|
function CwBtnUserFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3001
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2730
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_userFolder", disabled: cw_btn_disabled }));
|
|
3002
2731
|
}
|
|
3003
2732
|
// CloudFolder
|
|
3004
2733
|
function CwBtnCloudFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3005
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2734
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_cloudFolder", disabled: cw_btn_disabled }));
|
|
3006
2735
|
}
|
|
3007
2736
|
// PictureFolder
|
|
3008
2737
|
function CwBtnPictureFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3009
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2738
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_pictureFolder", disabled: cw_btn_disabled }));
|
|
3010
2739
|
}
|
|
3011
2740
|
// FolderIn
|
|
3012
2741
|
function CwBtnFolderIn({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3013
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2742
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_folderIn", disabled: cw_btn_disabled }));
|
|
3014
2743
|
}
|
|
3015
2744
|
// DownLoadFolder
|
|
3016
2745
|
function CwBtnDownLoadFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3017
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2746
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_downloadFolder", disabled: cw_btn_disabled }));
|
|
3018
2747
|
}
|
|
3019
2748
|
// DownLoadAllInfo
|
|
3020
2749
|
function CwBtnDownLoadAllInfo({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3021
|
-
return (jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2750
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_downLoadAllInfo", disabled: cw_btn_disabled }));
|
|
3022
2751
|
}
|
|
3023
2752
|
// PropertyFolder
|
|
3024
2753
|
function CwBtnPropertyFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3025
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2754
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_propertiFolder", disabled: cw_btn_disabled }));
|
|
3026
2755
|
}
|
|
3027
2756
|
// AddFolder
|
|
3028
2757
|
function CwBtnAddFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3029
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2758
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_addFolder", disabled: cw_btn_disabled }));
|
|
3030
2759
|
}
|
|
3031
2760
|
// EditFolder
|
|
3032
2761
|
function CwBtnEditFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3033
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2762
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_editFolder", disabled: cw_btn_disabled }));
|
|
3034
2763
|
}
|
|
3035
2764
|
// PropertyFolder
|
|
3036
2765
|
function CwBtnSelectedFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3037
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2766
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_selectedFolder", disabled: cw_btn_disabled }));
|
|
3038
2767
|
}
|
|
3039
2768
|
// UploadFiles
|
|
3040
2769
|
function CwBtnUploadFiles({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3041
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2770
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_uploadFiles", disabled: cw_btn_disabled }));
|
|
3042
2771
|
}
|
|
3043
2772
|
// GoBackSection [ Emanual ]
|
|
3044
2773
|
function CwBtnGoBackFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
@@ -3046,139 +2775,139 @@ function CwBtnGoBackFolder({ cw_btnOnclick, cw_btn_disabled }) {
|
|
|
3046
2775
|
}
|
|
3047
2776
|
// BookMark [ Emanual ]
|
|
3048
2777
|
function CwBtnBookMark({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3049
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2778
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_bookMark", disabled: cw_btn_disabled }));
|
|
3050
2779
|
}
|
|
3051
2780
|
// Restore trash
|
|
3052
2781
|
function CwBtnRestoreTrash({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3053
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2782
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_restoreTrash", disabled: cw_btn_disabled }));
|
|
3054
2783
|
}
|
|
3055
2784
|
// Empty trash
|
|
3056
2785
|
function CwBtnEmptytrash({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3057
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2786
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_emptyTrash", disabled: cw_btn_disabled }));
|
|
3058
2787
|
}
|
|
3059
2788
|
// Full trash
|
|
3060
2789
|
function CwBtnFulltrash({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3061
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2790
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_fullTrash", disabled: cw_btn_disabled }));
|
|
3062
2791
|
}
|
|
3063
2792
|
// Marked
|
|
3064
2793
|
function CwBtnMarked({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3065
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2794
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnMarked", disabled: cw_btn_disabled }));
|
|
3066
2795
|
}
|
|
3067
2796
|
// Marked solid
|
|
3068
2797
|
function CwBtnMarkedSolid({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3069
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2798
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnMarkedSolid", disabled: cw_btn_disabled }));
|
|
3070
2799
|
}
|
|
3071
2800
|
// Add marked
|
|
3072
2801
|
function CwBtnAddMarked({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3073
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2802
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnAddMarked", disabled: cw_btn_disabled }));
|
|
3074
2803
|
}
|
|
3075
2804
|
// Add marked solid
|
|
3076
2805
|
function CwBtnAddMarkedSolid({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3077
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2806
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnAddMarkedSolid", disabled: cw_btn_disabled }));
|
|
3078
2807
|
}
|
|
3079
2808
|
// Restore trash right
|
|
3080
2809
|
function CwBtnRestoreTrashRight({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3081
|
-
return (jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2810
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btn_restoreTrashRight", disabled: cw_btn_disabled }));
|
|
3082
2811
|
}
|
|
3083
2812
|
// Archive
|
|
3084
2813
|
function CwBtnArchive({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3085
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2814
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnArchive", disabled: cw_btn_disabled }));
|
|
3086
2815
|
}
|
|
3087
2816
|
// Archive
|
|
3088
2817
|
function CwBtnArchiveRestore({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3089
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2818
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnArchiveRestore", disabled: cw_btn_disabled }));
|
|
3090
2819
|
}
|
|
3091
2820
|
// Publish
|
|
3092
2821
|
function CwBtnPublish({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3093
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2822
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnPublish", disabled: cw_btn_disabled }));
|
|
3094
2823
|
}
|
|
3095
2824
|
// Approve
|
|
3096
2825
|
function CwBtnApprove({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3097
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2826
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnApprove", disabled: cw_btn_disabled }));
|
|
3098
2827
|
}
|
|
3099
2828
|
// BookMarkLinkPag
|
|
3100
2829
|
function CwBtnBookMarkLinkPage({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3101
|
-
return (jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2830
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnBookMarkLinkPage", disabled: cw_btn_disabled }));
|
|
3102
2831
|
}
|
|
3103
2832
|
// BookReadedLine
|
|
3104
2833
|
function CwBtnBookReadedLine({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3105
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2834
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnBookReadedLine", disabled: cw_btn_disabled }));
|
|
3106
2835
|
}
|
|
3107
2836
|
// BookReadedSolid
|
|
3108
2837
|
function CwBtnBookReadedSolid({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3109
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2838
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnBookReadedSolid", disabled: cw_btn_disabled }));
|
|
3110
2839
|
}
|
|
3111
2840
|
// DocumentChecked
|
|
3112
2841
|
function CwBtnDocumentChecked({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3113
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2842
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnDocumentChecked", disabled: cw_btn_disabled }));
|
|
3114
2843
|
}
|
|
3115
2844
|
// DocumentPublished
|
|
3116
2845
|
function CwBtnDocumentPublished({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3117
|
-
return (jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2846
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnDocumentPublished", disabled: cw_btn_disabled }));
|
|
3118
2847
|
}
|
|
3119
2848
|
// Bulk duty
|
|
3120
2849
|
function CwBtnBulkDuty({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3121
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2850
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnBulkDuty", disabled: cw_btn_disabled }));
|
|
3122
2851
|
}
|
|
3123
2852
|
// DropDownButtonCrewControl
|
|
3124
2853
|
function CwBtnDropDownMenu({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3125
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2854
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnDropDownMenu", disabled: cw_btn_disabled }));
|
|
3126
2855
|
}
|
|
3127
2856
|
// DropDownButtonCrewControl
|
|
3128
2857
|
function CwBtnAlert({ cw_btnOnclick, cw_btn_disabled, cw_name }) {
|
|
3129
|
-
return (jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2858
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnAlert", disabled: cw_btn_disabled, id: cw_name }));
|
|
3130
2859
|
}
|
|
3131
2860
|
// BtnNavFirstItemView
|
|
3132
2861
|
function CwBtnNavFirstItemView({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3133
|
-
return (jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2862
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnNavFirstItemView", disabled: cw_btn_disabled }));
|
|
3134
2863
|
}
|
|
3135
2864
|
// BtnNavLastItemView
|
|
3136
2865
|
function CwBtnNavLastItemView({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3137
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2866
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnNavLastItemView", disabled: cw_btn_disabled }));
|
|
3138
2867
|
}
|
|
3139
2868
|
// BtnNavbreviewItem
|
|
3140
2869
|
function CwBtnNavPreviewItem({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3141
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2870
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnNavPreviewItem", disabled: cw_btn_disabled }));
|
|
3142
2871
|
}
|
|
3143
2872
|
// BtnNavNextDay
|
|
3144
2873
|
function CwBtnNavNextDay({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3145
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2874
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnNavNextDay", disabled: cw_btn_disabled }));
|
|
3146
2875
|
}
|
|
3147
2876
|
// BtnNavNextDay
|
|
3148
2877
|
function CwBtnStatistic({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3149
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2878
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnStatistic", disabled: cw_btn_disabled }));
|
|
3150
2879
|
}
|
|
3151
2880
|
// BtnNavNextDay
|
|
3152
2881
|
function CwBtnCrewPlanning({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3153
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2882
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnCrewPlanning", disabled: cw_btn_disabled }));
|
|
3154
2883
|
}
|
|
3155
2884
|
// BtnReleasePeriod
|
|
3156
2885
|
function CwBtnReleasePeriod({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3157
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2886
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnReleasePeriod", disabled: cw_btn_disabled }));
|
|
3158
2887
|
}
|
|
3159
2888
|
// BtnReleasePeriod
|
|
3160
2889
|
function CwBtnGeneratePairing({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3161
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2890
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnGeneratePairing", disabled: cw_btn_disabled }));
|
|
3162
2891
|
}
|
|
3163
2892
|
// BtnImportRequests
|
|
3164
2893
|
function CwBtnImportRequests({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3165
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2894
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnImportRequests", disabled: cw_btn_disabled }));
|
|
3166
2895
|
}
|
|
3167
2896
|
// BtnPairing
|
|
3168
2897
|
function CwBtnPairing({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3169
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2898
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnPairing", disabled: cw_btn_disabled }));
|
|
3170
2899
|
}
|
|
3171
2900
|
// BtnVacations
|
|
3172
2901
|
function CwBtnVacations({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3173
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2902
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnVacations", disabled: cw_btn_disabled }));
|
|
3174
2903
|
}
|
|
3175
2904
|
// BtnMVT
|
|
3176
2905
|
function CwBtnMVT({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3177
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2906
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnMVT", disabled: cw_btn_disabled }));
|
|
3178
2907
|
}
|
|
3179
2908
|
// BtnDelay
|
|
3180
2909
|
function CwBtnDelay({ cw_btnOnclick, cw_btn_disabled }) {
|
|
3181
|
-
return jsx("button", { onClick: cw_btnOnclick, className: "
|
|
2910
|
+
return (jsx("button", { onClick: cw_btnOnclick, className: "cw_btn_act cw_btn_act_df cw_btn_Nbg cw_btnDelay", disabled: cw_btn_disabled }));
|
|
3182
2911
|
}
|
|
3183
2912
|
|
|
3184
2913
|
const ResourcesTitleList = ({ resources, canBePinned, includesPinned, onCrewPinning, onClickResourceContextMenu, ResourceTitleComponent }) => {
|
|
@@ -3263,7 +2992,7 @@ const getEventStyle = (event, reslTime) => {
|
|
|
3263
2992
|
borderRadius: "0px",
|
|
3264
2993
|
backgroundColor: event.data.category.color || "grey",
|
|
3265
2994
|
opacity: 0.3,
|
|
3266
|
-
borderBottom: event.data.eventType ===
|
|
2995
|
+
borderBottom: event.data.eventType === 20 ? "solid 1px rgba(0, 0, 0, 0.4)" : ""
|
|
3267
2996
|
};
|
|
3268
2997
|
}
|
|
3269
2998
|
return {
|
|
@@ -3306,9 +3035,8 @@ const EventRender = ({ event, t: schedulerState }) => {
|
|
|
3306
3035
|
[].forEach.call(document.querySelectorAll(".ant-tooltip"), function (el) {
|
|
3307
3036
|
el.style.visibility = "hidden";
|
|
3308
3037
|
});
|
|
3309
|
-
// We don't know in which case is necessary
|
|
3310
3038
|
if (e.target !== e.currentTarget) {
|
|
3311
|
-
// e.
|
|
3039
|
+
// e.preventDetault();
|
|
3312
3040
|
return;
|
|
3313
3041
|
}
|
|
3314
3042
|
const isResize = isResizeFromStart || isResizeFromEnd;
|
|
@@ -3341,11 +3069,9 @@ const EventRender = ({ event, t: schedulerState }) => {
|
|
|
3341
3069
|
}
|
|
3342
3070
|
};
|
|
3343
3071
|
const renderBirthdayEvent = () => (jsxs("div", { className: `fc-timeline-event cwellt_timeline_event cwellt_event_bday ${event.selected ? "cblEventSelected" : ""}`, style: eventStyle, children: [jsx("span", { className: "cbl-birthday", style: { visibility: "visible" } }), event.data.subject && jsx("span", { style: { lineHeight: "1em" }, children: event.data.subject })] }, event.id));
|
|
3344
|
-
const renderRegularEvent = () => (jsxs("div", { draggable: ![10, 11, 16,
|
|
3072
|
+
const renderRegularEvent = () => (jsxs("div", { draggable: ![10, 11, 16, 17, 20].includes(event.data.eventType), className: "fc-timeline-event cwellt_timeline_event " +
|
|
3345
3073
|
(event.selected === true ? "cblEventSelected " : "") +
|
|
3346
|
-
(event.data.eventType ===
|
|
3347
|
-
event.data.eventType === MAX_FLIGHT_DUTY_PERIOD ||
|
|
3348
|
-
event.data.eventType === DUTY_REGULATION
|
|
3074
|
+
(event.data.eventType === 10 || event.data.eventType === 11 || event.data.eventType === 20
|
|
3349
3075
|
? " cwellt_event_bhnd_appt "
|
|
3350
3076
|
: " "), style: eventStyle, onClick: onClickEvent, onContextMenu: onRightClickEvent, onDragStart: e => safeHandleDragStart(e, false, false), onDoubleClick: handleDoubleClick, children: [schedulerState.props.scheduler_handleCblEventResize && !unHandleableEvents.includes(event.data.eventType) && (jsx("span", { draggable: true, onDragStart: e => handleDragStart(e, true, false), style: {
|
|
3351
3077
|
position: "absolute",
|
|
@@ -3361,8 +3087,7 @@ const EventRender = ({ event, t: schedulerState }) => {
|
|
|
3361
3087
|
border: "solid 1px rgba(46,49,49,0.5)",
|
|
3362
3088
|
marginTop: "-25px"
|
|
3363
3089
|
}, children: "\u200B" }))] }, event.id));
|
|
3364
|
-
|
|
3365
|
-
return render;
|
|
3090
|
+
return (jsx("div", { style: { position: "initial" }, children: event.data.eventType === BIRTHDATE ? renderBirthdayEvent() : renderRegularEvent() }));
|
|
3366
3091
|
};
|
|
3367
3092
|
|
|
3368
3093
|
const addMinutesToDateFromPx = (originalDate, leftPx, minutesPerPx) => {
|
|
@@ -3389,8 +3114,7 @@ const isAllowedToMove = (data, resData, cblDragNDrop) => {
|
|
|
3389
3114
|
{ from: "opstoolScheduler", to: "opstoolScheduler" },
|
|
3390
3115
|
{ from: "opstoolScheduler", to: "opstoolSchedulerVirtual" },
|
|
3391
3116
|
{ from: "opstoolSchedulerVirtual", to: "opstoolScheduler" },
|
|
3392
|
-
{ from: "opstoolSchedulerVirtual", to: "opstoolSchedulerVirtual" }
|
|
3393
|
-
{ from: "vacationsScheduler", to: "vacationsScheduler" }
|
|
3117
|
+
{ from: "opstoolSchedulerVirtual", to: "opstoolSchedulerVirtual" }
|
|
3394
3118
|
];
|
|
3395
3119
|
const crewControllAllowedMove = allowedMoves.some(move => move.from === cblDragNDrop.fromId && move.to === cblDragNDrop.toId);
|
|
3396
3120
|
if (crewControllAllowedMove) {
|
|
@@ -3456,14 +3180,19 @@ class ResourceRender extends React__default.Component {
|
|
|
3456
3180
|
// res = true;
|
|
3457
3181
|
return res;
|
|
3458
3182
|
}
|
|
3183
|
+
showStyles() {
|
|
3184
|
+
let style = {};
|
|
3185
|
+
style = {
|
|
3186
|
+
backgroundColor: "#F9F8F8",
|
|
3187
|
+
height: this.props.res.maxTop,
|
|
3188
|
+
width: "100%",
|
|
3189
|
+
position: "relative",
|
|
3190
|
+
borderBottom: "1px solid rgb(255,255,255)"
|
|
3191
|
+
};
|
|
3192
|
+
return style;
|
|
3193
|
+
}
|
|
3459
3194
|
render() {
|
|
3460
|
-
return (jsx("div", { style: {
|
|
3461
|
-
backgroundColor: "#F9F8F8",
|
|
3462
|
-
height: this.props.res.maxTop,
|
|
3463
|
-
width: "100%",
|
|
3464
|
-
position: "relative",
|
|
3465
|
-
borderBottom: "1px solid rgb(255,255,255)"
|
|
3466
|
-
}, onDragOver: e => onDragOver(e), onDrop: e => {
|
|
3195
|
+
return (jsx("div", { style: this.showStyles(), onDragOver: e => onDragOver(e), onDrop: e => {
|
|
3467
3196
|
OnDrop({
|
|
3468
3197
|
e: e,
|
|
3469
3198
|
resource: this.props.res,
|
|
@@ -3472,6 +3201,8 @@ class ResourceRender extends React__default.Component {
|
|
|
3472
3201
|
state: this.props.t.state,
|
|
3473
3202
|
schedulerProps: this.props.t.props
|
|
3474
3203
|
});
|
|
3204
|
+
}, onMouseDown: _e => {
|
|
3205
|
+
// (e.button === 2) ? alert("rightClick resource") : alert("leftClick resource")
|
|
3475
3206
|
}, className: "cwellt_divRow_schContent", children: this.props.res.events.map((evnt, _i) => (jsx(EventRender, { event: evnt, t: this.props.t }, evnt.id))) }, this.props.res.uid));
|
|
3476
3207
|
}
|
|
3477
3208
|
}
|
|
@@ -3494,8 +3225,8 @@ const TimeLine = ({ toolTipTitle, marginLeft }) => {
|
|
|
3494
3225
|
} }) }));
|
|
3495
3226
|
};
|
|
3496
3227
|
|
|
3497
|
-
const SchedulerContentArea = ({ schedulerId, showTimeline, now, lineStyle, resources, scheduler, contextMenuContents, onEmptyClick, setContentArea, onClickContextMenu }) => {
|
|
3498
|
-
return (jsxs("td", { className: "contentArea", style: { width:
|
|
3228
|
+
const SchedulerContentArea = ({ maxPx, schedulerId, showTimeline, now, lineStyle, resources, scheduler, contextMenuContents, onEmptyClick, setContentArea, onClickContextMenu }) => {
|
|
3229
|
+
return (jsxs("td", { className: "contentArea", style: { width: maxPx, overflow: "hidden" }, ref: n => setContentArea(n), children: [showTimeline && (jsx(TimeLine, { toolTipTitle: now
|
|
3499
3230
|
? schedulerId.includes("crewAssignmentsScheduler")
|
|
3500
3231
|
? moment(now).format("HH:mm")
|
|
3501
3232
|
: now.toDateString()
|
|
@@ -3846,7 +3577,7 @@ const filterEvents = (events, start, end, id, resId, module = undefined) => {
|
|
|
3846
3577
|
if (id !== "flightWatchScheduler") {
|
|
3847
3578
|
eventsFiltered = sortByDate(eventsFiltered);
|
|
3848
3579
|
}
|
|
3849
|
-
if (id !== "crewAssignmentsScheduler"
|
|
3580
|
+
if (id !== "crewAssignmentsScheduler") {
|
|
3850
3581
|
return eventsFiltered;
|
|
3851
3582
|
}
|
|
3852
3583
|
eventsFiltered = setNotFullHeightEventsFirst(eventsFiltered);
|
|
@@ -3856,9 +3587,6 @@ const filterEvents = (events, start, end, id, resId, module = undefined) => {
|
|
|
3856
3587
|
if (module === "CrewScheduling") {
|
|
3857
3588
|
eventsFiltered = removeDuplicated(eventsFiltered, "AssignmentID");
|
|
3858
3589
|
}
|
|
3859
|
-
if (module === "CrewSchedulingVacations") {
|
|
3860
|
-
eventsFiltered = removeDuplicated(eventsFiltered, "ID");
|
|
3861
|
-
}
|
|
3862
3590
|
return eventsFiltered;
|
|
3863
3591
|
};
|
|
3864
3592
|
const sortByDate = (events) => events.sort((a, b) => +new Date(a.start) - +new Date(b.start));
|
|
@@ -3895,18 +3623,31 @@ const getRightPixels = (eventEnd, newEnd, dayPx) => {
|
|
|
3895
3623
|
const pixelsPerDay = dayPx ?? 0;
|
|
3896
3624
|
return calculatePixels(adjustedEvent, adjustedReference, pixelsPerDay);
|
|
3897
3625
|
};
|
|
3626
|
+
const getResourcesWithPixels = (resources, _nextProps, dayPx, hasSideBar) => {
|
|
3627
|
+
return resources.map(resource => {
|
|
3628
|
+
const events = resource.events;
|
|
3629
|
+
const mappedEvents = events.map(event => {
|
|
3630
|
+
return {
|
|
3631
|
+
...event,
|
|
3632
|
+
leftPx: getLeftPixels(event.start, _nextProps.startDate, dayPx),
|
|
3633
|
+
rightPx: getRightPixels(event.end, _nextProps.endDate, dayPx) - (hasSideBar ? 17 : 0)
|
|
3634
|
+
};
|
|
3635
|
+
});
|
|
3636
|
+
return {
|
|
3637
|
+
...resource,
|
|
3638
|
+
events: mappedEvents
|
|
3639
|
+
};
|
|
3640
|
+
});
|
|
3641
|
+
};
|
|
3898
3642
|
|
|
3899
3643
|
const checkIfSlotAvailable = (events, event) => {
|
|
3900
3644
|
const lastElement = events.length - 1;
|
|
3901
3645
|
if (events.length == 0)
|
|
3902
3646
|
return true;
|
|
3903
|
-
|
|
3904
|
-
return !(existent.end <= event.start || event.end <= existent.start);
|
|
3905
|
-
});
|
|
3906
|
-
return !collide || events[lastElement].isFullHeight;
|
|
3647
|
+
return events[lastElement].end <= event.start || events[lastElement].isFullHeight;
|
|
3907
3648
|
};
|
|
3908
3649
|
|
|
3909
|
-
const getEventsOfResource = (res, events, state, id, module, start, end) => {
|
|
3650
|
+
const getEventsOfResource = (res, events, state, id, module, start, end, hasSideBar) => {
|
|
3910
3651
|
let maxTop = 0;
|
|
3911
3652
|
const tops = [];
|
|
3912
3653
|
tops[0] = new Array();
|
|
@@ -3944,7 +3685,7 @@ const getEventsOfResource = (res, events, state, id, module, start, end) => {
|
|
|
3944
3685
|
}
|
|
3945
3686
|
const sideBarSize = 17;
|
|
3946
3687
|
event.leftPx = getLeftPixels(event.start, start, state.dayPx);
|
|
3947
|
-
event.rightPx = getRightPixels(event.end, end, state.dayPx) - sideBarSize;
|
|
3688
|
+
event.rightPx = getRightPixels(event.end, end, state.dayPx) - (hasSideBar ? sideBarSize : 0);
|
|
3948
3689
|
});
|
|
3949
3690
|
let OrderedArray = new Array();
|
|
3950
3691
|
for (let h = 0; h < tops.length; h++) {
|
|
@@ -3958,48 +3699,6 @@ const getEventsOfResource = (res, events, state, id, module, start, end) => {
|
|
|
3958
3699
|
}
|
|
3959
3700
|
return OrderedArray;
|
|
3960
3701
|
};
|
|
3961
|
-
const getEventsInInnerRows = (res, state, start, end) => {
|
|
3962
|
-
let maxTop = 0;
|
|
3963
|
-
const tops = [];
|
|
3964
|
-
tops[0] = new Array();
|
|
3965
|
-
res.events.forEach((event, i) => {
|
|
3966
|
-
if (i === 0 || event.isFullHeight) {
|
|
3967
|
-
event.top = 0;
|
|
3968
|
-
tops[0].push(event);
|
|
3969
|
-
}
|
|
3970
|
-
else {
|
|
3971
|
-
let found = false;
|
|
3972
|
-
for (let j = 0; j < tops.length && found === false; j++) {
|
|
3973
|
-
found = checkIfSlotAvailable(tops[j], event);
|
|
3974
|
-
if (found === true || event.isFullHeight) {
|
|
3975
|
-
event.top = j * state.eventHeight;
|
|
3976
|
-
tops[j].push(event);
|
|
3977
|
-
}
|
|
3978
|
-
}
|
|
3979
|
-
if (found === false && !event.isFullHeight) {
|
|
3980
|
-
maxTop++;
|
|
3981
|
-
tops[maxTop] = new Array();
|
|
3982
|
-
event.top = maxTop * state.eventHeight;
|
|
3983
|
-
tops[maxTop].push(event);
|
|
3984
|
-
}
|
|
3985
|
-
else {
|
|
3986
|
-
// This is for flightwatch
|
|
3987
|
-
if (found === true && event.data.order === 2 && maxTop < 1) {
|
|
3988
|
-
maxTop++;
|
|
3989
|
-
tops[maxTop] = new Array();
|
|
3990
|
-
event.top = maxTop * state.eventHeight;
|
|
3991
|
-
tops[maxTop].push(event);
|
|
3992
|
-
maxTop--;
|
|
3993
|
-
}
|
|
3994
|
-
}
|
|
3995
|
-
}
|
|
3996
|
-
const sideBarSize = 17;
|
|
3997
|
-
const rightPx = getRightPixels(event.end, end, state.dayPx) - sideBarSize;
|
|
3998
|
-
event.leftPx = getLeftPixels(event.start, start, state.dayPx);
|
|
3999
|
-
event.rightPx = rightPx < 0 ? 0 : rightPx;
|
|
4000
|
-
});
|
|
4001
|
-
return tops;
|
|
4002
|
-
};
|
|
4003
3702
|
|
|
4004
3703
|
const compareStrings = (str1, str2) => {
|
|
4005
3704
|
if (str1 > str2)
|
|
@@ -4010,8 +3709,7 @@ const compareStrings = (str1, str2) => {
|
|
|
4010
3709
|
};
|
|
4011
3710
|
|
|
4012
3711
|
const filterResources = (module, resourceName, resources, groupByFunction, endDate, startDate) => {
|
|
4013
|
-
if ((module === "CrewControl" || module === "CrewScheduling"
|
|
4014
|
-
resourceName === "Employees") {
|
|
3712
|
+
if ((module === "CrewControl" || module === "CrewScheduling") && resourceName === "Employees") {
|
|
4015
3713
|
resources = resources.filter(c => (c.data.Eintritt === null || (c.data.Eintritt !== null && moment(c.data.Eintritt).toDate() <= endDate)) &&
|
|
4016
3714
|
(c.data.Austritt === null || (c.data.Austritt !== null && moment(c.data.Austritt).toDate() >= startDate)));
|
|
4017
3715
|
}
|
|
@@ -4025,9 +3723,13 @@ const filterResources = (module, resourceName, resources, groupByFunction, endDa
|
|
|
4025
3723
|
const filterAndProcessResources = (id, props, state) => {
|
|
4026
3724
|
const events = [...props.events];
|
|
4027
3725
|
const filteredResources = filterResources(props.module, props.resourceName, [...props.resources], props.groupByFunction, props.endDate, props.startDate);
|
|
3726
|
+
if (filteredResources.length > 0) {
|
|
3727
|
+
console.log("is not empty");
|
|
3728
|
+
}
|
|
3729
|
+
const hasSideBar = !props.id.toLowerCase().includes("pinned");
|
|
4028
3730
|
return filteredResources.map(r => ({
|
|
4029
3731
|
...r,
|
|
4030
|
-
events: getEventsOfResource(r, events, state, id, props.module, props.startDate, props.endDate)
|
|
3732
|
+
events: getEventsOfResource(r, events, state, id, props.module, props.startDate, props.endDate, hasSideBar)
|
|
4031
3733
|
}));
|
|
4032
3734
|
};
|
|
4033
3735
|
|
|
@@ -4066,6 +3768,394 @@ const handleDateChange = (nextProps, currentProps, showLogs, initOutside) => {
|
|
|
4066
3768
|
return;
|
|
4067
3769
|
};
|
|
4068
3770
|
|
|
3771
|
+
const hasSameProperties = (event1, other) => {
|
|
3772
|
+
const areDifferent = event1.resourceId !== other.resourceId ||
|
|
3773
|
+
event1.start !== other.start ||
|
|
3774
|
+
event1.end !== other.end ||
|
|
3775
|
+
event1.selected !== other.selected ||
|
|
3776
|
+
event1.data !== other.data;
|
|
3777
|
+
// TODO: event1.data !== other.data is making a bad compare, we should use
|
|
3778
|
+
// JSON.stringify(this.data) === JSON.stringify(other.data)
|
|
3779
|
+
return !areDifferent;
|
|
3780
|
+
};
|
|
3781
|
+
|
|
3782
|
+
const handlePropChanges = (_nextProps, currentProps, state, setState) => {
|
|
3783
|
+
let eventsPropDic = Object.assign({}, ..._nextProps.events.map(x => ({ [x.id]: x })));
|
|
3784
|
+
let resourcesPropDic = Object.assign({}, ..._nextProps.resources.map(x => ({
|
|
3785
|
+
[x.data.fullName !== undefined ? x.data.fullName : x.name]: x
|
|
3786
|
+
})));
|
|
3787
|
+
let eventsStateDic = Object.assign({}, ...state.events.map(x => ({ [x.id]: x })));
|
|
3788
|
+
let resourcesStateDic = Object.assign({}, ...state.resources.map(x => ({ [x.id]: x })));
|
|
3789
|
+
let state_resources_copy = [...state.resources];
|
|
3790
|
+
let propEvents = [];
|
|
3791
|
+
let stateEvents = [];
|
|
3792
|
+
if (state.events.length !== _nextProps.events.length) {
|
|
3793
|
+
if (currentProps.id === "crewPinnedScheduler" || currentProps.id === "crewAssignmentsScheduler") {
|
|
3794
|
+
// WHEN IS AN INSERT:
|
|
3795
|
+
// Get the inserted events
|
|
3796
|
+
propEvents = lodash.differenceWith(_nextProps.events, state.events, function (o1, o2) {
|
|
3797
|
+
return o1.data.Crew_Id === o2.data.Crew_Id;
|
|
3798
|
+
});
|
|
3799
|
+
eventsPropDic = Object.assign({}, ...propEvents.map(x => ({ [x.id]: x })));
|
|
3800
|
+
// WHEN IS A DELETE:
|
|
3801
|
+
// Get the deleted events
|
|
3802
|
+
stateEvents = lodash.differenceWith(state.events, _nextProps.events, function (o1, o2) {
|
|
3803
|
+
return o1.data.Crew_Id === o2.data.Crew_Id;
|
|
3804
|
+
});
|
|
3805
|
+
eventsStateDic = Object.assign({}, ...stateEvents.map(x => ({ [x.id]: x })));
|
|
3806
|
+
}
|
|
3807
|
+
}
|
|
3808
|
+
if (propEvents.length === 0) {
|
|
3809
|
+
eventsPropDic = Object.assign({}, ..._nextProps.events.map(x => ({ [x.id]: x })));
|
|
3810
|
+
eventsStateDic = Object.assign({}, ...state.events.map(x => ({ [x.id]: x })));
|
|
3811
|
+
}
|
|
3812
|
+
let propResources = [];
|
|
3813
|
+
let stateResources = [];
|
|
3814
|
+
if (state.resources.length !== _nextProps.resources.length &&
|
|
3815
|
+
state.resources.length > 0 &&
|
|
3816
|
+
_nextProps.resources.length > 0) {
|
|
3817
|
+
if (currentProps.id === "crewPinnedScheduler" || currentProps.id === "crewAssignmentsScheduler") {
|
|
3818
|
+
// WHEN IS AN INSERT:
|
|
3819
|
+
// Get the inserted events
|
|
3820
|
+
propResources = lodash.differenceWith(_nextProps.resources, state.resources, function (o1, o2) {
|
|
3821
|
+
return o1.data.Crewmember_Id === o2.data.Crewmember_Id;
|
|
3822
|
+
});
|
|
3823
|
+
resourcesPropDic = Object.assign({}, ...propResources.map(x => ({ [x.id]: x })));
|
|
3824
|
+
// WHEN IS A DELETE:
|
|
3825
|
+
// Get the deleted events
|
|
3826
|
+
stateResources = lodash.differenceWith(state.resources, _nextProps.resources, function (o1, o2) {
|
|
3827
|
+
return o1.data.Crewmember_Id === o2.data.Crewmember_Id;
|
|
3828
|
+
});
|
|
3829
|
+
resourcesStateDic = Object.assign({}, ...stateResources.map(x => ({ [x.id]: x })));
|
|
3830
|
+
}
|
|
3831
|
+
}
|
|
3832
|
+
if (propResources.length === 0) {
|
|
3833
|
+
resourcesPropDic = Object.assign({}, ..._nextProps.resources.map(x => ({ [x.id]: x })));
|
|
3834
|
+
resourcesStateDic = Object.assign({}, ...state.resources.map(x => ({ [x.id]: x })));
|
|
3835
|
+
}
|
|
3836
|
+
const eventsKeys = Array.from(new Set([...Object.keys(eventsPropDic), ...Object.keys(eventsStateDic)]));
|
|
3837
|
+
let resourcesToRecalculate = [];
|
|
3838
|
+
const state_events_copy = [...state.events];
|
|
3839
|
+
eventsKeys.forEach(eventKey => {
|
|
3840
|
+
const eventInPropsDic = eventsPropDic[eventKey];
|
|
3841
|
+
const eventInStateDic = eventsStateDic[eventKey];
|
|
3842
|
+
const createNewEvent = (eventProps, eventInDictionary) => Object.assign(new eventProps.constructor(), eventInDictionary);
|
|
3843
|
+
if (eventInPropsDic && !eventInStateDic) {
|
|
3844
|
+
const newEvent = createNewEvent(eventsPropDic[eventKey], eventInPropsDic);
|
|
3845
|
+
state_events_copy.push(newEvent);
|
|
3846
|
+
resourcesToRecalculate.push(eventInPropsDic.resourceId);
|
|
3847
|
+
}
|
|
3848
|
+
else if (!eventInPropsDic && eventInStateDic) {
|
|
3849
|
+
const index = state_events_copy.indexOf(eventInStateDic);
|
|
3850
|
+
state_events_copy.splice(index, 1);
|
|
3851
|
+
resourcesToRecalculate.push(eventInStateDic.resourceId);
|
|
3852
|
+
}
|
|
3853
|
+
else if (eventInPropsDic && eventInStateDic) {
|
|
3854
|
+
const hasSameProps = hasSameProperties(eventsPropDic[eventKey], eventsStateDic[eventKey]);
|
|
3855
|
+
if (!hasSameProps) {
|
|
3856
|
+
const newEvent = createNewEvent(eventsPropDic[eventKey], eventInPropsDic);
|
|
3857
|
+
const eventInStateCopyIndex = state_events_copy.findIndex(sec => sec.id === newEvent.id);
|
|
3858
|
+
state_events_copy[eventInStateCopyIndex] = newEvent;
|
|
3859
|
+
resourcesToRecalculate.push(eventInPropsDic.resourceId);
|
|
3860
|
+
resourcesToRecalculate.push(eventInStateDic.resourceId);
|
|
3861
|
+
}
|
|
3862
|
+
}
|
|
3863
|
+
});
|
|
3864
|
+
const resourceKeys = Array.from(new Set([...Object.keys(resourcesPropDic), ...Object.keys(resourcesStateDic)]));
|
|
3865
|
+
resourceKeys.forEach(resourceKey => {
|
|
3866
|
+
const resourceInPropsDic1 = resourcesPropDic[resourceKey];
|
|
3867
|
+
const resourceInStateDic1 = resourcesStateDic[resourceKey];
|
|
3868
|
+
if (resourceInPropsDic1 &&
|
|
3869
|
+
resourceInStateDic1 &&
|
|
3870
|
+
(resourceInPropsDic1.isLoading !== resourceInStateDic1.isLoading ||
|
|
3871
|
+
resourceInPropsDic1.data.hasFunctionChangeInPeriod !== resourceInStateDic1.data.hasFunctionChangeInPeriod ||
|
|
3872
|
+
resourceInPropsDic1.data.hasTyperatingChangeInPeriod !== resourceInStateDic1.data.hasTyperatingChangeInPeriod)) {
|
|
3873
|
+
resourcesToRecalculate.push(resourceInPropsDic1.id);
|
|
3874
|
+
}
|
|
3875
|
+
});
|
|
3876
|
+
resourcesToRecalculate = Array.from(new Set(resourcesToRecalculate)).map(m => Number(m));
|
|
3877
|
+
const hasSideBar = checkScrollBar(currentProps.id);
|
|
3878
|
+
resourceKeys.forEach(resourceKey => {
|
|
3879
|
+
const resourceInPropsDic = resourcesPropDic[resourceKey];
|
|
3880
|
+
const resourceInStateDic = resourcesStateDic[resourceKey];
|
|
3881
|
+
if (resourceInPropsDic && !resourceInStateDic) {
|
|
3882
|
+
const newResource = Object.assign(new resourcesPropDic[resourceKey].constructor(), resourceInPropsDic);
|
|
3883
|
+
newResource.events = getEventsOfResource(newResource, state_events_copy, state, currentProps.id, currentProps.module, _nextProps.startDate, _nextProps.endDate, hasSideBar);
|
|
3884
|
+
state_resources_copy.push(newResource);
|
|
3885
|
+
}
|
|
3886
|
+
else if (!resourceInPropsDic && resourceInStateDic) {
|
|
3887
|
+
const index = state_resources_copy.indexOf(resourceInStateDic);
|
|
3888
|
+
state_resources_copy.splice(index, 1);
|
|
3889
|
+
}
|
|
3890
|
+
else if (resourceInPropsDic && resourceInStateDic && resourcesToRecalculate.includes(resourceInPropsDic.id)) {
|
|
3891
|
+
const newResource2 = Object.assign(new resourcesPropDic[resourceKey].constructor(), resourceInPropsDic);
|
|
3892
|
+
newResource2.events = getEventsOfResource(newResource2, state_events_copy, state, currentProps.id, currentProps.module, _nextProps.startDate, _nextProps.endDate, hasSideBar);
|
|
3893
|
+
const resourceInStateCopyIndex = state_resources_copy.findIndex(src => src.id === newResource2.id);
|
|
3894
|
+
state_resources_copy[resourceInStateCopyIndex] = newResource2;
|
|
3895
|
+
}
|
|
3896
|
+
});
|
|
3897
|
+
if (currentProps.id === "crewPinnedScheduler" || currentProps.id === "crewAssignmentsScheduler") {
|
|
3898
|
+
state_resources_copy = state_resources_copy.sort((a, b) => {
|
|
3899
|
+
if (a.data.C3_LC > b.data.C3_LC) {
|
|
3900
|
+
return 1;
|
|
3901
|
+
}
|
|
3902
|
+
if (a.data.C3_LC < b.data.C3_LC) {
|
|
3903
|
+
return -1;
|
|
3904
|
+
}
|
|
3905
|
+
return 0;
|
|
3906
|
+
});
|
|
3907
|
+
}
|
|
3908
|
+
if (resourcesToRecalculate.length > 0 ||
|
|
3909
|
+
_nextProps.resources.length !== state.resources.length ||
|
|
3910
|
+
_nextProps.events.length !== state.events.length) {
|
|
3911
|
+
setState(state_events_copy, state_resources_copy);
|
|
3912
|
+
}
|
|
3913
|
+
if (state.showConsoleLogs) {
|
|
3914
|
+
console.log("Schedule - componentWillReceiveProps - print on schedule, end: ", moment(new Date()).toString());
|
|
3915
|
+
console.log("Schedule - componentWillReceiveProps, end: ", moment(new Date()).toString());
|
|
3916
|
+
}
|
|
3917
|
+
};
|
|
3918
|
+
const checkScrollBar = (id) => {
|
|
3919
|
+
const schedulerElement = document.getElementById(id);
|
|
3920
|
+
const resources = schedulerElement?.firstChild?.lastChild;
|
|
3921
|
+
const schedulerHasScroll = checkScrollBarExists(schedulerElement);
|
|
3922
|
+
const resourcesHaveScroll = checkScrollBarExists(resources);
|
|
3923
|
+
return schedulerHasScroll || resourcesHaveScroll;
|
|
3924
|
+
};
|
|
3925
|
+
const checkScrollBarExists = (element) => {
|
|
3926
|
+
if (element === null) {
|
|
3927
|
+
return false;
|
|
3928
|
+
}
|
|
3929
|
+
let res = element.scrollTop > 0;
|
|
3930
|
+
if (!res) {
|
|
3931
|
+
element.scrollTop = 1;
|
|
3932
|
+
res = element.scrollTop > 0;
|
|
3933
|
+
element.scrollTop = 0;
|
|
3934
|
+
}
|
|
3935
|
+
return res;
|
|
3936
|
+
};
|
|
3937
|
+
|
|
3938
|
+
const handleResourceChange = (nextProps, showLogs, dayPx, setState) => {
|
|
3939
|
+
const props_events_copy = [...nextProps.events];
|
|
3940
|
+
const props_resources_copy = [...nextProps.resources];
|
|
3941
|
+
const hasSideBar = checkScrollBar(nextProps.id);
|
|
3942
|
+
setState(props_events_copy, getResourcesWithPixels(props_resources_copy, nextProps, dayPx, hasSideBar));
|
|
3943
|
+
if (showLogs) {
|
|
3944
|
+
console.log("Schedule - componentWillReceiveProps - print on schedule, end: ", moment(new Date()).toString());
|
|
3945
|
+
console.log("Schedule - componentWillReceiveProps, end: ", moment(new Date()).toString());
|
|
3946
|
+
}
|
|
3947
|
+
};
|
|
3948
|
+
|
|
3949
|
+
const getHasPropsChanges = (props, state, _nextProps) => {
|
|
3950
|
+
let propHasChanges = false;
|
|
3951
|
+
if (state.startDate.getTime() !== _nextProps.startDate.getTime()) {
|
|
3952
|
+
propHasChanges = true;
|
|
3953
|
+
}
|
|
3954
|
+
if (state.endDate.getTime() !== _nextProps.endDate.getTime()) {
|
|
3955
|
+
propHasChanges = true;
|
|
3956
|
+
}
|
|
3957
|
+
if (state.groupByFunction !== _nextProps.groupByFunction && _nextProps.groupByFunction !== undefined) {
|
|
3958
|
+
propHasChanges = true;
|
|
3959
|
+
}
|
|
3960
|
+
if (props.events && _nextProps.events && props.events.length !== _nextProps.events.length) {
|
|
3961
|
+
propHasChanges = true;
|
|
3962
|
+
}
|
|
3963
|
+
if (state.events && _nextProps.events && state.events.length !== _nextProps.events.length) {
|
|
3964
|
+
propHasChanges = true;
|
|
3965
|
+
}
|
|
3966
|
+
if (state.events && _nextProps.events && state.events.length > 0 && _nextProps.events.length > 0) {
|
|
3967
|
+
// When an event has been updated.
|
|
3968
|
+
if (state.events.length === _nextProps.events.length) {
|
|
3969
|
+
for (let i = 0; i < props.events.length; i++) {
|
|
3970
|
+
if (state.events[i].selected !== _nextProps.events[i].selected) {
|
|
3971
|
+
propHasChanges = true;
|
|
3972
|
+
}
|
|
3973
|
+
if (props.events[i].data.state !== undefined &&
|
|
3974
|
+
props.events[i].data.state !== _nextProps.events[i].data.state) {
|
|
3975
|
+
propHasChanges = true;
|
|
3976
|
+
}
|
|
3977
|
+
if (props.events[i].data.start !== undefined &&
|
|
3978
|
+
props.events[i].data.start !== _nextProps.events[i].data.start) {
|
|
3979
|
+
propHasChanges = true;
|
|
3980
|
+
}
|
|
3981
|
+
if (props.events[i].data.end !== undefined && props.events[i].data.end !== _nextProps.events[i].data.end) {
|
|
3982
|
+
propHasChanges = true;
|
|
3983
|
+
}
|
|
3984
|
+
if (props.events[i].data.remark !== undefined &&
|
|
3985
|
+
props.events[i].data.remark !== _nextProps.events[i].data.remark) {
|
|
3986
|
+
propHasChanges = true;
|
|
3987
|
+
}
|
|
3988
|
+
if (props.events[i].data.highPrio !== undefined &&
|
|
3989
|
+
props.events[i].data.highPrio !== _nextProps.events[i].data.highPrio) {
|
|
3990
|
+
propHasChanges = true;
|
|
3991
|
+
}
|
|
3992
|
+
if (props.events[i].data.VacID !== undefined &&
|
|
3993
|
+
props.events[i].data.VacID !== _nextProps.events[i].data.VacID) {
|
|
3994
|
+
propHasChanges = true;
|
|
3995
|
+
}
|
|
3996
|
+
if (props.events[i].data.Crew_Id !== undefined &&
|
|
3997
|
+
props.events[i].data.Crew_Id !== _nextProps.events[i].data.Crew_Id) {
|
|
3998
|
+
propHasChanges = true;
|
|
3999
|
+
}
|
|
4000
|
+
if (props.events[i].data.CrewComp !== undefined &&
|
|
4001
|
+
props.events[i].data.CrewComp !== _nextProps.events[i].data.CrewComp) {
|
|
4002
|
+
propHasChanges = true;
|
|
4003
|
+
}
|
|
4004
|
+
if (props.events[i].data.crewCompString !== undefined &&
|
|
4005
|
+
props.events[i].data.crewCompString !== _nextProps.events[i].data.crewCompString) {
|
|
4006
|
+
propHasChanges = true;
|
|
4007
|
+
}
|
|
4008
|
+
if (props.events[i].data.SplitDuty !== undefined &&
|
|
4009
|
+
props.events[i].data.SplitDuty !== _nextProps.events[i].data.SplitDuty) {
|
|
4010
|
+
propHasChanges = true;
|
|
4011
|
+
}
|
|
4012
|
+
if (props.events[i].data.firstNumber !== undefined &&
|
|
4013
|
+
props.events[i].data.firstNumber !== _nextProps.events[i].data.firstNumber) {
|
|
4014
|
+
propHasChanges = true;
|
|
4015
|
+
}
|
|
4016
|
+
if (props.events[i].data.CompRectList !== undefined &&
|
|
4017
|
+
props.events[i].data.CompRectList !== _nextProps.events[i].data.CompRectList) {
|
|
4018
|
+
propHasChanges = true;
|
|
4019
|
+
}
|
|
4020
|
+
if (props.events[i].data.Jumpseats !== undefined &&
|
|
4021
|
+
props.events[i].data.Jumpseats !== _nextProps.events[i].data.Jumpseats) {
|
|
4022
|
+
propHasChanges = true;
|
|
4023
|
+
}
|
|
4024
|
+
if (props.events[i].data.openJumpSeatsString !== undefined &&
|
|
4025
|
+
props.events[i].data.openJumpSeatsString !== _nextProps.events[i].data.openJumpSeatsString) {
|
|
4026
|
+
propHasChanges = true;
|
|
4027
|
+
}
|
|
4028
|
+
if (props.events[i].data.IsCrewchange !== undefined &&
|
|
4029
|
+
props.events[i].data.IsCrewchange !== _nextProps.events[i].data.IsCrewchange) {
|
|
4030
|
+
propHasChanges = true;
|
|
4031
|
+
}
|
|
4032
|
+
if (props.events[i].data.SStartApt !== undefined &&
|
|
4033
|
+
props.events[i].data.SStartApt !== _nextProps.events[i].data.SStartApt) {
|
|
4034
|
+
propHasChanges = true;
|
|
4035
|
+
}
|
|
4036
|
+
if (props.events[i].data.SEndApt !== undefined &&
|
|
4037
|
+
props.events[i].data.SEndApt !== _nextProps.events[i].data.SEndApt) {
|
|
4038
|
+
propHasChanges = true;
|
|
4039
|
+
}
|
|
4040
|
+
if (props.events[i].data.Instructor !== undefined &&
|
|
4041
|
+
props.events[i].data.Instructor !== _nextProps.events[i].data.Instructor) {
|
|
4042
|
+
propHasChanges = true;
|
|
4043
|
+
}
|
|
4044
|
+
if (props.events[i].data.Trainee !== undefined &&
|
|
4045
|
+
props.events[i].data.Trainee !== _nextProps.events[i].data.Trainee) {
|
|
4046
|
+
propHasChanges = true;
|
|
4047
|
+
}
|
|
4048
|
+
if (props.events[i].data.LineCheck !== undefined &&
|
|
4049
|
+
props.events[i].data.LineCheck !== _nextProps.events[i].data.LineCheck) {
|
|
4050
|
+
propHasChanges = true;
|
|
4051
|
+
}
|
|
4052
|
+
if (props.events[i].data.IsObserver !== undefined &&
|
|
4053
|
+
props.events[i].data.IsObserver !== _nextProps.events[i].data.IsObserver) {
|
|
4054
|
+
propHasChanges = true;
|
|
4055
|
+
}
|
|
4056
|
+
if (props.events[i].data.IsSplitDuty !== undefined &&
|
|
4057
|
+
props.events[i].data.IsSplitDuty !== _nextProps.events[i].data.IsSplitDuty) {
|
|
4058
|
+
propHasChanges = true;
|
|
4059
|
+
}
|
|
4060
|
+
if (props.events[i].data.Comment !== undefined &&
|
|
4061
|
+
props.events[i].data.Comment !== _nextProps.events[i].data.Comment) {
|
|
4062
|
+
propHasChanges = true;
|
|
4063
|
+
}
|
|
4064
|
+
if (props.events[i].data.InternalRemark !== undefined &&
|
|
4065
|
+
props.events[i].data.InternalRemark !== _nextProps.events[i].data.InternalRemark) {
|
|
4066
|
+
propHasChanges = true;
|
|
4067
|
+
}
|
|
4068
|
+
if (props.events[i].data.ExternalRemark !== undefined &&
|
|
4069
|
+
props.events[i].data.ExternalRemark !== _nextProps.events[i].data.ExternalRemark) {
|
|
4070
|
+
propHasChanges = true;
|
|
4071
|
+
}
|
|
4072
|
+
if (props.events[i].data.inserted !== undefined &&
|
|
4073
|
+
props.events[i].data.inserted !== _nextProps.events[i].data.inserted) {
|
|
4074
|
+
propHasChanges = true;
|
|
4075
|
+
}
|
|
4076
|
+
if (props.events[i].data.edited !== undefined &&
|
|
4077
|
+
props.events[i].data.edited !== _nextProps.events[i].data.edited) {
|
|
4078
|
+
propHasChanges = true;
|
|
4079
|
+
}
|
|
4080
|
+
if (props.events[i].data.deleted !== undefined &&
|
|
4081
|
+
props.events[i].data.deleted !== _nextProps.events[i].data.deleted) {
|
|
4082
|
+
propHasChanges = true;
|
|
4083
|
+
}
|
|
4084
|
+
if (props.events[i].data.MissingFunc !== undefined &&
|
|
4085
|
+
props.events[i].data.MissingFunc !== _nextProps.events[i].data.MissingFunc) {
|
|
4086
|
+
propHasChanges = true;
|
|
4087
|
+
}
|
|
4088
|
+
if (props.events[i].data.crewComposition_CompositionName !== undefined &&
|
|
4089
|
+
props.events[i].data.crewComposition_CompositionName !==
|
|
4090
|
+
_nextProps.events[i].data.crewComposition_CompositionName) {
|
|
4091
|
+
propHasChanges = true;
|
|
4092
|
+
}
|
|
4093
|
+
if (props.events[i].data.subject !== undefined &&
|
|
4094
|
+
props.events[i].data.subject !== _nextProps.events[i].data.subject) {
|
|
4095
|
+
propHasChanges = true;
|
|
4096
|
+
}
|
|
4097
|
+
if (props.events[i].data.ACFTID !== undefined &&
|
|
4098
|
+
props.events[i].data.ACFTID !== _nextProps.events[i].data.ACFTID) {
|
|
4099
|
+
propHasChanges = true;
|
|
4100
|
+
}
|
|
4101
|
+
if (props.events[i].data.allAcftId !== undefined &&
|
|
4102
|
+
props.events[i].data.allAcftId !== _nextProps.events[i].data.allAcftId) {
|
|
4103
|
+
propHasChanges = true;
|
|
4104
|
+
}
|
|
4105
|
+
if (props.events[i].data.SCDcrew !== undefined &&
|
|
4106
|
+
props.events[i].data.SCDcrew !== _nextProps.events[i].data.SCDcrew) {
|
|
4107
|
+
propHasChanges = true;
|
|
4108
|
+
}
|
|
4109
|
+
if (props.events[i].data.C3_LC !== undefined &&
|
|
4110
|
+
props.events[i].data.C3_LC !== _nextProps.events[i].data.C3_LC) {
|
|
4111
|
+
propHasChanges = true;
|
|
4112
|
+
}
|
|
4113
|
+
}
|
|
4114
|
+
}
|
|
4115
|
+
}
|
|
4116
|
+
if (state.showConsoleLogs) {
|
|
4117
|
+
console.log("Schedule - componentWillReceiveProps - has changes, end: ", moment(new Date()).toString());
|
|
4118
|
+
console.log("Schedule - componentWillReceiveProps - print on schedule, start: ", moment(new Date()).toString());
|
|
4119
|
+
}
|
|
4120
|
+
if (props.height !== _nextProps.height) {
|
|
4121
|
+
propHasChanges = true;
|
|
4122
|
+
}
|
|
4123
|
+
if (props.pinnedResources !== _nextProps.pinnedResources) {
|
|
4124
|
+
propHasChanges = true;
|
|
4125
|
+
}
|
|
4126
|
+
if (props.resources && _nextProps.resources && props.resources.length !== _nextProps.resources.length) {
|
|
4127
|
+
propHasChanges = true;
|
|
4128
|
+
}
|
|
4129
|
+
if (props.resources && _nextProps.resources && props.resources.length > 0 && _nextProps.resources.length > 0) {
|
|
4130
|
+
if (props.resources.length === _nextProps.resources.length) {
|
|
4131
|
+
for (let i = 0; i < props.resources.length; i++) {
|
|
4132
|
+
if (props.resources[i].isLoading !== _nextProps.resources[i].isLoading) {
|
|
4133
|
+
propHasChanges = true;
|
|
4134
|
+
}
|
|
4135
|
+
if (props.resources[i].isInViewport !== _nextProps.resources[i].isInViewport) {
|
|
4136
|
+
propHasChanges = true;
|
|
4137
|
+
}
|
|
4138
|
+
if (props.resources[i].data.isGroupedByFunction !== _nextProps.resources[i].data.isGroupedByFunction) {
|
|
4139
|
+
propHasChanges = true;
|
|
4140
|
+
}
|
|
4141
|
+
if (props.resources[i].data.hasFunctionChangeInPeriod !== _nextProps.resources[i].data.hasFunctionChangeInPeriod) {
|
|
4142
|
+
propHasChanges = true;
|
|
4143
|
+
}
|
|
4144
|
+
if (props.resources[i].data.hasTyperatingChangeInPeriod !==
|
|
4145
|
+
_nextProps.resources[i].data.hasTyperatingChangeInPeriod) {
|
|
4146
|
+
propHasChanges = true;
|
|
4147
|
+
}
|
|
4148
|
+
}
|
|
4149
|
+
if (props.module === "CrewScheduling" && props.resourceName === "Employees") {
|
|
4150
|
+
if (props.groupByFunction !== _nextProps.groupByFunction) {
|
|
4151
|
+
propHasChanges = true;
|
|
4152
|
+
}
|
|
4153
|
+
}
|
|
4154
|
+
}
|
|
4155
|
+
}
|
|
4156
|
+
return propHasChanges && _nextProps.resources.length > 0 && _nextProps.events.length > 0;
|
|
4157
|
+
};
|
|
4158
|
+
|
|
4069
4159
|
const getTimeHeaders = (startDate, endDate) => {
|
|
4070
4160
|
const dateArray = new Array();
|
|
4071
4161
|
const currentDate = new Date(startDate);
|
|
@@ -4118,6 +4208,7 @@ class CwScheduler extends React.Component {
|
|
|
4118
4208
|
const dayPx = maxPx / Math.floor(daysBetweenTwoDates(props.startDate, props.endDate));
|
|
4119
4209
|
const hourPx = dayPx / 24;
|
|
4120
4210
|
const minutePx = dayPx / 1440;
|
|
4211
|
+
// eslint-disable-next-line react/no-direct-mutation-state
|
|
4121
4212
|
this.state = {
|
|
4122
4213
|
startDate: props.startDate,
|
|
4123
4214
|
endDate: props.endDate,
|
|
@@ -4150,10 +4241,12 @@ class CwScheduler extends React.Component {
|
|
|
4150
4241
|
const minutePx = dayPx / 1440;
|
|
4151
4242
|
const eventHeight = 30;
|
|
4152
4243
|
resources = filterResources(this.props.module, this.props.resourceName, this.props.resources, this.props.groupByFunction, endDate, startDate);
|
|
4244
|
+
const hasScrollBar = checkScrollBar(this.props.id);
|
|
4245
|
+
console.log(this.props.id + "");
|
|
4153
4246
|
resources = resources.map(resource => {
|
|
4154
4247
|
return {
|
|
4155
4248
|
...resource,
|
|
4156
|
-
events: getEventsOfResource(resource, events, this.state, this.props.id, this.props.module, startDate, endDate)
|
|
4249
|
+
events: getEventsOfResource(resource, events, this.state, this.props.id, this.props.module, startDate, endDate, hasScrollBar)
|
|
4157
4250
|
};
|
|
4158
4251
|
});
|
|
4159
4252
|
const groupByFunction = this.props.groupByFunction ?? false;
|
|
@@ -4201,6 +4294,7 @@ class CwScheduler extends React.Component {
|
|
|
4201
4294
|
window.addEventListener("resize", this.handleResize);
|
|
4202
4295
|
};
|
|
4203
4296
|
handleResize = () => { };
|
|
4297
|
+
// eslint-disable-next-line react/no-deprecated
|
|
4204
4298
|
componentWillReceiveProps(_nextProps) {
|
|
4205
4299
|
if (this.state.showConsoleLogs) {
|
|
4206
4300
|
console.log("Schedule - componentWillReceiveProps, start: ", moment(new Date()).toString());
|
|
@@ -4214,43 +4308,25 @@ class CwScheduler extends React.Component {
|
|
|
4214
4308
|
});
|
|
4215
4309
|
return;
|
|
4216
4310
|
}
|
|
4217
|
-
const
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
})
|
|
4237
|
-
.map(resource => {
|
|
4238
|
-
const tops = getEventsInInnerRows(resource, this.state, _nextProps.startDate, _nextProps.endDate);
|
|
4239
|
-
const height = tops.length === 0 ? this.state.eventHeight : tops.length * this.state.eventHeight;
|
|
4240
|
-
let flatMapEvents = [];
|
|
4241
|
-
for (let h = 0; h < tops.length; h++) {
|
|
4242
|
-
flatMapEvents = flatMapEvents.concat(tops[h]);
|
|
4243
|
-
}
|
|
4244
|
-
return {
|
|
4245
|
-
...resource,
|
|
4246
|
-
maxTop: height,
|
|
4247
|
-
events: flatMapEvents
|
|
4248
|
-
};
|
|
4249
|
-
});
|
|
4250
|
-
this.setState({
|
|
4251
|
-
events: mappedEvents,
|
|
4252
|
-
resources: newResources
|
|
4253
|
-
});
|
|
4311
|
+
const hasOnlyResourcesChanged = _nextProps.resources.length !== this.state.resources.length && _nextProps.events.length === 0;
|
|
4312
|
+
if (hasOnlyResourcesChanged) {
|
|
4313
|
+
handleResourceChange(_nextProps, this.state.showConsoleLogs, this.state.dayPx, (events, resources) => {
|
|
4314
|
+
this.setState({
|
|
4315
|
+
events: events,
|
|
4316
|
+
resources: resources
|
|
4317
|
+
});
|
|
4318
|
+
});
|
|
4319
|
+
return;
|
|
4320
|
+
}
|
|
4321
|
+
if (getHasPropsChanges(this.props, this.state, _nextProps)) {
|
|
4322
|
+
handlePropChanges(_nextProps, this.props, this.state, (events, resources) => {
|
|
4323
|
+
this.setState({
|
|
4324
|
+
events: events,
|
|
4325
|
+
resources: resources
|
|
4326
|
+
});
|
|
4327
|
+
});
|
|
4328
|
+
return;
|
|
4329
|
+
}
|
|
4254
4330
|
}
|
|
4255
4331
|
handleOnClickContextMenuResourceScheduler = (_clickEvent, _resource) => {
|
|
4256
4332
|
let datetime = new Date();
|
|
@@ -4288,9 +4364,9 @@ class CwScheduler extends React.Component {
|
|
|
4288
4364
|
endDate: this.state.endDate,
|
|
4289
4365
|
headerName: this.props.resourceName
|
|
4290
4366
|
}, descriptionColumn: this.props.descriptionColumn })), jsx("tbody", { style: {
|
|
4291
|
-
overflowY: "scroll",
|
|
4367
|
+
overflowY: isPinnedTable ? "hidden" : "scroll",
|
|
4292
4368
|
maxHeight: isPinnedTable ? undefined : schedulerHeight
|
|
4293
|
-
}, className:
|
|
4369
|
+
}, className: this.props.id.toLowerCase().includes("pinned") ? "fc-body cw-fc-body-pinned" : "fc-body", children: jsxs("tr", { className: "fc_body_row", ref: this.refRowResourceArea, children: [jsx(ResourcesTitleList, { resources: this.state.resources, canBePinned: this.props.canBePinned ?? false, includesPinned: this.props.id.toLowerCase().includes("pinned"), onCrewPinning: this.handleCrewPinning, onClickResourceContextMenu: this.handleOnClickResourceContextMenu, ResourceTitleComponent: this.props.resourceComp }), jsx("td", { className: "dividerArea" }), jsx(SchedulerContentArea, { maxPx: this.state.maxPx, schedulerId: this.id, showTimeline: showTimeline, now: this.state.nowUtc, lineStyle: this.state.lineStyle, resources: this.state.resources, contextMenuContents: this.props.resourceContextMenuContents, scheduler: this, onEmptyClick: this.props.scheduler_handleEmptyClick, setContentArea: n => (this.contentArea = n), onClickContextMenu: this.handleOnClickContextMenuResourceScheduler })] }) })] }) }));
|
|
4294
4370
|
}
|
|
4295
4371
|
}
|
|
4296
4372
|
|
|
@@ -4527,17 +4603,13 @@ class SuperScheduler extends React.Component {
|
|
|
4527
4603
|
}
|
|
4528
4604
|
render() {
|
|
4529
4605
|
const havePinnedResources = this.state.pinnedResources?.length > 0;
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
? this.props.pinnedEvents.filter(x => this.state.pinnedResources.includes(x.resourceId))
|
|
4536
|
-
: new Array();
|
|
4537
|
-
const notPinnedEvents = this.props.events.filter(x => !this.props.pinnedResources?.includes(x.resourceId));
|
|
4538
|
-
return (jsxs("div", { className: "cwelltSuperScheduler_content", children: [jsx(CwScheduler, { id: "crewPinnedScheduler", events: pinnedEvents, resources: firstSchedulerResources, height: this.state.height, startDate: this.props.startDate, endDate: this.props.endDate, scheduler_handleCblEventClick: this.props.scheduler_handleCblEventClick, scheduler_handleCblEventClickRight: this.props.scheduler_handleCblEventClickRight, scheduler_handleCblEventDoubleClick: this.props.scheduler_handleCblEventDoubleClick, scheduler_handleOnDropCblEventsOnResource: this.props.scheduler_handleOnDropCblEventsOnResource, parent: this.props.parent, cblEventComp: this.props.cblEventComp, scheduler_handleOnClickEventContextMenu: this.props.scheduler_handleOnClickEventContextMenu, resourceComp: this.props.resourceComp, scheduler_handleOnClickContextMenuResource: this.props.scheduler_handleOnClickContextMenuResource, resourceContextMenuContents: this.props.resourceContextMenuContents, scheduler_handleDblClickOnResourceInScheduler: this.props.scheduler_handleDblClickOnResourceInScheduler, scheduler_handleEmptyClick: this.props.scheduler_handleEmptyClick, canBePinned: false, scheduler_handlePinned: this.scheduler_handlePinnedClick, resourceName: this.props.resourceName, descriptionColumn: this.props.descriptionColumn, scheduler_handleOnClickResourceContextMenu: this.props.scheduler_handleOnClickResourceContextMenu, groupByFunction: this.props.groupByFunction }), havePinnedResources && (jsx("div", { style: { padding: "0.5rem" }, children: jsx(CwButton, { "$text": "Clear", onClick: () => {
|
|
4606
|
+
return (jsxs("div", { className: "cwelltSuperScheduler_content", children: [jsx(CwScheduler, { id: "crewPinnedScheduler", events: this.props.pinnedEvents !== undefined
|
|
4607
|
+
? this.props.pinnedEvents.filter(x => this.state.pinnedResources.includes(x.resourceId))
|
|
4608
|
+
: new Array(), resources: havePinnedResources
|
|
4609
|
+
? this.props.resourcesToPin.filter(x => this.state.pinnedResources.includes(x.id))
|
|
4610
|
+
: new Array(), height: this.state.height, startDate: this.props.startDate, endDate: this.props.endDate, scheduler_handleCblEventClick: this.props.scheduler_handleCblEventClick, scheduler_handleCblEventClickRight: this.props.scheduler_handleCblEventClickRight, scheduler_handleCblEventDoubleClick: this.props.scheduler_handleCblEventDoubleClick, scheduler_handleOnDropCblEventsOnResource: this.props.scheduler_handleOnDropCblEventsOnResource, parent: this.props.parent, cblEventComp: this.props.cblEventComp, scheduler_handleOnClickEventContextMenu: this.props.scheduler_handleOnClickEventContextMenu, resourceComp: this.props.resourceComp, scheduler_handleOnClickContextMenuResource: this.props.scheduler_handleOnClickContextMenuResource, resourceContextMenuContents: this.props.resourceContextMenuContents, scheduler_handleDblClickOnResourceInScheduler: this.props.scheduler_handleDblClickOnResourceInScheduler, scheduler_handleEmptyClick: this.props.scheduler_handleEmptyClick, canBePinned: false, scheduler_handlePinned: this.scheduler_handlePinnedClick, resourceName: this.props.resourceName, descriptionColumn: this.props.descriptionColumn, scheduler_handleOnClickResourceContextMenu: this.props.scheduler_handleOnClickResourceContextMenu, groupByFunction: this.props.groupByFunction }), havePinnedResources && (jsx("div", { style: { padding: "0.5rem" }, children: jsx(CwButton, { "$text": "Clear", onClick: () => {
|
|
4539
4611
|
this.props.scheduler_handleClearPinnedOnParent();
|
|
4540
|
-
} }) })), jsx(CwScheduler, { id: "crewAssignmentsScheduler", events:
|
|
4612
|
+
} }) })), jsx(CwScheduler, { id: "crewAssignmentsScheduler", events: this.props.events.filter(x => !this.props.pinnedResources?.includes(x.resourceId)), resources: this.props.resources.filter(x => !this.state.pinnedResources.includes(x.id)), height: this.props.height, startDate: this.props.startDate, endDate: this.props.endDate, scheduler_handleCblEventClick: this.props.scheduler_handleCblEventClick, scheduler_handleCblEventClickRight: this.props.scheduler_handleCblEventClickRight, scheduler_handleCblEventDoubleClick: this.props.scheduler_handleCblEventDoubleClick, scheduler_handleOnDropCblEventsOnResource: this.props.scheduler_handleOnDropCblEventsOnResource, parent: this.props.parent, cblEventComp: this.props.cblEventComp, scheduler_handleOnClickEventContextMenu: this.props.scheduler_handleOnClickEventContextMenu, resourceComp: this.props.resourceComp, scheduler_handleOnClickContextMenuResource: this.handleOnClickContextMenuResource, resourceContextMenuContents: this.props.resourceContextMenuContents, scheduler_handleDblClickOnResourceInScheduler: this.props.scheduler_handleDblClickOnResourceInScheduler, scheduler_handleEmptyClick: this.props.scheduler_handleEmptyClick, canBePinned: true, scheduler_handlePinned: this.scheduler_handlePinnedClick, scheduler_handleCblEventResize: this.props.scheduler_handleCblEventResize, resourceName: this.props.resourceName, descriptionColumn: this.props.descriptionColumn, scheduler_handleOnClickResourceContextMenu: this.props.scheduler_handleOnClickResourceContextMenu, airportSelected: this.props.airportSelected, module: this.props.module, groupByFunction: this.props.groupByFunction })] }));
|
|
4541
4613
|
}
|
|
4542
4614
|
}
|
|
4543
4615
|
class CblDragAndDrop {
|
|
@@ -4714,6 +4786,26 @@ const generateSegment = (includeHyphens) => {
|
|
|
4714
4786
|
return includeHyphens ? "-" + p.substring(0, 4) + "-" + p.substring(4, 8) : p;
|
|
4715
4787
|
};
|
|
4716
4788
|
|
|
4789
|
+
class Resource {
|
|
4790
|
+
uid = "";
|
|
4791
|
+
id;
|
|
4792
|
+
name;
|
|
4793
|
+
maxTop;
|
|
4794
|
+
events = [];
|
|
4795
|
+
isInViewport = false;
|
|
4796
|
+
schedulerResourceDisplay;
|
|
4797
|
+
isLoading = false;
|
|
4798
|
+
data = null;
|
|
4799
|
+
constructor(id, name, eventHeight, data = null, schedulerResourceDisplay = null) {
|
|
4800
|
+
this.id = id;
|
|
4801
|
+
this.name = name;
|
|
4802
|
+
this.maxTop = eventHeight;
|
|
4803
|
+
this.data = data;
|
|
4804
|
+
this.schedulerResourceDisplay = schedulerResourceDisplay || this.name;
|
|
4805
|
+
this.uid = getGUID();
|
|
4806
|
+
}
|
|
4807
|
+
}
|
|
4808
|
+
|
|
4717
4809
|
class cblEvent {
|
|
4718
4810
|
id = "";
|
|
4719
4811
|
start;
|
|
@@ -4741,24 +4833,4 @@ class cblEvent {
|
|
|
4741
4833
|
}
|
|
4742
4834
|
}
|
|
4743
4835
|
|
|
4744
|
-
|
|
4745
|
-
uid = "";
|
|
4746
|
-
id;
|
|
4747
|
-
name;
|
|
4748
|
-
maxTop;
|
|
4749
|
-
events = [];
|
|
4750
|
-
isInViewport = false;
|
|
4751
|
-
schedulerResourceDisplay;
|
|
4752
|
-
isLoading = false;
|
|
4753
|
-
data = null;
|
|
4754
|
-
constructor(id, name, eventHeight, data = null, schedulerResourceDisplay = null) {
|
|
4755
|
-
this.id = id;
|
|
4756
|
-
this.name = name;
|
|
4757
|
-
this.maxTop = eventHeight;
|
|
4758
|
-
this.data = data;
|
|
4759
|
-
this.schedulerResourceDisplay = schedulerResourceDisplay || this.name;
|
|
4760
|
-
this.uid = getGUID();
|
|
4761
|
-
}
|
|
4762
|
-
}
|
|
4763
|
-
|
|
4764
|
-
export { CblDragAndDrop, CwAccordionContainer, CwAlign, CwBtnAdd, CwBtnAddFolder, CwBtnAddMarked, CwBtnAddMarkedSolid, CwBtnAirport, CwBtnAlert, CwBtnApprove, CwBtnArchive, CwBtnArchiveRestore, CwBtnBookMark, CwBtnBookMarkLinkPage, CwBtnBookReadedLine, CwBtnBookReadedSolid, CwBtnBulkDuty, CwBtnCancel, CwBtnCloudFolder, CwBtnCopy, CwBtnCrewPlanning, CwBtnDelay, CwBtnDelete, CwBtnDocumentChecked, CwBtnDocumentPublished, CwBtnDownLoadAllInfo, CwBtnDownLoadFolder, CwBtnDownload, CwBtnDropDownMenu, CwBtnEdit, CwBtnEditFolder, CwBtnEmptytrash, CwBtnFiles, CwBtnFolderIn, CwBtnFulltrash, CwBtnGeneratePairing, CwBtnGoBackFolder, CwBtnHide, CwBtnImportRequests, CwBtnInfo, CwBtnMVT, CwBtnMarked, CwBtnMarkedSolid, CwBtnNavFirstItemView, CwBtnNavLastItemView, CwBtnNavNextDay, CwBtnNavPreviewItem, CwBtnOneDrive, CwBtnPairing, CwBtnPictureFolder, CwBtnPin, CwBtnPrint, CwBtnPropertyFolder, CwBtnPublish, CwBtnRefresh, CwBtnReleasePeriod, CwBtnRestoreTrash, CwBtnRestoreTrashRight, CwBtnSave, CwBtnSearch, CwBtnSelect, CwBtnSelectedFolder, CwBtnSelectedSave, CwBtnShare, CwBtnStatistic, CwBtnUndo, CwBtnUploadFiles, CwBtnUserFolder, CwBtnUsers, CwBtnVacations, CwBtnView, CwBtnWarning, CwButton, CwButtonDanger, CwButtonDangerOutline, CwButtonDef, CwButtonDefOutline, CwButtonSec, CwButtonSecOutline, CwCheckbox, CwContextMenu, CwDialog, CwDialogManager, CwDigit, CwDisplayMessage, CwDropdown, CwDropdownContainer, CwDropdownFilter, CwDropdownNavigation, CwExpandable, CwFileUpload, CwFindAirport, CwFloatingButton, CwHeadFilter, CwHeadingMain, CwHeadingSecond, CwIcon, CwImageArea, CwInput, CwInputDate$1 as CwInputDate, CwInputDatePicker, CwInputDateText, CwInputDate as CwInputDatetime, CwInputImage, CwInputNumber, CwInputPhone, CwInputText, CwLabel, CwLoading, CwLoadingSmall, CwMessage, CwMessageManager, CwMessageType, CwModal, CwModalConfirm, CwModalHover, CwModalIframe, CwMultiFilter, CwMultiFilterTag, CwMultiselect, CwOption, CwOptionList, CwReportModal, CwScheduler, CwSearch as CwSearchInput, CwSelect, CwSelectList, CwSelectListItems, SuperScheduler as CwSuperScheduler, CwTable, CwTableGrouped, CwTabs, CwTag, CwTextArea, CwTime, CwToggle, CwTooltip, CwWeekdaySelector, MultiSelect, Resource, Weekdays, cblEvent, itemsToMultiFilterTags, useCwMessage };
|
|
4836
|
+
export { CblDragAndDrop, CwAccordionContainer, CwAlign, CwBtnAdd, CwBtnAddFolder, CwBtnAddMarked, CwBtnAddMarkedSolid, CwBtnAirport, CwBtnAlert, CwBtnApprove, CwBtnArchive, CwBtnArchiveRestore, CwBtnBookMark, CwBtnBookMarkLinkPage, CwBtnBookReadedLine, CwBtnBookReadedSolid, CwBtnBulkDuty, CwBtnCancel, CwBtnCloudFolder, CwBtnCopy, CwBtnCrewPlanning, CwBtnDelay, CwBtnDelete, CwBtnDocumentChecked, CwBtnDocumentPublished, CwBtnDownLoadAllInfo, CwBtnDownLoadFolder, CwBtnDownload, CwBtnDropDownMenu, CwBtnEdit, CwBtnEditFolder, CwBtnEmptytrash, CwBtnFiles, CwBtnFolderIn, CwBtnFulltrash, CwBtnGeneratePairing, CwBtnGoBackFolder, CwBtnHide, CwBtnImportRequests, CwBtnInfo, CwBtnMVT, CwBtnMarked, CwBtnMarkedSolid, CwBtnNavFirstItemView, CwBtnNavLastItemView, CwBtnNavNextDay, CwBtnNavPreviewItem, CwBtnOneDrive, CwBtnPairing, CwBtnPictureFolder, CwBtnPin, CwBtnPrint, CwBtnPropertyFolder, CwBtnPublish, CwBtnRefresh, CwBtnReleasePeriod, CwBtnRestoreTrash, CwBtnRestoreTrashRight, CwBtnSave, CwBtnSearch, CwBtnSelect, CwBtnSelectedFolder, CwBtnSelectedSave, CwBtnShare, CwBtnStatistic, CwBtnUndo, CwBtnUploadFiles, CwBtnUserFolder, CwBtnUsers, CwBtnVacations, CwBtnView, CwBtnWarning, CwButton, CwButtonDanger, CwButtonDangerOutline, CwButtonDef, CwButtonDefOutline, CwButtonExpandAndCollapse, CwButtonSec, CwButtonSecOutline, CwCheckbox, CwContextMenu, CwDigit, CwDisplayMessage, CwDropdown, CwDropdownContainer, CwDropdownFilter, CwDropdownNavigation, CwExpandable, CwFileUpload, CwFindAirport, CwFloatingButton, CwHeadFilter, CwHeadingMain, CwHeadingSecond, CwIcon, CwImageArea, CwInput, CwInputDate$1 as CwInputDate, CwInputDatePicker, CwInputDateText, CwInputDate as CwInputDatetime, CwInputImage, CwInputNumber, CwInputPhone, CwInputText, CwLabel, CwLoading, CwLoadingSmall, CwMessage, CwMessageManager, CwMessageType, CwModal, CwModalConfirm, CwModalHover, CwModalIframe, CwMultiFilter, CwMultiFilterTag, CwMultiselect, CwOption, CwOptionList, CwReportModal, CwScheduler, CwSearch as CwSearchInput, CwSelect, CwSelectList, CwSelectListItems, SuperScheduler as CwSuperScheduler, CwTable, CwTableGrouped, CwTabs, CwTag, CwTextArea, CwTime, CwToggle, CwTooltip, MultiSelect, Resource, cblEvent, useCwMessage };
|