@collabdt/core 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 -3
- 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 +1 -1
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.js +9 -9
- package/dist/core/components/ui/Comments/CollapsibleCommentItem.js.map +1 -1
- package/dist/core/components/ui/Comments/Comment.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/Comment.js +4 -4
- package/dist/core/components/ui/Comments/Comment.js.map +1 -1
- package/dist/core/components/ui/Comments/CommentInput.d.ts.map +1 -1
- package/dist/core/components/ui/Comments/CommentInput.js +6 -6
- 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 +4 -4
- 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.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.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.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 -9
- 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 -7
- 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 +6 -6
- 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 -1
- 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 -6
- 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 -4
- 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 -3
- 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/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 -12
- 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/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 -6
- 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 +10 -10
- 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 +9 -9
- 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 +1 -1
- 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 -1
- 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 +1 -1
- 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.map +1 -1
- 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/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 +1 -1
- 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 +4 -4
- 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 -6
- 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 -3
- 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 +5 -5
- 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 +2 -2
- 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 +1 -1
- 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 -3
- 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 -1
- 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 -10
- 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 -55
- 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 -4
- 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 +9 -9
- 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 +2 -2
- 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 -11
- 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 +1 -1
- 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 -5
- 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 +5 -5
- 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/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/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.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/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/createCommentHooks.d.ts +1 -1
- package/dist/core/hooks/comments/createCommentHooks.d.ts.map +1 -1
- package/dist/core/hooks/comments/createCommentHooks.js +1 -1
- 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 -1
- 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/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 +1872 -1872
- package/dist/core/i18n/messages/es.json +1870 -1870
- package/dist/core/i18n/messages/fr.json +1870 -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.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.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 +2 -2
- package/dist/core/store/Menus/context.js.map +1 -1
- package/dist/core/store/Menus/reducer.d.ts +1 -1
- package/dist/core/store/Menus/reducer.d.ts.map +1 -1
- 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/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 +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/index.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\
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/index.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\r\n// Dependencies\r\nimport * as React from 'react'\r\n\r\nimport { Popover, PopoverTrigger } from '../../../../ui/Popover'\r\n\r\nimport DatabaseBuildingPopover from './src/DatabaseBuildingPopover'\r\nimport NonDatabaseBuildingPopover from './src/NonDatabaseBuildingPopover'\r\nimport OpenDataFeaturePopover from './src/OpenDataFeaturePopover'\r\nimport PopoverSkeleton from './src/PopoverSkeleton'\r\n\r\nimport type { MapGeoJSONFeature } from 'maplibre-gl'\r\n\r\ntype Props = {\r\n feature: MapGeoJSONFeature | null\r\n onCloseAction: () => void\r\n}\r\n\r\ntype PopoverType\r\n = | 'database-building'\r\n | 'non-database-building'\r\n | 'open-data'\r\n | 'loading'\r\n\r\nexport default function MapFeaturePopoverMenu({ feature, onCloseAction }: Props) {\r\n const [open, setOpen] = React.useState(true)\r\n const [popoverType, setPopoverType] = React.useState<PopoverType>('loading')\r\n\r\n const osmId: number = Number(feature?.id || feature?.properties?.osmId || feature?.properties?.osm_id) || null\r\n const dbId: number = Number(feature?.properties?.dbId) || null\r\n\r\n React.useEffect(() => {\r\n if (dbId) {\r\n setPopoverType('database-building')\r\n }\r\n else if (osmId) {\r\n setPopoverType('non-database-building')\r\n }\r\n else {\r\n setPopoverType('open-data')\r\n }\r\n }, [feature])\r\n\r\n React.useEffect(() => {\r\n const handleEsc = (event: KeyboardEvent) => {\r\n if (event.key === 'Escape') {\r\n setOpen(false)\r\n if (onCloseAction)\r\n onCloseAction()\r\n }\r\n }\r\n window.addEventListener('keydown', handleEsc)\r\n\r\n // Add map pan/zoom handler to close popover\r\n const handleMapInteraction = () => {\r\n setOpen(false)\r\n if (onCloseAction)\r\n onCloseAction()\r\n }\r\n const mapElement = document.querySelector('.maplibregl-canvas')\r\n if (mapElement) {\r\n mapElement.addEventListener('wheel', handleMapInteraction)\r\n mapElement.addEventListener('click', handleMapInteraction)\r\n }\r\n\r\n return () => {\r\n window.removeEventListener('keydown', handleEsc)\r\n if (mapElement) {\r\n mapElement.removeEventListener('wheel', handleMapInteraction)\r\n mapElement.removeEventListener('click', handleMapInteraction)\r\n }\r\n }\r\n }, [onCloseAction])\r\n\r\n const handleClose = () => {\r\n setOpen(false)\r\n if (onCloseAction)\r\n onCloseAction()\r\n }\r\n\r\n const renderPopoverContent = () => {\r\n switch (popoverType) {\r\n case 'loading':\r\n return <PopoverSkeleton />\r\n case 'database-building': {\r\n return (\r\n <DatabaseBuildingPopover\r\n feature={feature}\r\n isOpen={open}\r\n onCloseAction={handleClose}\r\n />\r\n )\r\n }\r\n case 'non-database-building':\r\n return (\r\n <NonDatabaseBuildingPopover\r\n feature={feature}\r\n isOpen={open}\r\n onCloseAction={handleClose}\r\n />\r\n )\r\n case 'open-data':\r\n default:\r\n return (\r\n <OpenDataFeaturePopover\r\n feature={feature}\r\n isOpen={open}\r\n onCloseAction={handleClose}\r\n />\r\n )\r\n }\r\n }\r\n\r\n return (\r\n <Popover\r\n open={open}\r\n onOpenChange={setOpen}\r\n defaultOpen={open}\r\n >\r\n <PopoverTrigger asChild>\r\n <div />\r\n </PopoverTrigger>\r\n {open && renderPopoverContent()}\r\n </Popover>\r\n )\r\n}\r\n"],"mappings":";AAwFe,cA+BX,YA/BW;AAjFf,YAAY,WAAW;AAEvB,SAAS,SAAS,sBAAsB;AAExC,OAAO,6BAA6B;AACpC,OAAO,gCAAgC;AACvC,OAAO,4BAA4B;AACnC,OAAO,qBAAqB;AAeb,SAAR,sBAAuC,EAAE,SAAS,cAAc,GAAU;AA7BjF;AA8BE,QAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAS,IAAI;AAC3C,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAsB,SAAS;AAE3E,QAAM,QAAgB,QAAO,mCAAS,SAAM,wCAAS,eAAT,mBAAqB,YAAS,wCAAS,eAAT,mBAAqB,OAAM,KAAK;AAC1G,QAAM,OAAe,QAAO,wCAAS,eAAT,mBAAqB,IAAI,KAAK;AAE1D,QAAM,UAAU,MAAM;AACpB,QAAI,MAAM;AACR,qBAAe,mBAAmB;AAAA,IACpC,WACS,OAAO;AACd,qBAAe,uBAAuB;AAAA,IACxC,OACK;AACH,qBAAe,WAAW;AAAA,IAC5B;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,UAAU,MAAM;AACpB,UAAM,YAAY,CAAC,UAAyB;AAC1C,UAAI,MAAM,QAAQ,UAAU;AAC1B,gBAAQ,KAAK;AACb,YAAI;AACF,wBAAc;AAAA,MAClB;AAAA,IACF;AACA,WAAO,iBAAiB,WAAW,SAAS;AAG5C,UAAM,uBAAuB,MAAM;AACjC,cAAQ,KAAK;AACb,UAAI;AACF,sBAAc;AAAA,IAClB;AACA,UAAM,aAAa,SAAS,cAAc,oBAAoB;AAC9D,QAAI,YAAY;AACd,iBAAW,iBAAiB,SAAS,oBAAoB;AACzD,iBAAW,iBAAiB,SAAS,oBAAoB;AAAA,IAC3D;AAEA,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,SAAS;AAC/C,UAAI,YAAY;AACd,mBAAW,oBAAoB,SAAS,oBAAoB;AAC5D,mBAAW,oBAAoB,SAAS,oBAAoB;AAAA,MAC9D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,aAAa,CAAC;AAElB,QAAM,cAAc,MAAM;AACxB,YAAQ,KAAK;AACb,QAAI;AACF,oBAAc;AAAA,EAClB;AAEA,QAAM,uBAAuB,MAAM;AACjC,YAAQ,aAAa;AAAA,MACnB,KAAK;AACH,eAAO,oBAAC,mBAAgB;AAAA,MAC1B,KAAK,qBAAqB;AACxB,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,QAAQ;AAAA,YACR,eAAe;AAAA;AAAA,QACjB;AAAA,MAEJ;AAAA,MACA,KAAK;AACH,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,QAAQ;AAAA,YACR,eAAe;AAAA;AAAA,QACjB;AAAA,MAEJ,KAAK;AAAA,MACL;AACE,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,QAAQ;AAAA,YACR,eAAe;AAAA;AAAA,QACjB;AAAA,IAEN;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAc;AAAA,MACd,aAAa;AAAA,MAEb;AAAA,4BAAC,kBAAe,SAAO,MACrB,8BAAC,SAAI,GACP;AAAA,QACC,QAAQ,qBAAqB;AAAA;AAAA;AAAA,EAChC;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEnD,KAAK,4BAA4B,GAAG;IAChC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAE,EAC7C,OAAO,EACP,MAAM,EACN,aAAa,GACZ,EAAE,4BAA4B,qBAiLlC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as LR from "lucide-react";
|
|
4
|
-
import * as React from "react";
|
|
5
4
|
import { useTranslations } from "next-intl";
|
|
6
|
-
import
|
|
7
|
-
import { MapContext } from "../../../../../../../store";
|
|
5
|
+
import * as React from "react";
|
|
8
6
|
import { Button, Separator, Skeleton, Badge } from "../../../../../../../components/ui/";
|
|
9
7
|
import { PopoverContent } from "../../../../../../../components/ui/Popover";
|
|
8
|
+
import { useBuilding } from "../../../../../../../hooks/buildings/buildings";
|
|
9
|
+
import { MapContext } from "../../../../../../../store";
|
|
10
10
|
import BuildingTools from "./src/BuildingsTools";
|
|
11
11
|
function DatabaseBuildingPopover({
|
|
12
12
|
feature,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.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 type {MapGeoJSONFeature} from \"maplibre-gl\";\r\nimport * as LR from \"lucide-react\";\r\nimport * as React from \"react\";\r\nimport {useTranslations} from \"next-intl\";\r\n\r\nimport {useBuilding} from \"../../../../../../../hooks/buildings/buildings\";\r\nimport {MapContext} from \"../../../../../../../store\";\r\nimport {Button, Separator, Skeleton, Badge} from \"../../../../../../../components/ui/\";\r\nimport {PopoverContent} from \"../../../../../../../components/ui/Popover\";\r\nimport BuildingTools from \"./src/BuildingsTools\";\r\n\r\ntype DatabaseBuildingPopoverProps = {\r\n \"feature\": MapGeoJSONFeature;\r\n \"isOpen\": boolean;\r\n \"onCloseAction\": () => void;\r\n};\r\n\r\nexport default function DatabaseBuildingPopover ({\r\n feature,\r\n isOpen,\r\n onCloseAction,\r\n }: DatabaseBuildingPopoverProps) {\r\n\r\n const t = useTranslations('DatabaseBuildingPopover')\r\n \r\n\r\n const {state: mapState} = React.useContext(MapContext);\r\n\r\n const featureProps = React.useMemo(\r\n () => feature?.properties || {},\r\n [feature?.properties],\r\n );\r\n const buildingId = React.useMemo(\r\n () => {\r\n\r\n const id = Number(featureProps.dbId);\r\n return isNaN(id)\r\n ? null\r\n : id;\r\n\r\n },\r\n [featureProps.dbId],\r\n );\r\n\r\n const locationData = React.useMemo(\r\n () => ({\r\n \"countrySubdivision\": featureProps.de_ao_prov || mapState.map.currentLocation.countrySubdivision || null,\r\n \"municipality\": featureProps.de_ao_city || mapState.map.currentLocation.municipality || null,\r\n \"address\": featureProps.de_ao_stre || mapState.map.currentLocation.address || null,\r\n \"postalCode\": featureProps.de_ao_post || mapState.map.currentLocation.postalCode || null,\r\n \"site\": mapState.map.currentLocation.site || null,\r\n }),\r\n [\r\n featureProps.de_ao_prov,\r\n featureProps.de_ao_city,\r\n featureProps.de_ao_stre,\r\n featureProps.de_ao_post,\r\n mapState.map.currentLocation.countrySubdivision,\r\n mapState.map.currentLocation.municipality,\r\n mapState.map.currentLocation.address,\r\n mapState.map.currentLocation.postalCode,\r\n mapState.map.currentLocation.site,\r\n ]);\r\n\r\n const shouldFetchData = Boolean(buildingId && isOpen);\r\n const {building, isLoading, isError} = useBuilding(shouldFetchData\r\n ? buildingId\r\n : null);\r\n\r\n const displayData = React.useMemo(\r\n () => ({\r\n \"name\": building?.buildingName || t('namePlaceholder'),\r\n \"displayAddress\": building?.buildingAddress || locationData.address,\r\n \"buildingType\": building?.buildingType,\r\n \"NumberOfStoreys\": building?.buildingStoreyNum,\r\n }),\r\n [\r\n building?.buildingName,\r\n building?.buildingAddress,\r\n building?.buildingType,\r\n building?.buildingStoreyNum,\r\n locationData.address,\r\n]\r\n );\r\n\r\n if (!buildingId) {\r\n\r\n return null;\r\n\r\n }\r\n\r\n const [expanded, setExpanded] = React.useState(false);\r\n\r\n // Show only the short subdivision code (e.g. \"ON\" from \"CA-ON\")\r\n const shortSubdivision = React.useMemo(() => {\r\n const code = locationData.countrySubdivision;\r\n if (!code) return null;\r\n const dash = code.lastIndexOf('-');\r\n return dash >= 0 ? code.slice(dash + 1) : code;\r\n }, [locationData.countrySubdivision]);\r\n\r\n return (\r\n <PopoverContent\r\n className=\"w-64 -m-1\"\r\n side=\"top\"\r\n >\r\n {/* Header row: title + close button, no overlap */}\r\n <div className=\"flex items-center justify-between gap-2 mb-1\">\r\n <div className=\"flex-1 min-w-0\">\r\n {isLoading\r\n ? <Skeleton className=\"h-4 w-32\" />\r\n : isError\r\n ? (\r\n <div className=\"flex items-center gap-2 text-destructive\">\r\n <LR.AlertCircle className=\"w-4 h-4 shrink-0\" />\r\n <h4 className=\"font-medium leading-none truncate\">{t('loadingError')}</h4>\r\n </div>\r\n )\r\n : <h4 className=\"font-medium leading-snug\">{displayData.name}</h4>\r\n }\r\n {isError && <p className=\"text-xs text-muted-foreground mt-1\">{String(isError)}</p>}\r\n </div>\r\n <Button\r\n aria-label=\"Close\"\r\n className=\"shrink-0 p-0 m-0 text-muted-foreground hover:text-foreground\"\r\n onClick={onCloseAction}\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n >\r\n <LR.X className=\"w-4 h-4\" />\r\n </Button>\r\n </div>\r\n {/* Expand/collapse details */}\r\n {!isError && (\r\n <>\r\n {isLoading\r\n ? <Skeleton className=\"h-5 w-24 mt-1\" />\r\n : (\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"w-full h-7 text-xs text-muted-foreground justify-start gap-1 px-0 hover:text-foreground hover:bg-transparent\"\r\n onClick={() => setExpanded(v => !v)}\r\n >\r\n {expanded ? <LR.ChevronUp className=\"w-3 h-3\" /> : <LR.ChevronDown className=\"w-3 h-3\" />}\r\n {expanded ? t('hideDetails') : t('showDetails')}\r\n </Button>\r\n )}\r\n\r\n {expanded && !isLoading && (\r\n <div className=\"mt-2 flex flex-col gap-2\">\r\n {/* Address */}\r\n <div>\r\n <p className=\"text-xs text-muted-foreground font-medium\">{t('address')}</p>\r\n {locationData.site && (\r\n <p className=\"text-sm\">{locationData.site.replace(\"_\", \" \")}</p>\r\n )}\r\n {displayData.displayAddress && (\r\n <p className=\"text-sm\">{displayData.displayAddress}</p>\r\n )}\r\n {(locationData.municipality || shortSubdivision || locationData.postalCode) && (\r\n <p className=\"text-sm\">\r\n {[locationData.municipality, shortSubdivision, locationData.postalCode]\r\n .filter(Boolean)\r\n .join(\", \")}\r\n </p>\r\n )}\r\n </div>\r\n {/* Building Type */}\r\n {displayData.buildingType && (\r\n <div>\r\n <p className=\"text-xs text-muted-foreground font-medium\">{t('buildingType')}</p>\r\n <Badge variant=\"secondary\">{displayData.buildingType}</Badge>\r\n </div>\r\n )}\r\n {/* Number of Storeys */}\r\n {displayData.NumberOfStoreys && (\r\n <div>\r\n <p className=\"text-xs text-muted-foreground font-medium\">{t('StoreysNum')}</p>\r\n <p className=\"text-sm\">{displayData.NumberOfStoreys}</p>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n\r\n <Separator className=\"my-3\" />\r\n <BuildingTools\r\n building={building}\r\n feature={feature}\r\n isError={isError}\r\n isLoading={isLoading}\r\n onCloseAction={onCloseAction}\r\n />\r\n </PopoverContent>\r\n );\r\n\r\n}\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/index.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 {useTranslations} from \"next-intl\";\r\nimport * as React from \"react\";\r\n\r\nimport {Button, Separator, Skeleton, Badge} from \"../../../../../../../components/ui/\";\r\nimport {PopoverContent} from \"../../../../../../../components/ui/Popover\";\r\nimport {useBuilding} from \"../../../../../../../hooks/buildings/buildings\";\r\nimport {MapContext} from \"../../../../../../../store\";\r\n\r\nimport BuildingTools from \"./src/BuildingsTools\";\r\n\r\nimport type {MapGeoJSONFeature} from \"maplibre-gl\";\r\n\r\ntype DatabaseBuildingPopoverProps = {\r\n \"feature\": MapGeoJSONFeature;\r\n \"isOpen\": boolean;\r\n \"onCloseAction\": () => void;\r\n};\r\n\r\nexport default function DatabaseBuildingPopover ({\r\n feature,\r\n isOpen,\r\n onCloseAction,\r\n }: DatabaseBuildingPopoverProps) {\r\n\r\n const t = useTranslations('DatabaseBuildingPopover')\r\n\r\n\r\n const {state: mapState} = React.useContext(MapContext);\r\n\r\n const featureProps = React.useMemo(\r\n () => feature?.properties || {},\r\n [feature?.properties],\r\n );\r\n const buildingId = React.useMemo(\r\n () => {\r\n\r\n const id = Number(featureProps.dbId);\r\n return isNaN(id)\r\n ? null\r\n : id;\r\n\r\n },\r\n [featureProps.dbId],\r\n );\r\n\r\n const locationData = React.useMemo(\r\n () => ({\r\n \"countrySubdivision\": featureProps.de_ao_prov || mapState.map.currentLocation.countrySubdivision || null,\r\n \"municipality\": featureProps.de_ao_city || mapState.map.currentLocation.municipality || null,\r\n \"address\": featureProps.de_ao_stre || mapState.map.currentLocation.address || null,\r\n \"postalCode\": featureProps.de_ao_post || mapState.map.currentLocation.postalCode || null,\r\n \"site\": mapState.map.currentLocation.site || null,\r\n }),\r\n [\r\n featureProps.de_ao_prov,\r\n featureProps.de_ao_city,\r\n featureProps.de_ao_stre,\r\n featureProps.de_ao_post,\r\n mapState.map.currentLocation.countrySubdivision,\r\n mapState.map.currentLocation.municipality,\r\n mapState.map.currentLocation.address,\r\n mapState.map.currentLocation.postalCode,\r\n mapState.map.currentLocation.site,\r\n ]);\r\n\r\n const shouldFetchData = Boolean(buildingId && isOpen);\r\n const {building, isLoading, isError} = useBuilding(shouldFetchData\r\n ? buildingId\r\n : null);\r\n\r\n const displayData = React.useMemo(\r\n () => ({\r\n \"name\": building?.buildingName || t('namePlaceholder'),\r\n \"displayAddress\": building?.buildingAddress || locationData.address,\r\n \"buildingType\": building?.buildingType,\r\n \"NumberOfStoreys\": building?.buildingStoreyNum,\r\n }),\r\n [\r\n building?.buildingName,\r\n building?.buildingAddress,\r\n building?.buildingType,\r\n building?.buildingStoreyNum,\r\n locationData.address,\r\n]\r\n );\r\n\r\n if (!buildingId) {\r\n\r\n return null;\r\n\r\n }\r\n\r\n const [expanded, setExpanded] = React.useState(false);\r\n\r\n // Show only the short subdivision code (e.g. \"ON\" from \"CA-ON\")\r\n const shortSubdivision = React.useMemo(() => {\r\n const code = locationData.countrySubdivision;\r\n if (!code) return null;\r\n const dash = code.lastIndexOf('-');\r\n return dash >= 0 ? code.slice(dash + 1) : code;\r\n }, [locationData.countrySubdivision]);\r\n\r\n return (\r\n <PopoverContent\r\n className=\"w-64 -m-1\"\r\n side=\"top\"\r\n >\r\n {/* Header row: title + close button, no overlap */}\r\n <div className=\"flex items-center justify-between gap-2 mb-1\">\r\n <div className=\"flex-1 min-w-0\">\r\n {isLoading\r\n ? <Skeleton className=\"h-4 w-32\" />\r\n : isError\r\n ? (\r\n <div className=\"flex items-center gap-2 text-destructive\">\r\n <LR.AlertCircle className=\"w-4 h-4 shrink-0\" />\r\n <h4 className=\"font-medium leading-none truncate\">{t('loadingError')}</h4>\r\n </div>\r\n )\r\n : <h4 className=\"font-medium leading-snug\">{displayData.name}</h4>\r\n }\r\n {isError && <p className=\"text-xs text-muted-foreground mt-1\">{String(isError)}</p>}\r\n </div>\r\n <Button\r\n aria-label=\"Close\"\r\n className=\"shrink-0 p-0 m-0 text-muted-foreground hover:text-foreground\"\r\n onClick={onCloseAction}\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n >\r\n <LR.X className=\"w-4 h-4\" />\r\n </Button>\r\n </div>\r\n {/* Expand/collapse details */}\r\n {!isError && (\r\n <>\r\n {isLoading\r\n ? <Skeleton className=\"h-5 w-24 mt-1\" />\r\n : (\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"w-full h-7 text-xs text-muted-foreground justify-start gap-1 px-0 hover:text-foreground hover:bg-transparent\"\r\n onClick={() => setExpanded(v => !v)}\r\n >\r\n {expanded ? <LR.ChevronUp className=\"w-3 h-3\" /> : <LR.ChevronDown className=\"w-3 h-3\" />}\r\n {expanded ? t('hideDetails') : t('showDetails')}\r\n </Button>\r\n )}\r\n\r\n {expanded && !isLoading && (\r\n <div className=\"mt-2 flex flex-col gap-2\">\r\n {/* Address */}\r\n <div>\r\n <p className=\"text-xs text-muted-foreground font-medium\">{t('address')}</p>\r\n {locationData.site && (\r\n <p className=\"text-sm\">{locationData.site.replace(\"_\", \" \")}</p>\r\n )}\r\n {displayData.displayAddress && (\r\n <p className=\"text-sm\">{displayData.displayAddress}</p>\r\n )}\r\n {(locationData.municipality || shortSubdivision || locationData.postalCode) && (\r\n <p className=\"text-sm\">\r\n {[locationData.municipality, shortSubdivision, locationData.postalCode]\r\n .filter(Boolean)\r\n .join(\", \")}\r\n </p>\r\n )}\r\n </div>\r\n {/* Building Type */}\r\n {displayData.buildingType && (\r\n <div>\r\n <p className=\"text-xs text-muted-foreground font-medium\">{t('buildingType')}</p>\r\n <Badge variant=\"secondary\">{displayData.buildingType}</Badge>\r\n </div>\r\n )}\r\n {/* Number of Storeys */}\r\n {displayData.NumberOfStoreys && (\r\n <div>\r\n <p className=\"text-xs text-muted-foreground font-medium\">{t('StoreysNum')}</p>\r\n <p className=\"text-sm\">{displayData.NumberOfStoreys}</p>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n\r\n <Separator className=\"my-3\" />\r\n <BuildingTools\r\n building={building}\r\n feature={feature}\r\n isError={isError}\r\n isLoading={isLoading}\r\n onCloseAction={onCloseAction}\r\n />\r\n </PopoverContent>\r\n );\r\n\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { MapGeoJSONFeature } from "maplibre-gl";
|
|
3
2
|
import type { Building } from "../../../../../../../../types/dbTypes";
|
|
3
|
+
import type { MapGeoJSONFeature } from "maplibre-gl";
|
|
4
4
|
interface BuildingToolsProps {
|
|
5
5
|
isLoading: boolean;
|
|
6
6
|
isError: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildingsTools.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BuildingsTools.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,OAAO,KAAK,EAAE,QAAQ,EAAU,MAAM,uCAAuC,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,OAAO,EACP,QAAQ,EACR,OAAO,EACP,aAAa,EACd,EAAE,kBAAkB,qBAyWpB"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import React from "react";
|
|
4
3
|
import * as LR from "lucide-react";
|
|
5
4
|
import { useTranslations } from "next-intl";
|
|
6
|
-
import
|
|
7
|
-
import { ViewerNames } from "../../../../../../../../types/";
|
|
8
|
-
import { useFilesByBuildingId, useUploadFileToBuilding } from "../../../../../../../../hooks/files/files";
|
|
9
|
-
import { BuildingsContext, BimContext, MapContext, MenusContext, useMenusContext } from "../../../../../../../../store";
|
|
5
|
+
import React from "react";
|
|
10
6
|
import { Button, Label, Skeleton, Switch, Checkbox } from "../../../../../../../../components/ui/";
|
|
11
|
-
import { useFileUploadHandler } from "../../../../../../../../components/ui/FilesManager/src/useFileUploadHandler";
|
|
12
7
|
import {
|
|
13
8
|
DropdownMenu,
|
|
14
9
|
DropdownMenuContent,
|
|
15
10
|
DropdownMenuItem,
|
|
16
11
|
DropdownMenuTrigger
|
|
17
12
|
} from "../../../../../../../../components/ui/DropdownMenu";
|
|
18
|
-
import
|
|
13
|
+
import { useFileUploadHandler } from "../../../../../../../../components/ui/FilesManager/src/useFileUploadHandler";
|
|
14
|
+
import { useFilesByBuildingId, useUploadFileToBuilding } from "../../../../../../../../hooks/files/files";
|
|
15
|
+
import { usePermissions } from "../../../../../../../../store";
|
|
16
|
+
import { BuildingsContext, BimContext, MapContext, MenusContext, useMenusContext } from "../../../../../../../../store";
|
|
17
|
+
import { ViewerNames } from "../../../../../../../../types/";
|
|
19
18
|
import { toggleBimToMap as dispatchToggleBimToMap } from "../../../../../utils/toggleBimToMap";
|
|
19
|
+
import Compare from "../../../../compare";
|
|
20
20
|
function BuildingTools({
|
|
21
21
|
isLoading,
|
|
22
22
|
isError,
|
|
@@ -113,9 +113,10 @@ function BuildingTools({
|
|
|
113
113
|
[files]
|
|
114
114
|
);
|
|
115
115
|
const bimFiles = React.useMemo(
|
|
116
|
-
() => buildingFiles.filter(
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
() => buildingFiles.filter((file) => {
|
|
117
|
+
var _a;
|
|
118
|
+
return ((_a = file.extension) == null ? void 0 : _a.toLowerCase()) === "frag";
|
|
119
|
+
}),
|
|
119
120
|
[buildingFiles]
|
|
120
121
|
);
|
|
121
122
|
const pcFiles = React.useMemo(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.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 React from \"react\";\r\nimport type { MapGeoJSONFeature } from \"maplibre-gl\";\r\nimport * as LR from \"lucide-react\";\r\nimport { useTranslations } from \"next-intl\";\r\nimport { usePermissions } from '../../../../../../../../store'\r\n\r\nimport { ViewerNames } from \"../../../../../../../../types/\";\r\nimport type { Tool } from \"../../../../../../../../types/tools\";\r\nimport type { Building, DbFile } from \"../../../../../../../../types/dbTypes\";\r\n\r\nimport { useFilesByBuildingId, useUploadFileToBuilding } from \"../../../../../../../../hooks/files/files\";\r\nimport { BuildingsContext, BimContext, MapContext, MenusContext, useMenusContext } from \"../../../../../../../../store\";\r\nimport { Button, Label, Skeleton, Switch, Checkbox } from \"../../../../../../../../components/ui/\";\r\nimport { useFileUploadHandler } from \"../../../../../../../../components/ui/FilesManager/src/useFileUploadHandler\";\r\nimport {\r\n DropdownMenu,\r\n DropdownMenuContent,\r\n DropdownMenuItem,\r\n DropdownMenuTrigger,\r\n} from \"../../../../../../../../components/ui/DropdownMenu\";\r\nimport Compare from '../../../../compare';\r\nimport { toggleBimToMap as dispatchToggleBimToMap } from '../../../../../utils/toggleBimToMap';\r\n\r\ninterface BuildingToolsProps {\r\n isLoading: boolean;\r\n isError: boolean;\r\n building: Building | null;\r\n feature: MapGeoJSONFeature;\r\n onCloseAction: () => void;\r\n}\r\n\r\nexport default function BuildingTools({\r\n isLoading,\r\n isError,\r\n building,\r\n feature,\r\n onCloseAction\r\n}: BuildingToolsProps) {\r\n\r\n const t = useTranslations('BuildingTools')\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const { dispatch: menusDispatch } = React.useContext(MenusContext);\r\n const { state: mapState, } = React.useContext(MapContext);\r\n const { dispatch: bimDispatch, state: bimState } = React.useContext(BimContext);\r\n const { bimModelsAddedToMap } = bimState.bim;\r\n const { dispatch: buildingsDispatch } = React.useContext(BuildingsContext);\r\n\r\n const fileInputRef = React.useRef<HTMLInputElement>(null);\r\n const { setView } = useMenusContext();\r\n const { setSelectedItem } = useMenusContext();\r\n\r\n const buildingId = React.useMemo(\r\n () => {\r\n\r\n const featureProps = feature?.properties || {};\r\n const id = Number(featureProps.dbId);\r\n return isNaN(id)\r\n ? null\r\n : id;\r\n\r\n },\r\n [feature?.properties],\r\n );\r\n\r\n const { files } = useFilesByBuildingId(buildingId);\r\n\r\n const bimAdded = React.useMemo(\r\n () => (buildingId\r\n ? mapState.map.bimModelsAddedToMap.includes(buildingId)\r\n : false),\r\n [\r\n mapState.map.bimModelsAddedToMap,\r\n buildingId,\r\n ],\r\n );\r\n\r\n const { uploadFile, isMutating: isUploadingFromHook } = useUploadFileToBuilding(building?.id || null);\r\n\r\n // Local state to track the entire upload process from file selection to completion\r\n const [\r\n isLocallyUploading,\r\n setIsLocallyUploading,\r\n ] = React.useState(false);\r\n\r\n // Combined uploading state\r\n const isUploading = isLocallyUploading || isUploadingFromHook;\r\n\r\n // Use the reusable upload handler without passing bimComponents\r\n const { handleFileUpload } = useFileUploadHandler({\r\n buildingId: buildingId || -1,\r\n uploadFile,\r\n onUploadStart: () => setIsLocallyUploading(true),\r\n onUploadEnd: () => setIsLocallyUploading(false),\r\n customMessages: {\r\n success: t('toastFIleUploadSuccess'),\r\n errorPrefix: t('toastFIleUploadError'),\r\n errorSuffix: t('toastUnknownError'),\r\n noIdError: t('buildingIdRequired')\r\n }\r\n });\r\n\r\n const changeViewer = React.useCallback(\r\n (viewer: ViewerNames) => {\r\n\r\n menusDispatch({\r\n type: \"SET_VIEWER\",\r\n payload: { \"currentViewer\": viewer },\r\n });\r\n\r\n buildingsDispatch({\r\n type: \"SET-CURRENT-BUILDING\",\r\n payload: { building },\r\n });\r\n onCloseAction();\r\n\r\n },\r\n [\r\n menusDispatch,\r\n buildingsDispatch,\r\n building,\r\n onCloseAction\r\n ]\r\n );\r\n\r\n const triggerFileInput = React.useCallback(\r\n () => {\r\n\r\n fileInputRef.current?.click();\r\n\r\n },\r\n [],\r\n );\r\n\r\n const toggleBimToMap = React.useCallback(\r\n (bimFile: DbFile) => {\r\n dispatchToggleBimToMap(bimDispatch, bimFile, building);\r\n\r\n },\r\n [\r\n building,\r\n bimDispatch\r\n ]\r\n );\r\n\r\n const onOpenBimViewer = () => {\r\n buildingsDispatch({ type: \"SET-CURRENT-BUILDING\", payload: { building } });\r\n changeViewer(ViewerNames.bim);\r\n setSelectedItem(building);\r\n }\r\n\r\n const buildingFiles = React.useMemo(\r\n () => files || [],\r\n [files],\r\n );\r\n\r\n const bimFiles = React.useMemo(\r\n () => buildingFiles.filter((file: DbFile) => file.type === \"bim-file\" || file.extension === \"frag\"\r\n ),\r\n [buildingFiles],\r\n )\r\n\r\n const pcFiles = React.useMemo(\r\n () => buildingFiles.filter((file: DbFile) => file.type === 'point-cloud-file' || ['laz', 'las'].includes(file.extension || '')),\r\n [buildingFiles],\r\n )\r\n\r\n const buildingButtons: Tool[] = React.useMemo(\r\n () => [\r\n {\r\n id: \"map-compare-buildings\",\r\n icon: LR.Columns3,\r\n title: t('compareTitle'),\r\n component: Compare,\r\n disabled: !ability.can('read', 'Building')\r\n },\r\n {\r\n id: \"open-building-page\",\r\n icon: LR.Building2,\r\n title: t('openBIMTitle'),\r\n onClick: () => {\r\n\r\n changeViewer(ViewerNames.buildings);\r\n setSelectedItem(building);\r\n setView(\"detail\");\r\n\r\n },\r\n disabled: !ability.can('read', 'Building')\r\n },\r\n {\r\n id: \"open-bim-viewer\",\r\n icon: LR.Box,\r\n title: t('OpenBIMViewerTitle'),\r\n onClick: onOpenBimViewer,\r\n disabled: !ability.can('read', 'File')\r\n },\r\n {\r\n id: 'open-pointcloud',\r\n title: t('openPointCloudTitle'),\r\n icon: LR.Grip,\r\n onClick: () => changeViewer(ViewerNames.pointcloud),\r\n disabled: pcFiles.length === 0 || !ability.can('read', 'File')\r\n },\r\n {\r\n id: \"map-add-file\",\r\n icon: isUploading\r\n ? LR.Loader\r\n : LR.FilePlus,\r\n title: t('addFileTitle'),\r\n onClick: triggerFileInput,\r\n disabled: !ability.can('create', 'File')\r\n },\r\n ],\r\n [\r\n changeViewer,\r\n building,\r\n setSelectedItem,\r\n setView,\r\n isUploading,\r\n triggerFileInput\r\n ]\r\n );\r\n\r\n const onLoadBIM = React.useCallback(\r\n (file: DbFile = null) => {\r\n if (bimFiles.length === 0) return;\r\n toggleBimToMap(bimFiles[0]);\r\n },\r\n [\r\n bimFiles,\r\n toggleBimToMap\r\n ]\r\n );\r\n\r\n const handleEditClick = (fileName: string) => {\r\n bimDispatch({\r\n type: \"EDIT_BIM_MODEL_BY_NAME\",\r\n payload: { editingBimModel: fileName }\r\n });\r\n\r\n onCloseAction();\r\n }\r\n\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n {/* Hidden file input */}\r\n <input\r\n onChange={(e) => handleFileUpload(e.target.files?.[0] || null)}\r\n ref={fileInputRef}\r\n style={{ \"display\": \"none\" }}\r\n type=\"file\"\r\n />\r\n\r\n {/* BIM Controls */}\r\n {!isError &&\r\n <div className=\"flex items-center space-x-2\">\r\n {isLoading\r\n ? <>\r\n <Skeleton className=\"h-4 w-20\" />\r\n\r\n <Skeleton className=\"h-6 w-10\" />\r\n </>\r\n : (\r\n <div className=\"flex items-center justify-between w-full\">\r\n {bimFiles.length > 1 ? (\r\n <div className=\"flex items-center space-x-2\">\r\n <Label className=\"font-semibold\" htmlFor=\"bim-file-dropdown\">\r\n {t('selectBimLabel')}\r\n </Label>\r\n <DropdownMenu>\r\n <DropdownMenuTrigger asChild>\r\n <Button variant=\"outline\" size=\"sm\" id=\"bim-file-dropdown\">\r\n {bimModelsAddedToMap.length > 0\r\n ? `${bimModelsAddedToMap.filter(model => model.bimFile.attachedFilesBuildingId === buildingId).length} ${t('filesSelected')}`\r\n : t('selectFiles')\r\n }\r\n </Button>\r\n </DropdownMenuTrigger>\r\n <DropdownMenuContent>\r\n {bimFiles.map((file: DbFile) => {\r\n const isSelected = bimModelsAddedToMap.some(model => model.bimFile.name === file.name);\r\n return (\r\n <DropdownMenuItem\r\n key={file.name}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n toggleBimToMap(file);\r\n }}\r\n className=\"flex items-center justify-between cursor-pointer\"\r\n >\r\n <div className=\"flex items-center space-x-2\">\r\n <Checkbox\r\n checked={isSelected}\r\n onClick={(e) => e.stopPropagation()}\r\n onCheckedChange={() => {\r\n toggleBimToMap(file);\r\n }}\r\n />\r\n <span>{file.name}</span>\r\n </div>\r\n {isSelected && (\r\n <Button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n handleEditClick(file.name);\r\n }}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"h-6 w-6 p-0\"\r\n title={t('editBimButton')}\r\n >\r\n <LR.LocationEdit className=\"h-3 w-3\" />\r\n </Button>\r\n )}\r\n </DropdownMenuItem>\r\n );\r\n })}\r\n </DropdownMenuContent>\r\n </DropdownMenu>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center space-x-2\">\r\n <Label\r\n className={`font-semibold ${bimFiles.length === 0 ? 'text-muted-foreground' : ''}`}\r\n htmlFor=\"show-bim\"\r\n >\r\n {bimAdded ? t('hideBIM') : t('showBIM')}\r\n </Label>\r\n <Switch\r\n id=\"show-bim\"\r\n checked={bimFiles.length === 1 && bimModelsAddedToMap.some(model => model.bimFile.name === bimFiles[0]?.name)}\r\n disabled={bimFiles.length === 0 || !ability.can('read', 'File')}\r\n onCheckedChange={() => onLoadBIM()}\r\n />\r\n </div>\r\n )}\r\n {bimFiles.length === 1 && bimModelsAddedToMap.some(model => model.building.id === buildingId) && (() => {\r\n const selectedModel = bimModelsAddedToMap.find(model => model.building.id === buildingId);\r\n console.log('selectedModel', selectedModel);\r\n return true ? (\r\n <Button\r\n onClick={() => handleEditClick(selectedModel.bimFile.name)}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n title={t('editBimButton')}\r\n disabled={!ability.can('update', 'File')}\r\n >\r\n <LR.LocationEdit className=\"h-4 w-4\" />\r\n </Button>\r\n ) : null;\r\n })()}\r\n </div>\r\n )\r\n }\r\n </div>}\r\n\r\n {/* Tool Buttons */}\r\n <div className=\"flex items-center gap-3\">\r\n {isLoading\r\n ? Array.from({ \"length\": 4 }).map((_, index) => (<Skeleton\r\n key={index}\r\n className=\"w-8 h-8 rounded-sm\"\r\n />),)\r\n : (!isError && building ? (\r\n buildingButtons.map((button) => {\r\n if (button.component) {\r\n const ButtonComponent = button.component\r\n const shouldAnimateSpin = button.id === 'map-add-file' && isUploading\r\n return (\r\n <div\r\n key={button.id}\r\n className={`w-8 h-8 rounded-sm border-2 border-gray-200 inline-flex justify-center items-center ${shouldAnimateSpin ? 'animate-spin' : ''}`}\r\n >\r\n <ButtonComponent tool={button} building={building} />\r\n </div>\r\n )\r\n }\r\n return (\r\n <Button\r\n key={button.id}\r\n variant=\"ghost\"\r\n className=\"w-8 h-8 rounded-sm border-2 border-gray-200 inline-flex justify-center items-center\"\r\n aria-label={button.title}\r\n onClick={button.onClick}\r\n title={button.title}\r\n disabled={button.disabled}\r\n >\r\n <button.icon className={`w-6 h-6 ${button.id === 'map-add-file' && isUploading ? 'animate-spin' : ''}`} />\r\n </Button>\r\n )\r\n })\r\n ) : null)}\r\n </div>\r\n </div>\r\n );\r\n\r\n}\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/DatabaseBuildingPopover/src/BuildingsTools.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 { useTranslations } from \"next-intl\";\r\nimport React from \"react\";\r\n\r\nimport { Button, Label, Skeleton, Switch, Checkbox } from \"../../../../../../../../components/ui/\";\r\nimport {\r\n DropdownMenu,\r\n DropdownMenuContent,\r\n DropdownMenuItem,\r\n DropdownMenuTrigger,\r\n} from \"../../../../../../../../components/ui/DropdownMenu\";\r\nimport { useFileUploadHandler } from \"../../../../../../../../components/ui/FilesManager/src/useFileUploadHandler\";\r\nimport { useFilesByBuildingId, useUploadFileToBuilding } from \"../../../../../../../../hooks/files/files\";\r\nimport { usePermissions } from '../../../../../../../../store'\r\nimport { BuildingsContext, BimContext, MapContext, MenusContext, useMenusContext } from \"../../../../../../../../store\";\r\nimport { ViewerNames } from \"../../../../../../../../types/\";\r\nimport { toggleBimToMap as dispatchToggleBimToMap } from '../../../../../utils/toggleBimToMap';\r\nimport Compare from '../../../../compare';\r\n\r\nimport type { Building, DbFile } from \"../../../../../../../../types/dbTypes\";\r\nimport type { Tool } from \"../../../../../../../../types/tools\";\r\nimport type { MapGeoJSONFeature } from \"maplibre-gl\";\r\n\r\ninterface BuildingToolsProps {\r\n isLoading: boolean;\r\n isError: boolean;\r\n building: Building | null;\r\n feature: MapGeoJSONFeature;\r\n onCloseAction: () => void;\r\n}\r\n\r\nexport default function BuildingTools({\r\n isLoading,\r\n isError,\r\n building,\r\n feature,\r\n onCloseAction\r\n}: BuildingToolsProps) {\r\n\r\n const t = useTranslations('BuildingTools')\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const { dispatch: menusDispatch } = React.useContext(MenusContext);\r\n const { state: mapState, } = React.useContext(MapContext);\r\n const { dispatch: bimDispatch, state: bimState } = React.useContext(BimContext);\r\n const { bimModelsAddedToMap } = bimState.bim;\r\n const { dispatch: buildingsDispatch } = React.useContext(BuildingsContext);\r\n\r\n const fileInputRef = React.useRef<HTMLInputElement>(null);\r\n const { setView } = useMenusContext();\r\n const { setSelectedItem } = useMenusContext();\r\n\r\n const buildingId = React.useMemo(\r\n () => {\r\n\r\n const featureProps = feature?.properties || {};\r\n const id = Number(featureProps.dbId);\r\n return isNaN(id)\r\n ? null\r\n : id;\r\n\r\n },\r\n [feature?.properties],\r\n );\r\n\r\n const { files } = useFilesByBuildingId(buildingId);\r\n\r\n const bimAdded = React.useMemo(\r\n () => (buildingId\r\n ? mapState.map.bimModelsAddedToMap.includes(buildingId)\r\n : false),\r\n [\r\n mapState.map.bimModelsAddedToMap,\r\n buildingId,\r\n ],\r\n );\r\n\r\n const { uploadFile, isMutating: isUploadingFromHook } = useUploadFileToBuilding(building?.id || null);\r\n\r\n // Local state to track the entire upload process from file selection to completion\r\n const [\r\n isLocallyUploading,\r\n setIsLocallyUploading,\r\n ] = React.useState(false);\r\n\r\n // Combined uploading state\r\n const isUploading = isLocallyUploading || isUploadingFromHook;\r\n\r\n // Use the reusable upload handler without passing bimComponents\r\n const { handleFileUpload } = useFileUploadHandler({\r\n buildingId: buildingId || -1,\r\n uploadFile,\r\n onUploadStart: () => setIsLocallyUploading(true),\r\n onUploadEnd: () => setIsLocallyUploading(false),\r\n customMessages: {\r\n success: t('toastFIleUploadSuccess'),\r\n errorPrefix: t('toastFIleUploadError'),\r\n errorSuffix: t('toastUnknownError'),\r\n noIdError: t('buildingIdRequired')\r\n }\r\n });\r\n\r\n const changeViewer = React.useCallback(\r\n (viewer: ViewerNames) => {\r\n\r\n menusDispatch({\r\n type: \"SET_VIEWER\",\r\n payload: { \"currentViewer\": viewer },\r\n });\r\n\r\n buildingsDispatch({\r\n type: \"SET-CURRENT-BUILDING\",\r\n payload: { building },\r\n });\r\n onCloseAction();\r\n\r\n },\r\n [\r\n menusDispatch,\r\n buildingsDispatch,\r\n building,\r\n onCloseAction\r\n ]\r\n );\r\n\r\n const triggerFileInput = React.useCallback(\r\n () => {\r\n\r\n fileInputRef.current?.click();\r\n\r\n },\r\n [],\r\n );\r\n\r\n const toggleBimToMap = React.useCallback(\r\n (bimFile: DbFile) => {\r\n dispatchToggleBimToMap(bimDispatch, bimFile, building);\r\n\r\n },\r\n [\r\n building,\r\n bimDispatch\r\n ]\r\n );\r\n\r\n const onOpenBimViewer = () => {\r\n buildingsDispatch({ type: \"SET-CURRENT-BUILDING\", payload: { building } });\r\n changeViewer(ViewerNames.bim);\r\n setSelectedItem(building);\r\n }\r\n\r\n const buildingFiles = React.useMemo(\r\n () => files || [],\r\n [files],\r\n );\r\n\r\n const bimFiles = React.useMemo(\r\n () => buildingFiles.filter((file: DbFile) => file.extension?.toLowerCase() === \"frag\"),\r\n [buildingFiles],\r\n )\r\n\r\n const pcFiles = React.useMemo(\r\n () => buildingFiles.filter((file: DbFile) => file.type === 'point-cloud-file' || ['laz', 'las'].includes(file.extension || '')),\r\n [buildingFiles],\r\n )\r\n\r\n const buildingButtons: Tool[] = React.useMemo(\r\n () => [\r\n {\r\n id: \"map-compare-buildings\",\r\n icon: LR.Columns3,\r\n title: t('compareTitle'),\r\n component: Compare,\r\n disabled: !ability.can('read', 'Building')\r\n },\r\n {\r\n id: \"open-building-page\",\r\n icon: LR.Building2,\r\n title: t('openBIMTitle'),\r\n onClick: () => {\r\n\r\n changeViewer(ViewerNames.buildings);\r\n setSelectedItem(building);\r\n setView(\"detail\");\r\n\r\n },\r\n disabled: !ability.can('read', 'Building')\r\n },\r\n {\r\n id: \"open-bim-viewer\",\r\n icon: LR.Box,\r\n title: t('OpenBIMViewerTitle'),\r\n onClick: onOpenBimViewer,\r\n disabled: !ability.can('read', 'File')\r\n },\r\n {\r\n id: 'open-pointcloud',\r\n title: t('openPointCloudTitle'),\r\n icon: LR.Grip,\r\n onClick: () => changeViewer(ViewerNames.pointcloud),\r\n disabled: pcFiles.length === 0 || !ability.can('read', 'File')\r\n },\r\n {\r\n id: \"map-add-file\",\r\n icon: isUploading\r\n ? LR.Loader\r\n : LR.FilePlus,\r\n title: t('addFileTitle'),\r\n onClick: triggerFileInput,\r\n disabled: !ability.can('create', 'File')\r\n },\r\n ],\r\n [\r\n changeViewer,\r\n building,\r\n setSelectedItem,\r\n setView,\r\n isUploading,\r\n triggerFileInput\r\n ]\r\n );\r\n\r\n const onLoadBIM = React.useCallback(\r\n (file: DbFile = null) => {\r\n if (bimFiles.length === 0) return;\r\n toggleBimToMap(bimFiles[0]);\r\n },\r\n [\r\n bimFiles,\r\n toggleBimToMap\r\n ]\r\n );\r\n\r\n const handleEditClick = (fileName: string) => {\r\n bimDispatch({\r\n type: \"EDIT_BIM_MODEL_BY_NAME\",\r\n payload: { editingBimModel: fileName }\r\n });\r\n\r\n onCloseAction();\r\n }\r\n\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n {/* Hidden file input */}\r\n <input\r\n onChange={(e) => handleFileUpload(e.target.files?.[0] || null)}\r\n ref={fileInputRef}\r\n style={{ \"display\": \"none\" }}\r\n type=\"file\"\r\n />\r\n\r\n {/* BIM Controls */}\r\n {!isError &&\r\n <div className=\"flex items-center space-x-2\">\r\n {isLoading\r\n ? <>\r\n <Skeleton className=\"h-4 w-20\" />\r\n\r\n <Skeleton className=\"h-6 w-10\" />\r\n </>\r\n : (\r\n <div className=\"flex items-center justify-between w-full\">\r\n {bimFiles.length > 1 ? (\r\n <div className=\"flex items-center space-x-2\">\r\n <Label className=\"font-semibold\" htmlFor=\"bim-file-dropdown\">\r\n {t('selectBimLabel')}\r\n </Label>\r\n <DropdownMenu>\r\n <DropdownMenuTrigger asChild>\r\n <Button variant=\"outline\" size=\"sm\" id=\"bim-file-dropdown\">\r\n {bimModelsAddedToMap.length > 0\r\n ? `${bimModelsAddedToMap.filter(model => model.bimFile.attachedFilesBuildingId === buildingId).length} ${t('filesSelected')}`\r\n : t('selectFiles')\r\n }\r\n </Button>\r\n </DropdownMenuTrigger>\r\n <DropdownMenuContent>\r\n {bimFiles.map((file: DbFile) => {\r\n const isSelected = bimModelsAddedToMap.some(model => model.bimFile.name === file.name);\r\n return (\r\n <DropdownMenuItem\r\n key={file.name}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n toggleBimToMap(file);\r\n }}\r\n className=\"flex items-center justify-between cursor-pointer\"\r\n >\r\n <div className=\"flex items-center space-x-2\">\r\n <Checkbox\r\n checked={isSelected}\r\n onClick={(e) => e.stopPropagation()}\r\n onCheckedChange={() => {\r\n toggleBimToMap(file);\r\n }}\r\n />\r\n <span>{file.name}</span>\r\n </div>\r\n {isSelected && (\r\n <Button\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n handleEditClick(file.name);\r\n }}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n className=\"h-6 w-6 p-0\"\r\n title={t('editBimButton')}\r\n >\r\n <LR.LocationEdit className=\"h-3 w-3\" />\r\n </Button>\r\n )}\r\n </DropdownMenuItem>\r\n );\r\n })}\r\n </DropdownMenuContent>\r\n </DropdownMenu>\r\n </div>\r\n ) : (\r\n <div className=\"flex items-center space-x-2\">\r\n <Label\r\n className={`font-semibold ${bimFiles.length === 0 ? 'text-muted-foreground' : ''}`}\r\n htmlFor=\"show-bim\"\r\n >\r\n {bimAdded ? t('hideBIM') : t('showBIM')}\r\n </Label>\r\n <Switch\r\n id=\"show-bim\"\r\n checked={bimFiles.length === 1 && bimModelsAddedToMap.some(model => model.bimFile.name === bimFiles[0]?.name)}\r\n disabled={bimFiles.length === 0 || !ability.can('read', 'File')}\r\n onCheckedChange={() => onLoadBIM()}\r\n />\r\n </div>\r\n )}\r\n {bimFiles.length === 1 && bimModelsAddedToMap.some(model => model.building.id === buildingId) && (() => {\r\n const selectedModel = bimModelsAddedToMap.find(model => model.building.id === buildingId);\r\n console.log('selectedModel', selectedModel);\r\n return true ? (\r\n <Button\r\n onClick={() => handleEditClick(selectedModel.bimFile.name)}\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n title={t('editBimButton')}\r\n disabled={!ability.can('update', 'File')}\r\n >\r\n <LR.LocationEdit className=\"h-4 w-4\" />\r\n </Button>\r\n ) : null;\r\n })()}\r\n </div>\r\n )\r\n }\r\n </div>}\r\n\r\n {/* Tool Buttons */}\r\n <div className=\"flex items-center gap-3\">\r\n {isLoading\r\n ? Array.from({ \"length\": 4 }).map((_, index) => (<Skeleton\r\n key={index}\r\n className=\"w-8 h-8 rounded-sm\"\r\n />),)\r\n : (!isError && building ? (\r\n buildingButtons.map((button) => {\r\n if (button.component) {\r\n const ButtonComponent = button.component\r\n const shouldAnimateSpin = button.id === 'map-add-file' && isUploading\r\n return (\r\n <div\r\n key={button.id}\r\n className={`w-8 h-8 rounded-sm border-2 border-gray-200 inline-flex justify-center items-center ${shouldAnimateSpin ? 'animate-spin' : ''}`}\r\n >\r\n <ButtonComponent tool={button} building={building} />\r\n </div>\r\n )\r\n }\r\n return (\r\n <Button\r\n key={button.id}\r\n variant=\"ghost\"\r\n className=\"w-8 h-8 rounded-sm border-2 border-gray-200 inline-flex justify-center items-center\"\r\n aria-label={button.title}\r\n onClick={button.onClick}\r\n title={button.title}\r\n disabled={button.disabled}\r\n >\r\n <button.icon className={`w-6 h-6 ${button.id === 'map-add-file' && isUploading ? 'animate-spin' : ''}`} />\r\n </Button>\r\n )\r\n })\r\n ) : null)}\r\n </div>\r\n </div>\r\n );\r\n\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonDatabaseBuildingPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NonDatabaseBuildingPopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA2B9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAMpD,UAAU,+BAA+B;IACvC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,MAAM,IAAI,CAAA;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,OAAO,EACP,aAAa,GACd,EAAE,+BAA+B,qBA+ajC"}
|
package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.js
CHANGED
|
@@ -16,12 +16,17 @@ var __spreadValues = (a, b) => {
|
|
|
16
16
|
return a;
|
|
17
17
|
};
|
|
18
18
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
19
|
-
import * as
|
|
19
|
+
import * as LR from "lucide-react";
|
|
20
20
|
import { useSession } from "next-auth/react";
|
|
21
21
|
import { useTranslations } from "next-intl";
|
|
22
|
-
import
|
|
22
|
+
import * as React from "react";
|
|
23
23
|
import { toast } from "sonner";
|
|
24
|
+
import { useCreateBuilding, useBuildings, useBuilding } from "../../../../../../hooks/buildings/buildings";
|
|
25
|
+
import { usePermissions } from "../../../../../../store";
|
|
26
|
+
import { MapContext } from "../../../../../../store";
|
|
27
|
+
import { useMenusContext } from "../../../../../../store";
|
|
24
28
|
import { Button, Label } from "../../../../../ui/";
|
|
29
|
+
import { LoadingSpinner } from "../../../../../ui/LoadingSpinner";
|
|
25
30
|
import { PopoverContent } from "../../../../../ui/Popover";
|
|
26
31
|
import {
|
|
27
32
|
Select,
|
|
@@ -30,13 +35,8 @@ import {
|
|
|
30
35
|
SelectTrigger,
|
|
31
36
|
SelectValue
|
|
32
37
|
} from "../../../../../ui/Select";
|
|
33
|
-
import * as LR from "lucide-react";
|
|
34
|
-
import { MapContext } from "../../../../../../store";
|
|
35
|
-
import { useMenusContext } from "../../../../../../store";
|
|
36
|
-
import { MarkerManager } from "../../../utils/MarkerManager";
|
|
37
38
|
import { getDetailedAddress } from "../../../utils/geocoder";
|
|
38
|
-
import {
|
|
39
|
-
import { LoadingSpinner } from "../../../../../ui/LoadingSpinner";
|
|
39
|
+
import { MarkerManager } from "../../../utils/MarkerManager";
|
|
40
40
|
function NonDatabaseBuildingPopover({
|
|
41
41
|
feature,
|
|
42
42
|
onCloseAction
|
|
@@ -54,7 +54,6 @@ function NonDatabaseBuildingPopover({
|
|
|
54
54
|
const featureid = feature == null ? void 0 : feature.id;
|
|
55
55
|
const [name, setName] = React.useState("");
|
|
56
56
|
const [address, setAddress] = React.useState("");
|
|
57
|
-
const [type, setType] = React.useState("");
|
|
58
57
|
const [matchingBuildings, setMatchingBuildings] = React.useState([]);
|
|
59
58
|
const [selectedMatchingBuildingId, setSelectedMatchingBuildingId] = React.useState("");
|
|
60
59
|
const [showExistingBuildings, setShowExistingBuildings] = React.useState(false);
|
|
@@ -167,9 +166,6 @@ function NonDatabaseBuildingPopover({
|
|
|
167
166
|
const handleAddressChange = (event) => {
|
|
168
167
|
setAddress(event.target.value);
|
|
169
168
|
};
|
|
170
|
-
const handleBuildingTypeChange = (event) => {
|
|
171
|
-
setType(event.target.value);
|
|
172
|
-
};
|
|
173
169
|
const selectedMatchingBuilding = matchingBuildings.find(
|
|
174
170
|
(building) => building.id.toString() === selectedMatchingBuildingId
|
|
175
171
|
);
|
|
@@ -206,7 +202,7 @@ function NonDatabaseBuildingPopover({
|
|
|
206
202
|
const newBuilding = {
|
|
207
203
|
buildingName,
|
|
208
204
|
buildingAddress: finalAddress,
|
|
209
|
-
buildingType: [
|
|
205
|
+
buildingType: ["Other"],
|
|
210
206
|
buildingOsmId,
|
|
211
207
|
buildingLatitude: buildingCoordinates ? buildingCoordinates[1] : null,
|
|
212
208
|
buildingLongitude: buildingCoordinates ? buildingCoordinates[0] : null,
|
|
@@ -240,19 +236,20 @@ function NonDatabaseBuildingPopover({
|
|
|
240
236
|
}
|
|
241
237
|
};
|
|
242
238
|
return /* @__PURE__ */ jsx(PopoverContent, { className: "w-64 -m-1", side: "top", children: /* @__PURE__ */ jsxs("form", { onSubmit: handleCreateNewBuilding, children: [
|
|
239
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-end mb-1", children: /* @__PURE__ */ jsx(
|
|
240
|
+
Button,
|
|
241
|
+
{
|
|
242
|
+
type: "button",
|
|
243
|
+
onClick: onCloseAction,
|
|
244
|
+
variant: "ghost",
|
|
245
|
+
size: "icon",
|
|
246
|
+
className: "shrink-0 p-0 m-0 text-muted-foreground hover:text-foreground",
|
|
247
|
+
"aria-label": t("closeAriaLabel"),
|
|
248
|
+
children: /* @__PURE__ */ jsx(LR.X, { className: "w-4 h-4" })
|
|
249
|
+
}
|
|
250
|
+
) }),
|
|
243
251
|
/* @__PURE__ */ jsxs("div", { className: "grid gap-4", children: [
|
|
244
|
-
/* @__PURE__ */
|
|
245
|
-
Button,
|
|
246
|
-
{
|
|
247
|
-
type: "button",
|
|
248
|
-
onClick: onCloseAction,
|
|
249
|
-
variant: "ghost",
|
|
250
|
-
className: "absolute top-1 right-2 p-1 text-muted-foreground hover:text-foreground",
|
|
251
|
-
"aria-label": t("closeAriaLabel"),
|
|
252
|
-
children: /* @__PURE__ */ jsx(LR.X, { className: "w-4 h-4" })
|
|
253
|
-
}
|
|
254
|
-
),
|
|
255
|
-
showExistingBuildings && matchingBuildings.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-1 mt-6", children: [
|
|
252
|
+
showExistingBuildings && matchingBuildings.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
256
253
|
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: t("existingBuildingFound") }),
|
|
257
254
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-2 p-2 bg-muted/50 border rounded-lg", children: [
|
|
258
255
|
/* @__PURE__ */ jsxs("div", { className: "grid gap-1", children: [
|
|
@@ -314,42 +311,13 @@ function NonDatabaseBuildingPopover({
|
|
|
314
311
|
value: address,
|
|
315
312
|
onChange: handleAddressChange,
|
|
316
313
|
placeholder: address || t("addressPlaceholder"),
|
|
317
|
-
className: `font-medium leading-none bg-transparent
|
|
314
|
+
className: `font-medium leading-none bg-transparent focus:outline-none focus:border-primary px-1 py-1 ${address ? "placeholder:text-foreground" : "placeholder:text-muted-foreground"}`,
|
|
318
315
|
"aria-label": t("addressAriaLabel"),
|
|
319
316
|
required: true,
|
|
320
317
|
disabled: !ability.can("create", "Building")
|
|
321
318
|
}
|
|
322
319
|
)
|
|
323
|
-
] }),
|
|
324
|
-
/* @__PURE__ */ jsxs("div", { className: "grid gap-2", children: [
|
|
325
|
-
/* @__PURE__ */ jsx(Label, { htmlFor: "building-type", className: "text-xs text-muted-foreground", children: t("typeLabel") }),
|
|
326
|
-
/* @__PURE__ */ jsxs(
|
|
327
|
-
"select",
|
|
328
|
-
{
|
|
329
|
-
id: "building-type",
|
|
330
|
-
value: type,
|
|
331
|
-
onChange: handleBuildingTypeChange,
|
|
332
|
-
className: "font-medium leading-none bg-transparent border-b border-gray-300 focus:outline-none focus:border-primary px-1 py-1",
|
|
333
|
-
"aria-label": t("typeAriaLabel"),
|
|
334
|
-
required: true,
|
|
335
|
-
disabled: !ability.can("create", "Building"),
|
|
336
|
-
children: [
|
|
337
|
-
/* @__PURE__ */ jsx("option", { value: "", children: t("defaultOption") }),
|
|
338
|
-
/* @__PURE__ */ jsx("option", { value: "Townhouses", children: t("townhouse") }),
|
|
339
|
-
/* @__PURE__ */ jsx("option", { value: "<4 Storey MURB", children: t("4MURB") }),
|
|
340
|
-
/* @__PURE__ */ jsx("option", { value: "4+ Storey MURB", children: t("4PlusMURB") }),
|
|
341
|
-
/* @__PURE__ */ jsx("option", { value: "Stacked Townhouses", children: t("stackedTownhouses") }),
|
|
342
|
-
/* @__PURE__ */ jsx("option", { value: "Detached", children: t("detached") }),
|
|
343
|
-
/* @__PURE__ */ jsx("option", { value: "Semi Detached", children: t("semiDetached") }),
|
|
344
|
-
/* @__PURE__ */ jsx("option", { value: "Other", children: t("other") })
|
|
345
|
-
]
|
|
346
|
-
}
|
|
347
|
-
)
|
|
348
320
|
] })
|
|
349
|
-
] }),
|
|
350
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 py-2 px-1", children: [
|
|
351
|
-
/* @__PURE__ */ jsx(Label, { className: "text-xs text-muted-foreground min-w-fit", children: t("osmId") }),
|
|
352
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: buildingOsmId != null ? buildingOsmId : t("na") })
|
|
353
321
|
] })
|
|
354
322
|
] }),
|
|
355
323
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 justify-center mt-4", children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.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 { useSession } from 'next-auth/react'\r\nimport { useTranslations } from 'next-intl'\r\nimport { usePermissions } from '../../../../../../store'\r\nimport { toast } from 'sonner'\r\n\r\n// Shadcn Components\r\nimport { Button, Label } from '../../../../../ui/'\r\nimport { PopoverContent } from '../../../../../ui/Popover'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../../../../../ui/Select'\r\n\r\n// Icons\r\nimport * as LR from 'lucide-react'\r\n\r\n// Types / Utilities\r\nimport type { MapGeoJSONFeature } from 'maplibre-gl'\r\nimport { MapContext } from '../../../../../../store'\r\nimport { useMenusContext } from '../../../../../../store'\r\nimport type { Building } from '../../../../../../types/dbTypes'\r\nimport { MarkerManager } from '../../../utils/MarkerManager'\r\nimport { getDetailedAddress } from '../../../utils/geocoder'\r\n\r\n// Hooks\r\nimport { useCreateBuilding, useBuildings, useBuilding } from '../../../../../../hooks/buildings/buildings'\r\nimport { LoadingSpinner } from '../../../../../ui/LoadingSpinner'\r\n\r\ninterface NonDatabaseBuildingPopoverProps {\r\n feature: MapGeoJSONFeature\r\n isOpen: boolean\r\n onCloseAction: () => void\r\n}\r\n\r\nexport default function NonDatabaseBuildingPopover({\r\n feature,\r\n onCloseAction,\r\n}: NonDatabaseBuildingPopoverProps) {\r\n // Translation\r\n const t = useTranslations('NonDatabaseBuildingPopover')\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const { data: session } = useSession()\r\n const user = session?.user\r\n\r\n const { state: mapState } = React.useContext(MapContext)\r\n const { currentLocation, map, organizationCountry } = mapState.map\r\n\r\n const { setSelectedItem } = useMenusContext()\r\n\r\n // Use the create building hook\r\n const { createBuilding, isMutating, createError, createdData } = useCreateBuilding()\r\n\r\n // Get all buildings for searching\r\n const { buildings } = useBuildings()\r\n\r\n const featureProps = feature?.properties || {}\r\n const featureid = feature?.id\r\n const [name, setName] = React.useState('')\r\n const [address, setAddress] = React.useState('')\r\n const [type, setType] = React.useState('')\r\n const [matchingBuildings, setMatchingBuildings] = React.useState<Building[]>([])\r\n const [selectedMatchingBuildingId, setSelectedMatchingBuildingId] = React.useState<string>('')\r\n const [showExistingBuildings, setShowExistingBuildings] = React.useState(false)\r\n const [isAttaching, setIsAttaching] = React.useState(false)\r\n\r\n const { updateBuilding, isMutating: isUpdating } = useBuilding(selectedMatchingBuildingId ? Number(selectedMatchingBuildingId) : null)\r\n\r\n const normalizeAddress = React.useCallback((value: string) => {\r\n return value\r\n .toLowerCase()\r\n .replace(/\\./g, '')\r\n .replace(/,/g, ' ')\r\n .replace(/\\bdr\\b/g, 'drive')\r\n .replace(/\\brd\\b/g, 'road')\r\n .replace(/\\bst\\b/g, 'street')\r\n .replace(/\\bave\\b/g, 'avenue')\r\n .replace(/\\s+/g, ' ')\r\n .trim()\r\n }, [])\r\n\r\n const clearExistingBuildingMatches = React.useCallback(() => {\r\n setMatchingBuildings([])\r\n setSelectedMatchingBuildingId('')\r\n setShowExistingBuildings(false)\r\n\r\n if (didSetSelectedItemRef.current && setSelectedItem) {\r\n setSelectedItem(null)\r\n didSetSelectedItemRef.current = false\r\n }\r\n }, [setSelectedItem])\r\n\r\n // Track if we set the selected item in this component\r\n const didSetSelectedItemRef = React.useRef(false)\r\n\r\n // Cleanup on unmount\r\n React.useEffect(() => {\r\n return () => {\r\n // Clear selected item if we set it\r\n if (didSetSelectedItemRef.current && setSelectedItem) {\r\n setSelectedItem(null)\r\n didSetSelectedItemRef.current = false\r\n }\r\n }\r\n }, [setSelectedItem])\r\n\r\n // Get address and search for matching buildings\r\n React.useEffect(() => {\r\n const getAddress = async (longitude: number, latitude: number) => {\r\n try {\r\n // Reverse geocode through the shared provider (Geocode Earth / self-hosted\r\n // Pelias, falling back to public OSM) so this stays in sync with the geocoder.\r\n const result = await getDetailedAddress([longitude, latitude], organizationCountry)\r\n const geocodedAddress = result?.properties?.name as string | undefined\r\n\r\n if (!geocodedAddress) {\r\n clearExistingBuildingMatches()\r\n return\r\n }\r\n\r\n setAddress(geocodedAddress)\r\n\r\n // Search for existing buildings with this address\r\n if (buildings && buildings.length > 0) {\r\n const normalizedGeocodedAddress = normalizeAddress(geocodedAddress)\r\n\r\n const matches = buildings.filter((building) => {\r\n if (!building.buildingAddress) return false\r\n\r\n const normalizedBuildingAddress = normalizeAddress(building.buildingAddress)\r\n return (\r\n normalizedBuildingAddress === normalizedGeocodedAddress ||\r\n normalizedBuildingAddress.includes(normalizedGeocodedAddress) ||\r\n normalizedGeocodedAddress.includes(normalizedBuildingAddress)\r\n )\r\n })\r\n\r\n if (matches.length > 0) {\r\n setMatchingBuildings(matches)\r\n setSelectedMatchingBuildingId(matches[0].id.toString())\r\n setShowExistingBuildings(true)\r\n\r\n // Set the first match as the selected item for the update hook\r\n if (setSelectedItem) {\r\n setSelectedItem(matches[0])\r\n didSetSelectedItemRef.current = true\r\n }\r\n } else {\r\n clearExistingBuildingMatches()\r\n }\r\n } else {\r\n clearExistingBuildingMatches()\r\n }\r\n }\r\n catch (error) {\r\n console.error('Error fetching municipality and countrySubdivision:', error)\r\n }\r\n }\r\n\r\n if (feature.properties?.coordinates) {\r\n const longitude = feature.properties.coordinates[0]\r\n const latitude = feature.properties.coordinates[1]\r\n getAddress(longitude, latitude)\r\n }\r\n }, [feature, buildings, setSelectedItem, normalizeAddress, clearExistingBuildingMatches])\r\n\r\n React.useEffect(() => {\r\n if (!setSelectedItem || !selectedMatchingBuildingId) return\r\n\r\n const selectedBuilding = matchingBuildings.find(\r\n building => building.id.toString() === selectedMatchingBuildingId,\r\n )\r\n\r\n if (!selectedBuilding) return\r\n\r\n setSelectedItem(selectedBuilding)\r\n didSetSelectedItemRef.current = true\r\n }, [matchingBuildings, selectedMatchingBuildingId, setSelectedItem])\r\n\r\n // Fallbacks from feature or map state\r\n const buildingCountrySubdivision = featureProps.de_ao_prov || currentLocation.countrySubdivision || null\r\n const buildingMunicipality = featureProps.de_ao_city || currentLocation.municipality || null\r\n const buildingPostalCode = featureProps.de_ao_post || currentLocation.postalCode || null\r\n const site = currentLocation.site || null\r\n const buildingOsmId = featureid.toString()\r\n\r\n // Create MarkerManager instance\r\n const markerManagerRef = React.useRef<MarkerManager | null>(null)\r\n\r\n // Initialize MarkerManager\r\n React.useEffect(() => {\r\n if (!markerManagerRef.current) {\r\n markerManagerRef.current = new MarkerManager()\r\n }\r\n\r\n // Cleanup on unmount\r\n return () => {\r\n if (markerManagerRef.current) {\r\n markerManagerRef.current.destroy()\r\n markerManagerRef.current = null\r\n }\r\n }\r\n }, [])\r\n\r\n // Get coordinates data from feature\r\n const [coordinates, setCoordinates] = React.useState(featureProps.coordinates || null)\r\n\r\n // Listen for marker coordinate changes\r\n React.useEffect(() => {\r\n if (!markerManagerRef.current) return\r\n\r\n const cleanup = markerManagerRef.current.onMoved((event) => {\r\n const newCoordinates = event.detail.coordinates\r\n if (newCoordinates) {\r\n setCoordinates(newCoordinates)\r\n }\r\n })\r\n\r\n return cleanup\r\n }, [])\r\n\r\n const handleBuildingNameChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setName(event.target.value)\r\n }\r\n\r\n const handleAddressChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setAddress(event.target.value)\r\n }\r\n\r\n const handleBuildingTypeChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\r\n setType(event.target.value)\r\n }\r\n\r\n const selectedMatchingBuilding = matchingBuildings.find(\r\n building => building.id.toString() === selectedMatchingBuildingId,\r\n )\r\n\r\n const handleAttachExistingBuilding = async (building: Building) => {\r\n setIsAttaching(true)\r\n\r\n try {\r\n // Add OSM ID to existing building\r\n const result = await updateBuilding({\r\n buildingOsmId,\r\n // Set default storey number of 2 if building doesn't have one\r\n ...(building.buildingStoreyNum == null && { buildingStoreyNum: 2 })\r\n })\r\n\r\n toast.success(t('toastAttachSuccess'))\r\n\r\n // Clear the selected item after successful update\r\n if (setSelectedItem) {\r\n setSelectedItem(null)\r\n didSetSelectedItemRef.current = false\r\n }\r\n\r\n // Close the popover\r\n onCloseAction()\r\n\r\n } catch (error) {\r\n console.error('Error attaching building:', error)\r\n\r\n if (error?.status !== 401) {\r\n toast.error(t('toastAttachError'))\r\n }\r\n } finally {\r\n setIsAttaching(false)\r\n }\r\n }\r\n\r\n const handleCreateNewBuilding = async (event: React.FormEvent) => {\r\n event.preventDefault()\r\n\r\n // Get final values (prioritize user input, then existing data)\r\n const buildingName = name.trim() || featureProps._name || ''\r\n const finalAddress = address.trim() || address || ''\r\n\r\n if (!user?.organizationId) {\r\n toast.error(t('userNotFound'))\r\n return\r\n }\r\n\r\n // Use updated coordinates from marker if available\r\n const buildingCoordinates = coordinates || [featureProps.longitude, featureProps.latitude]\r\n\r\n const newBuilding: Partial<Building> = {\r\n buildingName,\r\n buildingAddress: finalAddress,\r\n buildingType: [type || 'Other'],\r\n buildingOsmId,\r\n buildingLatitude: buildingCoordinates ? buildingCoordinates[1] : null,\r\n buildingLongitude: buildingCoordinates ? buildingCoordinates[0] : null,\r\n buildingCountrySubdivision,\r\n buildingMunicipality,\r\n buildingPostalCode,\r\n }\r\n\r\n try {\r\n const result = await createBuilding({\r\n buildingData: newBuilding,\r\n organizationId: user.organizationId.toString(),\r\n })\r\n\r\n // Remove marker after creating building\r\n if (markerManagerRef.current) {\r\n markerManagerRef.current.remove()\r\n }\r\n\r\n toast.success(t('toastSuccess'))\r\n\r\n // Close the popover on success\r\n onCloseAction()\r\n }\r\n catch (error) {\r\n console.error('Error creating building:', error)\r\n toast.error(t('toastError'))\r\n }\r\n }\r\n\r\n const handleLocationEdit = () => {\r\n // Create marker at current coordinates with editing enabled\r\n if (markerManagerRef.current && coordinates && map) {\r\n console.log('Creating editable marker at coordinates:', coordinates)\r\n markerManagerRef.current.create(coordinates as [number, number], map, {\r\n editing: true\r\n })\r\n }\r\n else {\r\n console.warn('Cannot create marker: missing coordinates or map instance')\r\n }\r\n }\r\n\r\n return (\r\n <PopoverContent className=\"w-64 -m-1\" side=\"top\">\r\n <form onSubmit={handleCreateNewBuilding}>\r\n <div className=\"grid gap-4\">\r\n <Button\r\n type=\"button\"\r\n onClick={onCloseAction}\r\n variant=\"ghost\"\r\n className=\"absolute top-1 right-2 p-1 text-muted-foreground hover:text-foreground\"\r\n aria-label={t('closeAriaLabel')}\r\n >\r\n <LR.X className=\"w-4 h-4\" />\r\n </Button>\r\n\r\n {/* Show existing building if match found */}\r\n {showExistingBuildings && matchingBuildings.length > 0 && (\r\n <div className=\"space-y-1 mt-6\">\r\n <div className=\"text-xs text-muted-foreground\">\r\n {t('existingBuildingFound')}\r\n </div>\r\n <div className=\"flex flex-col justify-between gap-2 p-2 bg-muted/50 border rounded-lg\">\r\n <div className=\"grid gap-1\">\r\n <Label htmlFor=\"existing-building-select\" className=\"text-xs text-muted-foreground\">\r\n {t('selectExistingBuildingLabel')}\r\n </Label>\r\n <Select\r\n value={selectedMatchingBuildingId}\r\n onValueChange={setSelectedMatchingBuildingId}\r\n >\r\n <SelectTrigger id=\"existing-building-select\" className=\"h-9 w-full\">\r\n <SelectValue placeholder={t('selectExistingBuildingPlaceholder')} />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {matchingBuildings.map((building) => (\r\n <SelectItem key={building.id} value={building.id.toString()}>\r\n {building.buildingName || building.buildingAddress || `${t('na')} (${building.id})`}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n className='w-full'\r\n onClick={() => selectedMatchingBuilding && handleAttachExistingBuilding(selectedMatchingBuilding)}\r\n disabled={isAttaching || isUpdating || !selectedMatchingBuilding}\r\n >\r\n {(isAttaching || isUpdating) ? (\r\n <>\r\n <LoadingSpinner />\r\n <span>{t('attaching')}</span>\r\n </>\r\n ) : (\r\n <>\r\n <LR.Link />\r\n {t('attachBuilding')}\r\n </>\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"grid gap-2\">\r\n <Label htmlFor=\"building-name\" className=\"text-xs text-muted-foreground\">\r\n {t('nameLabel')}\r\n </Label>\r\n <input\r\n id=\"building-name\"\r\n value={name}\r\n onChange={handleBuildingNameChange}\r\n placeholder={name || t('namePlaceholder')}\r\n className={`font-medium leading-none bg-transparent border-b border-gray-300 focus:outline-none focus:border-primary px-1 py-1 ${name ? 'placeholder:text-foreground' : 'placeholder:text-muted-foreground'}`}\r\n aria-label={t('nameInputAriaLabel')}\r\n required\r\n disabled={!ability.can('create', 'Building')}\r\n />\r\n </div>\r\n\r\n <div className=\"grid gap-2\">\r\n <Label htmlFor=\"building-address\" className=\"text-xs text-muted-foreground\">\r\n {t('addressLabel')}\r\n </Label>\r\n <input\r\n id=\"building-address\"\r\n value={address}\r\n onChange={handleAddressChange}\r\n placeholder={address || t('addressPlaceholder')}\r\n className={`font-medium leading-none bg-transparent border-b border-gray-300 focus:outline-none focus:border-primary px-1 py-1 ${address ? 'placeholder:text-foreground' : 'placeholder:text-muted-foreground'}`}\r\n aria-label={t('addressAriaLabel')}\r\n required\r\n disabled={!ability.can('create', 'Building')}\r\n />\r\n </div>\r\n\r\n <div className=\"grid gap-2\">\r\n <Label htmlFor=\"building-type\" className=\"text-xs text-muted-foreground\">\r\n {t('typeLabel')}\r\n </Label>\r\n <select\r\n id=\"building-type\"\r\n value={type}\r\n onChange={handleBuildingTypeChange}\r\n className=\"font-medium leading-none bg-transparent border-b border-gray-300 focus:outline-none focus:border-primary px-1 py-1\"\r\n aria-label={t('typeAriaLabel')}\r\n required\r\n disabled={!ability.can('create', 'Building')}\r\n >\r\n <option value=\"\">{t('defaultOption')}</option>\r\n <option value=\"Townhouses\">{t('townhouse')}</option>\r\n <option value=\"<4 Storey MURB\">{t('4MURB')}</option>\r\n <option value=\"4+ Storey MURB\">{t('4PlusMURB')}</option>\r\n <option value=\"Stacked Townhouses\">{t('stackedTownhouses')}</option>\r\n <option value=\"Detached\">{t('detached')}</option>\r\n <option value=\"Semi Detached\">{t('semiDetached')}</option>\r\n <option value=\"Other\">{t('other')}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div className=\"flex items-center gap-2 py-2 px-1\">\r\n <Label className=\"text-xs text-muted-foreground min-w-fit\">{t('osmId')}</Label>\r\n <span className=\"text-sm font-medium text-foreground\">{buildingOsmId ?? t('na')}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-3 justify-center mt-4\">\r\n <Button\r\n type=\"button\"\r\n variant=\"outline\"\r\n aria-label=\"Edit Location\"\r\n title=\"Edit Location\"\r\n onClick={handleLocationEdit}\r\n disabled={!ability.can('update', 'Building')}\r\n >\r\n <LR.LocationEdit className=\"w-4 h-4\" />\r\n </Button>\r\n\r\n <Button\r\n type=\"submit\"\r\n variant=\"outline\"\r\n aria-label={t('addBuilding')}\r\n title={t('addBuilding')}\r\n disabled={isMutating || !ability.can('create', 'Building')}\r\n >\r\n {isMutating\r\n ? (\r\n <>``\r\n <LoadingSpinner />\r\n <span className=\"text-sm\">{t('creating')}</span>\r\n </>\r\n )\r\n : (\r\n <>\r\n <LR.Building2 className=\"w-4 h-4\" />\r\n <span className=\"text-sm\">{t('addBuilding')}</span>\r\n </>\r\n )}\r\n </Button>\r\n </div>\r\n </form>\r\n </PopoverContent>\r\n )\r\n}"],"mappings":"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","names":["_a"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.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 { useSession } from 'next-auth/react'\r\nimport { useTranslations } from 'next-intl'\r\nimport * as React from 'react'\r\nimport { toast } from 'sonner'\r\n\r\nimport { useCreateBuilding, useBuildings, useBuilding } from '../../../../../../hooks/buildings/buildings'\r\nimport { usePermissions } from '../../../../../../store'\r\n\r\n// Shadcn Components\r\nimport { MapContext } from '../../../../../../store'\r\nimport { useMenusContext } from '../../../../../../store'\r\nimport { Button, Label } from '../../../../../ui/'\r\nimport { LoadingSpinner } from '../../../../../ui/LoadingSpinner'\r\nimport { PopoverContent } from '../../../../../ui/Popover'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../../../../../ui/Select'\r\n\r\n// Icons\r\n\r\n// Types / Utilities\r\nimport { getDetailedAddress } from '../../../utils/geocoder'\r\nimport { MarkerManager } from '../../../utils/MarkerManager'\r\n\r\nimport type { Building } from '../../../../../../types/dbTypes'\r\nimport type { MapGeoJSONFeature } from 'maplibre-gl'\r\n\r\n\r\n\r\n// Hooks\r\n\r\ninterface NonDatabaseBuildingPopoverProps {\r\n feature: MapGeoJSONFeature\r\n isOpen: boolean\r\n onCloseAction: () => void\r\n}\r\n\r\nexport default function NonDatabaseBuildingPopover({\r\n feature,\r\n onCloseAction,\r\n}: NonDatabaseBuildingPopoverProps) {\r\n // Translation\r\n const t = useTranslations('NonDatabaseBuildingPopover')\r\n // Permissions\r\n const { ability } = usePermissions()\r\n\r\n const { data: session } = useSession()\r\n const user = session?.user\r\n\r\n const { state: mapState } = React.useContext(MapContext)\r\n const { currentLocation, map, organizationCountry } = mapState.map\r\n\r\n const { setSelectedItem } = useMenusContext()\r\n\r\n // Use the create building hook\r\n const { createBuilding, isMutating, createError, createdData } = useCreateBuilding()\r\n\r\n // Get all buildings for searching\r\n const { buildings } = useBuildings()\r\n\r\n const featureProps = feature?.properties || {}\r\n const featureid = feature?.id\r\n const [name, setName] = React.useState('')\r\n const [address, setAddress] = React.useState('')\r\n const [matchingBuildings, setMatchingBuildings] = React.useState<Building[]>([])\r\n const [selectedMatchingBuildingId, setSelectedMatchingBuildingId] = React.useState<string>('')\r\n const [showExistingBuildings, setShowExistingBuildings] = React.useState(false)\r\n const [isAttaching, setIsAttaching] = React.useState(false)\r\n\r\n const { updateBuilding, isMutating: isUpdating } = useBuilding(selectedMatchingBuildingId ? Number(selectedMatchingBuildingId) : null)\r\n\r\n const normalizeAddress = React.useCallback((value: string) => {\r\n return value\r\n .toLowerCase()\r\n .replace(/\\./g, '')\r\n .replace(/,/g, ' ')\r\n .replace(/\\bdr\\b/g, 'drive')\r\n .replace(/\\brd\\b/g, 'road')\r\n .replace(/\\bst\\b/g, 'street')\r\n .replace(/\\bave\\b/g, 'avenue')\r\n .replace(/\\s+/g, ' ')\r\n .trim()\r\n }, [])\r\n\r\n const clearExistingBuildingMatches = React.useCallback(() => {\r\n setMatchingBuildings([])\r\n setSelectedMatchingBuildingId('')\r\n setShowExistingBuildings(false)\r\n\r\n if (didSetSelectedItemRef.current && setSelectedItem) {\r\n setSelectedItem(null)\r\n didSetSelectedItemRef.current = false\r\n }\r\n }, [setSelectedItem])\r\n\r\n // Track if we set the selected item in this component\r\n const didSetSelectedItemRef = React.useRef(false)\r\n\r\n // Cleanup on unmount\r\n React.useEffect(() => {\r\n return () => {\r\n // Clear selected item if we set it\r\n if (didSetSelectedItemRef.current && setSelectedItem) {\r\n setSelectedItem(null)\r\n didSetSelectedItemRef.current = false\r\n }\r\n }\r\n }, [setSelectedItem])\r\n\r\n // Get address and search for matching buildings\r\n React.useEffect(() => {\r\n const getAddress = async (longitude: number, latitude: number) => {\r\n try {\r\n // Reverse geocode through the shared provider (Geocode Earth / self-hosted\r\n // Pelias, falling back to public OSM) so this stays in sync with the geocoder.\r\n const result = await getDetailedAddress([longitude, latitude], organizationCountry)\r\n const geocodedAddress = result?.properties?.name as string | undefined\r\n\r\n if (!geocodedAddress) {\r\n clearExistingBuildingMatches()\r\n return\r\n }\r\n\r\n setAddress(geocodedAddress)\r\n\r\n // Search for existing buildings with this address\r\n if (buildings && buildings.length > 0) {\r\n const normalizedGeocodedAddress = normalizeAddress(geocodedAddress)\r\n\r\n const matches = buildings.filter((building) => {\r\n if (!building.buildingAddress) return false\r\n\r\n const normalizedBuildingAddress = normalizeAddress(building.buildingAddress)\r\n return (\r\n normalizedBuildingAddress === normalizedGeocodedAddress ||\r\n normalizedBuildingAddress.includes(normalizedGeocodedAddress) ||\r\n normalizedGeocodedAddress.includes(normalizedBuildingAddress)\r\n )\r\n })\r\n\r\n if (matches.length > 0) {\r\n setMatchingBuildings(matches)\r\n setSelectedMatchingBuildingId(matches[0].id.toString())\r\n setShowExistingBuildings(true)\r\n\r\n // Set the first match as the selected item for the update hook\r\n if (setSelectedItem) {\r\n setSelectedItem(matches[0])\r\n didSetSelectedItemRef.current = true\r\n }\r\n } else {\r\n clearExistingBuildingMatches()\r\n }\r\n } else {\r\n clearExistingBuildingMatches()\r\n }\r\n }\r\n catch (error) {\r\n console.error('Error fetching municipality and countrySubdivision:', error)\r\n }\r\n }\r\n\r\n if (feature.properties?.coordinates) {\r\n const longitude = feature.properties.coordinates[0]\r\n const latitude = feature.properties.coordinates[1]\r\n getAddress(longitude, latitude)\r\n }\r\n }, [feature, buildings, setSelectedItem, normalizeAddress, clearExistingBuildingMatches])\r\n\r\n React.useEffect(() => {\r\n if (!setSelectedItem || !selectedMatchingBuildingId) return\r\n\r\n const selectedBuilding = matchingBuildings.find(\r\n building => building.id.toString() === selectedMatchingBuildingId,\r\n )\r\n\r\n if (!selectedBuilding) return\r\n\r\n setSelectedItem(selectedBuilding)\r\n didSetSelectedItemRef.current = true\r\n }, [matchingBuildings, selectedMatchingBuildingId, setSelectedItem])\r\n\r\n // Fallbacks from feature or map state\r\n const buildingCountrySubdivision = featureProps.de_ao_prov || currentLocation.countrySubdivision || null\r\n const buildingMunicipality = featureProps.de_ao_city || currentLocation.municipality || null\r\n const buildingPostalCode = featureProps.de_ao_post || currentLocation.postalCode || null\r\n const site = currentLocation.site || null\r\n const buildingOsmId = featureid.toString()\r\n\r\n // Create MarkerManager instance\r\n const markerManagerRef = React.useRef<MarkerManager | null>(null)\r\n\r\n // Initialize MarkerManager\r\n React.useEffect(() => {\r\n if (!markerManagerRef.current) {\r\n markerManagerRef.current = new MarkerManager()\r\n }\r\n\r\n // Cleanup on unmount\r\n return () => {\r\n if (markerManagerRef.current) {\r\n markerManagerRef.current.destroy()\r\n markerManagerRef.current = null\r\n }\r\n }\r\n }, [])\r\n\r\n // Get coordinates data from feature\r\n const [coordinates, setCoordinates] = React.useState(featureProps.coordinates || null)\r\n\r\n // Listen for marker coordinate changes\r\n React.useEffect(() => {\r\n if (!markerManagerRef.current) return\r\n\r\n const cleanup = markerManagerRef.current.onMoved((event) => {\r\n const newCoordinates = event.detail.coordinates\r\n if (newCoordinates) {\r\n setCoordinates(newCoordinates)\r\n }\r\n })\r\n\r\n return cleanup\r\n }, [])\r\n\r\n const handleBuildingNameChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setName(event.target.value)\r\n }\r\n\r\n const handleAddressChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setAddress(event.target.value)\r\n }\r\n\r\n const selectedMatchingBuilding = matchingBuildings.find(\r\n building => building.id.toString() === selectedMatchingBuildingId,\r\n )\r\n\r\n const handleAttachExistingBuilding = async (building: Building) => {\r\n setIsAttaching(true)\r\n\r\n try {\r\n // Add OSM ID to existing building\r\n const result = await updateBuilding({\r\n buildingOsmId,\r\n // Set default storey number of 2 if building doesn't have one\r\n ...(building.buildingStoreyNum == null && { buildingStoreyNum: 2 })\r\n })\r\n\r\n toast.success(t('toastAttachSuccess'))\r\n\r\n // Clear the selected item after successful update\r\n if (setSelectedItem) {\r\n setSelectedItem(null)\r\n didSetSelectedItemRef.current = false\r\n }\r\n\r\n // Close the popover\r\n onCloseAction()\r\n\r\n } catch (error) {\r\n console.error('Error attaching building:', error)\r\n\r\n if (error?.status !== 401) {\r\n toast.error(t('toastAttachError'))\r\n }\r\n } finally {\r\n setIsAttaching(false)\r\n }\r\n }\r\n\r\n const handleCreateNewBuilding = async (event: React.FormEvent) => {\r\n event.preventDefault()\r\n\r\n // Get final values (prioritize user input, then existing data)\r\n const buildingName = name.trim() || featureProps._name || ''\r\n const finalAddress = address.trim() || address || ''\r\n\r\n if (!user?.organizationId) {\r\n toast.error(t('userNotFound'))\r\n return\r\n }\r\n\r\n // Use updated coordinates from marker if available\r\n const buildingCoordinates = coordinates || [featureProps.longitude, featureProps.latitude]\r\n\r\n const newBuilding: Partial<Building> = {\r\n buildingName,\r\n buildingAddress: finalAddress,\r\n buildingType: ['Other'],\r\n buildingOsmId,\r\n buildingLatitude: buildingCoordinates ? buildingCoordinates[1] : null,\r\n buildingLongitude: buildingCoordinates ? buildingCoordinates[0] : null,\r\n buildingCountrySubdivision,\r\n buildingMunicipality,\r\n buildingPostalCode,\r\n }\r\n\r\n try {\r\n const result = await createBuilding({\r\n buildingData: newBuilding,\r\n organizationId: user.organizationId.toString(),\r\n })\r\n\r\n // Remove marker after creating building\r\n if (markerManagerRef.current) {\r\n markerManagerRef.current.remove()\r\n }\r\n\r\n toast.success(t('toastSuccess'))\r\n\r\n // Close the popover on success\r\n onCloseAction()\r\n }\r\n catch (error) {\r\n console.error('Error creating building:', error)\r\n toast.error(t('toastError'))\r\n }\r\n }\r\n\r\n const handleLocationEdit = () => {\r\n // Create marker at current coordinates with editing enabled\r\n if (markerManagerRef.current && coordinates && map) {\r\n console.log('Creating editable marker at coordinates:', coordinates)\r\n markerManagerRef.current.create(coordinates as [number, number], map, {\r\n editing: true\r\n })\r\n }\r\n else {\r\n console.warn('Cannot create marker: missing coordinates or map instance')\r\n }\r\n }\r\n\r\n return (\r\n <PopoverContent className=\"w-64 -m-1\" side=\"top\">\r\n <form onSubmit={handleCreateNewBuilding}>\r\n {/* Header row: close button, no overlap with content below */}\r\n <div className=\"flex items-center justify-end mb-1\">\r\n <Button\r\n type=\"button\"\r\n onClick={onCloseAction}\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className=\"shrink-0 p-0 m-0 text-muted-foreground hover:text-foreground\"\r\n aria-label={t('closeAriaLabel')}\r\n >\r\n <LR.X className=\"w-4 h-4\" />\r\n </Button>\r\n </div>\r\n\r\n <div className=\"grid gap-4\">\r\n {/* Show existing building if match found */}\r\n {showExistingBuildings && matchingBuildings.length > 0 && (\r\n <div className=\"space-y-1\">\r\n <div className=\"text-xs text-muted-foreground\">\r\n {t('existingBuildingFound')}\r\n </div>\r\n <div className=\"flex flex-col justify-between gap-2 p-2 bg-muted/50 border rounded-lg\">\r\n <div className=\"grid gap-1\">\r\n <Label htmlFor=\"existing-building-select\" className=\"text-xs text-muted-foreground\">\r\n {t('selectExistingBuildingLabel')}\r\n </Label>\r\n <Select\r\n value={selectedMatchingBuildingId}\r\n onValueChange={setSelectedMatchingBuildingId}\r\n >\r\n <SelectTrigger id=\"existing-building-select\" className=\"h-9 w-full\">\r\n <SelectValue placeholder={t('selectExistingBuildingPlaceholder')} />\r\n </SelectTrigger>\r\n <SelectContent>\r\n {matchingBuildings.map((building) => (\r\n <SelectItem key={building.id} value={building.id.toString()}>\r\n {building.buildingName || building.buildingAddress || `${t('na')} (${building.id})`}\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n </div>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n className='w-full'\r\n onClick={() => selectedMatchingBuilding && handleAttachExistingBuilding(selectedMatchingBuilding)}\r\n disabled={isAttaching || isUpdating || !selectedMatchingBuilding}\r\n >\r\n {(isAttaching || isUpdating) ? (\r\n <>\r\n <LoadingSpinner />\r\n <span>{t('attaching')}</span>\r\n </>\r\n ) : (\r\n <>\r\n <LR.Link />\r\n {t('attachBuilding')}\r\n </>\r\n )}\r\n </Button>\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"grid gap-2\">\r\n <Label htmlFor=\"building-name\" className=\"text-xs text-muted-foreground\">\r\n {t('nameLabel')}\r\n </Label>\r\n <input\r\n id=\"building-name\"\r\n value={name}\r\n onChange={handleBuildingNameChange}\r\n placeholder={name || t('namePlaceholder')}\r\n className={`font-medium leading-none bg-transparent border-b border-gray-300 focus:outline-none focus:border-primary px-1 py-1 ${name ? 'placeholder:text-foreground' : 'placeholder:text-muted-foreground'}`}\r\n aria-label={t('nameInputAriaLabel')}\r\n required\r\n disabled={!ability.can('create', 'Building')}\r\n />\r\n </div>\r\n\r\n <div className=\"grid gap-2\">\r\n <Label htmlFor=\"building-address\" className=\"text-xs text-muted-foreground\">\r\n {t('addressLabel')}\r\n </Label>\r\n <input\r\n id=\"building-address\"\r\n value={address}\r\n onChange={handleAddressChange}\r\n placeholder={address || t('addressPlaceholder')}\r\n className={`font-medium leading-none bg-transparent focus:outline-none focus:border-primary px-1 py-1 ${address ? 'placeholder:text-foreground' : 'placeholder:text-muted-foreground'}`}\r\n aria-label={t('addressAriaLabel')}\r\n required\r\n disabled={!ability.can('create', 'Building')}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"flex items-center gap-3 justify-center mt-4\">\r\n <Button\r\n type=\"button\"\r\n variant=\"outline\"\r\n aria-label=\"Edit Location\"\r\n title=\"Edit Location\"\r\n onClick={handleLocationEdit}\r\n disabled={!ability.can('update', 'Building')}\r\n >\r\n <LR.LocationEdit className=\"w-4 h-4\" />\r\n </Button>\r\n\r\n <Button\r\n type=\"submit\"\r\n variant=\"outline\"\r\n aria-label={t('addBuilding')}\r\n title={t('addBuilding')}\r\n disabled={isMutating || !ability.can('create', 'Building')}\r\n >\r\n {isMutating\r\n ? (\r\n <>``\r\n <LoadingSpinner />\r\n <span className=\"text-sm\">{t('creating')}</span>\r\n </>\r\n )\r\n : (\r\n <>\r\n <LR.Building2 className=\"w-4 h-4\" />\r\n <span className=\"text-sm\">{t('addBuilding')}</span>\r\n </>\r\n )}\r\n </Button>\r\n </div>\r\n </form>\r\n </PopoverContent>\r\n )\r\n}"],"mappings":"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","names":["_a"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenDataFeaturePopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenDataFeaturePopover.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/components/viewers/map/src/MapFeaturePopoverMenu/src/OpenDataFeaturePopover.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,UAAU,2BAA2B;IACnC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,MAAM,IAAI,CAAA;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,OAAO,EACP,MAAM,EACN,aAAa,GACd,EAAE,2BAA2B,qBAqL7B"}
|