@orbe-agro/client-core 5.3.85 → 5.3.89
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/@ecme/assets/styles/app.css +1 -1
- package/dist/@ecme/assets/styles/components/_dialog.css +1 -1
- package/dist/@ecme/assets/styles/components/_drawer.css +1 -1
- package/dist/@ecme/assets/styles/components/_scrollbar.css +1 -1
- package/dist/@ecme/assets/styles/components/_switcher.css +1 -1
- package/dist/@ecme/assets/styles/components/_upload.css +1 -1
- package/dist/@ecme/assets/styles/components/index.css +1 -1
- package/dist/@ecme/assets/styles/tailwind/index.css +1 -1
- package/dist/@ecme/auth/AuthProvider.js +58 -62
- package/dist/@ecme/auth/AuthProvider.js.map +1 -1
- package/dist/@ecme/components/docs/DemoCard/DemoCard.js +18 -19
- package/dist/@ecme/components/docs/DemoCard/DemoCard.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js +29 -30
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.js +56 -56
- package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.js.map +1 -1
- package/dist/@ecme/components/shared/Affix.js +9 -10
- package/dist/@ecme/components/shared/Affix.js.map +1 -1
- package/dist/@ecme/components/shared/AutoComplete.js +27 -28
- package/dist/@ecme/components/shared/AutoComplete.js.map +1 -1
- package/dist/@ecme/components/shared/CalendarView.js +19 -20
- package/dist/@ecme/components/shared/CalendarView.js.map +1 -1
- package/dist/@ecme/components/shared/ConfirmDialog.js +16 -16
- package/dist/@ecme/components/shared/ConfirmDialog.js.map +1 -1
- package/dist/@ecme/components/shared/DataTable.js +151 -151
- package/dist/@ecme/components/shared/DataTable.js.map +1 -1
- package/dist/@ecme/components/shared/DebounceInput.js +11 -12
- package/dist/@ecme/components/shared/DebounceInput.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/GanttChart.js +20 -20
- package/dist/@ecme/components/shared/GanttChart/GanttChart.js.map +1 -1
- package/dist/@ecme/components/shared/GanttChart/TaskListTable.js +22 -22
- package/dist/@ecme/components/shared/GanttChart/TaskListTable.js.map +1 -1
- package/dist/@ecme/components/shared/ImageGallery.js +18 -18
- package/dist/@ecme/components/shared/ImageGallery.js.map +1 -1
- package/dist/@ecme/components/shared/Masonry/Masonry.js +25 -25
- package/dist/@ecme/components/shared/Masonry/Masonry.js.map +1 -1
- package/dist/@ecme/components/shared/OtpInput.js +54 -56
- package/dist/@ecme/components/shared/OtpInput.js.map +1 -1
- package/dist/@ecme/components/shared/PasswordInput.js +6 -6
- package/dist/@ecme/components/shared/PasswordInput.js.map +1 -1
- package/dist/@ecme/components/shared/RegionMap.js +9 -9
- package/dist/@ecme/components/shared/RegionMap.js.map +1 -1
- package/dist/@ecme/components/shared/RichTextEditor/RichTextEditor.js +47 -47
- package/dist/@ecme/components/shared/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/@ecme/components/shared/UsersAvatarGroup.js +24 -24
- package/dist/@ecme/components/shared/UsersAvatarGroup.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuContent.js +63 -69
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuContent.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdown.js +48 -48
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdown.js.map +1 -1
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js +220 -231
- package/dist/@ecme/components/template/HorizontalMenuContent/HorizontalMenuDropdownContent.js.map +1 -1
- package/dist/@ecme/components/template/LanguageSelector.js +10 -13
- package/dist/@ecme/components/template/LanguageSelector.js.map +1 -1
- package/dist/@ecme/components/template/Search.js +85 -92
- package/dist/@ecme/components/template/Search.js.map +1 -1
- package/dist/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.js +18 -18
- package/dist/@ecme/components/template/ThemeConfigurator/DirectionSwitcher.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalCollapsedMenuItem.js +17 -17
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalCollapsedMenuItem.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js +59 -59
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalMenuContent.js.map +1 -1
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.js +34 -34
- package/dist/@ecme/components/template/VerticalMenuContent/VerticalSingleMenuItem.js.map +1 -1
- package/dist/@ecme/components/ui/Alert/Alert.js +29 -29
- package/dist/@ecme/components/ui/Alert/Alert.js.map +1 -1
- package/dist/@ecme/components/ui/Avatar/AvatarGroup.js +30 -30
- package/dist/@ecme/components/ui/Avatar/AvatarGroup.js.map +1 -1
- package/dist/@ecme/components/ui/Button/Button.js +66 -67
- package/dist/@ecme/components/ui/Button/Button.js.map +1 -1
- package/dist/@ecme/components/ui/Card/Card.js +39 -40
- package/dist/@ecme/components/ui/Card/Card.js.map +1 -1
- package/dist/@ecme/components/ui/Checkbox/Checkbox.js +42 -42
- package/dist/@ecme/components/ui/Checkbox/Checkbox.js.map +1 -1
- package/dist/@ecme/components/ui/Checkbox/Group.js +27 -27
- package/dist/@ecme/components/ui/Checkbox/Group.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/BasePicker.js +67 -67
- package/dist/@ecme/components/ui/DatePicker/BasePicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/Calendar.js +18 -18
- package/dist/@ecme/components/ui/DatePicker/Calendar.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/CalendarBase.js +77 -78
- package/dist/@ecme/components/ui/DatePicker/CalendarBase.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DatePicker.js +67 -71
- package/dist/@ecme/components/ui/DatePicker/DatePicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DatePickerRange.js +94 -98
- package/dist/@ecme/components/ui/DatePicker/DatePickerRange.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/DateTimepicker.js +51 -58
- package/dist/@ecme/components/ui/DatePicker/DateTimepicker.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/DateTable.js +67 -67
- package/dist/@ecme/components/ui/DatePicker/tables/DateTable.js.map +1 -1
- package/dist/@ecme/components/ui/DatePicker/tables/components/Day.js +12 -12
- package/dist/@ecme/components/ui/DatePicker/tables/components/Day.js.map +1 -1
- package/dist/@ecme/components/ui/Dialog/Dialog.js +25 -25
- package/dist/@ecme/components/ui/Dialog/Dialog.js.map +1 -1
- package/dist/@ecme/components/ui/Drawer/Drawer.js +32 -32
- package/dist/@ecme/components/ui/Drawer/Drawer.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownItem.js +58 -58
- package/dist/@ecme/components/ui/Dropdown/DropdownItem.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js +99 -100
- package/dist/@ecme/components/ui/Dropdown/DropdownMenu.js.map +1 -1
- package/dist/@ecme/components/ui/Dropdown/DropdownSubItem.js +26 -26
- package/dist/@ecme/components/ui/Dropdown/DropdownSubItem.js.map +1 -1
- package/dist/@ecme/components/ui/Form/FormContainer.js +17 -17
- package/dist/@ecme/components/ui/Form/FormContainer.js.map +1 -1
- package/dist/@ecme/components/ui/Form/FormItem.js +38 -38
- package/dist/@ecme/components/ui/Form/FormItem.js.map +1 -1
- package/dist/@ecme/components/ui/Input/Input.js +50 -52
- package/dist/@ecme/components/ui/Input/Input.js.map +1 -1
- package/dist/@ecme/components/ui/InputGroup/Addon.js +12 -13
- package/dist/@ecme/components/ui/InputGroup/Addon.js.map +1 -1
- package/dist/@ecme/components/ui/InputGroup/InputGroup.js +10 -11
- package/dist/@ecme/components/ui/InputGroup/InputGroup.js.map +1 -1
- package/dist/@ecme/components/ui/Notification/Notification.js +19 -19
- package/dist/@ecme/components/ui/Notification/Notification.js.map +1 -1
- package/dist/@ecme/components/ui/Pagination/Pagination.js +45 -45
- package/dist/@ecme/components/ui/Pagination/Pagination.js.map +1 -1
- package/dist/@ecme/components/ui/Radio/Group.js +28 -28
- package/dist/@ecme/components/ui/Radio/Group.js.map +1 -1
- package/dist/@ecme/components/ui/Radio/Radio.js +42 -42
- package/dist/@ecme/components/ui/Radio/Radio.js.map +1 -1
- package/dist/@ecme/components/ui/Segment/SegmentItem.js +53 -53
- package/dist/@ecme/components/ui/Segment/SegmentItem.js.map +1 -1
- package/dist/@ecme/components/ui/Select/Select.js +40 -41
- package/dist/@ecme/components/ui/Select/Select.js.map +1 -1
- package/dist/@ecme/components/ui/Steps/StepItem.js +33 -33
- package/dist/@ecme/components/ui/Steps/StepItem.js.map +1 -1
- package/dist/@ecme/components/ui/Switcher/Switcher.js +24 -24
- package/dist/@ecme/components/ui/Switcher/Switcher.js.map +1 -1
- package/dist/@ecme/components/ui/Tabs/TabNav.js +22 -22
- package/dist/@ecme/components/ui/Tabs/TabNav.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/AmPmInput.js +25 -27
- package/dist/@ecme/components/ui/TimeInput/AmPmInput.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInput.js +130 -135
- package/dist/@ecme/components/ui/TimeInput/TimeInput.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInputField.js +22 -24
- package/dist/@ecme/components/ui/TimeInput/TimeInputField.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/TimeInputRange.js +65 -68
- package/dist/@ecme/components/ui/TimeInput/TimeInputRange.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/utils/createAmPmHandler.js +11 -12
- package/dist/@ecme/components/ui/TimeInput/utils/createAmPmHandler.js.map +1 -1
- package/dist/@ecme/components/ui/TimeInput/utils/createTimeHandler.js +19 -20
- package/dist/@ecme/components/ui/TimeInput/utils/createTimeHandler.js.map +1 -1
- package/dist/@ecme/components/ui/Upload/Upload.js +67 -68
- package/dist/@ecme/components/ui/Upload/Upload.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useCallbackRef.js +7 -10
- package/dist/@ecme/components/ui/hooks/useCallbackRef.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useRootClose.js +32 -32
- package/dist/@ecme/components/ui/hooks/useRootClose.js.map +1 -1
- package/dist/@ecme/components/ui/hooks/useTimeout.js +12 -13
- package/dist/@ecme/components/ui/hooks/useTimeout.js.map +1 -1
- package/dist/@ecme/components/ui/toast/ToastWrapper.js +58 -61
- package/dist/@ecme/components/ui/toast/ToastWrapper.js.map +1 -1
- package/dist/@ecme/components/ui/toast/toast.js +16 -19
- package/dist/@ecme/components/ui/toast/toast.js.map +1 -1
- package/dist/@ecme/components/view/Activity/ActivityEvent.js +63 -67
- package/dist/@ecme/components/view/Activity/ActivityEvent.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/Attachment.js +8 -9
- package/dist/@ecme/components/view/ChatBox/components/Attachment.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/ChatInput.js +37 -39
- package/dist/@ecme/components/view/ChatBox/components/ChatInput.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/Message.js +10 -10
- package/dist/@ecme/components/view/ChatBox/components/Message.js.map +1 -1
- package/dist/@ecme/components/view/CreditCardDialog/CreditCardDialog.js +36 -37
- package/dist/@ecme/components/view/CreditCardDialog/CreditCardDialog.js.map +1 -1
- package/dist/@ecme/components/view/TaskItem/TaskItem.js +33 -33
- package/dist/@ecme/components/view/TaskItem/TaskItem.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/chatFakeApi.js +16 -18
- package/dist/@ecme/mock/fakeApi/chatFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/customersFakeApi.js +10 -11
- package/dist/@ecme/mock/fakeApi/customersFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/helpCenterFakeApi.js +10 -11
- package/dist/@ecme/mock/fakeApi/helpCenterFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/mailFakeApi.js +9 -10
- package/dist/@ecme/mock/fakeApi/mailFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/ordersFakeApi.js +9 -10
- package/dist/@ecme/mock/fakeApi/ordersFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/productsFakeApi.js +7 -8
- package/dist/@ecme/mock/fakeApi/productsFakeApi.js.map +1 -1
- package/dist/@ecme/mock/fakeApi/projectsFakeApi.js +10 -11
- package/dist/@ecme/mock/fakeApi/projectsFakeApi.js.map +1 -1
- package/dist/@ecme/utils/hooks/useInfiniteScroll.js +11 -11
- package/dist/@ecme/utils/hooks/useInfiniteScroll.js.map +1 -1
- package/dist/@ecme/utils/hooks/useMenuActive.js +11 -12
- package/dist/@ecme/utils/hooks/useMenuActive.js.map +1 -1
- package/dist/@ecme/views/auth/ForgotPassword/components/ForgotPasswordForm.js +36 -37
- package/dist/@ecme/views/auth/ForgotPassword/components/ForgotPasswordForm.js.map +1 -1
- package/dist/@ecme/views/auth/OtpVerification/OtpVerification.js +14 -14
- package/dist/@ecme/views/auth/OtpVerification/OtpVerification.js.map +1 -1
- package/dist/@ecme/views/auth/OtpVerification/components/OtpVerificationForm.js +41 -42
- package/dist/@ecme/views/auth/OtpVerification/components/OtpVerificationForm.js.map +1 -1
- package/dist/@ecme/views/auth/ResetPassword/components/ResetPasswordForm.js +59 -60
- package/dist/@ecme/views/auth/ResetPassword/components/ResetPasswordForm.js.map +1 -1
- package/dist/@ecme/views/auth/SignIn/components/OauthSignIn.js +27 -27
- package/dist/@ecme/views/auth/SignIn/components/OauthSignIn.js.map +1 -1
- package/dist/@ecme/views/auth/SignIn/components/SignInForm.js +57 -58
- package/dist/@ecme/views/auth/SignIn/components/SignInForm.js.map +1 -1
- package/dist/@ecme/views/auth/SignUp/components/SignUpForm.js +37 -38
- package/dist/@ecme/views/auth/SignUp/components/SignUpForm.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Pricing/components/PaymentDialog.js +44 -45
- package/dist/@ecme/views/concepts/accounts/Pricing/components/PaymentDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Pricing/components/Plans.js +5 -5
- package/dist/@ecme/views/concepts/accounts/Pricing/components/Plans.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsAccessDialog.js +34 -35
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsAccessDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserAction.js +26 -26
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserAction.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserTable.js +28 -29
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/components/RolesPermissionsUserTable.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/hooks/useRolePermissonsUsers.js +8 -8
- package/dist/@ecme/views/concepts/accounts/RolesPermissions/hooks/useRolePermissonsUsers.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingMobileMenu.js +10 -11
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingMobileMenu.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsBilling.js +48 -49
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsBilling.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsMenu.js +14 -14
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsMenu.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsProfile.js +102 -103
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsProfile.js.map +1 -1
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsSecurity.js +34 -35
- package/dist/@ecme/views/concepts/accounts/Settings/components/SettingsSecurity.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomAction.js +16 -16
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomAction.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomContent.js +76 -78
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatCustomContent.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js +23 -23
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistory.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js +48 -49
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryItem.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js +34 -35
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatHistoryRenameDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatMobileNav.js +11 -14
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatMobileNav.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatSideNav.js +19 -19
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatSideNav.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js +22 -26
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js +18 -24
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/ConfigDropdown.js +22 -22
- package/dist/@ecme/views/concepts/ai/Image/components/ConfigDropdown.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.js +31 -32
- package/dist/@ecme/views/concepts/ai/Image/components/GeneratorPrompt.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Image/components/ImageDialog.js +31 -32
- package/dist/@ecme/views/concepts/ai/Image/components/ImageDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/calendar/Calendar/Calendar.js +38 -39
- package/dist/@ecme/views/concepts/calendar/Calendar/Calendar.js.map +1 -1
- package/dist/@ecme/views/concepts/calendar/Calendar/components/EventDialog.js +68 -69
- package/dist/@ecme/views/concepts/calendar/Calendar/components/EventDialog.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatBody.js +63 -66
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatBody.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatList.js +21 -22
- package/dist/@ecme/views/concepts/chat/Chat/components/ChatList.js.map +1 -1
- package/dist/@ecme/views/concepts/chat/Chat/components/ContactInfoDrawer.js +84 -85
- package/dist/@ecme/views/concepts/chat/Chat/components/ContactInfoDrawer.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ActivitySection.js +19 -19
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ActivitySection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/BillingSection.js +51 -58
- package/dist/@ecme/views/concepts/customers/CustomerDetails/BillingSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ProfileSection.js +76 -89
- package/dist/@ecme/views/concepts/customers/CustomerDetails/ProfileSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/AddressSection.js +104 -107
- package/dist/@ecme/views/concepts/customers/CustomerForm/AddressSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/CustomerForm.js +22 -22
- package/dist/@ecme/views/concepts/customers/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerForm/OverviewSection.js +38 -39
- package/dist/@ecme/views/concepts/customers/CustomerForm/OverviewSection.js.map +1 -1
- package/dist/@ecme/views/concepts/customers/CustomerList/hooks/useCustomerList.js +20 -20
- package/dist/@ecme/views/concepts/customers/CustomerList/hooks/useCustomerList.js.map +1 -1
- package/dist/@ecme/views/concepts/files/FileManager/components/FileItemDropdown.js +32 -33
- package/dist/@ecme/views/concepts/files/FileManager/components/FileItemDropdown.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleHeader.js +17 -18
- package/dist/@ecme/views/concepts/help-center/EditArticle/components/EditArticleHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/ManageArticle/hooks/useManageArticle.js +5 -5
- package/dist/@ecme/views/concepts/help-center/ManageArticle/hooks/useManageArticle.js.map +1 -1
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/TopSection.js +12 -13
- package/dist/@ecme/views/concepts/help-center/SupportHub/components/TopSection.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailAction.js +28 -29
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailAction.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailContent.js +63 -67
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailContent.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.js +8 -8
- package/dist/@ecme/views/concepts/mail/Mail/components/MailDetailTitle.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailEditor.js +36 -37
- package/dist/@ecme/views/concepts/mail/Mail/components/MailEditor.js.map +1 -1
- package/dist/@ecme/views/concepts/mail/Mail/components/MailList.js +134 -137
- package/dist/@ecme/views/concepts/mail/Mail/components/MailList.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailProducts.js +17 -17
- package/dist/@ecme/views/concepts/orders/OrderDetails/components/OrderDetailProducts.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderEdit/OrderEdit.js +35 -35
- package/dist/@ecme/views/concepts/orders/OrderEdit/OrderEdit.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/OrderForm.js +38 -38
- package/dist/@ecme/views/concepts/orders/OrderForm/OrderForm.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/BillingAddressSection.js +108 -111
- package/dist/@ecme/views/concepts/orders/OrderForm/components/BillingAddressSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.js +44 -45
- package/dist/@ecme/views/concepts/orders/OrderForm/components/CustomerDetailSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.js +211 -214
- package/dist/@ecme/views/concepts/orders/OrderForm/components/PaymentMethodSection.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.js +17 -17
- package/dist/@ecme/views/concepts/orders/OrderList/components/OrderListTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/orders/OrderList/hooks/useOrderlist.js +15 -15
- package/dist/@ecme/views/concepts/orders/OrderList/hooks/useOrderlist.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/ProductForm.js +4 -4
- package/dist/@ecme/views/concepts/products/ProductForm/ProductForm.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/AttributeSection.js +97 -100
- package/dist/@ecme/views/concepts/products/ProductForm/components/AttributeSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/GeneralSection.js +68 -71
- package/dist/@ecme/views/concepts/products/ProductForm/components/GeneralSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/ImageSection.js +85 -86
- package/dist/@ecme/views/concepts/products/ProductForm/components/ImageSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductForm/components/PricingSection.js +121 -124
- package/dist/@ecme/views/concepts/products/ProductForm/components/PricingSection.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSearch.js +11 -11
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductListSearch.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductTableFilter.js +17 -17
- package/dist/@ecme/views/concepts/products/ProductList/components/ProductTableFilter.js.map +1 -1
- package/dist/@ecme/views/concepts/products/ProductList/hooks/useProductList.js +17 -17
- package/dist/@ecme/views/concepts/products/ProductList/hooks/useProductList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueBody.js +101 -105
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueBody.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueFooter.js +57 -58
- package/dist/@ecme/views/concepts/projects/Issue/components/IssueFooter.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsHeader.js +51 -52
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsOverview.js +22 -23
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsOverview.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsSetting.js +45 -46
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsSetting.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js +62 -65
- package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.js +52 -53
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.js +23 -25
- package/dist/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.js +15 -15
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListHeader.js +16 -16
- package/dist/@ecme/views/concepts/projects/ProjectList/components/ProjectListHeader.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ProjectList/hooks/useProjectList.js +9 -9
- package/dist/@ecme/views/concepts/projects/ProjectList/hooks/useProjectList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewColumnContent.js +40 -41
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewColumnContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewTicketContent.js +33 -34
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/AddNewTicketContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardCardList.js +33 -33
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/BoardCardList.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/TicketContent.js +203 -210
- package/dist/@ecme/views/concepts/projects/ScrumBoard/components/TicketContent.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/AddTask.js +53 -56
- package/dist/@ecme/views/concepts/projects/Tasks/components/AddTask.js.map +1 -1
- package/dist/@ecme/views/concepts/projects/Tasks/components/TaskList.js +80 -83
- package/dist/@ecme/views/concepts/projects/Tasks/components/TaskList.js.map +1 -1
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticHeader.js +6 -6
- package/dist/@ecme/views/dashboards/AnalyticDashboard/components/AnalyticHeader.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/Overview.js +21 -21
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/Overview.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RevenueByChannel.js +27 -27
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/RevenueByChannel.js.map +1 -1
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/SalesTarget.js +27 -27
- package/dist/@ecme/views/dashboards/EcommerceDashboard/components/SalesTarget.js.map +1 -1
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/CreateCampaign.js +59 -60
- package/dist/@ecme/views/dashboards/MarketingDashboard/components/CreateCampaign.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/CreateEventDialog.js +76 -77
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/CreateEventDialog.js.map +1 -1
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/UpcomingSchedule.js +30 -30
- package/dist/@ecme/views/dashboards/ProjectDashboard/components/UpcomingSchedule.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/WithForm.js +21 -22
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/CustomFormatInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/ImageGalleryDoc/Example.js +15 -15
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/ImageGalleryDoc/Example.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/WithForm.js +20 -21
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/NumericInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/WithForm.js +20 -21
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/PatternInputDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/WithForm.js +20 -21
- package/dist/@ecme/views/guide/SharedComponentsDoc/components/RichTextEditorDoc/WithForm.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/Editable.js +17 -18
- package/dist/@ecme/views/ui-components/data-display/Table/Editable.js.map +1 -1
- package/dist/@ecme/views/ui-components/data-display/Table/PaginationTable.js +12 -12
- package/dist/@ecme/views/ui-components/data-display/Table/PaginationTable.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/AsyncValidation.js +28 -29
- package/dist/@ecme/views/ui-components/forms/FormControl/AsyncValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/Basic.js +21 -22
- package/dist/@ecme/views/ui-components/forms/FormControl/Basic.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/DependentValidation.js +24 -25
- package/dist/@ecme/views/ui-components/forms/FormControl/DependentValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/DynamicForm.js +75 -79
- package/dist/@ecme/views/ui-components/forms/FormControl/DynamicForm.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/FieldValidation.js +19 -20
- package/dist/@ecme/views/ui-components/forms/FormControl/FieldValidation.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/MixedFormControl.js +90 -91
- package/dist/@ecme/views/ui-components/forms/FormControl/MixedFormControl.js.map +1 -1
- package/dist/@ecme/views/ui-components/forms/FormControl/SchemaValidation.js +22 -23
- package/dist/@ecme/views/ui-components/forms/FormControl/SchemaValidation.js.map +1 -1
- package/dist/@types/base/configs/api.config.d.ts +0 -19
- package/dist/@types/base/configs/api.config.d.ts.map +1 -1
- package/dist/base/assets/styles/init.css +1 -1
- package/dist/base/components/forms/ArraysForms/GenericArrayNumberFormSection.js +24 -25
- package/dist/base/components/forms/ArraysForms/GenericArrayNumberFormSection.js.map +1 -1
- package/dist/base/components/forms/ArraysForms/GenericArrayStringFormSection.js +23 -24
- package/dist/base/components/forms/ArraysForms/GenericArrayStringFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericFomrsSetValue/GenericNumberFormSectionPrice.js +30 -31
- package/dist/base/components/forms/GenericFomrsSetValue/GenericNumberFormSectionPrice.js.map +1 -1
- package/dist/base/components/forms/GenericFomrsSetValue/GenericStringFormSection.js +25 -26
- package/dist/base/components/forms/GenericFomrsSetValue/GenericStringFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js +49 -50
- package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericNumberFormSection.js +27 -28
- package/dist/base/components/forms/GenericForms/GenericNumberFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericStringFormSection.js +23 -24
- package/dist/base/components/forms/GenericForms/GenericStringFormSection.js.map +1 -1
- package/dist/base/components/forms/GenericForms/GenericUploadFormSection.js +27 -28
- package/dist/base/components/forms/GenericForms/GenericUploadFormSection.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPercentage.js +29 -30
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPercentage.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPrice.js +27 -28
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionPrice.js.map +1 -1
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionWeight.js +27 -28
- package/dist/base/components/forms/NumberFormVariant/GenericNumberFormSectionWeight.js.map +1 -1
- package/dist/base/components/shared/TransferirProcessoDialog.js +10 -10
- package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
- package/dist/base/components/tools/NavFilter.js +68 -75
- package/dist/base/components/tools/NavFilter.js.map +1 -1
- package/dist/base/configs/api.config.js +11 -14
- package/dist/base/configs/api.config.js.map +1 -1
- package/dist/base/hooks/adm/roles/useRolesList.js +11 -11
- package/dist/base/hooks/adm/roles/useRolesList.js.map +1 -1
- package/dist/base/hooks/adm/users/useUsersList.js +10 -10
- package/dist/base/hooks/adm/users/useUsersList.js.map +1 -1
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerClienteList.js +5 -5
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerClienteList.js.map +1 -1
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerFornecedorList.js +7 -7
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerFornecedorList.js.map +1 -1
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerList.js +10 -10
- package/dist/base/hooks/dm/businessPartner/useBusinessPartnerList.js.map +1 -1
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoByCodigoList.js +8 -8
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoList.js +8 -8
- package/dist/base/hooks/dm/canalDistribuicao/useCanalDistribuicaoList.js.map +1 -1
- package/dist/base/hooks/dm/centro/useCentroByCodigoList.js +13 -13
- package/dist/base/hooks/dm/centro/useCentroByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/centro/useCentroList.js +6 -6
- package/dist/base/hooks/dm/centro/useCentroList.js.map +1 -1
- package/dist/base/hooks/dm/condicaoPagamento/useCondicaoPagamentoList.js +4 -4
- package/dist/base/hooks/dm/condicaoPagamento/useCondicaoPagamentoList.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositoByCodigoList.js +9 -9
- package/dist/base/hooks/dm/deposito/useDepositoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositoList.js +5 -5
- package/dist/base/hooks/dm/deposito/useDepositoList.js.map +1 -1
- package/dist/base/hooks/dm/deposito/useDepositosByCodigoCentroList.js +13 -13
- package/dist/base/hooks/dm/deposito/useDepositosByCodigoCentroList.js.map +1 -1
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaByCodigoList.js +8 -8
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaList.js +6 -6
- package/dist/base/hooks/dm/equipeVenda/useEquipeVendaList.js.map +1 -1
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaByCodigoList.js +10 -10
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaList.js +7 -7
- package/dist/base/hooks/dm/escritorioVenda/useEscritorioVendaList.js.map +1 -1
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoByCodigoList.js +10 -10
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoList.js +1 -1
- package/dist/base/hooks/dm/formaPagamento/useFormaPagamentoList.js.map +1 -1
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaByCodigoList.js +11 -11
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaList.js +9 -9
- package/dist/base/hooks/dm/grupoVenda/useGrupoVendaList.js.map +1 -1
- package/dist/base/hooks/dm/incoterms/useIncotermsList.js +17 -18
- package/dist/base/hooks/dm/incoterms/useIncotermsList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoByCodigoList.js +13 -13
- package/dist/base/hooks/dm/produto/useProdutoByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoByGrupoProdutoList.js +21 -21
- package/dist/base/hooks/dm/produto/useProdutoByGrupoProdutoList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoFindList.js +8 -8
- package/dist/base/hooks/dm/produto/useProdutoFindList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoFindMonitorList.js +11 -11
- package/dist/base/hooks/dm/produto/useProdutoFindMonitorList.js.map +1 -1
- package/dist/base/hooks/dm/produto/useProdutoIsPrecificadoRacaoList.js +9 -9
- package/dist/base/hooks/dm/produto/useProdutoIsPrecificadoRacaoList.js.map +1 -1
- package/dist/base/hooks/dm/setorAtividade/useSetorAtividadeList.js +5 -5
- package/dist/base/hooks/dm/setorAtividade/useSetorAtividadeList.js.map +1 -1
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaByCodigoList.js +9 -9
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaList.js +9 -9
- package/dist/base/hooks/dm/tipoDocumentoVenda/useTipoDocumentoVendaList.js.map +1 -1
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaByCodigoList.js +10 -10
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaByCodigoList.js.map +1 -1
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaList.js +9 -9
- package/dist/base/hooks/dm/tipoOrdemVenda/useTipoOrdemVendaList.js.map +1 -1
- package/dist/base/hooks/useList.js +10 -10
- package/dist/base/hooks/useList.js.map +1 -1
- package/dist/base/services/modules/transportadora/ControleDescarga/ControleDescargaService.js +15 -15
- package/dist/base/services/modules/transportadora/ControleDescarga/ControleDescargaService.js.map +1 -1
- package/dist/base/services/modules/transportadora/ControleEmbarque/ControleEmbarqueService.js +7 -7
- package/dist/base/services/modules/transportadora/ControleEmbarque/ControleEmbarqueService.js.map +1 -1
- package/dist/base/services/modules/transportadora/NaturezaCarga/NaturezaCargaService.js +5 -5
- package/dist/base/services/modules/transportadora/NaturezaCarga/NaturezaCargaService.js.map +1 -1
- package/dist/base/utils/functions/stringUtils.js +14 -15
- package/dist/base/utils/functions/stringUtils.js.map +1 -1
- package/lib/base/configs/api.config.ts +6 -7
- package/package.json +1 -1
- package/tsconfig.json +6 -1
package/dist/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectDetailsTask.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Table from '@/components/ui/Table'\nimport Tag from '@/components/ui/Tag'\nimport Loading from '@/components/shared/Loading'\nimport UsersAvatarGroup from '@/components/shared/UsersAvatarGroup'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport { apiGetScrumBoards } from '@/services/ProjectService'\nimport { TbCircleCheck, TbCircleCheckFilled } from 'react-icons/tb'\nimport useSWR from 'swr'\nimport dayjs from 'dayjs'\nimport type { GetProjectDetailsTaskResponse, Task } from '../types'\n\nconst ordered = ['To Do', 'In Progress', 'To Review', 'Completed']\n\nconst taskLabelColors: Record<string, string> = {\n 'Live issue': 'bg-rose-100 dark:bg-rose-100 dark:text-gray-900',\n Task: 'bg-blue-100 dark:bg-blue-100 dark:text-gray-900',\n Bug: 'bg-amber-100 dark:bg-amber-100 dark:text-gray-900',\n 'Low priority': 'bg-purple-100 dark:bg-purple-100 dark:text-gray-900',\n}\n\nconst { Td, Tr, TBody } = Table\n\nconst ProjectDetailsTask = () => {\n const [selectedTask, setSelectedTask] = useState<{\n key: string\n id: string\n } | null>(null)\n\n const { data, isLoading, mutate } = useSWR(\n ['/api/projects/scrum-board'],\n () => apiGetScrumBoards<GetProjectDetailsTaskResponse>(),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const handleCheckClick = (key: string, id: string) => {\n if (key !== 'Completed') {\n setSelectedTask({ key, id })\n }\n }\n\n const handleDialogConfirmClick = () => {\n if (selectedTask) {\n const { key, id } = selectedTask\n const newData = { ...data }\n if (key !== 'Completed') {\n let taskToMove = {}\n newData[key] = newData[key].filter((task) => {\n if (task.id === id) {\n task.checked = true\n taskToMove = task\n }\n return task.id !== id\n })\n newData['Completed'].push(taskToMove as Task)\n mutate(newData, false)\n setSelectedTask(null)\n }\n }\n }\n\n const handleDialogClose = () => {\n setSelectedTask(null)\n }\n\n return (\n <>\n <Loading loading={isLoading}>\n <div className=\"flex flex-col gap-12\">\n {ordered.map((key, index) => (\n <div key={key + index}>\n <h4 className=\"mb-4\">{key}</h4>\n {data && (\n <Table compact hoverable={false}>\n <TBody>\n {data[key].map((task) => (\n <Tr key={task.id}>\n <Td className=\"w-[40px]\">\n <button\n className=\"text-2xl cursor-pointer pt-1\"\n role=\"button\"\n onClick={() =>\n handleCheckClick(\n key,\n task.id,\n )\n }\n >\n {task.checked ? (\n <TbCircleCheckFilled className=\"text-primary\" />\n ) : (\n <TbCircleCheck className=\"hover:text-primary\" />\n )}\n </button>\n </Td>\n <Td className=\"w-[500px]\">\n <span className=\"heading-text font-bold\">\n {task.name}\n </span>\n </Td>\n <Td className=\"w-[200px]\">\n {task.labels?.map(\n (label, index) => (\n <Tag\n key={\n label +\n index\n }\n className={`mr-2 rtl:ml-2 mb-2 ${taskLabelColors[label]}`}\n >\n {label}\n </Tag>\n ),\n )}\n </Td>\n <Td className=\"w-[150px]\">\n <span className=\"font-semibold\">\n {task.dueDate\n ? dayjs(\n task.dueDate,\n ).format(\n 'MMMM DD',\n )\n : '-'}\n </span>\n </Td>\n <Td>\n <UsersAvatarGroup\n avatarProps={{\n size: 25,\n }}\n users={task.members}\n />\n </Td>\n </Tr>\n ))}\n </TBody>\n </Table>\n )}\n </div>\n ))}\n </div>\n </Loading>\n <ConfirmDialog\n isOpen={Boolean(selectedTask)}\n type=\"info\"\n title=\"Mark task as completed\"\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n onCancel={handleDialogClose}\n onConfirm={handleDialogConfirmClick}\n >\n <p>Are you sure you want mark this task as completed? </p>\n </ConfirmDialog>\n </>\n )\n}\n\nexport default ProjectDetailsTask\n"],"names":["ordered","taskLabelColors","Td","Tr","TBody","Table","ProjectDetailsTask","selectedTask","setSelectedTask","useState","data","isLoading","mutate","useSWR","apiGetScrumBoards","handleCheckClick","key","id","handleDialogConfirmClick","newData","taskToMove","task","handleDialogClose","jsxs","Fragment","jsx","Loading","index","TbCircleCheckFilled","TbCircleCheck","label","Tag","dayjs","UsersAvatarGroup","ConfirmDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectDetailsTask.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectDetails/components/ProjectDetailsTask.tsx"],"sourcesContent":["import { useState } from 'react'\nimport Table from '@/components/ui/Table'\nimport Tag from '@/components/ui/Tag'\nimport Loading from '@/components/shared/Loading'\nimport UsersAvatarGroup from '@/components/shared/UsersAvatarGroup'\nimport ConfirmDialog from '@/components/shared/ConfirmDialog'\nimport { apiGetScrumBoards } from '@/services/ProjectService'\nimport { TbCircleCheck, TbCircleCheckFilled } from 'react-icons/tb'\nimport useSWR from 'swr'\nimport dayjs from 'dayjs'\nimport type { GetProjectDetailsTaskResponse, Task } from '../types'\n\nconst ordered = ['To Do', 'In Progress', 'To Review', 'Completed']\n\nconst taskLabelColors: Record<string, string> = {\n 'Live issue': 'bg-rose-100 dark:bg-rose-100 dark:text-gray-900',\n Task: 'bg-blue-100 dark:bg-blue-100 dark:text-gray-900',\n Bug: 'bg-amber-100 dark:bg-amber-100 dark:text-gray-900',\n 'Low priority': 'bg-purple-100 dark:bg-purple-100 dark:text-gray-900',\n}\n\nconst { Td, Tr, TBody } = Table\n\nconst ProjectDetailsTask = () => {\n const [selectedTask, setSelectedTask] = useState<{\n key: string\n id: string\n } | null>(null)\n\n const { data, isLoading, mutate } = useSWR(\n ['/api/projects/scrum-board'],\n () => apiGetScrumBoards<GetProjectDetailsTaskResponse>(),\n {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n },\n )\n\n const handleCheckClick = (key: string, id: string) => {\n if (key !== 'Completed') {\n setSelectedTask({ key, id })\n }\n }\n\n const handleDialogConfirmClick = () => {\n if (selectedTask) {\n const { key, id } = selectedTask\n const newData = { ...data }\n if (key !== 'Completed') {\n let taskToMove = {}\n newData[key] = newData[key].filter((task) => {\n if (task.id === id) {\n task.checked = true\n taskToMove = task\n }\n return task.id !== id\n })\n newData['Completed'].push(taskToMove as Task)\n mutate(newData, false)\n setSelectedTask(null)\n }\n }\n }\n\n const handleDialogClose = () => {\n setSelectedTask(null)\n }\n\n return (\n <>\n <Loading loading={isLoading}>\n <div className=\"flex flex-col gap-12\">\n {ordered.map((key, index) => (\n <div key={key + index}>\n <h4 className=\"mb-4\">{key}</h4>\n {data && (\n <Table compact hoverable={false}>\n <TBody>\n {data[key].map((task) => (\n <Tr key={task.id}>\n <Td className=\"w-[40px]\">\n <button\n className=\"text-2xl cursor-pointer pt-1\"\n role=\"button\"\n onClick={() =>\n handleCheckClick(\n key,\n task.id,\n )\n }\n >\n {task.checked ? (\n <TbCircleCheckFilled className=\"text-primary\" />\n ) : (\n <TbCircleCheck className=\"hover:text-primary\" />\n )}\n </button>\n </Td>\n <Td className=\"w-[500px]\">\n <span className=\"heading-text font-bold\">\n {task.name}\n </span>\n </Td>\n <Td className=\"w-[200px]\">\n {task.labels?.map(\n (label, index) => (\n <Tag\n key={\n label +\n index\n }\n className={`mr-2 rtl:ml-2 mb-2 ${taskLabelColors[label]}`}\n >\n {label}\n </Tag>\n ),\n )}\n </Td>\n <Td className=\"w-[150px]\">\n <span className=\"font-semibold\">\n {task.dueDate\n ? dayjs(\n task.dueDate,\n ).format(\n 'MMMM DD',\n )\n : '-'}\n </span>\n </Td>\n <Td>\n <UsersAvatarGroup\n avatarProps={{\n size: 25,\n }}\n users={task.members}\n />\n </Td>\n </Tr>\n ))}\n </TBody>\n </Table>\n )}\n </div>\n ))}\n </div>\n </Loading>\n <ConfirmDialog\n isOpen={Boolean(selectedTask)}\n type=\"info\"\n title=\"Mark task as completed\"\n onClose={handleDialogClose}\n onRequestClose={handleDialogClose}\n onCancel={handleDialogClose}\n onConfirm={handleDialogConfirmClick}\n >\n <p>Are you sure you want mark this task as completed? </p>\n </ConfirmDialog>\n </>\n )\n}\n\nexport default ProjectDetailsTask\n"],"names":["ordered","taskLabelColors","Td","Tr","TBody","Table","ProjectDetailsTask","selectedTask","setSelectedTask","useState","data","isLoading","mutate","useSWR","apiGetScrumBoards","handleCheckClick","key","id","handleDialogConfirmClick","newData","taskToMove","task","handleDialogClose","jsxs","Fragment","jsx","Loading","index","TbCircleCheckFilled","TbCircleCheck","label","Tag","dayjs","UsersAvatarGroup","ConfirmDialog"],"mappings":"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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { jsxs as m, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { useState as
|
|
2
|
+
import { useState as h } from "react";
|
|
3
3
|
import "../../../../../components/ui/Form/index.js";
|
|
4
4
|
import "../../../../../components/ui/Input/index.js";
|
|
5
5
|
import "../../../../../components/ui/Button/index.js";
|
|
6
6
|
import "../../../../../components/ui/Select/index.js";
|
|
7
|
-
import { Avatar as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { useProjectListStore as
|
|
11
|
-
import { useForm as
|
|
12
|
-
import { apiPostProject as
|
|
13
|
-
import { TbChecks as
|
|
14
|
-
import { components as
|
|
15
|
-
import
|
|
16
|
-
import { zodResolver as
|
|
7
|
+
import { Avatar as x } from "../../../../../components/ui/Avatar/index.js";
|
|
8
|
+
import A from "../../../../../components/ui/hooks/index.js";
|
|
9
|
+
import F from "./NewTaskField.js";
|
|
10
|
+
import { useProjectListStore as L } from "../store/projectListStore.js";
|
|
11
|
+
import { useForm as P, Controller as c } from "react-hook-form";
|
|
12
|
+
import { apiPostProject as z } from "../../../../../services/ProjectService.js";
|
|
13
|
+
import { TbChecks as B } from "react-icons/tb";
|
|
14
|
+
import { components as I } from "react-select";
|
|
15
|
+
import q from "lodash/cloneDeep";
|
|
16
|
+
import { zodResolver as V } from "@hookform/resolvers/zod";
|
|
17
17
|
import { z as o } from "zod";
|
|
18
|
-
import { Form as
|
|
18
|
+
import { Form as O } from "../../../../../components/ui/Form/Form.js";
|
|
19
19
|
import u from "../../../../../components/ui/Form/FormItem.js";
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
const { MultiValueLabel:
|
|
20
|
+
import v from "../../../../../components/ui/Input/Input.js";
|
|
21
|
+
import D from "../../../../../components/ui/Select/Select.js";
|
|
22
|
+
import R from "../../../../../components/ui/Button/Button.js";
|
|
23
|
+
const { MultiValueLabel: U } = I, { useUniqueId: $ } = A, E = ({
|
|
24
24
|
innerProps: n,
|
|
25
25
|
label: r,
|
|
26
26
|
data: i,
|
|
@@ -32,17 +32,17 @@ const { MultiValueLabel: G } = O, { useUniqueId: H } = P, J = ({
|
|
|
32
32
|
...n,
|
|
33
33
|
children: [
|
|
34
34
|
/* @__PURE__ */ m("div", { className: "flex items-center gap-2", children: [
|
|
35
|
-
/* @__PURE__ */ e(
|
|
35
|
+
/* @__PURE__ */ e(x, { shape: "circle", size: 20, src: i.img }),
|
|
36
36
|
/* @__PURE__ */ e("span", { className: "font-semibold heading-text", children: r })
|
|
37
37
|
] }),
|
|
38
|
-
a && /* @__PURE__ */ e(
|
|
38
|
+
a && /* @__PURE__ */ e(B, { className: "text-emerald-500 text-xl" })
|
|
39
39
|
]
|
|
40
40
|
}
|
|
41
|
-
),
|
|
41
|
+
), G = ({ children: n, ...r }) => {
|
|
42
42
|
const { img: i } = r.data;
|
|
43
|
-
return /* @__PURE__ */ e(
|
|
43
|
+
return /* @__PURE__ */ e(U, { ...r, children: /* @__PURE__ */ m("div", { className: "inline-flex items-center", children: [
|
|
44
44
|
/* @__PURE__ */ e(
|
|
45
|
-
|
|
45
|
+
x,
|
|
46
46
|
{
|
|
47
47
|
className: "mr-2 rtl:ml-2",
|
|
48
48
|
shape: "circle",
|
|
@@ -52,56 +52,55 @@ const { MultiValueLabel: G } = O, { useUniqueId: H } = P, J = ({
|
|
|
52
52
|
),
|
|
53
53
|
n
|
|
54
54
|
] }) });
|
|
55
|
-
},
|
|
55
|
+
}, H = o.object({
|
|
56
56
|
title: o.string().min(1, { message: "Title required" }),
|
|
57
57
|
content: o.string().min(1, { message: "Content required" }),
|
|
58
58
|
assignees: o.array(
|
|
59
59
|
o.object({ value: o.string(), label: o.string(), img: o.string() })
|
|
60
60
|
)
|
|
61
|
-
}),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
handleSubmit: T,
|
|
61
|
+
}), fe = ({ onClose: n }) => {
|
|
62
|
+
const { memberList: r, updateProjectList: i } = L(), a = $(), [C, k] = h({}), [S, d] = h(!1), {
|
|
63
|
+
handleSubmit: N,
|
|
65
64
|
formState: { errors: s },
|
|
66
65
|
control: l
|
|
67
|
-
} =
|
|
66
|
+
} = P({
|
|
68
67
|
defaultValues: {
|
|
69
68
|
title: "",
|
|
70
69
|
content: "",
|
|
71
70
|
assignees: []
|
|
72
71
|
},
|
|
73
|
-
resolver:
|
|
74
|
-
}),
|
|
75
|
-
|
|
72
|
+
resolver: V(H)
|
|
73
|
+
}), j = (t) => {
|
|
74
|
+
k(t);
|
|
76
75
|
};
|
|
77
|
-
return /* @__PURE__ */ m(
|
|
76
|
+
return /* @__PURE__ */ m(O, { onSubmit: N(async (t) => {
|
|
78
77
|
d(!0);
|
|
79
|
-
const { title:
|
|
80
|
-
name:
|
|
81
|
-
img:
|
|
82
|
-
})),
|
|
78
|
+
const { title: y, content: T, assignees: w } = t, { totalTask: p, completedTask: g } = C, M = q(w).map((b) => ({
|
|
79
|
+
name: b.label,
|
|
80
|
+
img: b.img
|
|
81
|
+
})), f = {
|
|
83
82
|
id: a,
|
|
84
|
-
name:
|
|
85
|
-
desc:
|
|
86
|
-
totalTask:
|
|
87
|
-
completedTask:
|
|
88
|
-
progression:
|
|
89
|
-
member:
|
|
83
|
+
name: y,
|
|
84
|
+
desc: T,
|
|
85
|
+
totalTask: p,
|
|
86
|
+
completedTask: g,
|
|
87
|
+
progression: g / p * 100 || 0,
|
|
88
|
+
member: M
|
|
90
89
|
};
|
|
91
|
-
i(
|
|
90
|
+
i(f), await z(f), d(!1), n();
|
|
92
91
|
}), children: [
|
|
93
92
|
/* @__PURE__ */ e(
|
|
94
93
|
u,
|
|
95
94
|
{
|
|
96
95
|
label: "Title",
|
|
97
96
|
invalid: !!s.title,
|
|
98
|
-
errorMessage:
|
|
97
|
+
errorMessage: s.title?.message,
|
|
99
98
|
children: /* @__PURE__ */ e(
|
|
100
99
|
c,
|
|
101
100
|
{
|
|
102
101
|
name: "title",
|
|
103
102
|
control: l,
|
|
104
|
-
render: ({ field: t }) => /* @__PURE__ */ e(
|
|
103
|
+
render: ({ field: t }) => /* @__PURE__ */ e(v, { type: "text", autoComplete: "off", ...t })
|
|
105
104
|
}
|
|
106
105
|
)
|
|
107
106
|
}
|
|
@@ -111,20 +110,20 @@ const { MultiValueLabel: G } = O, { useUniqueId: H } = P, J = ({
|
|
|
111
110
|
{
|
|
112
111
|
label: "Assignees",
|
|
113
112
|
invalid: !!s.assignees,
|
|
114
|
-
errorMessage:
|
|
113
|
+
errorMessage: s.assignees?.message,
|
|
115
114
|
children: /* @__PURE__ */ e(
|
|
116
115
|
c,
|
|
117
116
|
{
|
|
118
117
|
name: "assignees",
|
|
119
118
|
control: l,
|
|
120
119
|
render: ({ field: t }) => /* @__PURE__ */ e(
|
|
121
|
-
|
|
120
|
+
D,
|
|
122
121
|
{
|
|
123
122
|
isMulti: !0,
|
|
124
123
|
className: "min-w-[120px]",
|
|
125
124
|
components: {
|
|
126
|
-
Option:
|
|
127
|
-
MultiValueLabel:
|
|
125
|
+
Option: E,
|
|
126
|
+
MultiValueLabel: G
|
|
128
127
|
},
|
|
129
128
|
value: t.value,
|
|
130
129
|
options: r,
|
|
@@ -140,22 +139,22 @@ const { MultiValueLabel: G } = O, { useUniqueId: H } = P, J = ({
|
|
|
140
139
|
{
|
|
141
140
|
label: "Content",
|
|
142
141
|
invalid: !!s.content,
|
|
143
|
-
errorMessage:
|
|
142
|
+
errorMessage: s.content?.message,
|
|
144
143
|
children: /* @__PURE__ */ e(
|
|
145
144
|
c,
|
|
146
145
|
{
|
|
147
146
|
name: "content",
|
|
148
147
|
control: l,
|
|
149
|
-
render: ({ field: t }) => /* @__PURE__ */ e(
|
|
148
|
+
render: ({ field: t }) => /* @__PURE__ */ e(v, { textArea: !0, autoComplete: "off", ...t })
|
|
150
149
|
}
|
|
151
150
|
)
|
|
152
151
|
}
|
|
153
152
|
),
|
|
154
|
-
/* @__PURE__ */ e(
|
|
155
|
-
/* @__PURE__ */ e(
|
|
153
|
+
/* @__PURE__ */ e(F, { onAddNewTask: j }),
|
|
154
|
+
/* @__PURE__ */ e(R, { block: !0, variant: "solid", type: "submit", loading: S, children: "Submit" })
|
|
156
155
|
] });
|
|
157
156
|
};
|
|
158
157
|
export {
|
|
159
|
-
|
|
158
|
+
fe as default
|
|
160
159
|
};
|
|
161
160
|
//# sourceMappingURL=NewProjectForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewProjectForm.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { FormItem, Form } from '@/components/ui/Form'\nimport Input from '@/components/ui/Input'\nimport Button from '@/components/ui/Button'\nimport Select from '@/components/ui/Select'\nimport Avatar from '@/components/ui/Avatar'\nimport hooks from '@/components/ui/hooks'\nimport NewTaskField from './NewTaskField'\nimport { useProjectListStore } from '../store/projectListStore'\nimport { useForm, Controller } from 'react-hook-form'\nimport { apiPostProject } from '@/services/ProjectService'\nimport { TbChecks } from 'react-icons/tb'\nimport { components } from 'react-select'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport { MemberListOption, Member, Project } from '../types'\nimport type { ZodType } from 'zod'\nimport type { MultiValueGenericProps, OptionProps } from 'react-select'\n\ntype FormSchema = {\n title: string\n content: string\n assignees: {\n img: string\n value: string\n label: string\n }[]\n}\n\ntype TaskCount = {\n completedTask?: number\n totalTask?: number\n}\n\nconst { MultiValueLabel } = components\n\nconst { useUniqueId } = hooks\n\nconst CustomSelectOption = ({\n innerProps,\n label,\n data,\n isSelected,\n}: OptionProps<MemberListOption>) => {\n return (\n <div\n className={`flex items-center justify-between p-2 ${\n isSelected\n ? 'bg-gray-100 dark:bg-gray-500'\n : 'hover:bg-gray-50 dark:hover:bg-gray-600'\n }`}\n {...innerProps}\n >\n <div className=\"flex items-center gap-2\">\n <Avatar shape=\"circle\" size={20} src={data.img} />\n <span className=\"font-semibold heading-text\">{label}</span>\n </div>\n {isSelected && <TbChecks className=\"text-emerald-500 text-xl\" />}\n </div>\n )\n}\n\nconst CustomControlMulti = ({ children, ...props }: MultiValueGenericProps) => {\n const { img } = props.data\n\n return (\n <MultiValueLabel {...props}>\n <div className=\"inline-flex items-center\">\n <Avatar\n className=\"mr-2 rtl:ml-2\"\n shape=\"circle\"\n size={15}\n src={img}\n />\n {children}\n </div>\n </MultiValueLabel>\n )\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n title: z.string().min(1, { message: 'Title required' }),\n content: z.string().min(1, { message: 'Content required' }),\n assignees: z.array(\n z.object({ value: z.string(), label: z.string(), img: z.string() }),\n ),\n})\n\nconst NewProjectForm = ({ onClose }: { onClose: () => void }) => {\n const { memberList, updateProjectList } = useProjectListStore()\n\n const newId = useUniqueId()\n\n const [taskCount, setTaskCount] = useState<TaskCount>({})\n const [isSubmiting, setSubmiting] = useState(false)\n\n const {\n handleSubmit,\n formState: { errors },\n control,\n } = useForm<FormSchema>({\n defaultValues: {\n title: '',\n content: '',\n assignees: [],\n },\n resolver: zodResolver(validationSchema),\n })\n\n const handleAddNewTask = (count: TaskCount) => {\n setTaskCount(count)\n }\n\n const onSubmit = async (formValue: FormSchema) => {\n setSubmiting(true)\n const { title, content, assignees } = formValue\n\n const { totalTask, completedTask } = taskCount\n\n const member: Member[] = cloneDeep(assignees).map((assignee) => {\n return {\n name: assignee.label,\n img: assignee.img,\n }\n })\n\n const values: Project = {\n id: newId,\n name: title,\n desc: content,\n totalTask: totalTask as number,\n completedTask: completedTask as number,\n progression:\n ((completedTask as number) / (totalTask as number)) * 100 || 0,\n member,\n }\n\n updateProjectList(values)\n await apiPostProject(values)\n setSubmiting(false)\n onClose()\n }\n\n return (\n <Form onSubmit={handleSubmit(onSubmit)}>\n <FormItem\n label=\"Title\"\n invalid={Boolean(errors.title)}\n errorMessage={errors.title?.message}\n >\n <Controller\n name=\"title\"\n control={control}\n render={({ field }) => (\n <Input type=\"text\" autoComplete=\"off\" {...field} />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Assignees\"\n invalid={Boolean(errors.assignees)}\n errorMessage={errors.assignees?.message}\n >\n <Controller\n name=\"assignees\"\n control={control}\n render={({ field }) => (\n <Select<MemberListOption, true>\n isMulti\n className=\"min-w-[120px]\"\n components={{\n Option: CustomSelectOption,\n MultiValueLabel: CustomControlMulti,\n }}\n value={field.value}\n options={memberList as MemberListOption[]}\n onChange={field.onChange}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Content\"\n invalid={Boolean(errors.content)}\n errorMessage={errors.content?.message}\n >\n <Controller\n name=\"content\"\n control={control}\n render={({ field }) => (\n <Input textArea autoComplete=\"off\" {...field} />\n )}\n />\n </FormItem>\n <NewTaskField onAddNewTask={handleAddNewTask} />\n <Button block variant=\"solid\" type=\"submit\" loading={isSubmiting}>\n Submit\n </Button>\n </Form>\n )\n}\n\nexport default NewProjectForm\n"],"names":["MultiValueLabel","components","useUniqueId","hooks","CustomSelectOption","innerProps","label","data","isSelected","jsxs","jsx","Avatar","TbChecks","CustomControlMulti","children","props","img","validationSchema","z","NewProjectForm","onClose","memberList","updateProjectList","useProjectListStore","newId","taskCount","setTaskCount","useState","isSubmiting","setSubmiting","handleSubmit","errors","control","useForm","zodResolver","handleAddNewTask","count","Form","formValue","title","content","assignees","totalTask","completedTask","member","cloneDeep","assignee","values","apiPostProject","FormItem","_a","Controller","field","Input","_b","Select","_c","NewTaskField","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NewProjectForm.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectList/components/NewProjectForm.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { FormItem, Form } from '@/components/ui/Form'\nimport Input from '@/components/ui/Input'\nimport Button from '@/components/ui/Button'\nimport Select from '@/components/ui/Select'\nimport Avatar from '@/components/ui/Avatar'\nimport hooks from '@/components/ui/hooks'\nimport NewTaskField from './NewTaskField'\nimport { useProjectListStore } from '../store/projectListStore'\nimport { useForm, Controller } from 'react-hook-form'\nimport { apiPostProject } from '@/services/ProjectService'\nimport { TbChecks } from 'react-icons/tb'\nimport { components } from 'react-select'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport { MemberListOption, Member, Project } from '../types'\nimport type { ZodType } from 'zod'\nimport type { MultiValueGenericProps, OptionProps } from 'react-select'\n\ntype FormSchema = {\n title: string\n content: string\n assignees: {\n img: string\n value: string\n label: string\n }[]\n}\n\ntype TaskCount = {\n completedTask?: number\n totalTask?: number\n}\n\nconst { MultiValueLabel } = components\n\nconst { useUniqueId } = hooks\n\nconst CustomSelectOption = ({\n innerProps,\n label,\n data,\n isSelected,\n}: OptionProps<MemberListOption>) => {\n return (\n <div\n className={`flex items-center justify-between p-2 ${\n isSelected\n ? 'bg-gray-100 dark:bg-gray-500'\n : 'hover:bg-gray-50 dark:hover:bg-gray-600'\n }`}\n {...innerProps}\n >\n <div className=\"flex items-center gap-2\">\n <Avatar shape=\"circle\" size={20} src={data.img} />\n <span className=\"font-semibold heading-text\">{label}</span>\n </div>\n {isSelected && <TbChecks className=\"text-emerald-500 text-xl\" />}\n </div>\n )\n}\n\nconst CustomControlMulti = ({ children, ...props }: MultiValueGenericProps) => {\n const { img } = props.data\n\n return (\n <MultiValueLabel {...props}>\n <div className=\"inline-flex items-center\">\n <Avatar\n className=\"mr-2 rtl:ml-2\"\n shape=\"circle\"\n size={15}\n src={img}\n />\n {children}\n </div>\n </MultiValueLabel>\n )\n}\n\nconst validationSchema: ZodType<FormSchema> = z.object({\n title: z.string().min(1, { message: 'Title required' }),\n content: z.string().min(1, { message: 'Content required' }),\n assignees: z.array(\n z.object({ value: z.string(), label: z.string(), img: z.string() }),\n ),\n})\n\nconst NewProjectForm = ({ onClose }: { onClose: () => void }) => {\n const { memberList, updateProjectList } = useProjectListStore()\n\n const newId = useUniqueId()\n\n const [taskCount, setTaskCount] = useState<TaskCount>({})\n const [isSubmiting, setSubmiting] = useState(false)\n\n const {\n handleSubmit,\n formState: { errors },\n control,\n } = useForm<FormSchema>({\n defaultValues: {\n title: '',\n content: '',\n assignees: [],\n },\n resolver: zodResolver(validationSchema),\n })\n\n const handleAddNewTask = (count: TaskCount) => {\n setTaskCount(count)\n }\n\n const onSubmit = async (formValue: FormSchema) => {\n setSubmiting(true)\n const { title, content, assignees } = formValue\n\n const { totalTask, completedTask } = taskCount\n\n const member: Member[] = cloneDeep(assignees).map((assignee) => {\n return {\n name: assignee.label,\n img: assignee.img,\n }\n })\n\n const values: Project = {\n id: newId,\n name: title,\n desc: content,\n totalTask: totalTask as number,\n completedTask: completedTask as number,\n progression:\n ((completedTask as number) / (totalTask as number)) * 100 || 0,\n member,\n }\n\n updateProjectList(values)\n await apiPostProject(values)\n setSubmiting(false)\n onClose()\n }\n\n return (\n <Form onSubmit={handleSubmit(onSubmit)}>\n <FormItem\n label=\"Title\"\n invalid={Boolean(errors.title)}\n errorMessage={errors.title?.message}\n >\n <Controller\n name=\"title\"\n control={control}\n render={({ field }) => (\n <Input type=\"text\" autoComplete=\"off\" {...field} />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Assignees\"\n invalid={Boolean(errors.assignees)}\n errorMessage={errors.assignees?.message}\n >\n <Controller\n name=\"assignees\"\n control={control}\n render={({ field }) => (\n <Select<MemberListOption, true>\n isMulti\n className=\"min-w-[120px]\"\n components={{\n Option: CustomSelectOption,\n MultiValueLabel: CustomControlMulti,\n }}\n value={field.value}\n options={memberList as MemberListOption[]}\n onChange={field.onChange}\n />\n )}\n />\n </FormItem>\n <FormItem\n label=\"Content\"\n invalid={Boolean(errors.content)}\n errorMessage={errors.content?.message}\n >\n <Controller\n name=\"content\"\n control={control}\n render={({ field }) => (\n <Input textArea autoComplete=\"off\" {...field} />\n )}\n />\n </FormItem>\n <NewTaskField onAddNewTask={handleAddNewTask} />\n <Button block variant=\"solid\" type=\"submit\" loading={isSubmiting}>\n Submit\n </Button>\n </Form>\n )\n}\n\nexport default NewProjectForm\n"],"names":["MultiValueLabel","components","useUniqueId","hooks","CustomSelectOption","innerProps","label","data","isSelected","jsxs","jsx","Avatar","TbChecks","CustomControlMulti","children","props","img","validationSchema","z","NewProjectForm","onClose","memberList","updateProjectList","useProjectListStore","newId","taskCount","setTaskCount","useState","isSubmiting","setSubmiting","handleSubmit","errors","control","useForm","zodResolver","handleAddNewTask","count","Form","formValue","title","content","assignees","totalTask","completedTask","member","cloneDeep","assignee","values","apiPostProject","FormItem","Controller","field","Input","Select","NewTaskField","Button"],"mappings":"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"}
|
|
@@ -1,43 +1,41 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
1
|
+
import { jsxs as i, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { useState as m, useRef as w, useEffect as k, useMemo as N } from "react";
|
|
3
3
|
import "../../../../../components/ui/Input/index.js";
|
|
4
4
|
import "../../../../../components/ui/Button/index.js";
|
|
5
5
|
import { Checkbox as g } from "../../../../../components/ui/Checkbox/index.js";
|
|
6
6
|
import v from "../../../../../components/ui/Input/Input.js";
|
|
7
|
-
import
|
|
8
|
-
const
|
|
9
|
-
const [
|
|
7
|
+
import u from "../../../../../components/ui/Button/Button.js";
|
|
8
|
+
const B = ({ onAddNewTask: f }) => {
|
|
9
|
+
const [n, r] = m(!1), [s, l] = m([]), o = w(null);
|
|
10
10
|
k(() => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const f = N(() => {
|
|
11
|
+
n && o?.current?.focus();
|
|
12
|
+
}, [n]);
|
|
13
|
+
const h = N(() => {
|
|
15
14
|
let e = 0;
|
|
16
|
-
const t =
|
|
17
|
-
return
|
|
15
|
+
const t = s.length;
|
|
16
|
+
return s.forEach((a) => {
|
|
18
17
|
a.checked && (e = e + 1);
|
|
19
18
|
}), {
|
|
20
19
|
completedTask: e,
|
|
21
20
|
totalTask: t
|
|
22
21
|
};
|
|
23
|
-
}, [
|
|
22
|
+
}, [s]);
|
|
24
23
|
k(() => {
|
|
25
|
-
|
|
26
|
-
}, [
|
|
24
|
+
f(h);
|
|
25
|
+
}, [s]);
|
|
27
26
|
const p = () => {
|
|
28
|
-
|
|
27
|
+
r(!0);
|
|
29
28
|
}, T = () => {
|
|
30
|
-
var t;
|
|
31
29
|
const e = {
|
|
32
|
-
label:
|
|
30
|
+
label: o?.current?.value,
|
|
33
31
|
checked: !1
|
|
34
32
|
};
|
|
35
|
-
l((
|
|
33
|
+
l((t) => [...t, e]), r(!1);
|
|
36
34
|
}, C = (e, t) => {
|
|
37
35
|
l((a) => [...a.map((d, b) => (t === b && (d.checked = e), d))]);
|
|
38
36
|
};
|
|
39
|
-
return /* @__PURE__ */
|
|
40
|
-
|
|
37
|
+
return /* @__PURE__ */ i("div", { className: "mb-7", children: [
|
|
38
|
+
s.length > 0 && /* @__PURE__ */ c("div", { className: "flex flex-col mb-5 gap-4", children: s.map((e, t) => /* @__PURE__ */ c(
|
|
41
39
|
g,
|
|
42
40
|
{
|
|
43
41
|
defaultChecked: e.checked,
|
|
@@ -46,13 +44,13 @@ const F = ({ onAddNewTask: u }) => {
|
|
|
46
44
|
},
|
|
47
45
|
t
|
|
48
46
|
)) }),
|
|
49
|
-
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
] }) : /* @__PURE__ */
|
|
47
|
+
n ? /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
|
|
48
|
+
/* @__PURE__ */ c(v, { ref: o, placeholder: "Add new task" }),
|
|
49
|
+
/* @__PURE__ */ c(u, { type: "button", onClick: T, children: "Add" })
|
|
50
|
+
] }) : /* @__PURE__ */ c(u, { block: !0, className: "border-dashed", onClick: p, children: "Create new task" })
|
|
53
51
|
] });
|
|
54
52
|
};
|
|
55
53
|
export {
|
|
56
|
-
|
|
54
|
+
B as default
|
|
57
55
|
};
|
|
58
56
|
//# sourceMappingURL=NewTaskField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewTaskField.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo } from 'react'\nimport Input from '@/components/ui/Input'\nimport Button from '@/components/ui/Button'\nimport Checkbox from '@/components/ui/Checkbox'\n\ntype Task = {\n label?: string\n checked: boolean\n}\n\ntype NewTaskFieldProps = {\n onAddNewTask: (taskCount: {\n completedTask: number\n totalTask: number\n }) => void\n}\n\nconst NewTaskField = ({ onAddNewTask }: NewTaskFieldProps) => {\n const [newTaskEdit, setNewTaskEdit] = useState(false)\n const [taskList, setTaskList] = useState<Task[]>([])\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (newTaskEdit) {\n inputRef?.current?.focus()\n }\n }, [newTaskEdit])\n\n const taskCount = useMemo(() => {\n let completedTask = 0\n const totalTask = taskList.length\n\n taskList.forEach((task) => {\n if (task.checked) {\n completedTask = completedTask + 1\n }\n })\n\n return {\n completedTask,\n totalTask,\n }\n }, [taskList])\n\n useEffect(() => {\n onAddNewTask(taskCount)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [taskList])\n\n const onNewTaskEdit = () => {\n setNewTaskEdit(true)\n }\n\n const onNewTaskAdd = () => {\n const newTask = {\n label: inputRef?.current?.value,\n checked: false,\n }\n setTaskList((prevTask) => [...prevTask, newTask])\n setNewTaskEdit(false)\n }\n\n const onTaskCheckChange = (checked: boolean, index: number) => {\n setTaskList((prevTask) => {\n const mutatedPrevTask = prevTask.map((task, taskIndex) => {\n if (index === taskIndex) {\n task.checked = checked\n }\n return task\n })\n return [...mutatedPrevTask]\n })\n }\n\n return (\n <div className=\"mb-7\">\n {taskList.length > 0 && (\n <div className=\"flex flex-col mb-5 gap-4\">\n {taskList.map((task, index) => (\n <Checkbox\n key={index}\n defaultChecked={task.checked}\n onChange={(checked) =>\n onTaskCheckChange(checked as boolean, index)\n }\n >\n {task.label}\n </Checkbox>\n ))}\n </div>\n )}\n {newTaskEdit ? (\n <div className=\"flex items-center gap-2\">\n <Input ref={inputRef} placeholder=\"Add new task\" />\n <Button type=\"button\" onClick={onNewTaskAdd}>\n Add\n </Button>\n </div>\n ) : (\n <Button block className=\"border-dashed\" onClick={onNewTaskEdit}>\n Create new task\n </Button>\n )}\n </div>\n )\n}\n\nexport default NewTaskField\n"],"names":["NewTaskField","onAddNewTask","newTaskEdit","setNewTaskEdit","useState","taskList","setTaskList","inputRef","useRef","useEffect","
|
|
1
|
+
{"version":3,"file":"NewTaskField.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectList/components/NewTaskField.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo } from 'react'\nimport Input from '@/components/ui/Input'\nimport Button from '@/components/ui/Button'\nimport Checkbox from '@/components/ui/Checkbox'\n\ntype Task = {\n label?: string\n checked: boolean\n}\n\ntype NewTaskFieldProps = {\n onAddNewTask: (taskCount: {\n completedTask: number\n totalTask: number\n }) => void\n}\n\nconst NewTaskField = ({ onAddNewTask }: NewTaskFieldProps) => {\n const [newTaskEdit, setNewTaskEdit] = useState(false)\n const [taskList, setTaskList] = useState<Task[]>([])\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (newTaskEdit) {\n inputRef?.current?.focus()\n }\n }, [newTaskEdit])\n\n const taskCount = useMemo(() => {\n let completedTask = 0\n const totalTask = taskList.length\n\n taskList.forEach((task) => {\n if (task.checked) {\n completedTask = completedTask + 1\n }\n })\n\n return {\n completedTask,\n totalTask,\n }\n }, [taskList])\n\n useEffect(() => {\n onAddNewTask(taskCount)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [taskList])\n\n const onNewTaskEdit = () => {\n setNewTaskEdit(true)\n }\n\n const onNewTaskAdd = () => {\n const newTask = {\n label: inputRef?.current?.value,\n checked: false,\n }\n setTaskList((prevTask) => [...prevTask, newTask])\n setNewTaskEdit(false)\n }\n\n const onTaskCheckChange = (checked: boolean, index: number) => {\n setTaskList((prevTask) => {\n const mutatedPrevTask = prevTask.map((task, taskIndex) => {\n if (index === taskIndex) {\n task.checked = checked\n }\n return task\n })\n return [...mutatedPrevTask]\n })\n }\n\n return (\n <div className=\"mb-7\">\n {taskList.length > 0 && (\n <div className=\"flex flex-col mb-5 gap-4\">\n {taskList.map((task, index) => (\n <Checkbox\n key={index}\n defaultChecked={task.checked}\n onChange={(checked) =>\n onTaskCheckChange(checked as boolean, index)\n }\n >\n {task.label}\n </Checkbox>\n ))}\n </div>\n )}\n {newTaskEdit ? (\n <div className=\"flex items-center gap-2\">\n <Input ref={inputRef} placeholder=\"Add new task\" />\n <Button type=\"button\" onClick={onNewTaskAdd}>\n Add\n </Button>\n </div>\n ) : (\n <Button block className=\"border-dashed\" onClick={onNewTaskEdit}>\n Create new task\n </Button>\n )}\n </div>\n )\n}\n\nexport default NewTaskField\n"],"names":["NewTaskField","onAddNewTask","newTaskEdit","setNewTaskEdit","useState","taskList","setTaskList","inputRef","useRef","useEffect","taskCount","useMemo","completedTask","totalTask","task","onNewTaskEdit","onNewTaskAdd","newTask","prevTask","onTaskCheckChange","checked","index","taskIndex","jsxs","jsx","Checkbox","Input","Button"],"mappings":";;;;;;;AAiBA,MAAMA,IAAe,CAAC,EAAE,cAAAC,QAAsC;AAC1D,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAUC,CAAW,IAAIF,EAAiB,CAAA,CAAE,GAE7CG,IAAWC,EAAyB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACZ,IAAIP,KACAK,GAAU,SAAS,MAAA;AAAA,EAE3B,GAAG,CAACL,CAAW,CAAC;AAEhB,QAAMQ,IAAYC,EAAQ,MAAM;AAC5B,QAAIC,IAAgB;AACpB,UAAMC,IAAYR,EAAS;AAE3B,WAAAA,EAAS,QAAQ,CAACS,MAAS;AACvB,MAAIA,EAAK,YACLF,IAAgBA,IAAgB;AAAA,IAExC,CAAC,GAEM;AAAA,MACH,eAAAA;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAER,GAAG,CAACR,CAAQ,CAAC;AAEb,EAAAI,EAAU,MAAM;AACZ,IAAAR,EAAaS,CAAS;AAAA,EAE1B,GAAG,CAACL,CAAQ,CAAC;AAEb,QAAMU,IAAgB,MAAM;AACxB,IAAAZ,EAAe,EAAI;AAAA,EACvB,GAEMa,IAAe,MAAM;AACvB,UAAMC,IAAU;AAAA,MACZ,OAAOV,GAAU,SAAS;AAAA,MAC1B,SAAS;AAAA,IAAA;AAEb,IAAAD,EAAY,CAACY,MAAa,CAAC,GAAGA,GAAUD,CAAO,CAAC,GAChDd,EAAe,EAAK;AAAA,EACxB,GAEMgB,IAAoB,CAACC,GAAkBC,MAAkB;AAC3D,IAAAf,EAAY,CAACY,MAOF,CAAC,GANgBA,EAAS,IAAI,CAACJ,GAAMQ,OACpCD,MAAUC,MACVR,EAAK,UAAUM,IAEZN,EACV,CACyB,CAC7B;AAAA,EACL;AAEA,SACI,gBAAAS,EAAC,OAAA,EAAI,WAAU,QACV,UAAA;AAAA,IAAAlB,EAAS,SAAS,KACf,gBAAAmB,EAAC,OAAA,EAAI,WAAU,4BACV,UAAAnB,EAAS,IAAI,CAACS,GAAMO,MACjB,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QAEG,gBAAgBX,EAAK;AAAA,QACrB,UAAU,CAACM,MACPD,EAAkBC,GAAoBC,CAAK;AAAA,QAG9C,UAAAP,EAAK;AAAA,MAAA;AAAA,MANDO;AAAA,IAAA,CAQZ,GACL;AAAA,IAEHnB,IACG,gBAAAqB,EAAC,OAAA,EAAI,WAAU,2BACX,UAAA;AAAA,MAAA,gBAAAC,EAACE,GAAA,EAAM,KAAKnB,GAAU,aAAY,gBAAe;AAAA,wBAChDoB,GAAA,EAAO,MAAK,UAAS,SAASX,GAAc,UAAA,MAAA,CAE7C;AAAA,IAAA,EAAA,CACJ,sBAECW,GAAA,EAAO,OAAK,IAAC,WAAU,iBAAgB,SAASZ,GAAe,UAAA,kBAAA,CAEhE;AAAA,EAAA,GAER;AAER;"}
|
|
@@ -2,14 +2,14 @@ import { jsxs as l, jsx as e } from "react/jsx-runtime";
|
|
|
2
2
|
import "../../../../../components/ui/Card/index.js";
|
|
3
3
|
import i from "../../../../../components/shared/UsersAvatarGroup.js";
|
|
4
4
|
import { Link as m } from "react-router-dom";
|
|
5
|
-
import
|
|
6
|
-
import { useProjectListStore as
|
|
5
|
+
import c from "./ProgressionBar.js";
|
|
6
|
+
import { useProjectListStore as f } from "../store/projectListStore.js";
|
|
7
7
|
import { apiGetProjects as h } from "../../../../../services/ProjectService.js";
|
|
8
8
|
import v from "swr";
|
|
9
|
-
import { TbStarFilled as x, TbClipboardCheck as
|
|
10
|
-
import
|
|
9
|
+
import { TbStarFilled as x, TbClipboardCheck as t, TbStar as u } from "react-icons/tb";
|
|
10
|
+
import d from "../../../../../components/ui/Card/Card.js";
|
|
11
11
|
const F = () => {
|
|
12
|
-
const { projectList:
|
|
12
|
+
const { projectList: r, updateProjectFavorite: n, setProjectList: o } = f();
|
|
13
13
|
v(["/api/projects"], () => h(), {
|
|
14
14
|
revalidateOnFocus: !1,
|
|
15
15
|
revalidateIfStale: !1,
|
|
@@ -18,13 +18,13 @@ const F = () => {
|
|
|
18
18
|
o(s);
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
|
-
const
|
|
22
|
-
n({ id: s, value:
|
|
21
|
+
const a = (s, p) => {
|
|
22
|
+
n({ id: s, value: p });
|
|
23
23
|
};
|
|
24
24
|
return /* @__PURE__ */ l("div", { children: [
|
|
25
25
|
/* @__PURE__ */ l("div", { className: "mt-8", children: [
|
|
26
26
|
/* @__PURE__ */ e("h5", { className: "mb-3", children: "Favorite" }),
|
|
27
|
-
/* @__PURE__ */ e("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6", children:
|
|
27
|
+
/* @__PURE__ */ e("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6", children: r?.filter((s) => s.favourite).map((s) => /* @__PURE__ */ e(d, { bodyClass: "h-full", children: /* @__PURE__ */ l("div", { className: "flex flex-col justify-between h-full", children: [
|
|
28
28
|
/* @__PURE__ */ l("div", { className: "flex justify-between items-center", children: [
|
|
29
29
|
/* @__PURE__ */ e(
|
|
30
30
|
m,
|
|
@@ -38,7 +38,7 @@ const F = () => {
|
|
|
38
38
|
{
|
|
39
39
|
className: "text-amber-400 cursor-pointer text-lg",
|
|
40
40
|
role: "button",
|
|
41
|
-
onClick: () =>
|
|
41
|
+
onClick: () => a(
|
|
42
42
|
s.id,
|
|
43
43
|
!1
|
|
44
44
|
),
|
|
@@ -49,7 +49,7 @@ const F = () => {
|
|
|
49
49
|
/* @__PURE__ */ e("p", { className: "mt-4", children: s.desc }),
|
|
50
50
|
/* @__PURE__ */ l("div", { className: "mt-3", children: [
|
|
51
51
|
/* @__PURE__ */ e(
|
|
52
|
-
|
|
52
|
+
c,
|
|
53
53
|
{
|
|
54
54
|
progression: s.progression
|
|
55
55
|
}
|
|
@@ -62,7 +62,7 @@ const F = () => {
|
|
|
62
62
|
}
|
|
63
63
|
),
|
|
64
64
|
/* @__PURE__ */ e("div", { className: "flex items-center rounded-full font-semibold text-xs", children: /* @__PURE__ */ l("div", { className: "flex items-center px-2 py-1 border border-gray-300 rounded-full", children: [
|
|
65
|
-
/* @__PURE__ */ e(
|
|
65
|
+
/* @__PURE__ */ e(t, { className: "text-base" }),
|
|
66
66
|
/* @__PURE__ */ l("span", { className: "ml-1 rtl:mr-1 whitespace-nowrap", children: [
|
|
67
67
|
s.completedTask,
|
|
68
68
|
" ",
|
|
@@ -76,7 +76,7 @@ const F = () => {
|
|
|
76
76
|
] }),
|
|
77
77
|
/* @__PURE__ */ l("div", { className: "mt-8", children: [
|
|
78
78
|
/* @__PURE__ */ e("h5", { className: "mb-3", children: "Other projects" }),
|
|
79
|
-
/* @__PURE__ */ e("div", { className: "flex flex-col gap-4", children:
|
|
79
|
+
/* @__PURE__ */ e("div", { className: "flex flex-col gap-4", children: r?.filter((s) => !s.favourite).map((s) => /* @__PURE__ */ e(d, { children: /* @__PURE__ */ l("div", { className: "grid gap-x-4 grid-cols-12", children: [
|
|
80
80
|
/* @__PURE__ */ e("div", { className: "my-1 sm:my-0 col-span-12 sm:col-span-2 md:col-span-3 lg:col-span-3 md:flex md:items-center", children: /* @__PURE__ */ l("div", { className: "flex flex-col", children: [
|
|
81
81
|
/* @__PURE__ */ e("h6", { className: "font-bold hover:text-primary", children: /* @__PURE__ */ e(
|
|
82
82
|
m,
|
|
@@ -88,7 +88,7 @@ const F = () => {
|
|
|
88
88
|
/* @__PURE__ */ e("span", { children: s.category })
|
|
89
89
|
] }) }),
|
|
90
90
|
/* @__PURE__ */ e("div", { className: "my-1 sm:my-0 col-span-12 sm:col-span-2 md:col-span-2 lg:col-span-2 md:flex md:items-center md:justify-end", children: /* @__PURE__ */ l("div", { className: "inline-flex items-center px-2 py-1 border border-gray-300 rounded-full", children: [
|
|
91
|
-
/* @__PURE__ */ e(
|
|
91
|
+
/* @__PURE__ */ e(t, { className: "text-base" }),
|
|
92
92
|
/* @__PURE__ */ l("span", { className: "ml-1 rtl:mr-1 whitespace-nowrap", children: [
|
|
93
93
|
s.completedTask,
|
|
94
94
|
" /",
|
|
@@ -97,7 +97,7 @@ const F = () => {
|
|
|
97
97
|
] })
|
|
98
98
|
] }) }),
|
|
99
99
|
/* @__PURE__ */ e("div", { className: "my-1 sm:my-0 col-span-12 md:col-span-2 lg:col-span-3 md:flex md:items-center", children: /* @__PURE__ */ e(
|
|
100
|
-
|
|
100
|
+
c,
|
|
101
101
|
{
|
|
102
102
|
progression: s.progression
|
|
103
103
|
}
|
|
@@ -113,7 +113,7 @@ const F = () => {
|
|
|
113
113
|
{
|
|
114
114
|
className: "cursor-pointer text-lg",
|
|
115
115
|
role: "button",
|
|
116
|
-
onClick: () =>
|
|
116
|
+
onClick: () => a(
|
|
117
117
|
s.id,
|
|
118
118
|
!0
|
|
119
119
|
),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectListContent.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.tsx"],"sourcesContent":["import Card from '@/components/ui/Card'\nimport UsersAvatarGroup from '@/components/shared/UsersAvatarGroup'\nimport { Link } from 'react-router-dom'\nimport ProgressionBar from './ProgressionBar'\nimport { useProjectListStore } from '../store/projectListStore'\nimport { apiGetProjects } from '@/services/ProjectService'\nimport useSWR from 'swr'\nimport { TbClipboardCheck, TbStarFilled, TbStar } from 'react-icons/tb'\nimport type { GetProjectListResponse } from '../types'\n\nconst ProjectListContent = () => {\n const { projectList, updateProjectFavorite, setProjectList } =\n useProjectListStore()\n\n useSWR(['/api/projects'], () => apiGetProjects<GetProjectListResponse>(), {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n onSuccess: (data) => {\n setProjectList(data)\n },\n })\n\n const handleToggleFavorite = (id: string, value: boolean) => {\n updateProjectFavorite({ id, value })\n }\n\n return (\n <div>\n <div className=\"mt-8\">\n <h5 className=\"mb-3\">Favorite</h5>\n <div className=\"grid md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6\">\n {projectList\n ?.filter((project) => project.favourite)\n .map((project) => (\n <Card key={project.id} bodyClass=\"h-full\">\n <div className=\"flex flex-col justify-between h-full\">\n <div className=\"flex justify-between items-center\">\n <Link\n to={`/concepts/projects/project-details/${project.id}`}\n >\n <h6 className=\"font-bold hover:text-primary\">\n {project.name}\n </h6>\n </Link>\n <div\n className=\"text-amber-400 cursor-pointer text-lg\"\n role=\"button\"\n onClick={() =>\n handleToggleFavorite(\n project.id,\n false,\n )\n }\n >\n <TbStarFilled />\n </div>\n </div>\n <p className=\"mt-4\">{project.desc}</p>\n <div className=\"mt-3\">\n <ProgressionBar\n progression={project.progression}\n />\n <div className=\"flex items-center justify-between mt-2\">\n <UsersAvatarGroup\n users={project.member}\n />\n <div className=\"flex items-center rounded-full font-semibold text-xs\">\n <div className=\"flex items-center px-2 py-1 border border-gray-300 rounded-full\">\n <TbClipboardCheck className=\"text-base\" />\n <span className=\"ml-1 rtl:mr-1 whitespace-nowrap\">\n {project.completedTask}{' '}\n / {project.totalTask}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Card>\n ))}\n </div>\n </div>\n <div className=\"mt-8\">\n <h5 className=\"mb-3\">Other projects</h5>\n <div className=\"flex flex-col gap-4\">\n {projectList\n ?.filter((project) => !project.favourite)\n .map((project) => (\n <Card key={project.id}>\n <div className=\"grid gap-x-4 grid-cols-12\">\n <div className=\"my-1 sm:my-0 col-span-12 sm:col-span-2 md:col-span-3 lg:col-span-3 md:flex md:items-center\">\n <div className=\"flex flex-col\">\n <h6 className=\"font-bold hover:text-primary\">\n <Link\n to={`/concepts/projects/project-details/${project.id}`}\n >\n {project.name}\n </Link>\n </h6>\n <span>{project.category}</span>\n </div>\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 sm:col-span-2 md:col-span-2 lg:col-span-2 md:flex md:items-center md:justify-end\">\n <div className=\"inline-flex items-center px-2 py-1 border border-gray-300 rounded-full\">\n <TbClipboardCheck className=\"text-base\" />\n <span className=\"ml-1 rtl:mr-1 whitespace-nowrap\">\n {project.completedTask} /{' '}\n {project.totalTask}\n </span>\n </div>\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 md:col-span-2 lg:col-span-3 md:flex md:items-center\">\n <ProgressionBar\n progression={project.progression}\n />\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 md:col-span-3 lg:col-span-3 md:flex md:items-center\">\n <UsersAvatarGroup\n users={project.member}\n />\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 sm:col-span-1 flex md:items-center justify-end\">\n <div\n className=\"cursor-pointer text-lg\"\n role=\"button\"\n onClick={() =>\n handleToggleFavorite(\n project.id,\n true,\n )\n }\n >\n <TbStar />\n </div>\n </div>\n </div>\n </Card>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nexport default ProjectListContent\n"],"names":["ProjectListContent","projectList","updateProjectFavorite","setProjectList","useProjectListStore","useSWR","apiGetProjects","data","handleToggleFavorite","id","value","jsxs","jsx","project","Card","Link","TbStarFilled","ProgressionBar","UsersAvatarGroup","TbClipboardCheck","TbStar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectListContent.js","sources":["../../../../../../../lib/@ecme/views/concepts/projects/ProjectList/components/ProjectListContent.tsx"],"sourcesContent":["import Card from '@/components/ui/Card'\nimport UsersAvatarGroup from '@/components/shared/UsersAvatarGroup'\nimport { Link } from 'react-router-dom'\nimport ProgressionBar from './ProgressionBar'\nimport { useProjectListStore } from '../store/projectListStore'\nimport { apiGetProjects } from '@/services/ProjectService'\nimport useSWR from 'swr'\nimport { TbClipboardCheck, TbStarFilled, TbStar } from 'react-icons/tb'\nimport type { GetProjectListResponse } from '../types'\n\nconst ProjectListContent = () => {\n const { projectList, updateProjectFavorite, setProjectList } =\n useProjectListStore()\n\n useSWR(['/api/projects'], () => apiGetProjects<GetProjectListResponse>(), {\n revalidateOnFocus: false,\n revalidateIfStale: false,\n revalidateOnReconnect: false,\n onSuccess: (data) => {\n setProjectList(data)\n },\n })\n\n const handleToggleFavorite = (id: string, value: boolean) => {\n updateProjectFavorite({ id, value })\n }\n\n return (\n <div>\n <div className=\"mt-8\">\n <h5 className=\"mb-3\">Favorite</h5>\n <div className=\"grid md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6\">\n {projectList\n ?.filter((project) => project.favourite)\n .map((project) => (\n <Card key={project.id} bodyClass=\"h-full\">\n <div className=\"flex flex-col justify-between h-full\">\n <div className=\"flex justify-between items-center\">\n <Link\n to={`/concepts/projects/project-details/${project.id}`}\n >\n <h6 className=\"font-bold hover:text-primary\">\n {project.name}\n </h6>\n </Link>\n <div\n className=\"text-amber-400 cursor-pointer text-lg\"\n role=\"button\"\n onClick={() =>\n handleToggleFavorite(\n project.id,\n false,\n )\n }\n >\n <TbStarFilled />\n </div>\n </div>\n <p className=\"mt-4\">{project.desc}</p>\n <div className=\"mt-3\">\n <ProgressionBar\n progression={project.progression}\n />\n <div className=\"flex items-center justify-between mt-2\">\n <UsersAvatarGroup\n users={project.member}\n />\n <div className=\"flex items-center rounded-full font-semibold text-xs\">\n <div className=\"flex items-center px-2 py-1 border border-gray-300 rounded-full\">\n <TbClipboardCheck className=\"text-base\" />\n <span className=\"ml-1 rtl:mr-1 whitespace-nowrap\">\n {project.completedTask}{' '}\n / {project.totalTask}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Card>\n ))}\n </div>\n </div>\n <div className=\"mt-8\">\n <h5 className=\"mb-3\">Other projects</h5>\n <div className=\"flex flex-col gap-4\">\n {projectList\n ?.filter((project) => !project.favourite)\n .map((project) => (\n <Card key={project.id}>\n <div className=\"grid gap-x-4 grid-cols-12\">\n <div className=\"my-1 sm:my-0 col-span-12 sm:col-span-2 md:col-span-3 lg:col-span-3 md:flex md:items-center\">\n <div className=\"flex flex-col\">\n <h6 className=\"font-bold hover:text-primary\">\n <Link\n to={`/concepts/projects/project-details/${project.id}`}\n >\n {project.name}\n </Link>\n </h6>\n <span>{project.category}</span>\n </div>\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 sm:col-span-2 md:col-span-2 lg:col-span-2 md:flex md:items-center md:justify-end\">\n <div className=\"inline-flex items-center px-2 py-1 border border-gray-300 rounded-full\">\n <TbClipboardCheck className=\"text-base\" />\n <span className=\"ml-1 rtl:mr-1 whitespace-nowrap\">\n {project.completedTask} /{' '}\n {project.totalTask}\n </span>\n </div>\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 md:col-span-2 lg:col-span-3 md:flex md:items-center\">\n <ProgressionBar\n progression={project.progression}\n />\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 md:col-span-3 lg:col-span-3 md:flex md:items-center\">\n <UsersAvatarGroup\n users={project.member}\n />\n </div>\n <div className=\"my-1 sm:my-0 col-span-12 sm:col-span-1 flex md:items-center justify-end\">\n <div\n className=\"cursor-pointer text-lg\"\n role=\"button\"\n onClick={() =>\n handleToggleFavorite(\n project.id,\n true,\n )\n }\n >\n <TbStar />\n </div>\n </div>\n </div>\n </Card>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nexport default ProjectListContent\n"],"names":["ProjectListContent","projectList","updateProjectFavorite","setProjectList","useProjectListStore","useSWR","apiGetProjects","data","handleToggleFavorite","id","value","jsxs","jsx","project","Card","Link","TbStarFilled","ProgressionBar","UsersAvatarGroup","TbClipboardCheck","TbStar"],"mappings":"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"}
|