25 Commits

Author SHA1 Message Date
Iain Sproat 15d79e6606 feat(domains): add *.speckle.systems domains to capabilities (#57) 2024-08-12 11:44:44 +02:00
Mucahit Bilal GOKER bc5d16dfb8 Update README.md 2024-06-06 10:51:15 +03:00
Mucahit Bilal GOKER e445d27b01 Merge pull request #56 from specklesystems/bimgeek/update-readme
Update README.md
2024-06-04 17:01:23 +03:00
Mucahit Bilal GOKER 75c8a60cef Update README.md 2024-06-03 22:10:52 +03:00
Alan Rynne 0f034c17d0 bump: 2.19 2024-05-27 15:10:40 +02:00
Alan Rynne bded971ecf chore: Bump viewer version to latest (#54)
And bump visual version to `rc2`
2024-05-23 16:47:39 +02:00
Alan Rynne 77b13c2d89 bump: 2.19.0-rc 2024-05-14 18:37:20 +02:00
Alan Rynne e3855a71c1 Merge pull request #53 from specklesystems/dev
Update `main` with changes from `dev`
2024-05-14 17:21:50 +02:00
Alan Rynne 90c22211a9 bump to 2.19.0-wip (#52) 2024-04-29 12:24:51 +02:00
Alan Rynne b13eef0b18 bump: Viewer 2.18.15 + code changes (#51) 2024-04-23 14:25:09 +02:00
Alan Rynne 31c75f5407 Merge branch 'main' into dev 2024-04-08 16:31:53 +02:00
Benjamin Ottensten cd75dca5d7 Update web app link in README 2024-03-18 13:20:48 +01:00
Alan Rynne 72f1a836cb bump: 2.18.0 2024-03-14 11:42:49 +01:00
Alan Rynne 0232c91d42 Merge pull request #50 from specklesystems/CNX-9113-Power-BI-Visual-Update-to-use-new-FE2-Terminology
CNX-9113: FE2 -> fixed old naming in visual inputs and error message
2024-03-01 14:29:59 +01:00
Alan Rynne 38b2c55166 fixed old naming in visual inputs and error message 2024-03-01 13:36:36 +01:00
Alan Rynne fac7d8e547 bump: 2.17.0 2023-11-27 11:05:50 +01:00
Alan Rynne b19986ec35 Merge pull request #48 from specklesystems/dev
Update main from dev
2023-11-27 11:00:34 +01:00
Alan Rynne 3430cba29a Merge pull request #47 from specklesystems/alan/bump-2.16.0
Misc fixes and improvements for 2.17 release
2023-11-14 12:17:06 +01:00
Alan Rynne 6b57415d10 feat: Do not show Tooltip when no data is input 2023-11-12 23:26:56 +01:00
Alan Rynne 653dfb9910 fix: Selection when tooltip without color filter was active 2023-11-12 23:26:33 +01:00
Alan Rynne 30dbd19c52 feat: Adds watermark to loaded visual 2023-11-12 23:07:28 +01:00
Alan Rynne cfc958f9fd fix: do not upgrade ui dependencies yet 2023-11-10 10:49:10 +01:00
Alan Rynne 9cf6786e52 fix: Added images.d.ts 2023-10-31 12:43:59 +01:00
Alan Rynne 7ad8cd7e24 fix: Pack speckle logo with webpack correctly 2023-10-31 12:07:01 +01:00
Alan Rynne 71cbd55583 bump: Speckle dependencies to 2.16.0 2023-10-27 10:01:46 +02:00
14 changed files with 402 additions and 268 deletions
+1
View File
@@ -6,3 +6,4 @@ webpack.statistics.prod.html
.DS_Store
.idea/
webpack.statistics.html
**/Thumbs.db
+8 -2
View File
@@ -1,3 +1,9 @@
# ⚠️⚠️⚠️ Note: This repository is no longer maintained and has been merged with the [Speckle Power BI](https://github.com/specklesystems/speckle-powerbi) repository. ⚠️⚠️⚠️
The functionalities and features of Speckle Power BI Visuals have been consolidated into the main [Speckle Power BI](https://github.com/specklesystems/speckle-powerbi) repository. Please visit the Speckle Power BI repository for the latest updates, installation instructions, and continued development.
<h1 align="center">
<img src="https://user-images.githubusercontent.com/2679513/131189167-18ea5fe1-c578-47f6-9785-3748178e4312.png" width="150px"/><br/>
Speckle | PowerBI Visuals
@@ -7,7 +13,7 @@
Expected use case is that the visual displays data pulled from Speckle via the Speckle Data Connector for PowerBI (https://github.com/specklesystems/speckle-powerbi)
</h3>
> ⚠️ This repo is still in very early stages of development, use at your own risk!
> This repo is still in very early stages of development, use at your own risk!
<p align="center"><b>Speckle</b> is data infrastructure for the AEC industry.</p><br/>
@@ -35,7 +41,7 @@ What is Speckle? Check our ![YouTube Video Views](https://img.shields.io/youtube
Give Speckle a try in no time by:
- [![speckle XYZ](https://img.shields.io/badge/https://-speckle.xyz-0069ff?style=flat-square&logo=hackthebox&logoColor=white)](https://speckle.xyz) ⇒ creating an account at
- [![speckle](https://img.shields.io/badge/https://-app.speckle.systems-0069ff?style=flat-square&logo=hackthebox&logoColor=white)](https://app.speckle.systems) ⇒ creating an account
- [![create a droplet](https://img.shields.io/badge/Create%20a%20Droplet-0069ff?style=flat-square&logo=digitalocean&logoColor=white)](https://marketplace.digitalocean.com/apps/speckle-server?refcode=947a2b5d7dc1) ⇒ deploying an instance in 1 click
### Resources
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+4 -2
View File
@@ -1,12 +1,12 @@
{
"dataRoles": [
{
"displayName": "Stream URL",
"displayName": "Model URL",
"kind": "Grouping",
"name": "stream"
},
{
"displayName": "Commit Object ID",
"displayName": "Version Object ID",
"kind": "Grouping",
"name": "parentObject"
},
@@ -207,6 +207,8 @@
"name": "WebAccess",
"parameters": [
"https://speckle.xyz",
"https://app.speckle.systems",
"https://latest.speckle.systems",
"https://*.speckle.xyz",
"https://latest.speckle.dev",
"https://*.speckle.dev",
+330 -238
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -16,9 +16,9 @@
"@babel/runtime-corejs3": "^7.21.5",
"@headlessui/vue": "^1.7.13",
"@heroicons/vue": "^2.0.12",
"@speckle/tailwind-theme": "^2.14.7",
"@speckle/ui-components": "^2.14.7",
"@speckle/viewer": "^2.14.7",
"@speckle/tailwind-theme": "2.14.7",
"@speckle/ui-components": "2.14.7",
"@speckle/viewer": "^2.18.14",
"color-interpolate": "^1.0.5",
"core-js": "^3.30.2",
"lodash": "^4.17.21",
+1 -1
View File
@@ -4,7 +4,7 @@
"displayName": "Speckle PowerBI Viewer",
"guid": "powerbiSpeckleVisualAA98F06515D847E8ACB33BAB487244E0",
"visualClassName": "Visual",
"version": "2.15.0-rc",
"version": "2.19.0",
"description": "An interactive 3D viewer for Speckle Data",
"supportUrl": "https://speckle.community",
"gitHubUrl": "https://github.com/specklesystems/speckle-powerbi-visuals"
+1
View File
@@ -37,6 +37,7 @@ export default class TooltipHandler {
}
this.tooltipService.show(tooltipData)
if (Object.keys(tooltipData.dataItems).length > 0) this.tooltipService.show(tooltipData)
}
public hide() {
+14 -8
View File
@@ -1,17 +1,18 @@
import {
CanonicalView,
FilteringState,
Viewer,
LegacyViewer,
IntersectionQuery,
DefaultViewerParams,
Box3,
SpeckleView
SpeckleView,
CameraController
} from '@speckle/viewer'
import { pickViewableHit, projectToScreen } from '../utils/viewerUtils'
import _ from 'lodash'
import { SpeckleVisualSettingsModel } from 'src/settings/visualSettingsModel'
export default class ViewerHandler {
private viewer: Viewer
private viewer: LegacyViewer
private readonly parent: HTMLElement
private state: FilteringState
private loadedObjectsCache: Set<string> = new Set<string>()
@@ -37,7 +38,8 @@ export default class ViewerHandler {
break
}
this.viewer.cameraHandler.controls.maxPolarAngle = settings.camera.allowCameraUnder.value
this.viewer.getExtension(CameraController).controls.maxPolarAngle = settings.camera
.allowCameraUnder.value
? Math.PI
: Math.PI / 2
@@ -70,7 +72,7 @@ export default class ViewerHandler {
}
public addCameraUpdateEventListener(listener: (ev) => void) {
this.viewer.cameraHandler.controls.addEventListener('update', listener)
this.viewer.getExtension(CameraController).controls.addEventListener('update', listener)
}
public constructor(parent: HTMLElement) {
@@ -82,7 +84,7 @@ export default class ViewerHandler {
const viewerSettings = DefaultViewerParams
viewerSettings.showStats = false
viewerSettings.verbose = false
const viewer = new Viewer(this.parent, viewerSettings)
const viewer = new LegacyViewer(this.parent, viewerSettings)
await viewer.init()
this.viewer = viewer
}
@@ -203,17 +205,21 @@ export default class ViewerHandler {
}
public async selectObjects(objectIds: string[] = null) {
if (!this.viewer) return
await this.viewer.resetHighlight()
const objIds = objectIds ?? []
this.state = await this.viewer.selectObjects(objIds)
}
public getScreenPosition(worldPosition): { x: number; y: number } {
return projectToScreen(this.viewer.cameraHandler.camera, worldPosition)
return projectToScreen(
this.viewer.getExtension(CameraController).controls.camera,
worldPosition
)
}
public dispose() {
this.viewer.cameraHandler.controls.removeAllEventListeners()
this.viewer.getExtension(CameraController).controls.removeAllEventListeners()
this.viewer.dispose()
this.viewer = null
}
+4
View File
@@ -0,0 +1,4 @@
declare module '*.png' {
const source: string
export default source
}
+1 -1
View File
@@ -20,7 +20,7 @@ function goToGuide() {
class="flex flex-col justify-center items-center h-full w-full bg-primary text-center text-foundation"
>
<div class="flex justify-center items-center">
<img src="../../assets/logo-white.png" alt="Logo" class="w-1/3" />
<img src="@assets/logo-white.png" alt="Logo" class="w-1/3" />
</div>
<p class="heading">Speckle PowerBI 3D Visual</p>
<div class="flex justify-center mt-2 gap-1">
+27 -1
View File
@@ -1,9 +1,35 @@
<script setup lang="ts">
import ViewerWrapper from 'src/components/ViewerWrapper.vue'
import { inject } from 'vue'
import { hostKey } from 'src/injectionKeys'
const host = inject(hostKey)
const goToSpeckleWebsite = () => host.launchUrl('https://speckle.systems')
</script>
<template>
<div id="overlay">
<img class="watermark" src="@assets/powered-by-speckle.png" @click="goToSpeckleWebsite" />
</div>
<viewer-wrapper id="speckle-3d-view" class="h-full w-full"></viewer-wrapper>
</template>
<style scoped></style>
<style scoped>
.watermark {
height: auto;
width: 60pt;
margin-top: 3pt;
margin-right: 3pt;
}
.watermark:hover {
cursor: pointer;
}
#overlay {
position: absolute;
width: 100%;
z-index: 100;
}
</style>
+4 -2
View File
@@ -76,9 +76,11 @@ export class Visual implements IVisual {
console.log('❌Input not valid:', (e as Error).message)
this.host.displayWarningIcon(
`Incomplete data input.`,
`"Stream URL", "Commit Object ID" and "Object ID" data inputs are mandatory. If your data connector does not output all these columns, please update it.`
`"Model URL", "Version Object ID" and "Object ID" data inputs are mandatory. If your data connector does not output all these columns, please update it.`
)
console.warn(
`Incomplete data input. "Model URL", "Version Object ID" and "Object ID" data inputs are mandatory. If your data connector does not output all these columns, please update it.`
)
console.warn(`Incomplete data input. "Stream URL" and "Object ID" data inputs are mandatory`)
store.commit('setStatus', 'incomplete')
return
}
+4 -10
View File
@@ -12,14 +12,10 @@
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"types": [],
"baseUrl": "./",
"baseUrl": ".",
"paths": {
"src/*": [
"./src/*"
],
"assets/*": [
"./assets/*"
]
"@src/*": ["src/*"],
"@assets/*": ["assets/*"]
}
},
"ts-node": {
@@ -30,7 +26,5 @@
},
"files": ["./src/visual.ts"],
"include": ["./src/**/*.ts", "./src/**/*.vue"],
"exclude": [
"webpack.config.dev.ts"
]
"exclude": ["webpack.config.dev.ts"]
}