Skip to content

Commit

Permalink
Read custom visualizations (#8180)
Browse files Browse the repository at this point in the history
- Closes #8077

# Important Notes
Tests are still WIP
  • Loading branch information
somebody1234 committed Nov 3, 2023
1 parent 90d3445 commit 168e222
Show file tree
Hide file tree
Showing 58 changed files with 1,827 additions and 1,036 deletions.
4 changes: 4 additions & 0 deletions app/gui2/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ coverage

test-results/
playwright-report/

src/util/iconList.json
src/util/iconName.ts
src/stores/visualization/metadata.json
7 changes: 0 additions & 7 deletions app/gui2/env.d.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
/// <reference types="vite/client" />

declare const PROJECT_MANAGER_URL: string
declare const HISTOIRE: boolean | undefined
declare const RUNNING_VITEST: boolean

declare module 'builtins' {
export const VisualizationContainer: typeof import('@/components/VisualizationContainer.vue').default
export const useVisualizationConfig: typeof import('@/providers/visualizationConfig').useVisualizationConfig
export const defineKeybinds: typeof import('@/util/shortcuts').defineKeybinds
}
2 changes: 1 addition & 1 deletion app/gui2/eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const DIR_NAME = path.dirname(url.fileURLToPath(import.meta.url))

const conf = [
{
ignores: ['rust-ffi/pkg', 'dist', 'src/generated'],
ignores: ['rust-ffi/pkg', 'dist', 'src/generated', 'templates'],
},
...compat.extends('plugin:vue/vue3-recommended'),
eslintJs.configs.recommended,
Expand Down
1 change: 1 addition & 0 deletions app/gui2/histoire.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ const order = [
'All SVG Icons',
// Visualizations
'Selector',
'User Defined',
'JSON',
'Table',
'Scatterplot',
Expand Down
6 changes: 4 additions & 2 deletions app/gui2/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
"build-rust-ffi": "wasm-pack build ./rust-ffi --release --target web",
"generate-ast-schema": "cargo run -p enso-parser-schema > src/generated/ast-schema.json",
"generate-ast-types": "tsx ./parser-codegen/index.ts src/generated/ast-schema.json src/generated/ast.ts",
"preinstall": "npm run build-rust-ffi && npm run generate-ast-schema && npm run generate-ast-types",
"generate-icon-metadata": "node scripts/generateIcons.js"
"preinstall": "npm run build-rust-ffi && npm run generate-ast-schema && npm run generate-ast-types && npm run generate-metadata",
"generate-metadata": "node scripts/generateIconMetadata.js"
},
"dependencies": {
"@ag-grid-community/client-side-row-model": "^30.2.0",
Expand Down Expand Up @@ -79,6 +79,7 @@
"@types/mapbox-gl": "^2.7.13",
"@types/node": "^18.17.5",
"@types/shuffle-seed": "^1.1.0",
"@types/wicg-file-system-access": "^2023.10.2",
"@types/ws": "^8.5.5",
"@vitejs/plugin-react": "^4.0.4",
"@vitejs/plugin-vue": "^4.3.1",
Expand All @@ -93,6 +94,7 @@
"eslint": "^8.49.0",
"eslint-plugin-vue": "^9.16.1",
"floating-vue": "^2.0.0-beta.24",
"hash-wasm": "^4.10.0",
"histoire": "^0.17.2",
"jsdom": "^22.1.0",
"postcss-nesting": "^12.0.1",
Expand Down
31 changes: 0 additions & 31 deletions app/gui2/public/visualizations/builtins.ts

This file was deleted.

87 changes: 0 additions & 87 deletions app/gui2/public/visualizations/events.ts

This file was deleted.

7 changes: 0 additions & 7 deletions app/gui2/public/visualizations/icons/find.svg

This file was deleted.

7 changes: 0 additions & 7 deletions app/gui2/public/visualizations/icons/geo_map_distance.svg

This file was deleted.

5 changes: 0 additions & 5 deletions app/gui2/public/visualizations/icons/geo_map_pin.svg

This file was deleted.

5 changes: 0 additions & 5 deletions app/gui2/public/visualizations/icons/path2.svg

This file was deleted.

5 changes: 0 additions & 5 deletions app/gui2/public/visualizations/icons/show_all.svg

This file was deleted.

25 changes: 0 additions & 25 deletions app/gui2/public/visualizations/measurement.ts

This file was deleted.

38 changes: 38 additions & 0 deletions app/gui2/scripts/generateBuiltinVisualizationMetadata.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import * as fs from 'node:fs/promises'

/** @type {{ name: string | undefined, inputType: string | undefined }[]} */
const visualizationMetadata = []

const order = [
'JSON',
'Table',
'Scatter Plot',
'Histogram',
'Heatmap',
'SQL Query',
'Geo Map',
'Image',
'Warnings',
]

console.info('Listing and reading visualization files...')
for (const path of [
...(await fs.readdir('./public/visualizations')).map((path) => './public/visualizations/' + path),
...(await fs.readdir('./src/components/visualizations')).map(
(path) => './src/components/visualizations/' + path,
),
]) {
if (!path.endsWith('Visualization.vue')) continue
const file = await fs.readFile(path, 'utf-8')
const name = file.match(/(?<=export\s+const\s+name\s+=\s+['"])[^'"]*/)?.[0]
const inputType = file.match(/(?<=export\s+const\s+inputType\s+=\s+['"])[^'"]*/)?.[0]
visualizationMetadata.push({ name, inputType })
}
visualizationMetadata.sort((a, b) => order.indexOf(a.name ?? '') - order.indexOf(b.name ?? ''))

console.info('Writing visualization metadata to "./src/stores/visualization/metadata.json"...')
await fs.writeFile(
'./src/stores/visualization/metadata.json',
JSON.stringify(visualizationMetadata, undefined, 2) + '\n',
)
console.info('Done.')
File renamed without changes.

0 comments on commit 168e222

Please sign in to comment.