@collabdt/core 0.3.0 → 0.3.2
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/core/components/AppSidebarContent.d.ts +1 -1
- package/dist/core/components/AppSidebarContent.d.ts.map +1 -1
- package/dist/core/components/AppSidebarContent.js +9 -9
- package/dist/core/components/AppSidebarContent.js.map +1 -1
- package/dist/core/components/ConfirmDialog.js.map +1 -1
- package/dist/core/components/DataTableSkeleton.d.ts.map +1 -1
- package/dist/core/components/DataTableSkeleton.js.map +1 -1
- package/dist/core/components/LanguageSwitch.d.ts.map +1 -1
- package/dist/core/components/LanguageSwitch.js +4 -4
- package/dist/core/components/LanguageSwitch.js.map +1 -1
- package/dist/core/components/Logo.js +1 -1
- package/dist/core/components/Logo.js.map +1 -1
- package/dist/core/components/Toolbar.d.ts +1 -1
- package/dist/core/components/Toolbar.d.ts.map +1 -1
- package/dist/core/components/Toolbar.js +1 -1
- package/dist/core/components/Toolbar.js.map +1 -1
- package/dist/core/components/ToolbarBody.d.ts +1 -1
- package/dist/core/components/ToolbarBody.d.ts.map +1 -1
- package/dist/core/components/ToolbarBody.js +1 -1
- package/dist/core/components/ToolbarBody.js.map +1 -1
- package/dist/core/components/ToolbarSubmenu.d.ts +1 -1
- package/dist/core/components/ToolbarSubmenu.d.ts.map +1 -1
- package/dist/core/components/ToolbarSubmenu.js +2 -2
- package/dist/core/components/ToolbarSubmenu.js.map +1 -1
- package/dist/core/components/TopNavigationBar.d.ts.map +1 -1
- package/dist/core/components/TopNavigationBar.js +5 -5
- package/dist/core/components/TopNavigationBar.js.map +1 -1
- package/dist/core/components/authentication/AuthPage.d.ts.map +1 -1
- package/dist/core/components/authentication/AuthPage.js +5 -5
- package/dist/core/components/authentication/AuthPage.js.map +1 -1
- package/dist/core/components/authentication/ForgotPassword.d.ts.map +1 -1
- package/dist/core/components/authentication/ForgotPassword.js +3 -4
- package/dist/core/components/authentication/ForgotPassword.js.map +1 -1
- package/dist/core/components/authentication/Signin.d.ts.map +1 -1
- package/dist/core/components/authentication/Signin.js +5 -5
- package/dist/core/components/authentication/Signin.js.map +1 -1
- package/dist/core/components/authentication/Signup.d.ts.map +1 -1
- package/dist/core/components/authentication/Signup.js +7 -7
- package/dist/core/components/authentication/Signup.js.map +1 -1
- package/dist/core/components/instance-not-found/index.d.ts.map +1 -1
- package/dist/core/components/instance-not-found/index.js +4 -4
- package/dist/core/components/instance-not-found/index.js.map +1 -1
- package/dist/core/components/instance-not-found/src/OrganizationNotFoundSection.d.ts.map +1 -1
- package/dist/core/components/instance-not-found/src/OrganizationNotFoundSection.js +3 -3
- package/dist/core/components/instance-not-found/src/OrganizationNotFoundSection.js.map +1 -1
- package/dist/core/components/organizationConfig/index.d.ts.map +1 -1
- package/dist/core/components/organizationConfig/index.js +4 -4
- package/dist/core/components/organizationConfig/index.js.map +1 -1
- package/dist/core/components/organizationConfig/src/organizationConfigContent.js +2 -2
- package/dist/core/components/organizationConfig/src/organizationConfigContent.js.map +1 -1
- package/dist/core/components/settings/index.d.ts.map +1 -1
- package/dist/core/components/settings/index.js +2 -2
- package/dist/core/components/settings/index.js.map +1 -1
- package/dist/core/components/settings/src/AccountSettingsPanel.d.ts.map +1 -1
- package/dist/core/components/settings/src/AccountSettingsPanel.js +8 -8
- package/dist/core/components/settings/src/AccountSettingsPanel.js.map +1 -1
- package/dist/core/components/settings/src/ChangePassword.d.ts.map +1 -1
- package/dist/core/components/settings/src/ChangePassword.js +5 -5
- package/dist/core/components/settings/src/ChangePassword.js.map +1 -1
- package/dist/core/components/settings/src/OrganizationSettingsPanel.d.ts.map +1 -1
- package/dist/core/components/settings/src/OrganizationSettingsPanel.js +7 -7
- package/dist/core/components/settings/src/OrganizationSettingsPanel.js.map +1 -1
- package/dist/core/components/settings/src/SettingsContent.d.ts.map +1 -1
- package/dist/core/components/settings/src/SettingsContent.js +1 -1
- package/dist/core/components/settings/src/SettingsContent.js.map +1 -1
- package/dist/core/components/settings/src/SettingsSidebar.d.ts.map +1 -1
- package/dist/core/components/settings/src/SettingsSidebar.js +3 -3
- package/dist/core/components/settings/src/SettingsSidebar.js.map +1 -1
- package/dist/core/components/settings/src/UsersSettingsPanel.js +1 -1
- package/dist/core/components/settings/src/UsersSettingsPanel.js.map +1 -1
- package/dist/core/components/support/BugReportDialog.d.ts.map +1 -1
- package/dist/core/components/support/BugReportDialog.js +8 -8
- package/dist/core/components/support/BugReportDialog.js.map +1 -1
- package/dist/core/components/support/FeatureRequestDialog.d.ts.map +1 -1
- package/dist/core/components/support/FeatureRequestDialog.js +6 -6
- package/dist/core/components/support/FeatureRequestDialog.js.map +1 -1
- package/dist/core/components/support/SupportMenu.d.ts.map +1 -1
- package/dist/core/components/support/SupportMenu.js +1 -1
- package/dist/core/components/support/SupportMenu.js.map +1 -1
- package/dist/core/components/ui/Accordion.d.ts +1 -1
- package/dist/core/components/ui/Accordion.d.ts.map +1 -1
- package/dist/core/components/ui/Accordion.js +1 -1
- package/dist/core/components/ui/Accordion.js.map +1 -1
- package/dist/core/components/ui/AddItemDialog.d.ts.map +1 -1
- package/dist/core/components/ui/AddItemDialog.js +1 -1
- package/dist/core/components/ui/AddItemDialog.js.map +1 -1
- package/dist/core/components/ui/AlertDialog.d.ts +1 -1
- package/dist/core/components/ui/AlertDialog.d.ts.map +1 -1
- package/dist/core/components/ui/AlertDialog.js +1 -1
- package/dist/core/components/ui/AlertDialog.js.map +1 -1
- package/dist/core/components/ui/AnimatedBackground.js +1 -1
- package/dist/core/components/ui/AnimatedBackground.js.map +1 -1
- package/dist/core/components/ui/AppSidebar.d.ts.map +1 -1
- package/dist/core/components/ui/AppSidebar.js +7 -7
- package/dist/core/components/ui/AppSidebar.js.map +1 -1
- package/dist/core/components/ui/Avatar.d.ts +1 -1
- package/dist/core/components/ui/Avatar.d.ts.map +1 -1
- package/dist/core/components/ui/Avatar.js +1 -1
- package/dist/core/components/ui/Avatar.js.map +1 -1
- package/dist/core/components/ui/Badge.d.ts.map +1 -1
- package/dist/core/components/ui/Badge.js.map +1 -1
- package/dist/core/components/ui/Breadcrumb.d.ts.map +1 -1
- package/dist/core/components/ui/Breadcrumb.js +2 -2
- package/dist/core/components/ui/Breadcrumb.js.map +1 -1
- package/dist/core/components/ui/Button.d.ts.map +1 -1
- package/dist/core/components/ui/Button.js +1 -1
- package/dist/core/components/ui/Button.js.map +1 -1
- package/dist/core/components/ui/Calendar.d.ts +2 -1
- package/dist/core/components/ui/Calendar.d.ts.map +1 -1
- package/dist/core/components/ui/Calendar.js +1 -1
- package/dist/core/components/ui/Calendar.js.map +1 -1
- package/dist/core/components/ui/Checkbox.d.ts +1 -1
- package/dist/core/components/ui/Checkbox.d.ts.map +1 -1
- package/dist/core/components/ui/Checkbox.js +1 -1
- package/dist/core/components/ui/Checkbox.js.map +1 -1
- package/dist/core/components/ui/CollapsibleSection.d.ts.map +1 -1
- package/dist/core/components/ui/CollapsibleSection.js +2 -2
- package/dist/core/components/ui/CollapsibleSection.js.map +1 -1
- package/dist/core/components/ui/Command.d.ts +8 -8
- package/dist/core/components/ui/Command.d.ts.map +1 -1
- package/dist/core/components/ui/Command.js +1 -1
- package/dist/core/components/ui/Command.js.map +1 -1
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.d.ts +13 -3
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.js +144 -146
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.js.map +1 -1
- package/dist/core/components/ui/Comments/Comment.d.ts +18 -1
- package/dist/core/components/ui/Comments/Comment.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/Comment.js +97 -26
- package/dist/core/components/ui/Comments/Comment.js.map +1 -1
- package/dist/core/components/ui/Comments/CommentActionButtons.d.ts +34 -0
- package/dist/core/components/ui/Comments/CommentActionButtons.d.ts.map +1 -0
- package/dist/core/components/ui/Comments/CommentActionButtons.js +106 -0
- package/dist/core/components/ui/Comments/CommentActionButtons.js.map +1 -0
- package/dist/core/components/ui/Comments/CommentInput.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CommentInput.js +11 -8
- package/dist/core/components/ui/Comments/CommentInput.js.map +1 -1
- package/dist/core/components/ui/Comments/CommentsSection.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CommentsSection.js +89 -45
- package/dist/core/components/ui/Comments/CommentsSection.js.map +1 -1
- package/dist/core/components/ui/Comments/commentUtils.d.ts +1 -1
- package/dist/core/components/ui/Comments/commentUtils.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/commentUtils.js +2 -1
- package/dist/core/components/ui/Comments/commentUtils.js.map +1 -1
- package/dist/core/components/ui/Countdown.d.ts.map +1 -1
- package/dist/core/components/ui/Countdown.js +1 -1
- package/dist/core/components/ui/Countdown.js.map +1 -1
- package/dist/core/components/ui/DataTable.d.ts +1 -1
- package/dist/core/components/ui/DataTable.d.ts.map +1 -1
- package/dist/core/components/ui/DataTable.js +17 -17
- package/dist/core/components/ui/DataTable.js.map +1 -1
- package/dist/core/components/ui/DatePicker.d.ts.map +1 -1
- package/dist/core/components/ui/DatePicker.js +2 -2
- package/dist/core/components/ui/DatePicker.js.map +1 -1
- package/dist/core/components/ui/DescriptionList.d.ts.map +1 -1
- package/dist/core/components/ui/DescriptionList.js +2 -2
- package/dist/core/components/ui/DescriptionList.js.map +1 -1
- package/dist/core/components/ui/Dialog.d.ts +1 -1
- package/dist/core/components/ui/Dialog.d.ts.map +1 -1
- package/dist/core/components/ui/Dialog.js +1 -1
- package/dist/core/components/ui/Dialog.js.map +1 -1
- package/dist/core/components/ui/DropdownMenu.d.ts +1 -1
- package/dist/core/components/ui/DropdownMenu.d.ts.map +1 -1
- package/dist/core/components/ui/DropdownMenu.js +1 -1
- package/dist/core/components/ui/DropdownMenu.js.map +1 -1
- package/dist/core/components/ui/ExportData.d.ts +2 -2
- package/dist/core/components/ui/ExportData.d.ts.map +1 -1
- package/dist/core/components/ui/ExportData.js +5 -5
- package/dist/core/components/ui/ExportData.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileItemComponent.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileItemComponent.js +3 -3
- package/dist/core/components/ui/FilesManager/src/FileItemComponent.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileMarker.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/FileMarker.js +2 -2
- package/dist/core/components/ui/FilesManager/src/FileMarker.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/ViewerContextMenu.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/ViewerContextMenu.js +1 -1
- package/dist/core/components/ui/FilesManager/src/ViewerContextMenu.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/convertIfcToFragmentsFile.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/convertIfcToFragmentsFile.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/downloadUtils.d.ts +1 -1
- package/dist/core/components/ui/FilesManager/src/downloadUtils.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/downloadUtils.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useCommonFileUpload.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileActions.d.ts +2 -2
- package/dist/core/components/ui/FilesManager/src/useFileActions.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileActions.js +2 -2
- package/dist/core/components/ui/FilesManager/src/useFileActions.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileDeleteHandler.js +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileDeleteHandler.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadHandler.js +3 -3
- package/dist/core/components/ui/FilesManager/src/useFileUploadHandler.js.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadWithProgress.d.ts.map +1 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadWithProgress.js +0 -1
- package/dist/core/components/ui/FilesManager/src/useFileUploadWithProgress.js.map +1 -1
- package/dist/core/components/ui/GenericTool.d.ts +1 -1
- package/dist/core/components/ui/GenericTool.d.ts.map +1 -1
- package/dist/core/components/ui/GenericTool.js +2 -2
- package/dist/core/components/ui/GenericTool.js.map +1 -1
- package/dist/core/components/ui/Icons/FloorPlanIcon.js +1 -1
- package/dist/core/components/ui/Icons/FloorPlanIcon.js.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Container.d.ts.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Container.js +16 -12
- package/dist/core/components/ui/InfoSidebar/Container.js.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Header.d.ts.map +1 -1
- package/dist/core/components/ui/InfoSidebar/Header.js +4 -4
- package/dist/core/components/ui/InfoSidebar/Header.js.map +1 -1
- package/dist/core/components/ui/InfoSidebar/index.d.ts +1 -1
- package/dist/core/components/ui/InfoSidebar/index.d.ts.map +1 -1
- package/dist/core/components/ui/InfoSidebar/index.js +1 -1
- package/dist/core/components/ui/InfoSidebar/index.js.map +1 -1
- package/dist/core/components/ui/Label.d.ts +1 -1
- package/dist/core/components/ui/Label.d.ts.map +1 -1
- package/dist/core/components/ui/Label.js +1 -1
- package/dist/core/components/ui/Label.js.map +1 -1
- package/dist/core/components/ui/LanguageToggle.d.ts +1 -1
- package/dist/core/components/ui/LanguageToggle.d.ts.map +1 -1
- package/dist/core/components/ui/LanguageToggle.js +1 -1
- package/dist/core/components/ui/LanguageToggle.js.map +1 -1
- package/dist/core/components/ui/Menubar.d.ts +1 -1
- package/dist/core/components/ui/Menubar.d.ts.map +1 -1
- package/dist/core/components/ui/Menubar.js +1 -1
- package/dist/core/components/ui/Menubar.js.map +1 -1
- package/dist/core/components/ui/NavUser.js +7 -7
- package/dist/core/components/ui/NavUser.js.map +1 -1
- package/dist/core/components/ui/Navbar.d.ts.map +1 -1
- package/dist/core/components/ui/Navbar.js +2 -2
- package/dist/core/components/ui/Navbar.js.map +1 -1
- package/dist/core/components/ui/Popover.d.ts +1 -1
- package/dist/core/components/ui/Popover.d.ts.map +1 -1
- package/dist/core/components/ui/Popover.js +1 -1
- package/dist/core/components/ui/Popover.js.map +1 -1
- package/dist/core/components/ui/Progress.d.ts +1 -1
- package/dist/core/components/ui/Progress.d.ts.map +1 -1
- package/dist/core/components/ui/Progress.js +1 -1
- package/dist/core/components/ui/Progress.js.map +1 -1
- package/dist/core/components/ui/ScrollArea.d.ts +1 -1
- package/dist/core/components/ui/ScrollArea.d.ts.map +1 -1
- package/dist/core/components/ui/ScrollArea.js +1 -1
- package/dist/core/components/ui/ScrollArea.js.map +1 -1
- package/dist/core/components/ui/SearchInput.d.ts.map +1 -1
- package/dist/core/components/ui/SearchInput.js +2 -2
- package/dist/core/components/ui/SearchInput.js.map +1 -1
- package/dist/core/components/ui/Select.d.ts +1 -1
- package/dist/core/components/ui/Select.d.ts.map +1 -1
- package/dist/core/components/ui/Select.js +3 -3
- package/dist/core/components/ui/Select.js.map +1 -1
- package/dist/core/components/ui/Sensors/CollapsibleSensorItem.d.ts +1 -1
- package/dist/core/components/ui/Sensors/CollapsibleSensorItem.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/CollapsibleSensorItem.js +10 -10
- package/dist/core/components/ui/Sensors/CollapsibleSensorItem.js.map +1 -1
- package/dist/core/components/ui/Sensors/Sensor.d.ts +2 -1
- package/dist/core/components/ui/Sensors/Sensor.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/Sensor.js +3 -3
- package/dist/core/components/ui/Sensors/Sensor.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorChart.d.ts +1 -1
- package/dist/core/components/ui/Sensors/SensorChart.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorChart.js +1 -1
- package/dist/core/components/ui/Sensors/SensorChart.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorInput.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorInput.js +9 -10
- package/dist/core/components/ui/Sensors/SensorInput.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorTagsSection.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorTagsSection.js +3 -3
- package/dist/core/components/ui/Sensors/SensorTagsSection.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSection.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSection.js +7 -9
- package/dist/core/components/ui/Sensors/SensorsSection.js.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSectionSkeleton.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/SensorsSectionSkeleton.js.map +1 -1
- package/dist/core/components/ui/Sensors/sensorUtils.d.ts +1 -1
- package/dist/core/components/ui/Sensors/sensorUtils.d.ts.map +1 -1
- package/dist/core/components/ui/Sensors/sensorUtils.js.map +1 -1
- package/dist/core/components/ui/Separator.d.ts +1 -1
- package/dist/core/components/ui/Separator.d.ts.map +1 -1
- package/dist/core/components/ui/Separator.js +1 -1
- package/dist/core/components/ui/Separator.js.map +1 -1
- package/dist/core/components/ui/SettingsButton.d.ts.map +1 -1
- package/dist/core/components/ui/SettingsButton.js +4 -4
- package/dist/core/components/ui/SettingsButton.js.map +1 -1
- package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.d.ts +1 -1
- package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.d.ts.map +1 -1
- package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.js +14 -14
- package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.js.map +1 -1
- package/dist/core/components/ui/Sheet.d.ts +1 -1
- package/dist/core/components/ui/Sheet.d.ts.map +1 -1
- package/dist/core/components/ui/Sheet.js +1 -1
- package/dist/core/components/ui/Sheet.js.map +1 -1
- package/dist/core/components/ui/Sidebar.d.ts +1 -1
- package/dist/core/components/ui/Sidebar.d.ts.map +1 -1
- package/dist/core/components/ui/Sidebar.js +33 -10
- package/dist/core/components/ui/Sidebar.js.map +1 -1
- package/dist/core/components/ui/Slider.d.ts +1 -1
- package/dist/core/components/ui/Slider.d.ts.map +1 -1
- package/dist/core/components/ui/Slider.js +1 -1
- package/dist/core/components/ui/Slider.js.map +1 -1
- package/dist/core/components/ui/Switch.d.ts +1 -1
- package/dist/core/components/ui/Switch.d.ts.map +1 -1
- package/dist/core/components/ui/Switch.js +1 -1
- package/dist/core/components/ui/Switch.js.map +1 -1
- package/dist/core/components/ui/Tabs.d.ts +1 -1
- package/dist/core/components/ui/Tabs.d.ts.map +1 -1
- package/dist/core/components/ui/Tabs.js +1 -1
- package/dist/core/components/ui/Tabs.js.map +1 -1
- package/dist/core/components/ui/Toggle.d.ts +1 -1
- package/dist/core/components/ui/Toggle.d.ts.map +1 -1
- package/dist/core/components/ui/Toggle.js +1 -1
- package/dist/core/components/ui/Toggle.js.map +1 -1
- package/dist/core/components/ui/ToggleGroup.d.ts +1 -1
- package/dist/core/components/ui/ToggleGroup.d.ts.map +1 -1
- package/dist/core/components/ui/ToggleGroup.js +1 -1
- package/dist/core/components/ui/ToggleGroup.js.map +1 -1
- package/dist/core/components/ui/ToolbarButton.d.ts +1 -1
- package/dist/core/components/ui/ToolbarButton.d.ts.map +1 -1
- package/dist/core/components/ui/ToolbarButton.js +1 -2
- package/dist/core/components/ui/ToolbarButton.js.map +1 -1
- package/dist/core/components/ui/Tooltip.d.ts +1 -1
- package/dist/core/components/ui/Tooltip.d.ts.map +1 -1
- package/dist/core/components/ui/Tooltip.js +1 -1
- package/dist/core/components/ui/Tooltip.js.map +1 -1
- package/dist/core/components/ui/UserAvatar.d.ts.map +1 -1
- package/dist/core/components/ui/UserAvatar.js +1 -1
- package/dist/core/components/ui/UserAvatar.js.map +1 -1
- package/dist/core/components/ui/downloadUtils.d.ts.map +1 -1
- package/dist/core/components/ui/downloadUtils.js.map +1 -1
- package/dist/core/components/ui/stats.d.ts.map +1 -1
- package/dist/core/components/ui/stats.js.map +1 -1
- package/dist/core/components/ui/uploadFile.js +1 -1
- package/dist/core/components/ui/uploadFile.js.map +1 -1
- package/dist/core/components/viewers/Data/DataMenu.d.ts +1 -1
- package/dist/core/components/viewers/Data/DataMenu.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/DataMenu.js +11 -11
- package/dist/core/components/viewers/Data/DataMenu.js.map +1 -1
- package/dist/core/components/viewers/Data/FilterButtons.d.ts +1 -1
- package/dist/core/components/viewers/Data/FilterButtons.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/FilterButtons.js +7 -7
- package/dist/core/components/viewers/Data/FilterButtons.js.map +1 -1
- package/dist/core/components/viewers/Data/HeaderButtons.d.ts +1 -1
- package/dist/core/components/viewers/Data/HeaderButtons.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/HeaderButtons.js +9 -9
- package/dist/core/components/viewers/Data/HeaderButtons.js.map +1 -1
- package/dist/core/components/viewers/Data/MoreOptions.d.ts +1 -1
- package/dist/core/components/viewers/Data/MoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/MoreOptions.js +16 -16
- package/dist/core/components/viewers/Data/MoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/Filters.d.ts +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/Filters.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/Filters.js +2 -2
- package/dist/core/components/viewers/Data/advancedFilter/Filters.js.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/FiltersDialog.d.ts +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/FiltersDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/advancedFilter/FiltersDialog.js +6 -8
- package/dist/core/components/viewers/Data/advancedFilter/FiltersDialog.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/AddBuilding.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/AddBuilding.js +3 -3
- package/dist/core/components/viewers/Data/buildingDetails/AddBuilding.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingDetails.js +10 -10
- package/dist/core/components/viewers/Data/buildingDetails/BuildingDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingsMoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/BuildingsMoreOptions.js +11 -11
- package/dist/core/components/viewers/Data/buildingDetails/BuildingsMoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/FieldRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/FieldRenderer.js +10 -10
- package/dist/core/components/viewers/Data/buildingDetails/FieldRenderer.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/GeocoderInput.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/GeocoderInput.js.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/buildingSchemaTemplate.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/buildingDetails/buildingSchemaTemplate.js.map +1 -1
- package/dist/core/components/viewers/Data/details/AttachedFiles.d.ts +1 -1
- package/dist/core/components/viewers/Data/details/AttachedFiles.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/AttachedFiles.js +3 -3
- package/dist/core/components/viewers/Data/details/AttachedFiles.js.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailActions.d.ts +1 -1
- package/dist/core/components/viewers/Data/details/DetailActions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailActions.js +2 -2
- package/dist/core/components/viewers/Data/details/DetailActions.js.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailHeader.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/DetailHeader.js.map +1 -1
- package/dist/core/components/viewers/Data/details/EnergySourcesGrid.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/EnergySourcesGrid.js +4 -14
- package/dist/core/components/viewers/Data/details/EnergySourcesGrid.js.map +1 -1
- package/dist/core/components/viewers/Data/details/FieldValue.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/FieldValue.js +2 -2
- package/dist/core/components/viewers/Data/details/FieldValue.js.map +1 -1
- package/dist/core/components/viewers/Data/details/FileUpload.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/FileUpload.js +2 -2
- package/dist/core/components/viewers/Data/details/FileUpload.js.map +1 -1
- package/dist/core/components/viewers/Data/details/FilterFiles.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/FilterFiles.js +2 -2
- package/dist/core/components/viewers/Data/details/FilterFiles.js.map +1 -1
- package/dist/core/components/viewers/Data/details/TabSidebar.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/details/TabSidebar.js +3 -3
- package/dist/core/components/viewers/Data/details/TabSidebar.js.map +1 -1
- package/dist/core/components/viewers/Data/files/DatatableFileAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/DatatableFileAdder.js +3 -4
- package/dist/core/components/viewers/Data/files/DatatableFileAdder.js.map +1 -1
- package/dist/core/components/viewers/Data/files/FileDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/FileDetails.js +8 -8
- package/dist/core/components/viewers/Data/files/FileDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/files/FileMoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/FileMoreOptions.js +8 -8
- package/dist/core/components/viewers/Data/files/FileMoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/files/FilePreview.d.ts +1 -1
- package/dist/core/components/viewers/Data/files/FilePreview.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/FilePreview.js +1 -1
- package/dist/core/components/viewers/Data/files/FilePreview.js.map +1 -1
- package/dist/core/components/viewers/Data/files/utils/fuzzySearch.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/files/utils/fuzzySearch.js +0 -1
- package/dist/core/components/viewers/Data/files/utils/fuzzySearch.js.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/AddInfrastructure.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/AddInfrastructure.js +3 -3
- package/dist/core/components/viewers/Data/infrastructureDetails/AddInfrastructure.js.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/FieldRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/FieldRenderer.js +2 -2
- package/dist/core/components/viewers/Data/infrastructureDetails/FieldRenderer.js.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/InfrastructureDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/infrastructureDetails/InfrastructureDetails.js +6 -6
- package/dist/core/components/viewers/Data/infrastructureDetails/InfrastructureDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AddSite.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AddSite.js +5 -5
- package/dist/core/components/viewers/Data/siteDetails/AddSite.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.js +10 -10
- package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/FieldRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/FieldRenderer.js +9 -9
- package/dist/core/components/viewers/Data/siteDetails/FieldRenderer.js.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/SiteDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/siteDetails/SiteDetails.js +11 -11
- package/dist/core/components/viewers/Data/siteDetails/SiteDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/AddUser.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/AddUser.js +3 -3
- package/dist/core/components/viewers/Data/userDetails/AddUser.js.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserDetails.js +12 -12
- package/dist/core/components/viewers/Data/userDetails/UserDetails.js.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserMoreOptions.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/userDetails/UserMoreOptions.js +12 -13
- package/dist/core/components/viewers/Data/userDetails/UserMoreOptions.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/Columns.d.ts +2 -2
- package/dist/core/components/viewers/Data/utils/Columns.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/Columns.js +7 -7
- package/dist/core/components/viewers/Data/utils/Columns.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/Headers.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/Headers.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/csvUtils.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/filterHelper.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/filterHelper.js +0 -2
- package/dist/core/components/viewers/Data/utils/filterHelper.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/positionParser.js.map +1 -1
- package/dist/core/components/viewers/Data/utils/useViewerData.d.ts +2 -2
- package/dist/core/components/viewers/Data/utils/useViewerData.d.ts.map +1 -1
- package/dist/core/components/viewers/Data/utils/useViewerData.js.map +1 -1
- package/dist/core/components/viewers/Viewer.d.ts +1 -1
- package/dist/core/components/viewers/Viewer.d.ts.map +1 -1
- package/dist/core/components/viewers/Viewer.js +6 -6
- package/dist/core/components/viewers/Viewer.js.map +1 -1
- package/dist/core/components/viewers/bim/BimToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/BimToolbar.js +1 -1
- package/dist/core/components/viewers/bim/BimToolbar.js.map +1 -1
- package/dist/core/components/viewers/bim/BimViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/BimViewer.js +7 -7
- package/dist/core/components/viewers/bim/BimViewer.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BCFTopicsManager.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BCFTopicsManager.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BIMManager/index.d.ts +2 -2
- package/dist/core/components/viewers/bim/src/BIMManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BIMManager/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimLoadingState/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimLoadingState/index.js +9 -9
- package/dist/core/components/viewers/bim/src/BimLoadingState/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimMeasurements/LenghtMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimMeasurements/LenghtMeasurement.js +1 -1
- package/dist/core/components/viewers/bim/src/BimMeasurements/LenghtMeasurement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/index.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/index.js +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CollapsibleTopicItem.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CollapsibleTopicItem.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CollapsibleTopicItem.js +5 -5
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CollapsibleTopicItem.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CreateTopicDialog.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CreateTopicDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CreateTopicDialog.js +9 -9
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/CreateTopicDialog.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/TopicsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/TopicsSection.js +6 -9
- package/dist/core/components/viewers/bim/src/BimSidebar/src/CommunicationTab/src/TopicsSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/index.js +4 -4
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.js +11 -17
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.js +10 -18
- package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/index.js +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/ElevationsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/ElevationsSection.js +2 -2
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/ElevationsSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.js +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/SpatialStructureSection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/SpatialStructureSection.js +6 -6
- package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/SpatialStructureSection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SensorsTab/index.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SensorsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SensorsTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/index.js +2 -2
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/GridManagement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/GridManagement.js +5 -5
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/GridManagement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/LightingManagement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/LightingManagement.js +3 -3
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/LightingManagement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/RenderMode.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/RenderMode.js +3 -3
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/RenderMode.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/ToggleProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/ToggleProjection.js +4 -4
- package/dist/core/components/viewers/bim/src/BimSidebar/src/SettingsTab/src/ToggleProjection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/TabSelector.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/TabSelector.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/TabSelector.js +5 -4
- package/dist/core/components/viewers/bim/src/BimSidebar/src/TabSelector.js.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/BimSidebar/src/index.js +5 -5
- package/dist/core/components/viewers/bim/src/BimSidebar/src/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/CameraProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/CameraProjection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ClippingPlane.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ClippingPlane.js +1 -2
- package/dist/core/components/viewers/bim/src/ClippingPlane.js.map +1 -1
- package/dist/core/components/viewers/bim/src/Cursor.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/Cursor.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/Cursor.js.map +1 -1
- package/dist/core/components/viewers/bim/src/DXFLoader/index.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/DXFLoader/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/DXFLoader/index.js +1 -1
- package/dist/core/components/viewers/bim/src/DXFLoader/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/index.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/index.js +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/ElevationProjector.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/ElevationProjector.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/ElevationProjector.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/types.d.ts +4 -4
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/types.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ElevationsTool/src/types.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FitCamera.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FitCamera.js +1 -1
- package/dist/core/components/viewers/bim/src/FitCamera.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/index.d.ts +3 -3
- package/dist/core/components/viewers/bim/src/FloorplanTool/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/index.js +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/FloorplanRenderer.d.ts +3 -3
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/FloorplanRenderer.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/FloorplanRenderer.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/StoreyProjector.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/StoreyProjector.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/StoreyProjector.js.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/types.d.ts +2 -2
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/types.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/FloorplanTool/src/types.js.map +1 -1
- package/dist/core/components/viewers/bim/src/GhostMode.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/GhostMode.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/GhostMode.js.map +1 -1
- package/dist/core/components/viewers/bim/src/Highlighter/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/Highlighter/index.js +1 -1
- package/dist/core/components/viewers/bim/src/Highlighter/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/index.js +3 -3
- package/dist/core/components/viewers/bim/src/IDSManager/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/src/IDSLegend.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/IDSManager/src/IDSLegend.js +2 -2
- package/dist/core/components/viewers/bim/src/IDSManager/src/IDSLegend.js.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadIfcAsFragments.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadIfcAsFragments.js.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadModels.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/LoadModels.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/LoadModels.js +1 -1
- package/dist/core/components/viewers/bim/src/LoadModels.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ModelManager/index.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/ModelManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ModelManager/index.js +4 -4
- package/dist/core/components/viewers/bim/src/ModelManager/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/SimpleBimViewer.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/SimpleBimViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/SimpleBimViewer.js +8 -8
- package/dist/core/components/viewers/bim/src/SimpleBimViewer.js.map +1 -1
- package/dist/core/components/viewers/bim/src/SpatialStructure.js.map +1 -1
- package/dist/core/components/viewers/bim/src/ViewportGizmo.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/ViewportGizmo.js +2 -2
- package/dist/core/components/viewers/bim/src/ViewportGizmo.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/CameraController.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/lib/CameraController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/CameraController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ChromeController.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/lib/ChromeController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ChromeController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ClipController.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/lib/ClipController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ClipController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/GridController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/GridController.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.js +1 -1
- package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewSectionList.d.ts +2 -2
- package/dist/core/components/viewers/bim/src/lib/ViewSectionList.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewSectionList.js +1 -1
- package/dist/core/components/viewers/bim/src/lib/ViewSectionList.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingProjection.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/drawingProjection.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useBuildingName.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useBuildingName.js.map +1 -1
- package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.js +1 -1
- package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/index.js +4 -4
- package/dist/core/components/viewers/bim/src/propertiesMenu/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/ElementList.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/ElementList.js +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/ElementList.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertiesMenuHeader.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertiesMenuHeader.js +2 -2
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertiesMenuHeader.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertyGroup.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/PropertyGroup.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/useElementProperties.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/useElementProperties.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/useElementProperties.js +2 -2
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/useElementProperties.js.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/utils.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/propertiesMenu/src/utils.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/index.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/index.js +9 -9
- package/dist/core/components/viewers/bim/src/tools/AddToBim/index.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.js +2 -2
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddFile.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddFile.js +2 -2
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddFile.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddSensor.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddSensor.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddSensor.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddToBimToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddToBimToolbar.js +3 -3
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddToBimToolbar.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimComment.d.ts +16 -10
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimComment.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimComment.js +26 -6
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimComment.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimCommentCluster.d.ts +23 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimCommentCluster.d.ts.map +1 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimCommentCluster.js +108 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimCommentCluster.js.map +1 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.d.ts +2 -2
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.d.ts +5 -5
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.js +2 -2
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.js +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/clusterMarkersByScreenSpace.d.ts +44 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/clusterMarkersByScreenSpace.d.ts.map +1 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/clusterMarkersByScreenSpace.js +77 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/clusterMarkersByScreenSpace.js.map +1 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/commentCameraUtils.d.ts +24 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/commentCameraUtils.d.ts.map +1 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/commentCameraUtils.js +27 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/commentCameraUtils.js.map +1 -0
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/renderCSS2DMarkers.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/renderCSS2DMarkers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/renderCSS2DMarkers.js +3 -3
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/renderCSS2DMarkers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useCommentMarkers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useCommentMarkers.js +244 -63
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useCommentMarkers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.d.ts +2 -2
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.js +4 -4
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useSensorMarkers.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useSensorMarkers.js +6 -6
- package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useSensorMarkers.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/BIMSearchTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/BIMSearchTool.js +2 -2
- package/dist/core/components/viewers/bim/src/tools/BIMSearchTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ClippingTool/ClippingTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/ClippingTool/ClippingTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ClippingTool/ClippingTool.js +6 -10
- package/dist/core/components/viewers/bim/src/tools/ClippingTool/ClippingTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ExplodeByLevelTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/ExplodeByLevelTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/ExplodeByLevelTool.js +3 -4
- package/dist/core/components/viewers/bim/src/tools/ExplodeByLevelTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/FitCameraTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/FitCameraTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/FitCameraTool.js +2 -2
- package/dist/core/components/viewers/bim/src/tools/FitCameraTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/InspectBimTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/InspectBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/InspectBimTool.js +4 -4
- package/dist/core/components/viewers/bim/src/tools/InspectBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/bimToolbar.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/bimToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/bimToolbar.js +4 -4
- package/dist/core/components/viewers/bim/src/tools/bimToolbar.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/measureBimTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/measureBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/measureBimTool.js +6 -7
- package/dist/core/components/viewers/bim/src/tools/measureBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/selectionBimTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/selectionBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/selectionBimTool.js +5 -5
- package/dist/core/components/viewers/bim/src/tools/selectionBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/shareBimTool.d.ts +1 -1
- package/dist/core/components/viewers/bim/src/tools/shareBimTool.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/src/tools/shareBimTool.js.map +1 -1
- package/dist/core/components/viewers/bim/utils/GizmoController.d.ts +1 -1
- package/dist/core/components/viewers/bim/utils/GizmoController.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/utils/GizmoController.js.map +1 -1
- package/dist/core/components/viewers/bim/utils/setCameraLookAt.d.ts +1 -1
- package/dist/core/components/viewers/bim/utils/setCameraLookAt.d.ts.map +1 -1
- package/dist/core/components/viewers/bim/utils/setCameraLookAt.js.map +1 -1
- package/dist/core/components/viewers/map/MapViewer.d.ts +1 -1
- package/dist/core/components/viewers/map/MapViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/MapViewer.js +7 -7
- package/dist/core/components/viewers/map/MapViewer.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/AddPortalDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/AddPortalDialog.js +4 -4
- package/dist/core/components/viewers/map/datasets/AddPortalDialog.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetDetails.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetDetails.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetDetails.js +4 -4
- package/dist/core/components/viewers/map/datasets/DatasetDetails.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/index.js +13 -13
- package/dist/core/components/viewers/map/datasets/DatasetManager/index.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/src/FieldsTable.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetManager/src/FieldsTable.js +2 -2
- package/dist/core/components/viewers/map/datasets/DatasetManager/src/FieldsTable.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetSkeleton.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/DatasetSkeleton.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/Filters.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/Filters.js +2 -2
- package/dist/core/components/viewers/map/datasets/Filters.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/NestedFilter.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/NestedFilter.js +1 -1
- package/dist/core/components/viewers/map/datasets/NestedFilter.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/RowActions.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/RowActions.js +3 -3
- package/dist/core/components/viewers/map/datasets/RowActions.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/data.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/data.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/data.js +2 -2
- package/dist/core/components/viewers/map/datasets/data.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/index.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/index.js +11 -11
- package/dist/core/components/viewers/map/datasets/index.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcGISDatasets.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcGISDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/arcGISDatasets.js +13 -16
- package/dist/core/components/viewers/map/datasets/src/arcGISDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/cache.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/ckanDatasets.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/src/ckanDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/ckanDatasets.js +3 -6
- package/dist/core/components/viewers/map/datasets/src/ckanDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/localDatasets.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/src/localDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/localDatasets.js +3 -6
- package/dist/core/components/viewers/map/datasets/src/localDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/minioDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/minioDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/opendatasoftDatasets.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/src/opendatasoftDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/opendatasoftDatasets.js +1 -12
- package/dist/core/components/viewers/map/datasets/src/opendatasoftDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/publishedTiles.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/src/publishedTiles.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/publishedTiles.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/socrataDatasets.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/socrataDatasets.js +1 -1
- package/dist/core/components/viewers/map/datasets/src/socrataDatasets.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/urlSources.d.ts +1 -12
- package/dist/core/components/viewers/map/datasets/src/urlSources.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/urlSources.js +1 -1
- package/dist/core/components/viewers/map/datasets/src/urlSources.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useDatasetsForPortals.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useDatasetsForPortals.js +1 -1
- package/dist/core/components/viewers/map/datasets/src/useDatasetsForPortals.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useFastDatasetCache.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/src/useFastDatasetCache.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/src/useFastDatasetCache.js.map +1 -1
- package/dist/core/components/viewers/map/datasets/utils.d.ts +1 -1
- package/dist/core/components/viewers/map/datasets/utils.d.ts.map +1 -1
- package/dist/core/components/viewers/map/datasets/utils.js.map +1 -1
- package/dist/core/components/viewers/map/legends/MapLegendHost.d.ts.map +1 -1
- package/dist/core/components/viewers/map/legends/MapLegendHost.js +3 -3
- package/dist/core/components/viewers/map/legends/MapLegendHost.js.map +1 -1
- package/dist/core/components/viewers/map/src/Geocoder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/Geocoder.js +8 -8
- package/dist/core/components/viewers/map/src/Geocoder.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.js +3 -3
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.js +11 -11
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.js +23 -56
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.js +4 -5
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/PopoverSkeleton.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/PopoverSkeleton.js +2 -2
- package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/PopoverSkeleton.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/index.js +5 -5
- package/dist/core/components/viewers/map/src/MapLayers/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.js +5 -5
- package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/index.js +4 -4
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/src/databaseBuildings.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/src/databaseBuildings.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/BuildingLayers/src/databaseBuildings.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CommentLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CommentLayer/index.js +182 -61
- package/dist/core/components/viewers/map/src/MapLayers/src/CommentLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.js +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/EditPosition.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/EditPosition.js +3 -3
- package/dist/core/components/viewers/map/src/MapLayers/src/EditPosition.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.js +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileIcon.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileIcon.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileManagerRow.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileManagerRow.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileManagerRow.js +3 -3
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/FileManagerRow.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileManager.js +4 -3
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileManager.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileMarker.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/components/MapFileMarker.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/index.js +6 -6
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/openFileInPopUpWindow.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/openFileInPopUpWindow.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/openFileInPopUpWindow.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.js +3 -3
- package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/PlaceOnMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/PlaceOnMap.js +3 -3
- package/dist/core/components/viewers/map/src/MapLayers/src/PlaceOnMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SensorsLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SensorsLayer/index.js +11 -14
- package/dist/core/components/viewers/map/src/MapLayers/src/SensorsLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/SiteContextMenu.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/SiteContextMenu.js +2 -2
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/SiteContextMenu.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/SiteLayer.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/SiteLayer.js +4 -4
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/SiteLayer.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/siteGeometry.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/siteGeometry.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/useShowSitesOnMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapLayers/src/SiteLayer/useShowSitesOnMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/TabSelector.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/TabSelector.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/TabSelector.js +5 -4
- package/dist/core/components/viewers/map/src/MapSidebar/TabSelector.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/index.js +4 -4
- package/dist/core/components/viewers/map/src/MapSidebar/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/CommunicationTab/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/CommunicationTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/CommunicationTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/index.js +2 -2
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.js +5 -6
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.js +6 -10
- package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/index.js +4 -4
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AppliedDatasetsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AppliedDatasetsSection.js +4 -4
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AppliedDatasetsSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AvailableDatasetsSection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AvailableDatasetsSection.js +2 -2
- package/dist/core/components/viewers/map/src/MapSidebar/src/LayersTab/src/AvailableDatasetsSection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SensorsTab/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SensorsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SensorsTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/LocationSettings.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/LocationSettings.js +3 -3
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/LocationSettings.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapCustomization.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapCustomization.js +3 -3
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapCustomization.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapProjection.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapProjection.js +3 -3
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/MapProjection.js.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.js +3 -3
- package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.js.map +1 -1
- package/dist/core/components/viewers/map/src/SimpleMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/SimpleMap.js +1 -1
- package/dist/core/components/viewers/map/src/SimpleMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/AddItem.d.ts +1 -1
- package/dist/core/components/viewers/map/src/compare/AddItem.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/AddItem.js +6 -6
- package/dist/core/components/viewers/map/src/compare/AddItem.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/CompareDialog.d.ts +2 -2
- package/dist/core/components/viewers/map/src/compare/CompareDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/CompareDialog.js +5 -5
- package/dist/core/components/viewers/map/src/compare/CompareDialog.js.map +1 -1
- package/dist/core/components/viewers/map/src/compare/index.d.ts +1 -1
- package/dist/core/components/viewers/map/src/compare/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/compare/index.js +6 -6
- package/dist/core/components/viewers/map/src/compare/index.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddDataset/DatasetAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddDataset/DatasetAdder.js +3 -3
- package/dist/core/components/viewers/map/src/tools/AddTools/AddDataset/DatasetAdder.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/FileAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/FileAdder.js +5 -5
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/FileAdder.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.js +1 -3
- package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.js +3 -3
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.js +7 -7
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.js +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddToMap.d.ts +2 -2
- package/dist/core/components/viewers/map/src/tools/AddTools/AddToMap.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/AddTools/AddToMap.js +8 -8
- package/dist/core/components/viewers/map/src/tools/AddTools/AddToMap.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/DatasetMapTool.d.ts +2 -2
- package/dist/core/components/viewers/map/src/tools/DatasetMapTool.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/DatasetMapTool.js +1 -1
- package/dist/core/components/viewers/map/src/tools/DatasetMapTool.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/mapTools.d.ts +2 -2
- package/dist/core/components/viewers/map/src/tools/mapTools.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/mapTools.js +4 -4
- package/dist/core/components/viewers/map/src/tools/mapTools.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/measureMapTool.d.ts +1 -1
- package/dist/core/components/viewers/map/src/tools/measureMapTool.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/measureMapTool.js +3 -3
- package/dist/core/components/viewers/map/src/tools/measureMapTool.js.map +1 -1
- package/dist/core/components/viewers/map/src/tools/shareMapTool.d.ts +1 -1
- package/dist/core/components/viewers/map/src/tools/shareMapTool.d.ts.map +1 -1
- package/dist/core/components/viewers/map/src/tools/shareMapTool.js.map +1 -1
- package/dist/core/components/viewers/map/utils/ClusterManager.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/ClusterManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/ClusterManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapClickManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapClickManager.js +0 -1
- package/dist/core/components/viewers/map/utils/MapEventManager/MapClickManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/MarkerManager.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/MarkerManager.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/MarkerManager.js.map +1 -1
- package/dist/core/components/viewers/map/utils/extractCoordinates.js.map +1 -1
- package/dist/core/components/viewers/map/utils/fitBuildingsBounds.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/fitBuildingsBounds.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/fitBuildingsBounds.js.map +1 -1
- package/dist/core/components/viewers/map/utils/flyToEach.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/flyToEach.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/flyToEach.js +0 -1
- package/dist/core/components/viewers/map/utils/flyToEach.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoder.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/geocoder.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoder.js +1 -1
- package/dist/core/components/viewers/map/utils/geocoder.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/adapters.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/adapters.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/adapters.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/index.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/index.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/index.js +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/index.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/osm.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/osm.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/osm.js +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/osm.js.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/pelias.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/pelias.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/geocoding/pelias.js.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdFromMartin.d.ts +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdFromMartin.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdFromMartin.js.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdbyCoordinates.d.ts.map +1 -1
- package/dist/core/components/viewers/map/utils/getOsmIdbyCoordinates.js +0 -2
- package/dist/core/components/viewers/map/utils/getOsmIdbyCoordinates.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudToolbar.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudToolbar.js +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudToolbar.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudViewer.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/PointCloudViewer.js +5 -5
- package/dist/core/components/viewers/pointcloud/PointCloudViewer.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudLoadingState/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudLoadingState/index.js +7 -7
- package/dist/core/components/viewers/pointcloud/src/PointCloudLoadingState/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudManagementTable.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudManagementTable.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudTable.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudTable.js +15 -15
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudTable.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudUploadPanel.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudUploadPanel.js +3 -3
- package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudUploadPanel.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/TabSelector.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/TabSelector.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/TabSelector.js +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/TabSelector.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/index.js +2 -2
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.js +3 -3
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.js +4 -4
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.js +5 -5
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/index.js +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/CameraSettings.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/CameraSettings.js +3 -3
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/CameraSettings.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/GridManagement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/GridManagement.js +4 -4
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/GridManagement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/PerformanceSettings.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/PerformanceSettings.js +10 -10
- package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/SettingsTab/src/PerformanceSettings.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/ViewportGizmo.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/ClippingTools/ClippingTool.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/ClippingTools/ClippingTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/ClippingTools/ClippingTool.js +3 -3
- package/dist/core/components/viewers/pointcloud/src/tools/ClippingTools/ClippingTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/FitToScreen.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/FitToScreen.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AngleMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AngleMeasurement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AreaMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/AreaMeasurement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/LineMeasurement.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/LineMeasurement.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/MeasurePointCloudTool.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/MeasurePointCloudTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/MeasurePointCloudTool.js +6 -6
- package/dist/core/components/viewers/pointcloud/src/tools/MeasureTools/MeasurePointCloudTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PCSearchTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PCSearchTool.js +2 -2
- package/dist/core/components/viewers/pointcloud/src/tools/PCSearchTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.js +2 -2
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PerformanceSettingTools.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PerformanceSettingTools.js +3 -3
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PerformanceSettingTools.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PointBudgetTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PointBudgetTool.js +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/PointBudgetTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/ShowOctreeBoxTool.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/ShowOctreeBoxTool.js +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/ShowOctreeBoxTool.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/SplatQualitySelection.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/SplatQualitySelection.js +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/SplatQualitySelection.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SetCameraOption.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SetCameraOption.js +4 -4
- package/dist/core/components/viewers/pointcloud/src/tools/SetCameraOption.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/index.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/index.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/index.js +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/SharePointCloudTool/index.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/pointcloudToolbarTools.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/pointcloudToolbarTools.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/src/tools/pointcloudToolbarTools.js +2 -2
- package/dist/core/components/viewers/pointcloud/src/tools/pointcloudToolbarTools.js.map +1 -1
- package/dist/core/components/viewers/pointcloud/utils/restoreCameraFromUrl.d.ts +1 -1
- package/dist/core/components/viewers/pointcloud/utils/restoreCameraFromUrl.d.ts.map +1 -1
- package/dist/core/components/viewers/pointcloud/utils/restoreCameraFromUrl.js.map +1 -1
- package/dist/core/hooks/buildings/createBuildingHooks.d.ts +1 -1
- package/dist/core/hooks/buildings/createBuildingHooks.d.ts.map +1 -1
- package/dist/core/hooks/buildings/createBuildingHooks.js.map +1 -1
- package/dist/core/hooks/comments/comments.d.ts +11 -0
- package/dist/core/hooks/comments/comments.d.ts.map +1 -1
- package/dist/core/hooks/comments/comments.js +3 -1
- package/dist/core/hooks/comments/comments.js.map +1 -1
- package/dist/core/hooks/comments/createCommentHooks.d.ts +12 -1
- package/dist/core/hooks/comments/createCommentHooks.d.ts.map +1 -1
- package/dist/core/hooks/comments/createCommentHooks.js +31 -2
- package/dist/core/hooks/comments/createCommentHooks.js.map +1 -1
- package/dist/core/hooks/files/createFileHooks.d.ts +1 -1
- package/dist/core/hooks/files/createFileHooks.d.ts.map +1 -1
- package/dist/core/hooks/files/createFileHooks.js.map +1 -1
- package/dist/core/hooks/files/files.d.ts.map +1 -1
- package/dist/core/hooks/files/files.js +1 -2
- package/dist/core/hooks/files/files.js.map +1 -1
- package/dist/core/hooks/infrastructures/createInfrastructureHooks.d.ts +1 -1
- package/dist/core/hooks/infrastructures/createInfrastructureHooks.d.ts.map +1 -1
- package/dist/core/hooks/infrastructures/createInfrastructureHooks.js.map +1 -1
- package/dist/core/hooks/openDataPortals/createOpenDataPortalHooks.d.ts +1 -1
- package/dist/core/hooks/openDataPortals/createOpenDataPortalHooks.d.ts.map +1 -1
- package/dist/core/hooks/openDataPortals/createOpenDataPortalHooks.js.map +1 -1
- package/dist/core/hooks/organizations/createOrganizationHooks.d.ts +1 -1
- package/dist/core/hooks/organizations/createOrganizationHooks.d.ts.map +1 -1
- package/dist/core/hooks/organizations/createOrganizationHooks.js.map +1 -1
- package/dist/core/hooks/provider.d.ts +5 -5
- package/dist/core/hooks/provider.d.ts.map +1 -1
- package/dist/core/hooks/provider.js +4 -4
- package/dist/core/hooks/provider.js.map +1 -1
- package/dist/core/hooks/sensorTypes/createSensorTypeHooks.d.ts +1 -1
- package/dist/core/hooks/sensorTypes/createSensorTypeHooks.d.ts.map +1 -1
- package/dist/core/hooks/sensorTypes/createSensorTypeHooks.js.map +1 -1
- package/dist/core/hooks/sensors/createSensorHooks.d.ts +1 -1
- package/dist/core/hooks/sensors/createSensorHooks.d.ts.map +1 -1
- package/dist/core/hooks/sensors/createSensorHooks.js +1 -1
- package/dist/core/hooks/sensors/createSensorHooks.js.map +1 -1
- package/dist/core/hooks/sites/createSiteHooks.d.ts +1 -1
- package/dist/core/hooks/sites/createSiteHooks.d.ts.map +1 -1
- package/dist/core/hooks/sites/createSiteHooks.js.map +1 -1
- package/dist/core/hooks/sites/sites.d.ts.map +1 -1
- package/dist/core/hooks/ui/useResizableSidebarWidth.d.ts +30 -0
- package/dist/core/hooks/ui/useResizableSidebarWidth.d.ts.map +1 -0
- package/dist/core/hooks/ui/useResizableSidebarWidth.js +75 -0
- package/dist/core/hooks/ui/useResizableSidebarWidth.js.map +1 -0
- package/dist/core/hooks/useCaptureScreenshot.d.ts.map +1 -1
- package/dist/core/hooks/useCaptureScreenshot.js.map +1 -1
- package/dist/core/hooks/useCurrentViewerPosition.d.ts.map +1 -1
- package/dist/core/hooks/useCurrentViewerPosition.js +1 -1
- package/dist/core/hooks/useCurrentViewerPosition.js.map +1 -1
- package/dist/core/hooks/useGeocodingRuntimeConfig.d.ts +1 -1
- package/dist/core/hooks/useGeocodingRuntimeConfig.d.ts.map +1 -1
- package/dist/core/hooks/useGeocodingRuntimeConfig.js.map +1 -1
- package/dist/core/hooks/useShareUrl.d.ts.map +1 -1
- package/dist/core/hooks/useShareUrl.js +1 -1
- package/dist/core/hooks/useShareUrl.js.map +1 -1
- package/dist/core/hooks/users/createUserHooks.d.ts +1 -1
- package/dist/core/hooks/users/createUserHooks.d.ts.map +1 -1
- package/dist/core/hooks/users/createUserHooks.js.map +1 -1
- package/dist/core/i18n/index.js +1 -1
- package/dist/core/i18n/index.js.map +1 -1
- package/dist/core/i18n/messages/en.json +1877 -1872
- package/dist/core/i18n/messages/es.json +1875 -1870
- package/dist/core/i18n/messages/fr.json +1875 -1870
- package/dist/core/plugins/host/context.d.ts +1 -1
- package/dist/core/plugins/host/context.d.ts.map +1 -1
- package/dist/core/plugins/host/context.js.map +1 -1
- package/dist/core/plugins/host/host.d.ts +1 -1
- package/dist/core/plugins/host/host.d.ts.map +1 -1
- package/dist/core/plugins/host/host.js.map +1 -1
- package/dist/core/plugins/host/provider.d.ts.map +1 -1
- package/dist/core/plugins/host/provider.js +2 -2
- package/dist/core/plugins/host/provider.js.map +1 -1
- package/dist/core/store/AppConfig/context.d.ts +1 -1
- package/dist/core/store/AppConfig/context.d.ts.map +1 -1
- package/dist/core/store/AppConfig/context.js.map +1 -1
- package/dist/core/store/AppConfig/reducer.d.ts +2 -2
- package/dist/core/store/AppConfig/reducer.d.ts.map +1 -1
- package/dist/core/store/AppConfig/reducer.js.map +1 -1
- package/dist/core/store/BIM/context.d.ts +1 -1
- package/dist/core/store/BIM/context.d.ts.map +1 -1
- package/dist/core/store/BIM/context.js.map +1 -1
- package/dist/core/store/BIM/reducer.d.ts +3 -3
- package/dist/core/store/BIM/reducer.d.ts.map +1 -1
- package/dist/core/store/BIM/reducer.js.map +1 -1
- package/dist/core/store/Buildings/context.d.ts +1 -1
- package/dist/core/store/Buildings/context.d.ts.map +1 -1
- package/dist/core/store/Buildings/context.js.map +1 -1
- package/dist/core/store/Buildings/reducer.d.ts +2 -2
- package/dist/core/store/Buildings/reducer.d.ts.map +1 -1
- package/dist/core/store/Buildings/reducer.js.map +1 -1
- package/dist/core/store/CombineProviders.d.ts.map +1 -1
- package/dist/core/store/CombineProviders.js +7 -7
- package/dist/core/store/CombineProviders.js.map +1 -1
- package/dist/core/store/Content/context.d.ts +1 -1
- package/dist/core/store/Content/context.d.ts.map +1 -1
- package/dist/core/store/Content/context.js.map +1 -1
- package/dist/core/store/Datasets/context.d.ts +1 -1
- package/dist/core/store/Datasets/context.d.ts.map +1 -1
- package/dist/core/store/Datasets/context.js.map +1 -1
- package/dist/core/store/Datasets/reducer.d.ts +1 -1
- package/dist/core/store/Datasets/reducer.d.ts.map +1 -1
- package/dist/core/store/Datasets/reducer.js +0 -2
- package/dist/core/store/Datasets/reducer.js.map +1 -1
- package/dist/core/store/Files/context.d.ts +1 -1
- package/dist/core/store/Files/context.d.ts.map +1 -1
- package/dist/core/store/Files/context.js.map +1 -1
- package/dist/core/store/Files/reducer.d.ts +3 -3
- package/dist/core/store/Files/reducer.d.ts.map +1 -1
- package/dist/core/store/Files/reducer.js +0 -1
- package/dist/core/store/Files/reducer.js.map +1 -1
- package/dist/core/store/Map/context.d.ts +1 -1
- package/dist/core/store/Map/context.d.ts.map +1 -1
- package/dist/core/store/Map/context.js +1 -1
- package/dist/core/store/Map/context.js.map +1 -1
- package/dist/core/store/Map/reducer.d.ts +6 -5
- package/dist/core/store/Map/reducer.d.ts.map +1 -1
- package/dist/core/store/Map/reducer.js.map +1 -1
- package/dist/core/store/MapSites/context.d.ts +1 -1
- package/dist/core/store/MapSites/context.d.ts.map +1 -1
- package/dist/core/store/MapSites/context.js.map +1 -1
- package/dist/core/store/MapSites/reducer.d.ts +1 -1
- package/dist/core/store/MapSites/reducer.d.ts.map +1 -1
- package/dist/core/store/MapSites/reducer.js.map +1 -1
- package/dist/core/store/Menus/context.d.ts +1 -1
- package/dist/core/store/Menus/context.d.ts.map +1 -1
- package/dist/core/store/Menus/context.js +6 -3
- package/dist/core/store/Menus/context.js.map +1 -1
- package/dist/core/store/Menus/reducer.d.ts +21 -1
- package/dist/core/store/Menus/reducer.d.ts.map +1 -1
- package/dist/core/store/Menus/reducer.js +21 -3
- package/dist/core/store/Menus/reducer.js.map +1 -1
- package/dist/core/store/Permissions/context.d.ts +1 -1
- package/dist/core/store/Permissions/context.d.ts.map +1 -1
- package/dist/core/store/Permissions/context.js +2 -2
- package/dist/core/store/Permissions/context.js.map +1 -1
- package/dist/core/store/PointCloud/context.d.ts +1 -1
- package/dist/core/store/PointCloud/context.d.ts.map +1 -1
- package/dist/core/store/PointCloud/context.js.map +1 -1
- package/dist/core/store/PointCloud/reducer.d.ts +1 -1
- package/dist/core/store/PointCloud/reducer.d.ts.map +1 -1
- package/dist/core/store/PointCloud/reducer.js.map +1 -1
- package/dist/core/store/Tools/context.d.ts +1 -1
- package/dist/core/store/Tools/context.d.ts.map +1 -1
- package/dist/core/store/Tools/context.js.map +1 -1
- package/dist/core/store/Tools/reducer.d.ts +1 -1
- package/dist/core/store/Tools/reducer.d.ts.map +1 -1
- package/dist/core/store/Tools/reducer.js.map +1 -1
- package/dist/core/styles/globals.css +17 -16
- package/dist/core/styles/tailwindMerge.d.ts +1 -1
- package/dist/core/styles/tailwindMerge.d.ts.map +1 -1
- package/dist/core/styles/tailwindMerge.js.map +1 -1
- package/dist/core/types/datasetTypes.d.ts +2 -2
- package/dist/core/types/datasetTypes.d.ts.map +1 -1
- package/dist/core/types/dbTypes.d.ts +1 -1
- package/dist/core/types/dbTypes.d.ts.map +1 -1
- package/dist/core/types/dbTypes.js.map +1 -1
- package/dist/core/types/files.d.ts +2 -2
- package/dist/core/types/files.d.ts.map +1 -1
- package/dist/core/types/global.d.ts +3 -3
- package/dist/core/types/global.d.ts.map +1 -1
- package/dist/core/types/global.js.map +1 -1
- package/dist/core/types/map.d.ts +2 -2
- package/dist/core/types/map.d.ts.map +1 -1
- package/dist/core/types/tools.d.ts +3 -3
- package/dist/core/types/tools.d.ts.map +1 -1
- package/dist/core/types/users.d.ts +2 -2
- package/dist/core/types/users.d.ts.map +1 -1
- package/dist/core/utils/getFileIcon.d.ts +1 -1
- package/dist/core/utils/getFileIcon.d.ts.map +1 -1
- package/dist/core/utils/getFileIcon.js.map +1 -1
- package/dist/core/utils/markerUtils.d.ts +10 -0
- package/dist/core/utils/markerUtils.d.ts.map +1 -1
- package/dist/core/utils/markerUtils.js +9 -1
- package/dist/core/utils/markerUtils.js.map +1 -1
- package/dist/core/utils/memcache.d.ts.map +1 -1
- package/dist/core/utils/memcache.js +0 -7
- package/dist/core/utils/memcache.js.map +1 -1
- package/dist/core/utils/roles.d.ts.map +1 -1
- package/dist/core/utils/roles.js.map +1 -1
- package/dist/core/utils/timeUtils.js.map +1 -1
- package/dist/core/utils/utils.d.ts +1 -1
- package/dist/core/utils/utils.d.ts.map +1 -1
- package/dist/core/utils/utils.js.map +1 -1
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadToPresignedURLS.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,GAAU,iBAAY,EAAE,SAAI,sBAmB5D,CAAA;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAInD;AAED,eAAO,MAAM,sBAAsB,GAAU,iBAAY,EAAE,SAAI,EAAE,eAAU,
|
|
1
|
+
{"version":3,"file":"uploadToPresignedURLS.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,GAAU,iBAAY,EAAE,SAAI,sBAmB5D,CAAA;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAInD;AAED,eAAO,MAAM,sBAAsB,GAAU,iBAAY,EAAE,SAAI,EAAE,eAAU,qBA8B1E,CAAA"}
|
package/dist/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.js
CHANGED
|
@@ -27,9 +27,7 @@ const uploadFileWithProgress = async (presignedUrl, file, onProgress) => {
|
|
|
27
27
|
xhr.upload.addEventListener("progress", (event) => {
|
|
28
28
|
if (event.lengthComputable) {
|
|
29
29
|
const percentComplete = Math.round(event.loaded / event.total * 100);
|
|
30
|
-
onProgress(percentComplete, event.loaded
|
|
31
|
-
console.log(`Upload progress: ${percent}%`);
|
|
32
|
-
});
|
|
30
|
+
onProgress(percentComplete, event.loaded);
|
|
33
31
|
}
|
|
34
32
|
});
|
|
35
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nexport const uploadToPresignedUrl = async (presignedUrl, file) => {\r\n try {\r\n const response = await fetch(presignedUrl, {\r\n method: 'PUT',\r\n body: file,\r\n headers: {\r\n 'Content-Type': file.type,\r\n },\r\n })\r\n\r\n if (!response.ok) {\r\n throw new Error(`Upload failed: ${response.status} ${response.statusText}`)\r\n }\r\n\r\n return response\r\n }\r\n catch (error) {\r\n throw new Error(`Upload failed: ${error.message}`)\r\n }\r\n}\r\nexport function getFileExtension(file: File): string {\r\n const parts = file.name.split('.')\r\n if (parts.length <= 1) return ''\r\n return parts.pop()!.toLowerCase()\r\n}\r\n// Progress version\r\nexport const uploadFileWithProgress = async (presignedUrl, file, onProgress) => {\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest()\r\n\r\n if (onProgress) {\r\n xhr.upload.addEventListener('progress', (event) => {\r\n if (event.lengthComputable) {\r\n const percentComplete = Math.round((event.loaded / event.total) * 100)\r\n onProgress(percentComplete, event.loaded
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddFile/utils/uploadToPresignedURLS.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nexport const uploadToPresignedUrl = async (presignedUrl, file) => {\r\n try {\r\n const response = await fetch(presignedUrl, {\r\n method: 'PUT',\r\n body: file,\r\n headers: {\r\n 'Content-Type': file.type,\r\n },\r\n })\r\n\r\n if (!response.ok) {\r\n throw new Error(`Upload failed: ${response.status} ${response.statusText}`)\r\n }\r\n\r\n return response\r\n }\r\n catch (error) {\r\n throw new Error(`Upload failed: ${error.message}`)\r\n }\r\n}\r\nexport function getFileExtension(file: File): string {\r\n const parts = file.name.split('.')\r\n if (parts.length <= 1) return ''\r\n return parts.pop()!.toLowerCase()\r\n}\r\n// Progress version\r\nexport const uploadFileWithProgress = async (presignedUrl, file, onProgress) => {\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest()\r\n\r\n if (onProgress) {\r\n xhr.upload.addEventListener('progress', (event) => {\r\n if (event.lengthComputable) {\r\n const percentComplete = Math.round((event.loaded / event.total) * 100)\r\n onProgress(percentComplete, event.loaded)\r\n }\r\n })\r\n }\r\n\r\n xhr.addEventListener('load', () => {\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(xhr)\r\n }\r\n else {\r\n reject(new Error(`Upload failed: ${xhr.status}`))\r\n }\r\n })\r\n\r\n xhr.addEventListener('error', () => {\r\n reject(new Error('Network error occurred'))\r\n })\r\n\r\n xhr.open('PUT', presignedUrl)\r\n xhr.setRequestHeader('Content-Type', file.type)\r\n xhr.send(file)\r\n })\r\n}\r\n"],"mappings":"AAGO,MAAM,uBAAuB,OAAO,cAAc,SAAS;AAChE,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,QACP,gBAAgB,KAAK;AAAA,MACvB;AAAA,IACF,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,kBAAkB,SAAS,MAAM,IAAI,SAAS,UAAU,EAAE;AAAA,IAC5E;AAEA,WAAO;AAAA,EACT,SACO,OAAO;AACZ,UAAM,IAAI,MAAM,kBAAkB,MAAM,OAAO,EAAE;AAAA,EACnD;AACF;AACO,SAAS,iBAAiB,MAAoB;AACnD,QAAM,QAAQ,KAAK,KAAK,MAAM,GAAG;AACjC,MAAI,MAAM,UAAU,EAAG,QAAO;AAC9B,SAAO,MAAM,IAAI,EAAG,YAAY;AAClC;AAEO,MAAM,yBAAyB,OAAO,cAAc,MAAM,eAAe;AAC9E,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,MAAM,IAAI,eAAe;AAE/B,QAAI,YAAY;AACd,UAAI,OAAO,iBAAiB,YAAY,CAAC,UAAU;AACjD,YAAI,MAAM,kBAAkB;AAC1B,gBAAM,kBAAkB,KAAK,MAAO,MAAM,SAAS,MAAM,QAAS,GAAG;AACrE,qBAAW,iBAAiB,MAAM,MAAM;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,IACH;AAEA,QAAI,iBAAiB,QAAQ,MAAM;AACjC,UAAI,IAAI,UAAU,OAAO,IAAI,SAAS,KAAK;AACzC,gBAAQ,GAAG;AAAA,MACb,OACK;AACH,eAAO,IAAI,MAAM,kBAAkB,IAAI,MAAM,EAAE,CAAC;AAAA,MAClD;AAAA,IACF,CAAC;AAED,QAAI,iBAAiB,SAAS,MAAM;AAClC,aAAO,IAAI,MAAM,wBAAwB,CAAC;AAAA,IAC5C,CAAC;AAED,QAAI,KAAK,OAAO,YAAY;AAC5B,QAAI,iBAAiB,gBAAgB,KAAK,IAAI;AAC9C,QAAI,KAAK,IAAI;AAAA,EACf,CAAC;AACH;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssociateBuildingsDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AssociateBuildingsDialog.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAElE,UAAU,6BAA6B;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAA;CAC/C;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,yDAEtC,6BAA6B,sBAsF/B,CAAA"}
|
package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Building2 } from "lucide-react";
|
|
4
|
+
import { useTranslations } from "next-intl";
|
|
3
5
|
import * as React from "react";
|
|
4
6
|
import { toast } from "sonner";
|
|
5
|
-
import {
|
|
6
|
-
import { Building2 } from "lucide-react";
|
|
7
|
+
import { useSite } from "../../../../../../../hooks/sites/sites";
|
|
7
8
|
import { AddItemDialog } from "../../../../../../ui/AddItemDialog";
|
|
8
9
|
import { Button } from "../../../../../../ui/Button";
|
|
9
10
|
import { Checkbox } from "../../../../../../ui/Checkbox";
|
|
10
11
|
import { LoadingSpinner } from "../../../../../../ui/LoadingSpinner";
|
|
11
|
-
import { useSite } from "../../../../../../../hooks/sites/sites";
|
|
12
12
|
const AssociateBuildingsDialog = ({
|
|
13
13
|
siteId,
|
|
14
14
|
siteName,
|
package/dist/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/AssociateBuildingsDialog.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { Building2 } from 'lucide-react'\r\nimport { useTranslations } from 'next-intl'\r\nimport * as React from 'react'\r\nimport { toast } from 'sonner'\r\n\r\nimport { useSite } from '../../../../../../../hooks/sites/sites'\r\nimport { AddItemDialog } from '../../../../../../ui/AddItemDialog'\r\nimport { Button } from '../../../../../../ui/Button'\r\nimport { Checkbox } from '../../../../../../ui/Checkbox'\r\nimport { LoadingSpinner } from '../../../../../../ui/LoadingSpinner'\r\n\r\nimport type { Building } from '../../../../../../../types/dbTypes'\r\n\r\ninterface AssociateBuildingsDialogProps {\r\n siteId: number\r\n siteName: string\r\n buildings: Building[]\r\n onClose: () => void\r\n /** Called with the associated buildings after a successful connect. */\r\n onAssociated?: (buildings: Building[]) => void\r\n}\r\n\r\n/**\r\n * Shown after a site polygon is drawn when database buildings are detected\r\n * inside it. The user picks (multi-select) which buildings to associate with\r\n * the new site; selected buildings are connected via `updateSite`.\r\n */\r\nexport const AssociateBuildingsDialog = ({\r\n siteId, siteName, buildings, onClose, onAssociated,\r\n}: AssociateBuildingsDialogProps) => {\r\n const t = useTranslations('AssociateBuildings')\r\n const tf = (key: string, fallback: string, values?: Record<string, string | number>) =>\r\n (t.has(key) ? t(key, values) : fallback)\r\n\r\n const { updateSite } = useSite(String(siteId))\r\n const [selected, setSelected] = React.useState<Set<number>>(\r\n () => new Set(buildings.map(b => b.id)),\r\n )\r\n const [isSaving, setIsSaving] = React.useState(false)\r\n\r\n const toggle = (id: number) => setSelected((prev) => {\r\n const next = new Set(prev)\r\n if (next.has(id)) next.delete(id)\r\n else next.add(id)\r\n return next\r\n })\r\n\r\n const allSelected = selected.size === buildings.length\r\n const toggleAll = () =>\r\n setSelected(allSelected ? new Set() : new Set(buildings.map(b => b.id)))\r\n\r\n const handleAssociate = async () => {\r\n if (selected.size === 0) { onClose(); return }\r\n setIsSaving(true)\r\n try {\r\n await updateSite({ siteBuildings: { connect: [...selected].map(id => ({ id })) } })\r\n toast.success(tf('associated', `${selected.size} building(s) associated with \"${siteName}\".`, {\r\n count: selected.size,\r\n name: siteName,\r\n }))\r\n onAssociated?.(buildings.filter(b => selected.has(b.id)))\r\n onClose()\r\n }\r\n catch {\r\n toast.error(tf('associateFailed', 'Failed to associate the buildings. Please try again.'))\r\n setIsSaving(false)\r\n }\r\n }\r\n\r\n return (\r\n <AddItemDialog\r\n open\r\n onOpenChange={open => !open && !isSaving && onClose()}\r\n title={tf('title', 'Buildings found inside this site')}\r\n description={tf('subtitle', `These buildings fall within \"${siteName}\". Choose which to associate with it.`, { name: siteName })}\r\n icon={Building2}\r\n >\r\n <div className=\"flex flex-col gap-3 pointer-events-auto min-w-0\">\r\n <button\r\n type=\"button\"\r\n onClick={toggleAll}\r\n className=\"self-start text-xs text-primary hover:underline\"\r\n >\r\n {allSelected ? tf('deselectAll', 'Deselect all') : tf('selectAll', 'Select all')}\r\n </button>\r\n\r\n <div className=\"max-h-64 overflow-y-auto flex flex-col gap-1 rounded-md border p-1\">\r\n {buildings.map(b => (\r\n <label\r\n key={b.id}\r\n className=\"flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent cursor-pointer min-w-0\"\r\n >\r\n <Checkbox className=\"shrink-0\" checked={selected.has(b.id)} onCheckedChange={() => toggle(b.id)} />\r\n <div className=\"flex flex-col min-w-0\">\r\n <span className=\"text-sm truncate\">{b.buildingName || tf('unnamed', 'Unnamed building')}</span>\r\n {b.buildingAddress && (\r\n <span className=\"text-xs text-muted-foreground truncate\">{b.buildingAddress}</span>\r\n )}\r\n </div>\r\n </label>\r\n ))}\r\n </div>\r\n\r\n <div className=\"flex justify-end gap-2\">\r\n <Button variant=\"outline\" onClick={onClose} disabled={isSaving}>\r\n {tf('skip', 'Skip')}\r\n </Button>\r\n <Button onClick={handleAssociate} disabled={isSaving || selected.size === 0}>\r\n {isSaving && <LoadingSpinner />}\r\n {tf('associate', 'Associate')} ({selected.size})\r\n </Button>\r\n </div>\r\n </div>\r\n </AddItemDialog>\r\n )\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteAdder.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiteAdder.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAKD,eAAO,MAAM,SAAS,GAAI,sBAA8B,cAAc,sBA0crE,CAAA"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { Input, Label } from "../../../../../../ui/";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { MapContext, useMapSitesContext } from "../../../../../../../store";
|
|
6
|
-
import { Button } from "../../../../../../ui/Button";
|
|
7
|
-
import { AddItemDialog } from "../../../../../../ui/AddItemDialog";
|
|
8
3
|
import { BoxSelect } from "lucide-react";
|
|
9
4
|
import { useTranslations } from "next-intl";
|
|
5
|
+
import * as React from "react";
|
|
10
6
|
import { toast } from "sonner";
|
|
11
|
-
import { useCreateSite } from "../../../../../../../hooks/sites/sites";
|
|
12
7
|
import { useBuildings } from "../../../../../../../hooks/buildings/buildings";
|
|
13
|
-
import {
|
|
8
|
+
import { useCreateSite } from "../../../../../../../hooks/sites/sites";
|
|
9
|
+
import { MapContext, useMapSitesContext } from "../../../../../../../store";
|
|
10
|
+
import { Input, Label } from "../../../../../../ui/";
|
|
11
|
+
import { AddItemDialog } from "../../../../../../ui/AddItemDialog";
|
|
12
|
+
import { Button } from "../../../../../../ui/Button";
|
|
14
13
|
import { polygonCentroid, filterPointsInRing } from "../../../MapLayers/src/SiteLayer/siteGeometry";
|
|
15
14
|
import { AssociateBuildingsDialog } from "./AssociateBuildingsDialog";
|
|
15
|
+
import { persistDrawnSite } from "./persistSite";
|
|
16
16
|
const DRAW_TOAST_ID = "site-adder-draw";
|
|
17
17
|
const SiteAdder = ({ isOpen = false, onCancel }) => {
|
|
18
18
|
const t = useTranslations("SiteAdder");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { Input, Label } from '../../../../../../ui/'\r\nimport * as React from \"react\";\r\nimport { MapContext, useMapSitesContext } from '../../../../../../../store'\r\nimport { CursorType } from '../../../../../../../types/global'\r\nimport { Button } from '../../../../../../ui/Button'\r\nimport { AddItemDialog } from '../../../../../../ui/AddItemDialog'\r\nimport { BoxSelect } from 'lucide-react'\r\nimport { useTranslations } from 'next-intl'\r\nimport { toast } from 'sonner'\r\nimport { useCreateSite } from '../../../../../../../hooks/sites/sites'\r\nimport { useBuildings } from '../../../../../../../hooks/buildings/buildings'\r\nimport type { Building } from '../../../../../../../types/dbTypes'\r\nimport { persistDrawnSite } from './persistSite'\r\nimport { polygonCentroid, filterPointsInRing } from '../../../MapLayers/src/SiteLayer/siteGeometry'\r\nimport { AssociateBuildingsDialog } from './AssociateBuildingsDialog'\r\n\r\ninterface SiteAdderProps {\r\n isOpen?: boolean\r\n onCancel?: () => void\r\n}\r\n\r\n// A single, stable id so the instruction toast updates in place instead of stacking.\r\nconst DRAW_TOAST_ID = 'site-adder-draw'\r\n\r\nexport const SiteAdder = ({ isOpen = false, onCancel }: SiteAdderProps) => {\r\n // Translation\r\n const t = useTranslations('SiteAdder')\r\n\r\n // Translate with an English fallback. The translation messages for this\r\n // library live in the host app, so newer keys may not exist there yet —\r\n // `tf` keeps the tool usable (and translatable) in every host.\r\n const tf = React.useCallback(\r\n (key: string, fallback: string, values?: Record<string, string | number>) =>\r\n (t.has(key) ? t(key, values) : fallback),\r\n [t],\r\n )\r\n\r\n const [siteName, setSiteName] = React.useState<string>('')\r\n const [isDrawing, setIsDrawing] = React.useState<boolean>(false)\r\n const [drawingPoints, setDrawingPoints] = React.useState<[number, number][]>([])\r\n const { state: mapState } = React.useContext(MapContext)\r\n const { map } = mapState.map!\r\n const inputRef = React.useRef<HTMLInputElement>(null)\r\n\r\n // Persistence: create the DB site + upload its polygon geojson to minio, then\r\n // hand the polygon to the SiteLayer (via the MapSites store) for rendering.\r\n const { createSite } = useCreateSite()\r\n const { dispatch: mapSitesDispatch } = useMapSitesContext()\r\n\r\n // Database buildings (for detecting which fall inside a freshly drawn site).\r\n const { buildings, isLoading: buildingsLoading } = useBuildings()\r\n\r\n // A site that was just created and whose inside-buildings still need to be\r\n // detected. Held in state so detection re-runs once the buildings list loads.\r\n const [pendingDetection, setPendingDetection] = React.useState<\r\n { siteId: number, siteName: string, ring: [number, number][] } | null\r\n >(null)\r\n\r\n // When buildings are detected inside a freshly drawn site, prompt the user to\r\n // associate them (multi-select). Independent of the add-site dialog.\r\n const [associateState, setAssociateState] = React.useState<\r\n { siteId: number, siteName: string, buildings: Building[] } | null\r\n >(null)\r\n // A ref (not state) so all event-handler closures observe the live value and\r\n // a rapid second finish (double Enter / click + toast \"Finish\") can't create\r\n // a duplicate site before the first persist resolves.\r\n const isPersistingRef = React.useRef(false)\r\n\r\n // The committed points are mirrored in a ref so map / keyboard / toast\r\n // handlers always read the latest geometry without having to re-subscribe\r\n // on every click (which would otherwise drop fast double clicks).\r\n const drawingPointsRef = React.useRef<[number, number][]>([])\r\n\r\n // Added this to fix the issue of map not available.\r\n const hasMapApi = (\r\n mapInstance: unknown,\r\n ): mapInstance is maplibregl.Map => (\r\n Boolean(mapInstance)\r\n && typeof (mapInstance as maplibregl.Map).getSource === 'function'\r\n && typeof (mapInstance as maplibregl.Map).getLayer === 'function'\r\n && typeof (mapInstance as maplibregl.Map).addSource === 'function'\r\n && typeof (mapInstance as maplibregl.Map).addLayer === 'function'\r\n && typeof (mapInstance as maplibregl.Map).on === 'function'\r\n && typeof (mapInstance as maplibregl.Map).off === 'function'\r\n )\r\n\r\n const setCursor = (cursor: CursorType) => {\r\n if (!map) return\r\n if (map.getCanvas().style.cursor === cursor) return\r\n map.getCanvas().style.cursor = cursor\r\n }\r\n\r\n const getSource = () =>\r\n (map?.getSource('add-geojson') as maplibregl.GeoJSONSource | undefined)\r\n\r\n // Render the in-progress drawing: corner points, the connecting outline and\r\n // (once it can be closed) a translucent preview of the resulting polygon.\r\n // Created sites are rendered by SiteLayer, not here.\r\n const updateDrawingFeatures = (points: [number, number][]) => {\r\n const source = getSource()\r\n if (!source) return\r\n\r\n const closable = points.length >= 3\r\n const features: GeoJSON.Feature[] = []\r\n\r\n points.forEach((point, index) => {\r\n features.push({\r\n type: 'Feature',\r\n geometry: { type: 'Point', coordinates: point },\r\n properties: {\r\n isDrawPoint: true,\r\n pointIndex: index,\r\n isFirstPoint: index === 0,\r\n // The first point turns green once a click on it would close the site.\r\n closable: closable && index === 0,\r\n },\r\n })\r\n })\r\n\r\n if (points.length > 1) {\r\n features.push({\r\n type: 'Feature',\r\n geometry: {\r\n type: 'LineString',\r\n // Close the loop visually so the user sees the final shape.\r\n coordinates: closable ? [...points, points[0]] : points,\r\n },\r\n properties: { isDrawing: true },\r\n })\r\n }\r\n\r\n if (closable) {\r\n features.push({\r\n type: 'Feature',\r\n geometry: { type: 'Polygon', coordinates: [[...points, points[0]]] },\r\n properties: { isDrawPreview: true },\r\n })\r\n }\r\n\r\n source.setData({ type: 'FeatureCollection', features })\r\n }\r\n\r\n const commitPoints = (points: [number, number][]) => {\r\n drawingPointsRef.current = points\r\n setDrawingPoints(points)\r\n updateDrawingFeatures(points)\r\n }\r\n\r\n // Returns true when a click is close enough (in screen pixels, so it works at\r\n // any zoom level) to the first point to close the polygon.\r\n const isNearFirstPoint = (\r\n clickPoint: [number, number],\r\n points: [number, number][],\r\n pixelThreshold = 14,\r\n ): boolean => {\r\n if (!map || points.length < 3) return false\r\n const first = map.project(points[0])\r\n const click = map.project(clickPoint)\r\n return Math.hypot(first.x - click.x, first.y - click.y) <= pixelThreshold\r\n }\r\n\r\n // Remove the in-progress drawing features from the map.\r\n const clearDrawingFeatures = () => {\r\n const source = getSource()\r\n if (!source) return\r\n source.setData({ type: 'FeatureCollection', features: [] })\r\n }\r\n\r\n const resetDrawingState = () => {\r\n drawingPointsRef.current = []\r\n setDrawingPoints([])\r\n setIsDrawing(false)\r\n setCursor('')\r\n toast.dismiss(DRAW_TOAST_ID)\r\n }\r\n\r\n const startDrawing = () => {\r\n if (!hasMapApi(map) || !map.getSource('add-geojson')) {\r\n toast.error(tf('mapNotReady', 'The map is still loading. Please try again in a moment.'))\r\n return\r\n }\r\n drawingPointsRef.current = []\r\n setDrawingPoints([])\r\n setIsDrawing(true)\r\n setCursor('crosshair')\r\n }\r\n\r\n const undoLastPoint = () => {\r\n const points = drawingPointsRef.current\r\n if (points.length === 0) return\r\n commitPoints(points.slice(0, -1))\r\n }\r\n\r\n const cancelDrawing = () => {\r\n clearDrawingFeatures()\r\n resetDrawingState()\r\n toast.info(tf('drawCancelled', 'Site drawing cancelled.'))\r\n }\r\n\r\n const finishDrawing = async () => {\r\n if (isPersistingRef.current) return\r\n const points = drawingPointsRef.current\r\n if (points.length < 3) {\r\n toast.warning(tf('needThreePoints', 'Add at least 3 points before closing the site.'))\r\n return\r\n }\r\n const name = siteName.trim() || tf('unnamedSite', 'Unnamed Site')\r\n const ring = [...points]\r\n const centroid = polygonCentroid(ring)\r\n\r\n // Set synchronously before the first await so a second invocation bails.\r\n isPersistingRef.current = true\r\n const toastId = toast.loading(tf('savingSite', 'Saving site…'))\r\n try {\r\n const { siteId, assetId, fileId } = await persistDrawnSite({ name, ring, centroid, createSite })\r\n // Hand the polygon to SiteLayer for clickable, persistent rendering.\r\n mapSitesDispatch({\r\n type: 'SHOW_SITE',\r\n payload: { site: { id: siteId, name, ring, assetId, fileId } },\r\n })\r\n toast.success(tf('siteCreated', `Site \"${name}\" created.`, { name }), { id: toastId })\r\n clearDrawingFeatures()\r\n resetDrawingState()\r\n setSiteName('')\r\n isPersistingRef.current = false\r\n\r\n // Detect buildings inside the polygon (deferred to the effect below so it\r\n // still works if the buildings list hasn't finished loading yet).\r\n setPendingDetection({ siteId, siteName: name, ring })\r\n\r\n // Don't reopen the Add Site dialog — creation is finished.\r\n onCancel?.()\r\n }\r\n catch {\r\n toast.error(tf('siteCreateFailed', 'Failed to create the site. Please try again.'), { id: toastId })\r\n isPersistingRef.current = false\r\n // Keep the drawing so the user can retry finishing.\r\n }\r\n }\r\n\r\n // set up layer to add site\r\n React.useEffect(() => {\r\n if (!hasMapApi(map)) return\r\n // GeoJSON object to hold features\r\n const geojson: GeoJSON.FeatureCollection<GeoJSON.Geometry> = {\r\n type: 'FeatureCollection',\r\n features: [],\r\n }\r\n\r\n // Add source if it doesn't exist\r\n if (!map.getSource('add-geojson') && geojson) {\r\n map.addSource('add-geojson', {\r\n type: 'geojson',\r\n data: geojson,\r\n })\r\n }\r\n\r\n // Translucent preview of the polygon currently being drawn (added first so\r\n // the outline and points render on top of it).\r\n if (!map.getLayer('add-draw-fill')) {\r\n map.addLayer({\r\n id: 'add-draw-fill',\r\n type: 'fill',\r\n source: 'add-geojson',\r\n paint: {\r\n 'fill-color': '#3b82f6',\r\n 'fill-opacity': 0.2,\r\n },\r\n filter: ['all',\r\n ['in', '$type', 'Polygon'],\r\n ['==', 'isDrawPreview', true],\r\n ],\r\n })\r\n }\r\n\r\n // Add layers for points during drawing\r\n if (!map.getLayer('add-draw-points')) {\r\n map.addLayer({\r\n id: 'add-draw-points',\r\n type: 'circle',\r\n source: 'add-geojson',\r\n paint: {\r\n // The first point is emphasised (and turns green once closing is\r\n // possible) so it reads as \"click here to close\".\r\n 'circle-radius': ['case', ['==', ['get', 'closable'], true], 8, 5],\r\n 'circle-color': ['case', ['==', ['get', 'closable'], true], '#22c55e', '#ffffff'],\r\n 'circle-stroke-width': 2,\r\n 'circle-stroke-color': ['case', ['==', ['get', 'closable'], true], '#15803d', '#000000'],\r\n },\r\n filter: ['all',\r\n ['in', '$type', 'Point'],\r\n ['==', 'isDrawPoint', true],\r\n ],\r\n })\r\n }\r\n\r\n // Add layers for lines during drawing\r\n if (!map.getLayer('add-draw-lines')) {\r\n map.addLayer({\r\n id: 'add-draw-lines',\r\n type: 'line',\r\n source: 'add-geojson',\r\n layout: {\r\n 'line-cap': 'round',\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-color': '#fff',\r\n 'line-width': 2.5,\r\n 'line-dasharray': [2, 2],\r\n },\r\n filter: ['all',\r\n ['in', '$type', 'LineString'],\r\n ['==', 'isDrawing', true],\r\n ],\r\n })\r\n }\r\n\r\n }, [map])\r\n\r\n // Map interaction while drawing: click to add a corner, click the first\r\n // corner to close. Bound only while drawing so normal map use is unaffected.\r\n React.useEffect(() => {\r\n if (!hasMapApi(map) || !isDrawing) return\r\n\r\n const clickHandler = (e: maplibregl.MapMouseEvent): void => {\r\n const clickPoint: [number, number] = [e.lngLat.lng, e.lngLat.lat]\r\n\r\n // Click near the first point to close the polygon.\r\n if (isNearFirstPoint(clickPoint, drawingPointsRef.current)) {\r\n finishDrawing()\r\n return\r\n }\r\n\r\n commitPoints([...drawingPointsRef.current, clickPoint])\r\n }\r\n\r\n const mouseMoveHandler = (): void => setCursor('crosshair')\r\n\r\n map.on('click', clickHandler)\r\n map.on('mousemove', mouseMoveHandler)\r\n\r\n return () => {\r\n map.off('click', clickHandler)\r\n map.off('mousemove', mouseMoveHandler)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [map, isDrawing])\r\n\r\n // Keyboard shortcuts while drawing: Enter finishes, Esc cancels, Backspace undoes.\r\n React.useEffect(() => {\r\n if (!isDrawing) return\r\n const onKey = (e: KeyboardEvent) => {\r\n if (e.key === 'Enter') { e.preventDefault(); finishDrawing() }\r\n else if (e.key === 'Escape') { e.preventDefault(); cancelDrawing() }\r\n else if (e.key === 'Backspace') { e.preventDefault(); undoLastPoint() }\r\n }\r\n window.addEventListener('keydown', onKey)\r\n return () => window.removeEventListener('keydown', onKey)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isDrawing])\r\n\r\n // Persistent instruction / feedback toast that updates as points are added.\r\n React.useEffect(() => {\r\n if (!isDrawing) {\r\n toast.dismiss(DRAW_TOAST_ID)\r\n return\r\n }\r\n\r\n const count = drawingPoints.length\r\n const canFinish = count >= 3\r\n\r\n const title = canFinish\r\n ? tf('drawReadyTitle', 'Ready to finish your site')\r\n : tf('drawTitle', 'Draw your site')\r\n\r\n const description = canFinish\r\n ? tf(\r\n 'drawReadyHint',\r\n `${count} points placed. Click the first point, press Enter, or tap Finish to close it. Backspace removes the last point, Esc cancels.`,\r\n { count },\r\n )\r\n : tf(\r\n 'drawHint',\r\n `Click on the map to add each corner (${count} so far). Add at least 3 to form a site. Esc cancels.`,\r\n { count },\r\n )\r\n\r\n toast.info(title, {\r\n id: DRAW_TOAST_ID,\r\n description,\r\n duration: Infinity,\r\n action: canFinish\r\n ? { label: tf('finish', 'Finish'), onClick: () => finishDrawing() }\r\n : undefined,\r\n cancel: { label: tf('cancel', 'Cancel'), onClick: () => cancelDrawing() },\r\n })\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isDrawing, drawingPoints.length])\r\n\r\n // If the tool is closed (e.g. the user switches tools) mid-draw, clean up.\r\n React.useEffect(() => {\r\n if (!isOpen && isDrawing) {\r\n clearDrawingFeatures()\r\n resetDrawingState()\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isOpen, isDrawing])\r\n\r\n // Dismiss the instruction toast if the component unmounts while drawing.\r\n React.useEffect(() => () => { toast.dismiss(DRAW_TOAST_ID) }, [])\r\n\r\n // After a site is created, detect the database buildings inside it and prompt\r\n // to associate them. Waits for the buildings list to load before deciding, so\r\n // a quick draw on a cold cache doesn't silently skip the prompt.\r\n React.useEffect(() => {\r\n if (!pendingDetection) return\r\n if (buildingsLoading && buildings.length === 0) return\r\n const inside = filterPointsInRing(pendingDetection.ring, buildings, b =>\r\n (typeof b.buildingLongitude === 'number' && typeof b.buildingLatitude === 'number')\r\n ? [b.buildingLongitude, b.buildingLatitude]\r\n : null)\r\n if (inside.length > 0) {\r\n setAssociateState({\r\n siteId: pendingDetection.siteId,\r\n siteName: pendingDetection.siteName,\r\n buildings: inside,\r\n })\r\n }\r\n setPendingDetection(null)\r\n }, [pendingDetection, buildings, buildingsLoading])\r\n\r\n // When drawing is active, hide the dialog so the map is fully interactive.\r\n // The component stays mounted so useEffect listeners remain active and the\r\n // instruction toast guides the user through finishing the polygon.\r\n if (isDrawing) return null\r\n\r\n return (\r\n <>\r\n {associateState && (\r\n <AssociateBuildingsDialog\r\n siteId={associateState.siteId}\r\n siteName={associateState.siteName}\r\n buildings={associateState.buildings}\r\n onClose={() => setAssociateState(null)}\r\n />\r\n )}\r\n <AddItemDialog\r\n open={isOpen}\r\n onOpenChange={open => !open && onCancel?.()}\r\n title={t('title')}\r\n icon={BoxSelect}\r\n >\r\n <div className=\"flex flex-col gap-3 pointer-events-auto\">\r\n <div className=\"flex flex-col gap-2\">\r\n <Label htmlFor=\"site-name\">{t('nameLabel')}</Label>\r\n <Input\r\n id=\"site-name\"\r\n ref={inputRef}\r\n type=\"text\"\r\n placeholder={t('namePlaceholder')}\r\n value={siteName}\r\n onChange={e => setSiteName(e.target.value)}\r\n />\r\n </div>\r\n\r\n <ol className=\"list-decimal pl-4 text-xs text-muted-foreground space-y-1\">\r\n <li>{tf('step1', 'Name your site (optional), then start drawing.')}</li>\r\n <li>{tf('step2', 'Click on the map to drop each corner.')}</li>\r\n <li>{tf('step3', 'Click the first corner (or press Enter) to close it.')}</li>\r\n </ol>\r\n\r\n <div className=\"flex gap-2\">\r\n <Button onClick={startDrawing}>\r\n <BoxSelect className=\"size-4\" />\r\n {t('startDrawing')}\r\n </Button>\r\n </div>\r\n </div>\r\n </AddItemDialog>\r\n </>\r\n )\r\n}\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/SiteAdder.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { BoxSelect } from 'lucide-react'\r\nimport { useTranslations } from 'next-intl'\r\nimport * as React from \"react\";\r\nimport { toast } from 'sonner'\r\n\r\nimport { useBuildings } from '../../../../../../../hooks/buildings/buildings'\r\nimport { useCreateSite } from '../../../../../../../hooks/sites/sites'\r\nimport { MapContext, useMapSitesContext } from '../../../../../../../store'\r\nimport { Input, Label } from '../../../../../../ui/'\r\nimport { AddItemDialog } from '../../../../../../ui/AddItemDialog'\r\nimport { Button } from '../../../../../../ui/Button'\r\nimport { polygonCentroid, filterPointsInRing } from '../../../MapLayers/src/SiteLayer/siteGeometry'\r\n\r\nimport { AssociateBuildingsDialog } from './AssociateBuildingsDialog'\r\nimport { persistDrawnSite } from './persistSite'\r\n\r\nimport type { Building } from '../../../../../../../types/dbTypes'\r\nimport type { CursorType } from '../../../../../../../types/global'\r\n\r\ninterface SiteAdderProps {\r\n isOpen?: boolean\r\n onCancel?: () => void\r\n}\r\n\r\n// A single, stable id so the instruction toast updates in place instead of stacking.\r\nconst DRAW_TOAST_ID = 'site-adder-draw'\r\n\r\nexport const SiteAdder = ({ isOpen = false, onCancel }: SiteAdderProps) => {\r\n // Translation\r\n const t = useTranslations('SiteAdder')\r\n\r\n // Translate with an English fallback. The translation messages for this\r\n // library live in the host app, so newer keys may not exist there yet —\r\n // `tf` keeps the tool usable (and translatable) in every host.\r\n const tf = React.useCallback(\r\n (key: string, fallback: string, values?: Record<string, string | number>) =>\r\n (t.has(key) ? t(key, values) : fallback),\r\n [t],\r\n )\r\n\r\n const [siteName, setSiteName] = React.useState<string>('')\r\n const [isDrawing, setIsDrawing] = React.useState<boolean>(false)\r\n const [drawingPoints, setDrawingPoints] = React.useState<[number, number][]>([])\r\n const { state: mapState } = React.useContext(MapContext)\r\n const { map } = mapState.map!\r\n const inputRef = React.useRef<HTMLInputElement>(null)\r\n\r\n // Persistence: create the DB site + upload its polygon geojson to minio, then\r\n // hand the polygon to the SiteLayer (via the MapSites store) for rendering.\r\n const { createSite } = useCreateSite()\r\n const { dispatch: mapSitesDispatch } = useMapSitesContext()\r\n\r\n // Database buildings (for detecting which fall inside a freshly drawn site).\r\n const { buildings, isLoading: buildingsLoading } = useBuildings()\r\n\r\n // A site that was just created and whose inside-buildings still need to be\r\n // detected. Held in state so detection re-runs once the buildings list loads.\r\n const [pendingDetection, setPendingDetection] = React.useState<\r\n { siteId: number, siteName: string, ring: [number, number][] } | null\r\n >(null)\r\n\r\n // When buildings are detected inside a freshly drawn site, prompt the user to\r\n // associate them (multi-select). Independent of the add-site dialog.\r\n const [associateState, setAssociateState] = React.useState<\r\n { siteId: number, siteName: string, buildings: Building[] } | null\r\n >(null)\r\n // A ref (not state) so all event-handler closures observe the live value and\r\n // a rapid second finish (double Enter / click + toast \"Finish\") can't create\r\n // a duplicate site before the first persist resolves.\r\n const isPersistingRef = React.useRef(false)\r\n\r\n // The committed points are mirrored in a ref so map / keyboard / toast\r\n // handlers always read the latest geometry without having to re-subscribe\r\n // on every click (which would otherwise drop fast double clicks).\r\n const drawingPointsRef = React.useRef<[number, number][]>([])\r\n\r\n // Added this to fix the issue of map not available.\r\n const hasMapApi = (\r\n mapInstance: unknown,\r\n ): mapInstance is maplibregl.Map => (\r\n Boolean(mapInstance)\r\n && typeof (mapInstance as maplibregl.Map).getSource === 'function'\r\n && typeof (mapInstance as maplibregl.Map).getLayer === 'function'\r\n && typeof (mapInstance as maplibregl.Map).addSource === 'function'\r\n && typeof (mapInstance as maplibregl.Map).addLayer === 'function'\r\n && typeof (mapInstance as maplibregl.Map).on === 'function'\r\n && typeof (mapInstance as maplibregl.Map).off === 'function'\r\n )\r\n\r\n const setCursor = (cursor: CursorType) => {\r\n if (!map) return\r\n if (map.getCanvas().style.cursor === cursor) return\r\n map.getCanvas().style.cursor = cursor\r\n }\r\n\r\n const getSource = () =>\r\n (map?.getSource('add-geojson') as maplibregl.GeoJSONSource | undefined)\r\n\r\n // Render the in-progress drawing: corner points, the connecting outline and\r\n // (once it can be closed) a translucent preview of the resulting polygon.\r\n // Created sites are rendered by SiteLayer, not here.\r\n const updateDrawingFeatures = (points: [number, number][]) => {\r\n const source = getSource()\r\n if (!source) return\r\n\r\n const closable = points.length >= 3\r\n const features: GeoJSON.Feature[] = []\r\n\r\n points.forEach((point, index) => {\r\n features.push({\r\n type: 'Feature',\r\n geometry: { type: 'Point', coordinates: point },\r\n properties: {\r\n isDrawPoint: true,\r\n pointIndex: index,\r\n isFirstPoint: index === 0,\r\n // The first point turns green once a click on it would close the site.\r\n closable: closable && index === 0,\r\n },\r\n })\r\n })\r\n\r\n if (points.length > 1) {\r\n features.push({\r\n type: 'Feature',\r\n geometry: {\r\n type: 'LineString',\r\n // Close the loop visually so the user sees the final shape.\r\n coordinates: closable ? [...points, points[0]] : points,\r\n },\r\n properties: { isDrawing: true },\r\n })\r\n }\r\n\r\n if (closable) {\r\n features.push({\r\n type: 'Feature',\r\n geometry: { type: 'Polygon', coordinates: [[...points, points[0]]] },\r\n properties: { isDrawPreview: true },\r\n })\r\n }\r\n\r\n source.setData({ type: 'FeatureCollection', features })\r\n }\r\n\r\n const commitPoints = (points: [number, number][]) => {\r\n drawingPointsRef.current = points\r\n setDrawingPoints(points)\r\n updateDrawingFeatures(points)\r\n }\r\n\r\n // Returns true when a click is close enough (in screen pixels, so it works at\r\n // any zoom level) to the first point to close the polygon.\r\n const isNearFirstPoint = (\r\n clickPoint: [number, number],\r\n points: [number, number][],\r\n pixelThreshold = 14,\r\n ): boolean => {\r\n if (!map || points.length < 3) return false\r\n const first = map.project(points[0])\r\n const click = map.project(clickPoint)\r\n return Math.hypot(first.x - click.x, first.y - click.y) <= pixelThreshold\r\n }\r\n\r\n // Remove the in-progress drawing features from the map.\r\n const clearDrawingFeatures = () => {\r\n const source = getSource()\r\n if (!source) return\r\n source.setData({ type: 'FeatureCollection', features: [] })\r\n }\r\n\r\n const resetDrawingState = () => {\r\n drawingPointsRef.current = []\r\n setDrawingPoints([])\r\n setIsDrawing(false)\r\n setCursor('')\r\n toast.dismiss(DRAW_TOAST_ID)\r\n }\r\n\r\n const startDrawing = () => {\r\n if (!hasMapApi(map) || !map.getSource('add-geojson')) {\r\n toast.error(tf('mapNotReady', 'The map is still loading. Please try again in a moment.'))\r\n return\r\n }\r\n drawingPointsRef.current = []\r\n setDrawingPoints([])\r\n setIsDrawing(true)\r\n setCursor('crosshair')\r\n }\r\n\r\n const undoLastPoint = () => {\r\n const points = drawingPointsRef.current\r\n if (points.length === 0) return\r\n commitPoints(points.slice(0, -1))\r\n }\r\n\r\n const cancelDrawing = () => {\r\n clearDrawingFeatures()\r\n resetDrawingState()\r\n toast.info(tf('drawCancelled', 'Site drawing cancelled.'))\r\n }\r\n\r\n const finishDrawing = async () => {\r\n if (isPersistingRef.current) return\r\n const points = drawingPointsRef.current\r\n if (points.length < 3) {\r\n toast.warning(tf('needThreePoints', 'Add at least 3 points before closing the site.'))\r\n return\r\n }\r\n const name = siteName.trim() || tf('unnamedSite', 'Unnamed Site')\r\n const ring = [...points]\r\n const centroid = polygonCentroid(ring)\r\n\r\n // Set synchronously before the first await so a second invocation bails.\r\n isPersistingRef.current = true\r\n const toastId = toast.loading(tf('savingSite', 'Saving site…'))\r\n try {\r\n const { siteId, assetId, fileId } = await persistDrawnSite({ name, ring, centroid, createSite })\r\n // Hand the polygon to SiteLayer for clickable, persistent rendering.\r\n mapSitesDispatch({\r\n type: 'SHOW_SITE',\r\n payload: { site: { id: siteId, name, ring, assetId, fileId } },\r\n })\r\n toast.success(tf('siteCreated', `Site \"${name}\" created.`, { name }), { id: toastId })\r\n clearDrawingFeatures()\r\n resetDrawingState()\r\n setSiteName('')\r\n isPersistingRef.current = false\r\n\r\n // Detect buildings inside the polygon (deferred to the effect below so it\r\n // still works if the buildings list hasn't finished loading yet).\r\n setPendingDetection({ siteId, siteName: name, ring })\r\n\r\n // Don't reopen the Add Site dialog — creation is finished.\r\n onCancel?.()\r\n }\r\n catch {\r\n toast.error(tf('siteCreateFailed', 'Failed to create the site. Please try again.'), { id: toastId })\r\n isPersistingRef.current = false\r\n // Keep the drawing so the user can retry finishing.\r\n }\r\n }\r\n\r\n // set up layer to add site\r\n React.useEffect(() => {\r\n if (!hasMapApi(map)) return\r\n // GeoJSON object to hold features\r\n const geojson: GeoJSON.FeatureCollection<GeoJSON.Geometry> = {\r\n type: 'FeatureCollection',\r\n features: [],\r\n }\r\n\r\n // Add source if it doesn't exist\r\n if (!map.getSource('add-geojson') && geojson) {\r\n map.addSource('add-geojson', {\r\n type: 'geojson',\r\n data: geojson,\r\n })\r\n }\r\n\r\n // Translucent preview of the polygon currently being drawn (added first so\r\n // the outline and points render on top of it).\r\n if (!map.getLayer('add-draw-fill')) {\r\n map.addLayer({\r\n id: 'add-draw-fill',\r\n type: 'fill',\r\n source: 'add-geojson',\r\n paint: {\r\n 'fill-color': '#3b82f6',\r\n 'fill-opacity': 0.2,\r\n },\r\n filter: ['all',\r\n ['in', '$type', 'Polygon'],\r\n ['==', 'isDrawPreview', true],\r\n ],\r\n })\r\n }\r\n\r\n // Add layers for points during drawing\r\n if (!map.getLayer('add-draw-points')) {\r\n map.addLayer({\r\n id: 'add-draw-points',\r\n type: 'circle',\r\n source: 'add-geojson',\r\n paint: {\r\n // The first point is emphasised (and turns green once closing is\r\n // possible) so it reads as \"click here to close\".\r\n 'circle-radius': ['case', ['==', ['get', 'closable'], true], 8, 5],\r\n 'circle-color': ['case', ['==', ['get', 'closable'], true], '#22c55e', '#ffffff'],\r\n 'circle-stroke-width': 2,\r\n 'circle-stroke-color': ['case', ['==', ['get', 'closable'], true], '#15803d', '#000000'],\r\n },\r\n filter: ['all',\r\n ['in', '$type', 'Point'],\r\n ['==', 'isDrawPoint', true],\r\n ],\r\n })\r\n }\r\n\r\n // Add layers for lines during drawing\r\n if (!map.getLayer('add-draw-lines')) {\r\n map.addLayer({\r\n id: 'add-draw-lines',\r\n type: 'line',\r\n source: 'add-geojson',\r\n layout: {\r\n 'line-cap': 'round',\r\n 'line-join': 'round',\r\n },\r\n paint: {\r\n 'line-color': '#fff',\r\n 'line-width': 2.5,\r\n 'line-dasharray': [2, 2],\r\n },\r\n filter: ['all',\r\n ['in', '$type', 'LineString'],\r\n ['==', 'isDrawing', true],\r\n ],\r\n })\r\n }\r\n\r\n }, [map])\r\n\r\n // Map interaction while drawing: click to add a corner, click the first\r\n // corner to close. Bound only while drawing so normal map use is unaffected.\r\n React.useEffect(() => {\r\n if (!hasMapApi(map) || !isDrawing) return\r\n\r\n const clickHandler = (e: maplibregl.MapMouseEvent): void => {\r\n const clickPoint: [number, number] = [e.lngLat.lng, e.lngLat.lat]\r\n\r\n // Click near the first point to close the polygon.\r\n if (isNearFirstPoint(clickPoint, drawingPointsRef.current)) {\r\n finishDrawing()\r\n return\r\n }\r\n\r\n commitPoints([...drawingPointsRef.current, clickPoint])\r\n }\r\n\r\n const mouseMoveHandler = (): void => setCursor('crosshair')\r\n\r\n map.on('click', clickHandler)\r\n map.on('mousemove', mouseMoveHandler)\r\n\r\n return () => {\r\n map.off('click', clickHandler)\r\n map.off('mousemove', mouseMoveHandler)\r\n }\r\n\r\n }, [map, isDrawing])\r\n\r\n // Keyboard shortcuts while drawing: Enter finishes, Esc cancels, Backspace undoes.\r\n React.useEffect(() => {\r\n if (!isDrawing) return\r\n const onKey = (e: KeyboardEvent) => {\r\n if (e.key === 'Enter') { e.preventDefault(); finishDrawing() }\r\n else if (e.key === 'Escape') { e.preventDefault(); cancelDrawing() }\r\n else if (e.key === 'Backspace') { e.preventDefault(); undoLastPoint() }\r\n }\r\n window.addEventListener('keydown', onKey)\r\n return () => window.removeEventListener('keydown', onKey)\r\n\r\n }, [isDrawing])\r\n\r\n // Persistent instruction / feedback toast that updates as points are added.\r\n React.useEffect(() => {\r\n if (!isDrawing) {\r\n toast.dismiss(DRAW_TOAST_ID)\r\n return\r\n }\r\n\r\n const count = drawingPoints.length\r\n const canFinish = count >= 3\r\n\r\n const title = canFinish\r\n ? tf('drawReadyTitle', 'Ready to finish your site')\r\n : tf('drawTitle', 'Draw your site')\r\n\r\n const description = canFinish\r\n ? tf(\r\n 'drawReadyHint',\r\n `${count} points placed. Click the first point, press Enter, or tap Finish to close it. Backspace removes the last point, Esc cancels.`,\r\n { count },\r\n )\r\n : tf(\r\n 'drawHint',\r\n `Click on the map to add each corner (${count} so far). Add at least 3 to form a site. Esc cancels.`,\r\n { count },\r\n )\r\n\r\n toast.info(title, {\r\n id: DRAW_TOAST_ID,\r\n description,\r\n duration: Infinity,\r\n action: canFinish\r\n ? { label: tf('finish', 'Finish'), onClick: () => finishDrawing() }\r\n : undefined,\r\n cancel: { label: tf('cancel', 'Cancel'), onClick: () => cancelDrawing() },\r\n })\r\n\r\n }, [isDrawing, drawingPoints.length])\r\n\r\n // If the tool is closed (e.g. the user switches tools) mid-draw, clean up.\r\n React.useEffect(() => {\r\n if (!isOpen && isDrawing) {\r\n clearDrawingFeatures()\r\n resetDrawingState()\r\n }\r\n\r\n }, [isOpen, isDrawing])\r\n\r\n // Dismiss the instruction toast if the component unmounts while drawing.\r\n React.useEffect(() => () => { toast.dismiss(DRAW_TOAST_ID) }, [])\r\n\r\n // After a site is created, detect the database buildings inside it and prompt\r\n // to associate them. Waits for the buildings list to load before deciding, so\r\n // a quick draw on a cold cache doesn't silently skip the prompt.\r\n React.useEffect(() => {\r\n if (!pendingDetection) return\r\n if (buildingsLoading && buildings.length === 0) return\r\n const inside = filterPointsInRing(pendingDetection.ring, buildings, b =>\r\n (typeof b.buildingLongitude === 'number' && typeof b.buildingLatitude === 'number')\r\n ? [b.buildingLongitude, b.buildingLatitude]\r\n : null)\r\n if (inside.length > 0) {\r\n setAssociateState({\r\n siteId: pendingDetection.siteId,\r\n siteName: pendingDetection.siteName,\r\n buildings: inside,\r\n })\r\n }\r\n setPendingDetection(null)\r\n }, [pendingDetection, buildings, buildingsLoading])\r\n\r\n // When drawing is active, hide the dialog so the map is fully interactive.\r\n // The component stays mounted so useEffect listeners remain active and the\r\n // instruction toast guides the user through finishing the polygon.\r\n if (isDrawing) return null\r\n\r\n return (\r\n <>\r\n {associateState && (\r\n <AssociateBuildingsDialog\r\n siteId={associateState.siteId}\r\n siteName={associateState.siteName}\r\n buildings={associateState.buildings}\r\n onClose={() => setAssociateState(null)}\r\n />\r\n )}\r\n <AddItemDialog\r\n open={isOpen}\r\n onOpenChange={open => !open && onCancel?.()}\r\n title={t('title')}\r\n icon={BoxSelect}\r\n >\r\n <div className=\"flex flex-col gap-3 pointer-events-auto\">\r\n <div className=\"flex flex-col gap-2\">\r\n <Label htmlFor=\"site-name\">{t('nameLabel')}</Label>\r\n <Input\r\n id=\"site-name\"\r\n ref={inputRef}\r\n type=\"text\"\r\n placeholder={t('namePlaceholder')}\r\n value={siteName}\r\n onChange={e => setSiteName(e.target.value)}\r\n />\r\n </div>\r\n\r\n <ol className=\"list-decimal pl-4 text-xs text-muted-foreground space-y-1\">\r\n <li>{tf('step1', 'Name your site (optional), then start drawing.')}</li>\r\n <li>{tf('step2', 'Click on the map to drop each corner.')}</li>\r\n <li>{tf('step3', 'Click the first corner (or press Enter) to close it.')}</li>\r\n </ol>\r\n\r\n <div className=\"flex gap-2\">\r\n <Button onClick={startDrawing}>\r\n <BoxSelect className=\"size-4\" />\r\n {t('startDrawing')}\r\n </Button>\r\n </div>\r\n </div>\r\n </AddItemDialog>\r\n </>\r\n )\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistSite.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"persistSite.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,IAAI,EAAE,MAAM,+CAA+C,CAAA;AAGlG,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,kBAAkB,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAU,QAAQ;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACvC,KAAG,OAAO,CAAC,aAAa,CA2CxB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { uploadToPresignedUrl } from "../AddFile/utils/uploadToPresignedURLS";
|
|
2
1
|
import { ringToFeatureCollection } from "../../../MapLayers/src/SiteLayer/siteGeometry";
|
|
2
|
+
import { uploadToPresignedUrl } from "../AddFile/utils/uploadToPresignedURLS";
|
|
3
3
|
const SITE_GEOMETRY_TAG = "site-geometry";
|
|
4
4
|
const persistDrawnSite = async (params) => {
|
|
5
5
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddSite/persistSite.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { ringToFeatureCollection, type Ring } from '../../../MapLayers/src/SiteLayer/siteGeometry'\r\nimport { uploadToPresignedUrl } from '../AddFile/utils/uploadToPresignedURLS'\r\n\r\n/** Tag stored on the File row so the site's boundary geojson can be found later. */\r\nexport const SITE_GEOMETRY_TAG = 'site-geometry'\r\n\r\nexport interface PersistedSite {\r\n siteId: number\r\n assetId: string\r\n fileId?: number\r\n}\r\n\r\n/**\r\n * Persist a freshly drawn site:\r\n * 1. create the DB Site (via the injected `createSite` hook trigger),\r\n * 2. upload the polygon GeoJSON to minio (presigned PUT),\r\n * 3. create a File row attached to the site that references the minio object.\r\n *\r\n * The polygon geometry lives in minio (there is no geometry column on Site);\r\n * the File row links it to the site via `attachedFilesSiteId` + the geometry tag.\r\n */\r\nexport const persistDrawnSite = async (params: {\r\n name: string\r\n ring: Ring\r\n centroid: [number, number]\r\n createSite: (arg: any) => Promise<any>\r\n}): Promise<PersistedSite> => {\r\n const { name, ring, centroid, createSite } = params\r\n\r\n const site = await createSite({\r\n siteName: name,\r\n siteLongitude: centroid[0],\r\n siteLatitude: centroid[1],\r\n })\r\n const siteId = site?.id\r\n if (!siteId) throw new Error('Site creation did not return an id')\r\n\r\n const assetId = `${crypto.randomUUID()}.geojson`\r\n const fc = ringToFeatureCollection(ring, name)\r\n const file = new File([JSON.stringify(fc)], `${name || 'site'}.geojson`, {\r\n type: 'application/geo+json',\r\n })\r\n\r\n const presRes = await fetch(`/api/presigned-url-upload?asset=${encodeURIComponent(assetId)}`)\r\n if (!presRes.ok) throw new Error('Failed to get an upload URL')\r\n const { presignedUrl } = await presRes.json()\r\n await uploadToPresignedUrl(presignedUrl, file)\r\n\r\n const fileRes = await fetch(`/api/files/site/${siteId}`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n type: 'map-file',\r\n name: `${name || 'site'}.geojson`,\r\n assetId,\r\n mimeType: 'application/geo+json',\r\n extension: 'geojson',\r\n sizeBytes: file.size,\r\n tag: SITE_GEOMETRY_TAG,\r\n isVisible: false,\r\n }),\r\n })\r\n // The DB link is required: without it the boundary is orphaned in minio and\r\n // can never be re-shown. Treat failure as fatal so the caller can retry.\r\n if (!fileRes.ok) throw new Error('Failed to attach the geometry file to the site')\r\n const data = await fileRes.json().catch(() => null)\r\n const fileId: number | undefined = data?.newFile?.id\r\n\r\n return { siteId, assetId, fileId }\r\n}\r\n"],"mappings":"AAGA,SAAS,+BAA0C;AACnD,SAAS,4BAA4B;AAG9B,MAAM,oBAAoB;AAiB1B,MAAM,mBAAmB,OAAO,WAKT;AA7B9B;AA8BE,QAAM,EAAE,MAAM,MAAM,UAAU,WAAW,IAAI;AAE7C,QAAM,OAAO,MAAM,WAAW;AAAA,IAC5B,UAAU;AAAA,IACV,eAAe,SAAS,CAAC;AAAA,IACzB,cAAc,SAAS,CAAC;AAAA,EAC1B,CAAC;AACD,QAAM,SAAS,6BAAM;AACrB,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,oCAAoC;AAEjE,QAAM,UAAU,GAAG,OAAO,WAAW,CAAC;AACtC,QAAM,KAAK,wBAAwB,MAAM,IAAI;AAC7C,QAAM,OAAO,IAAI,KAAK,CAAC,KAAK,UAAU,EAAE,CAAC,GAAG,GAAG,QAAQ,MAAM,YAAY;AAAA,IACvE,MAAM;AAAA,EACR,CAAC;AAED,QAAM,UAAU,MAAM,MAAM,mCAAmC,mBAAmB,OAAO,CAAC,EAAE;AAC5F,MAAI,CAAC,QAAQ,GAAI,OAAM,IAAI,MAAM,6BAA6B;AAC9D,QAAM,EAAE,aAAa,IAAI,MAAM,QAAQ,KAAK;AAC5C,QAAM,qBAAqB,cAAc,IAAI;AAE7C,QAAM,UAAU,MAAM,MAAM,mBAAmB,MAAM,IAAI;AAAA,IACvD,QAAQ;AAAA,IACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM,KAAK,UAAU;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,GAAG,QAAQ,MAAM;AAAA,MACvB;AAAA,MACA,UAAU;AAAA,MACV,WAAW;AAAA,MACX,WAAW,KAAK;AAAA,MAChB,KAAK;AAAA,MACL,WAAW;AAAA,IACb,CAAC;AAAA,EACH,CAAC;AAGD,MAAI,CAAC,QAAQ,GAAI,OAAM,IAAI,MAAM,gDAAgD;AACjF,QAAM,OAAO,MAAM,QAAQ,KAAK,EAAE,MAAM,MAAM,IAAI;AAClD,QAAM,UAA6B,kCAAM,YAAN,mBAAe;AAElD,SAAO,EAAE,QAAQ,SAAS,OAAO;AACnC;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { Organization } from '../../../../../../types/dbTypes';
|
|
3
|
+
import type { Tool } from '../../../../../../types/tools';
|
|
4
4
|
interface AddToMapToolProps {
|
|
5
5
|
tool: Tool;
|
|
6
6
|
organization?: Organization;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddToMap.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddToMap.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddToMap.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddToMap.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4B/B,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAmB,MAAM,+BAA+B,CAAA;AAG1E,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,iBAAiB,qBA+NvI"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import * as
|
|
3
|
+
import * as LR from "lucide-react";
|
|
4
4
|
import { useTranslations } from "next-intl";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { useComments } from "../../../../../../hooks/comments/comments";
|
|
7
|
+
import { useSensors } from "../../../../../../hooks/sensors/sensors";
|
|
5
8
|
import { usePermissions } from "../../../../../../store";
|
|
6
9
|
import { ToolsContext, FilesContext, MenusContext } from "../../../../../../store";
|
|
7
10
|
import { ViewerNames } from "../../../../../../types/";
|
|
8
11
|
import { ToolbarSubmenu } from "../../../../../ToolbarSubmenu";
|
|
9
12
|
import { useSidebar, ItemsBadgeButton } from "../../../../../ui/";
|
|
10
|
-
import { DropdownMenuItem } from "../../../../../ui/DropdownMenu";
|
|
11
13
|
import { AddItemDialog } from "../../../../../ui/AddItemDialog";
|
|
12
|
-
import * as LR from "lucide-react";
|
|
13
|
-
import { FileAdder } from "./AddFile/FileAdder";
|
|
14
14
|
import { CommentInput } from "../../../../../ui/Comments/CommentInput";
|
|
15
|
+
import { DropdownMenuItem } from "../../../../../ui/DropdownMenu";
|
|
15
16
|
import { SensorInput } from "../../../../../ui/Sensors/SensorInput";
|
|
17
|
+
import AddBuilding from "../../../../Data/buildingDetails/AddBuilding";
|
|
18
|
+
import Datasets from "../../../datasets";
|
|
16
19
|
import { DatasetAdder } from "./AddDataset/DatasetAdder";
|
|
20
|
+
import { FileAdder } from "./AddFile/FileAdder";
|
|
17
21
|
import { SiteAdder } from "./AddSite/SiteAdder";
|
|
18
|
-
import Datasets from "../../../datasets";
|
|
19
|
-
import AddBuilding from "../../../../Data/buildingDetails/AddBuilding";
|
|
20
|
-
import { useComments } from "../../../../../../hooks/comments/comments";
|
|
21
|
-
import { useSensors } from "../../../../../../hooks/sensors/sensors";
|
|
22
22
|
function AddToMap({ tool, organization, minioBaseUrl, martinBaseUrl, geocodeEarthApiKey, geocoderUrl }) {
|
|
23
23
|
const t = useTranslations("AddToMap");
|
|
24
24
|
const { ability } = usePermissions();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddToMap.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\n// Dependencies\r\nimport * as React from \"react\";\r\nimport { useTranslations } from 'next-intl'\r\nimport { usePermissions } from '../../../../../../store'\r\n\r\n// Utilities\r\nimport { ToolsContext, FilesContext, MenusContext } from '../../../../../../store'\r\nimport { Tool, ToolbarToolType } from '../../../../../../types/tools'\r\nimport { ViewerNames } from '../../../../../../types/'\r\nimport { ToolbarSubmenu } from '../../../../../ToolbarSubmenu'\r\n\r\n// Shadcn components\r\nimport { useSidebar, ItemsBadgeButton } from '../../../../../ui/'\r\nimport { DropdownMenuItem } from '../../../../../ui/DropdownMenu'\r\nimport { AddItemDialog } from '../../../../../ui/AddItemDialog'\r\n\r\n// Icons\r\nimport * as LR from 'lucide-react'\r\n\r\n// Adder Components\r\nimport { FileAdder } from './AddFile/FileAdder'\r\nimport { CommentInput } from '../../../../../ui/Comments/CommentInput'\r\nimport { SensorInput } from '../../../../../ui/Sensors/SensorInput'\r\nimport { DatasetAdder } from './AddDataset/DatasetAdder'\r\nimport { SiteAdder } from './AddSite/SiteAdder'\r\nimport Datasets from '../../../datasets'\r\nimport AddBuilding from '../../../../Data/buildingDetails/AddBuilding'\r\nimport { DbFile, Organization } from '../../../../../../types/dbTypes';\r\nimport { useComments } from '../../../../../../hooks/comments/comments';\r\nimport { useSensors } from '../../../../../../hooks/sensors/sensors';\r\n\r\ninterface AddToMapToolProps {\r\n tool: Tool\r\n organization?: Organization\r\n minioBaseUrl?: string\r\n martinBaseUrl?: string\r\n geocodeEarthApiKey?: string\r\n geocoderUrl?: string\r\n [key: string]: unknown\r\n}\r\n\r\nexport default function AddToMap({ tool, organization, minioBaseUrl, martinBaseUrl, geocodeEarthApiKey, geocoderUrl }: AddToMapToolProps) {\r\n // Translation\r\n const t = useTranslations('AddToMap')\r\n\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const [datasetOpen, setDatasetOpen] = React.useState<boolean>()\r\n\r\n const { dispatch: toolsDispatch, state: toolsState }\r\n = React.useContext(ToolsContext)\r\n const [addingMode, setAddingMode] = React.useState<ToolbarToolType | null>(null)\r\n const { state: fileState } = React.useContext(FilesContext)\r\n const { files } = fileState.files\r\n const mapFiles: DbFile[] = files.filter(file => file.type == 'map-file')\r\n\r\n const {comments} = useComments()\r\n const {sensors} = useSensors()\r\n\r\n const [newBuildingFields, setNewBuildingFields] = React.useState({})\r\n const [buildingDialogOpen, setBuildingDialogOpen] = React.useState(false)\r\n\r\n const { currentToolId } = toolsState?.tools || {}\r\n\r\n // Allow other UI (e.g. CommentsSection) to trigger AddToMap modes\r\n React.useEffect(() => {\r\n const isAddToMapMode = (id: any): id is ToolbarToolType => {\r\n return (\r\n id === 'map-add-file'\r\n || id === 'map-add-comment'\r\n || id === 'map-add-building'\r\n || id === 'map-add-dataset'\r\n || id === 'map-add-site'\r\n || id === 'map-add-sensor'\r\n )\r\n }\r\n\r\n if (isAddToMapMode(currentToolId)) {\r\n setAddingMode(currentToolId)\r\n }\r\n else {\r\n setAddingMode(null)\r\n }\r\n }, [currentToolId])\r\n\r\n const handleToolClick = (newTool: ToolbarToolType) => {\r\n setAddingMode(newTool)\r\n toolsDispatch({\r\n type: 'SET-TOOL',\r\n payload: { currentToolId: newTool },\r\n })\r\n }\r\n\r\n const clearTool = () => {\r\n setAddingMode(null)\r\n toolsDispatch({ type: 'CLEAR-TOOLS' })\r\n }\r\n\r\n const { dispatch: menusDispatch, state: menusState } = React.useContext(MenusContext)\r\n const { setOpenInfo } = useSidebar()\r\n\r\n const handleCommentsMenu = () => {\r\n setOpenInfo(true)\r\n menusDispatch({ type: 'SET_SIDEBAR_SELECTED_TAB', payload: { selectedTab: 'communication' } })\r\n }\r\n\r\n const handleSensorsMenu = () => {\r\n setOpenInfo(true)\r\n menusDispatch({ type: 'SET_SIDEBAR_SELECTED_TAB', payload: { selectedTab: 'sensors' } })\r\n }\r\n\r\n const { currentViewer } = menusState.menus\r\n\r\n const handleOpenFileTab = () => {\r\n setOpenInfo(true)\r\n menusDispatch({ type: 'SET_SIDEBAR_SELECTED_TAB', payload: { selectedTab: 'file' } })\r\n }\r\n\r\n return (\r\n <>\r\n <ToolbarSubmenu tool={tool}>\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => handleToolClick('map-add-file')}\r\n disabled={!ability.can('create', 'File')}\r\n >\r\n <LR.FilePlus />\r\n <span>{t('file')}</span>\r\n </DropdownMenuItem>\r\n <ItemsBadgeButton\r\n count={mapFiles.length}\r\n onClick={handleOpenFileTab}\r\n />\r\n\r\n </div>\r\n\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => {\r\n handleToolClick('map-add-comment')\r\n }}\r\n disabled={!ability.can('create', 'Comment')}\r\n >\r\n <LR.MessageCircle />\r\n <span>{t('comment')}</span>\r\n </DropdownMenuItem>\r\n <ItemsBadgeButton\r\n count={comments.filter((comment) => currentViewer === comment.viewer).length}\r\n onClick={handleCommentsMenu}\r\n />\r\n </div>\r\n\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => {\r\n handleToolClick('map-add-dataset')\r\n }}\r\n disabled={!ability.can('create', 'File')}\r\n >\r\n <LR.Database />\r\n <span>{t('dataset')}</span>\r\n </DropdownMenuItem>\r\n </div>\r\n\r\n <DropdownMenuItem\r\n onClick={() => {\r\n handleToolClick('map-add-site')\r\n }}\r\n disabled={!ability.can('create', 'Site')}\r\n >\r\n <LR.BoxSelect />\r\n <span>{t('site')}</span>\r\n </DropdownMenuItem>\r\n\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => {\r\n handleToolClick('map-add-sensor')\r\n }}\r\n disabled={!ability.can('create', 'Sensor')}\r\n >\r\n <LR.Radio />\r\n <span>{t('sensor')}</span>\r\n </DropdownMenuItem>\r\n {sensors.length > 0 && (\r\n <ItemsBadgeButton\r\n count={sensors.filter((sensor) => currentViewer === sensor.viewer).length}\r\n onClick={handleSensorsMenu}\r\n />\r\n )}\r\n </div>\r\n\r\n <DropdownMenuItem\r\n onClick={() => setBuildingDialogOpen(true)}\r\n disabled={!ability.can('create', 'Building')}\r\n >\r\n <LR.Building2 />\r\n <span>{t('building')}</span>\r\n </DropdownMenuItem>\r\n\r\n </ToolbarSubmenu>\r\n\r\n {/* File — manages its own dialog and state */}\r\n {addingMode === 'map-add-file' && (\r\n <FileAdder isOpen={addingMode === 'map-add-file'} onClose={clearTool} />\r\n )}\r\n\r\n {/* Comment */}\r\n <CommentInput\r\n viewer={ViewerNames.map}\r\n layout=\"dialog\"\r\n isOpen={addingMode === 'map-add-comment'}\r\n onCancel={clearTool}\r\n />\r\n\r\n {/* Sensor */}\r\n <SensorInput\r\n viewer={ViewerNames.map}\r\n layout=\"dialog\"\r\n isOpen={addingMode === 'map-add-sensor'}\r\n onCancel={clearTool}\r\n />\r\n\r\n {/* Site */}\r\n <SiteAdder\r\n isOpen={addingMode === 'map-add-site'}\r\n onCancel={clearTool}\r\n />\r\n\r\n {/* Dataset */}\r\n <AddItemDialog\r\n open={addingMode === 'map-add-dataset'}\r\n onOpenChange={open => !open && clearTool()}\r\n title={t('addDatasetTitle')}\r\n icon={LR.Database}\r\n contentClassName=\"max-w-xl\"\r\n >\r\n <DatasetAdder />\r\n </AddItemDialog>\r\n\r\n {/* Building */}\r\n <AddBuilding\r\n newBuildingFields={newBuildingFields}\r\n setNewBuildingFields={setNewBuildingFields}\r\n open={buildingDialogOpen}\r\n onOpenChange={setBuildingDialogOpen}\r\n geocodeEarthApiKey={geocodeEarthApiKey}\r\n geocoderUrl={geocoderUrl}\r\n />\r\n\r\n <Datasets\r\n isOpen={datasetOpen}\r\n setIsOpenAction={setDatasetOpen}\r\n organization={organization}\r\n minioBaseUrl={minioBaseUrl}\r\n martinBaseUrl={martinBaseUrl}\r\n />\r\n </>\r\n )\r\n}"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/core/components/viewers/map/src/tools/AddTools/AddToMap.tsx"],"sourcesContent":["'use client'\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\n// Dependencies\r\nimport * as LR from 'lucide-react'\r\nimport { useTranslations } from 'next-intl'\r\nimport * as React from \"react\";\r\n\r\nimport { useComments } from '../../../../../../hooks/comments/comments';\r\nimport { useSensors } from '../../../../../../hooks/sensors/sensors';\r\nimport { usePermissions } from '../../../../../../store'\r\n\r\n// Utilities\r\nimport { ToolsContext, FilesContext, MenusContext } from '../../../../../../store'\r\nimport { ViewerNames } from '../../../../../../types/'\r\nimport { ToolbarSubmenu } from '../../../../../ToolbarSubmenu'\r\n\r\n// Shadcn components\r\nimport { useSidebar, ItemsBadgeButton } from '../../../../../ui/'\r\nimport { AddItemDialog } from '../../../../../ui/AddItemDialog'\r\nimport { CommentInput } from '../../../../../ui/Comments/CommentInput'\r\nimport { DropdownMenuItem } from '../../../../../ui/DropdownMenu'\r\n\r\n// Icons\r\n\r\n// Adder Components\r\nimport { SensorInput } from '../../../../../ui/Sensors/SensorInput'\r\nimport AddBuilding from '../../../../Data/buildingDetails/AddBuilding'\r\nimport Datasets from '../../../datasets'\r\n\r\nimport { DatasetAdder } from './AddDataset/DatasetAdder'\r\nimport { FileAdder } from './AddFile/FileAdder'\r\nimport { SiteAdder } from './AddSite/SiteAdder'\r\n\r\nimport type { DbFile, Organization } from '../../../../../../types/dbTypes';\r\nimport type { Tool, ToolbarToolType } from '../../../../../../types/tools'\r\n\r\n\r\ninterface AddToMapToolProps {\r\n tool: Tool\r\n organization?: Organization\r\n minioBaseUrl?: string\r\n martinBaseUrl?: string\r\n geocodeEarthApiKey?: string\r\n geocoderUrl?: string\r\n [key: string]: unknown\r\n}\r\n\r\nexport default function AddToMap({ tool, organization, minioBaseUrl, martinBaseUrl, geocodeEarthApiKey, geocoderUrl }: AddToMapToolProps) {\r\n // Translation\r\n const t = useTranslations('AddToMap')\r\n\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const [datasetOpen, setDatasetOpen] = React.useState<boolean>()\r\n\r\n const { dispatch: toolsDispatch, state: toolsState }\r\n = React.useContext(ToolsContext)\r\n const [addingMode, setAddingMode] = React.useState<ToolbarToolType | null>(null)\r\n const { state: fileState } = React.useContext(FilesContext)\r\n const { files } = fileState.files\r\n const mapFiles: DbFile[] = files.filter(file => file.type == 'map-file')\r\n\r\n const {comments} = useComments()\r\n const {sensors} = useSensors()\r\n\r\n const [newBuildingFields, setNewBuildingFields] = React.useState({})\r\n const [buildingDialogOpen, setBuildingDialogOpen] = React.useState(false)\r\n\r\n const { currentToolId } = toolsState?.tools || {}\r\n\r\n // Allow other UI (e.g. CommentsSection) to trigger AddToMap modes\r\n React.useEffect(() => {\r\n const isAddToMapMode = (id: any): id is ToolbarToolType => {\r\n return (\r\n id === 'map-add-file'\r\n || id === 'map-add-comment'\r\n || id === 'map-add-building'\r\n || id === 'map-add-dataset'\r\n || id === 'map-add-site'\r\n || id === 'map-add-sensor'\r\n )\r\n }\r\n\r\n if (isAddToMapMode(currentToolId)) {\r\n setAddingMode(currentToolId)\r\n }\r\n else {\r\n setAddingMode(null)\r\n }\r\n }, [currentToolId])\r\n\r\n const handleToolClick = (newTool: ToolbarToolType) => {\r\n setAddingMode(newTool)\r\n toolsDispatch({\r\n type: 'SET-TOOL',\r\n payload: { currentToolId: newTool },\r\n })\r\n }\r\n\r\n const clearTool = () => {\r\n setAddingMode(null)\r\n toolsDispatch({ type: 'CLEAR-TOOLS' })\r\n }\r\n\r\n const { dispatch: menusDispatch, state: menusState } = React.useContext(MenusContext)\r\n const { setOpenInfo } = useSidebar()\r\n\r\n const handleCommentsMenu = () => {\r\n setOpenInfo(true)\r\n menusDispatch({ type: 'SET_SIDEBAR_SELECTED_TAB', payload: { selectedTab: 'communication' } })\r\n }\r\n\r\n const handleSensorsMenu = () => {\r\n setOpenInfo(true)\r\n menusDispatch({ type: 'SET_SIDEBAR_SELECTED_TAB', payload: { selectedTab: 'sensors' } })\r\n }\r\n\r\n const { currentViewer } = menusState.menus\r\n\r\n const handleOpenFileTab = () => {\r\n setOpenInfo(true)\r\n menusDispatch({ type: 'SET_SIDEBAR_SELECTED_TAB', payload: { selectedTab: 'file' } })\r\n }\r\n\r\n return (\r\n <>\r\n <ToolbarSubmenu tool={tool}>\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => handleToolClick('map-add-file')}\r\n disabled={!ability.can('create', 'File')}\r\n >\r\n <LR.FilePlus />\r\n <span>{t('file')}</span>\r\n </DropdownMenuItem>\r\n <ItemsBadgeButton\r\n count={mapFiles.length}\r\n onClick={handleOpenFileTab}\r\n />\r\n\r\n </div>\r\n\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => {\r\n handleToolClick('map-add-comment')\r\n }}\r\n disabled={!ability.can('create', 'Comment')}\r\n >\r\n <LR.MessageCircle />\r\n <span>{t('comment')}</span>\r\n </DropdownMenuItem>\r\n <ItemsBadgeButton\r\n count={comments.filter((comment) => currentViewer === comment.viewer).length}\r\n onClick={handleCommentsMenu}\r\n />\r\n </div>\r\n\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => {\r\n handleToolClick('map-add-dataset')\r\n }}\r\n disabled={!ability.can('create', 'File')}\r\n >\r\n <LR.Database />\r\n <span>{t('dataset')}</span>\r\n </DropdownMenuItem>\r\n </div>\r\n\r\n <DropdownMenuItem\r\n onClick={() => {\r\n handleToolClick('map-add-site')\r\n }}\r\n disabled={!ability.can('create', 'Site')}\r\n >\r\n <LR.BoxSelect />\r\n <span>{t('site')}</span>\r\n </DropdownMenuItem>\r\n\r\n <div className=\"flex items-center justify-between w-full relative gap-2\">\r\n <DropdownMenuItem\r\n className=\"w-full\"\r\n onClick={() => {\r\n handleToolClick('map-add-sensor')\r\n }}\r\n disabled={!ability.can('create', 'Sensor')}\r\n >\r\n <LR.Radio />\r\n <span>{t('sensor')}</span>\r\n </DropdownMenuItem>\r\n {sensors.length > 0 && (\r\n <ItemsBadgeButton\r\n count={sensors.filter((sensor) => currentViewer === sensor.viewer).length}\r\n onClick={handleSensorsMenu}\r\n />\r\n )}\r\n </div>\r\n\r\n <DropdownMenuItem\r\n onClick={() => setBuildingDialogOpen(true)}\r\n disabled={!ability.can('create', 'Building')}\r\n >\r\n <LR.Building2 />\r\n <span>{t('building')}</span>\r\n </DropdownMenuItem>\r\n\r\n </ToolbarSubmenu>\r\n\r\n {/* File — manages its own dialog and state */}\r\n {addingMode === 'map-add-file' && (\r\n <FileAdder isOpen={addingMode === 'map-add-file'} onClose={clearTool} />\r\n )}\r\n\r\n {/* Comment */}\r\n <CommentInput\r\n viewer={ViewerNames.map}\r\n layout=\"dialog\"\r\n isOpen={addingMode === 'map-add-comment'}\r\n onCancel={clearTool}\r\n />\r\n\r\n {/* Sensor */}\r\n <SensorInput\r\n viewer={ViewerNames.map}\r\n layout=\"dialog\"\r\n isOpen={addingMode === 'map-add-sensor'}\r\n onCancel={clearTool}\r\n />\r\n\r\n {/* Site */}\r\n <SiteAdder\r\n isOpen={addingMode === 'map-add-site'}\r\n onCancel={clearTool}\r\n />\r\n\r\n {/* Dataset */}\r\n <AddItemDialog\r\n open={addingMode === 'map-add-dataset'}\r\n onOpenChange={open => !open && clearTool()}\r\n title={t('addDatasetTitle')}\r\n icon={LR.Database}\r\n contentClassName=\"max-w-xl\"\r\n >\r\n <DatasetAdder />\r\n </AddItemDialog>\r\n\r\n {/* Building */}\r\n <AddBuilding\r\n newBuildingFields={newBuildingFields}\r\n setNewBuildingFields={setNewBuildingFields}\r\n open={buildingDialogOpen}\r\n onOpenChange={setBuildingDialogOpen}\r\n geocodeEarthApiKey={geocodeEarthApiKey}\r\n geocoderUrl={geocoderUrl}\r\n />\r\n\r\n <Datasets\r\n isOpen={datasetOpen}\r\n setIsOpenAction={setDatasetOpen}\r\n organization={organization}\r\n minioBaseUrl={minioBaseUrl}\r\n martinBaseUrl={martinBaseUrl}\r\n />\r\n </>\r\n )\r\n}"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { Organization } from '../../../../../types/dbTypes';
|
|
3
|
+
import type { Tool } from '../../../../../types/tools';
|
|
4
4
|
interface DatasetMapToolProps {
|
|
5
5
|
tool: Tool;
|
|
6
6
|
organization?: Organization;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetMapTool.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/components/viewers/map/src/tools/DatasetMapTool.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatasetMapTool.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/components/viewers/map/src/tools/DatasetMapTool.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAEtD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,mBAAmB,qBA4B9G"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as LR from "lucide-react";
|
|
3
4
|
import * as React from "react";
|
|
4
5
|
import { usePermissions } from "../../../../../store";
|
|
5
|
-
import * as LR from "lucide-react";
|
|
6
6
|
import { Button } from "../../../../ui/Button";
|
|
7
7
|
import Datasets from "../../datasets";
|
|
8
8
|
function DatasetMapTool({ tool, organization, minioBaseUrl, martinBaseUrl }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/core/components/viewers/map/src/tools/DatasetMapTool.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/core/components/viewers/map/src/tools/DatasetMapTool.tsx"],"sourcesContent":["\"use client\"\r\n\r\n// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as LR from 'lucide-react'\r\nimport * as React from \"react\";\r\n\r\nimport { usePermissions } from '../../../../../store'\r\nimport { Button } from '../../../../ui/Button'\r\nimport Datasets from '../../datasets'\r\n\r\nimport type { Organization } from '../../../../../types/dbTypes'\r\nimport type { Tool } from '../../../../../types/tools'\r\n\r\ninterface DatasetMapToolProps {\r\n tool: Tool\r\n organization?: Organization\r\n minioBaseUrl?: string\r\n martinBaseUrl?: string\r\n [key: string]: unknown\r\n}\r\n\r\nexport default function DatasetMapTool({ tool, organization, minioBaseUrl, martinBaseUrl }: DatasetMapToolProps) {\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const [isOpen, setIsOpen] = React.useState(false)\r\n\r\n return (\r\n <>\r\n <Button\r\n size=\"icon\"\r\n variant=\"ghost\"\r\n className=\"flex justify-center items-center h-9 w-9 pointer-events-auto\"\r\n onClick={() => setIsOpen(true)}\r\n title={tool?.title}\r\n disabled={!ability.can('read', 'File')}\r\n\r\n >\r\n <LR.Database />\r\n </Button>\r\n <Datasets\r\n isOpen={isOpen}\r\n setIsOpenAction={setIsOpen}\r\n organization={organization}\r\n minioBaseUrl={minioBaseUrl}\r\n martinBaseUrl={martinBaseUrl}\r\n />\r\n </>\r\n )\r\n}"],"mappings":";AA8BI,mBAUI,KAVJ;AAzBJ,YAAY,QAAQ;AACpB,YAAY,WAAW;AAEvB,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,OAAO,cAAc;AAaN,SAAR,eAAgC,EAAE,MAAM,cAAc,cAAc,cAAc,GAAwB;AAE/G,QAAM,EAAE,QAAQ,IAAI,eAAe;AAEnC,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAS,KAAK;AAEhD,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,WAAU;AAAA,QACV,SAAS,MAAM,UAAU,IAAI;AAAA,QAC7B,OAAO,6BAAM;AAAA,QACb,UAAU,CAAC,QAAQ,IAAI,QAAQ,MAAM;AAAA,QAGrC,8BAAC,GAAG,UAAH,EAAY;AAAA;AAAA,IACf;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Organization } from '../../../../../types/dbTypes';
|
|
2
|
+
import type { Tool } from '../../../../../types/tools';
|
|
3
3
|
export type MapToolbarToolType = 'map-dimensions' | 'map-media' | 'map-compare' | 'map-database' | 'map-add' | 'map-add-comment' | 'map-add-dataset' | 'map-add-site' | 'map-add-building' | 'map-add-sensor' | 'map-add-file' | 'map-measure' | 'map-share' | 'map-compare-buildings' | 'open-building-page' | 'open-bim-viewer' | 'open-pointcloud';
|
|
4
4
|
type MapToolsConfig = {
|
|
5
5
|
martinBaseUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapTools.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/components/viewers/map/src/tools/mapTools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapTools.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/components/viewers/map/src/tools/mapTools.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAOtD,MAAM,MAAM,kBAAkB,GAC9B,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,cAAc,GACd,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,WAAW,GACX,uBAAuB,GACvB,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,CAAA;AAEjB,KAAK,cAAc,GAAG;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAGD,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,EAAE,CA8B/D"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useTranslations } from "next-intl";
|
|
2
1
|
import * as LR from "lucide-react";
|
|
3
|
-
import {
|
|
2
|
+
import { useTranslations } from "next-intl";
|
|
3
|
+
import Compare from "../compare";
|
|
4
4
|
import AddToMap from "./AddTools/AddToMap";
|
|
5
|
-
import { ShareMapTool } from "./shareMapTool";
|
|
6
5
|
import DatasetMapTool from "./DatasetMapTool";
|
|
7
|
-
import
|
|
6
|
+
import { MeasureMapTool } from "./measureMapTool";
|
|
7
|
+
import { ShareMapTool } from "./shareMapTool";
|
|
8
8
|
function mapToolbarTools(config) {
|
|
9
9
|
const t = useTranslations("mapToolbarTools");
|
|
10
10
|
const extraProps = config != null ? config : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/core/components/viewers/map/src/tools/mapTools.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport { useTranslations } from 'next-intl'\r\n\r\n// Utilities\r\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/core/components/viewers/map/src/tools/mapTools.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\r\n// Copyright (C) 2025 Collab Digital Twins\r\n\r\nimport * as LR from 'lucide-react'\r\nimport { useTranslations } from 'next-intl'\r\n\r\n// Utilities\r\nimport Compare from '../compare'\r\n\r\nimport AddToMap from './AddTools/AddToMap'\r\nimport DatasetMapTool from './DatasetMapTool'\r\nimport { MeasureMapTool } from './measureMapTool'\r\nimport { ShareMapTool } from './shareMapTool'\r\n\r\nimport type { Organization } from '../../../../../types/dbTypes'\r\nimport type { Tool } from '../../../../../types/tools'\r\n\r\n// Icons\r\n\r\n// Custom toolbar buttons\r\n\r\n\r\nexport type MapToolbarToolType =\r\n'map-dimensions' |\r\n'map-media' |\r\n'map-compare' |\r\n'map-database' |\r\n'map-add' |\r\n'map-add-comment' |\r\n'map-add-dataset' |\r\n'map-add-site' |\r\n'map-add-building' |\r\n'map-add-sensor' |\r\n'map-add-file' |\r\n'map-measure' |\r\n'map-share' |\r\n'map-compare-buildings' |\r\n'open-building-page' |\r\n'open-bim-viewer' |\r\n'open-pointcloud'\r\n\r\ntype MapToolsConfig = {\r\n martinBaseUrl?: string\r\n minioBaseUrl?: string\r\n organization?: Organization\r\n geocodeEarthApiKey?: string\r\n geocoderUrl?: string\r\n}\r\n\r\n// Export toolbar configuration\r\nexport function mapToolbarTools(config?: MapToolsConfig): Tool[] {\r\n // Translation\r\n const t = useTranslations('mapToolbarTools')\r\n\r\n const extraProps = (config ?? {}) as unknown as Record<string, unknown>\r\n\r\n return [\r\n { id: 'map-compare', title: t('compareTitle'), url: '/', icon: LR.Columns3, component: Compare },\r\n { id: 'map-database', title: t('datasetsTitle'), url: '/', icon: LR.Database, component: DatasetMapTool, extraProps },\r\n {\r\n id: 'map-add',\r\n title: t('addTitle'),\r\n icon: LR.Plus,\r\n component: AddToMap,\r\n extraProps,\r\n },\r\n {\r\n id: 'map-measure',\r\n title: t('measureTitle'),\r\n icon: LR.Ruler,\r\n cursor: 'crosshair',\r\n stayActive: true,\r\n component: MeasureMapTool,\r\n },\r\n { id: 'map-share',\r\n title: t('shareTitle'),\r\n icon: LR.Share2,\r\n component: ShareMapTool,\r\n },\r\n ]\r\n}\r\n"],"mappings":"AAGA,YAAY,QAAQ;AACpB,SAAS,uBAAuB;AAGhC,OAAO,aAAa;AAEpB,OAAO,cAAc;AACrB,OAAO,oBAAoB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAsCtB,SAAS,gBAAgB,QAAiC;AAE/D,QAAM,IAAI,gBAAgB,iBAAiB;AAE3C,QAAM,aAAc,0BAAU,CAAC;AAE/B,SAAO;AAAA,IACL,EAAE,IAAI,eAAe,OAAO,EAAE,cAAc,GAAG,KAAK,KAAK,MAAM,GAAG,UAAU,WAAW,QAAQ;AAAA,IAC/F,EAAE,IAAI,gBAAgB,OAAO,EAAE,eAAe,GAAG,KAAK,KAAK,MAAM,GAAG,UAAU,WAAW,gBAAgB,WAAW;AAAA,IACpH;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,UAAU;AAAA,MACnB,MAAM,GAAG;AAAA,MACT,WAAW;AAAA,MACX;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,cAAc;AAAA,MACvB,MAAM,GAAG;AAAA,MACT,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IACA;AAAA,MAAE,IAAI;AAAA,MACJ,OAAO,EAAE,YAAY;AAAA,MACrB,MAAM,GAAG;AAAA,MACT,WAAW;AAAA,IACb;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measureMapTool.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/components/viewers/map/src/tools/measureMapTool.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"measureMapTool.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/components/viewers/map/src/tools/measureMapTool.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,IAAI,EAAC,MAAM,4BAA4B,CAAC;AAOtD,UAAU,gBAAgB;IACxB,IAAI,EAAE,IAAI,CAAA;CACX;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2iBrD,CAAA"}
|