diff --git a/config/webpack.config.js b/config/webpack.config.js index 1fd99baf5..dd16df345 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -388,6 +388,10 @@ module.exports = function (webpackEnv) { 'sass-loader' ) }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + }, { test: /\.ttf$/, type: 'asset/resource' diff --git a/package-lock.json b/package-lock.json index 51fb122a5..7f26ccca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "graph-explorer-v2", - "version": "10.2.1", + "version": "10.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "graph-explorer-v2", - "version": "10.2.1", + "version": "10.3.0", "dependencies": { "@augloop/types-core": "file:packages/types-core-2.16.189.tgz", "@axe-core/webdriverjs": "4.8.5", diff --git a/package.json b/package.json index 0069eb492..d3f56d0c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "graph-explorer-v2", - "version": "10.2.1", + "version": "10.3.0", "private": true, "dependencies": { "@augloop/types-core": "file:packages/types-core-2.16.189.tgz", diff --git a/src/app/views/query-runner/query-input/auto-complete/suffix/SuffixRenderer.tsx b/src/app/views/query-runner/query-input/auto-complete/suffix/SuffixRenderer.tsx index 05972fa91..c65755482 100644 --- a/src/app/views/query-runner/query-input/auto-complete/suffix/SuffixRenderer.tsx +++ b/src/app/views/query-runner/query-input/auto-complete/suffix/SuffixRenderer.tsx @@ -23,11 +23,15 @@ const SuffixRenderer = () => { const getDocumentationLink = (): string | null => { const { queries } = samples; - + const getChildren = ()=> { + if (resources.data && Object.keys(resources.data).length > 0 && sampleQuery.selectedVersion in resources.data){ + return resources.data[sampleQuery.selectedVersion].children ?? []; + } + return []; + } const resourceDocumentationUrl = new DocumentationService({ sampleQuery, - source: Object.keys(resources.data).length > 0 ? - resources.data[sampleQuery.selectedVersion].children! : [] + source: getChildren() }).getDocumentationLink(); const sampleDocumentationUrl = new DocumentationService({ diff --git a/src/index.tsx b/src/index.tsx index 7848f55f3..ce3a4acbc 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -160,6 +160,43 @@ function loadResources() { } loadResources(); +/** + * Set's up Monaco Editor's Workers. + */ +enum Workers { + Json = 'json', + Editor = 'editor', + Typescript='ts', + Css='css', + Html='html' +} + +window.MonacoEnvironment = { + getWorkerUrl(moduleId: any, label: string) { + switch (label) { + case 'json': + return getWorkerFor(Workers.Json); + case 'css': + return getWorkerFor(Workers.Css); + case 'html': + return getWorkerFor(Workers.Html); + case 'typescript': + return getWorkerFor(Workers.Typescript); + default: + return getWorkerFor(Workers.Editor); + } + } +}; + +function getWorkerFor(worker: string): string { + // tslint:disable-next-line:max-line-length + const WORKER_PATH = + 'https://graphstagingblobstorage.blob.core.windows.net/staging/vendor/bower_components/explorer-v2/build'; + + return `data:text/javascript;charset=utf-8,${encodeURIComponent(` + importScripts('${WORKER_PATH}/${worker}.worker.js');`)}`; +} + variantService.initialize(); const telemetryProvider: ITelemetry = telemetry; telemetryProvider.initialize(); diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 581189bba..237180bcf 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1,7 +1,10 @@ +import { Environment } from 'monaco-editor/esm/vs/editor/editor.api'; + export {}; declare global { interface Window { ClientId: string | undefined + MonacoEnvironment: Environment; } }