@deephaven/embed-widget 0.63.1-express-memory-fix.2 → 0.64.1-beta.0
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/build/assets/{App-cc51f4b2.js → App-7f7aa6db.js} +2 -2
- package/build/assets/{App-cc51f4b2.js.map → App-7f7aa6db.js.map} +1 -1
- package/build/assets/{MarkdownEditor-d028efcc.js → MarkdownEditor-32ce1a82.js} +2 -2
- package/build/assets/{MarkdownEditor-d028efcc.js.map → MarkdownEditor-32ce1a82.js.map} +1 -1
- package/build/assets/{MarkdownNotebook-5cee8c9f.js → MarkdownNotebook-01dd648a.js} +2 -2
- package/build/assets/{MarkdownNotebook-5cee8c9f.js.map → MarkdownNotebook-01dd648a.js.map} +1 -1
- package/build/assets/{index-ae5c2ef1.js → index-496cb8dd.js} +3 -3
- package/build/assets/index-496cb8dd.js.map +1 -0
- package/build/assets/{index-ae42d2bf.js → index-5206b505.js} +2 -2
- package/build/assets/{index-ae42d2bf.js.map → index-5206b505.js.map} +1 -1
- package/build/assets/{index-141d7c0e.js → index-bcccacf0.js} +22 -22
- package/build/assets/index-bcccacf0.js.map +1 -0
- package/build/assets/{useConnection-51f83c5a.js → useConnection-03466c6b.js} +2 -2
- package/build/assets/{useConnection-51f83c5a.js.map → useConnection-03466c6b.js.map} +1 -1
- package/build/assets/{usePlugins-228ae1cc.js → usePlugins-e9f621d2.js} +2 -2
- package/build/assets/{usePlugins-228ae1cc.js.map → usePlugins-e9f621d2.js.map} +1 -1
- package/build/index.html +2 -2
- package/package.json +15 -15
- package/build/assets/index-141d7c0e.js.map +0 -1
- package/build/assets/index-ae5c2ef1.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,C as o}from"./vendor-e5b6c1c9.js";import{L as m,a as g}from"./index-
|
|
2
|
-
//# sourceMappingURL=App-
|
|
1
|
+
import{r as t,C as o}from"./vendor-e5b6c1c9.js";import{L as m,a as g}from"./index-5206b505.js";import{C as w}from"./usePlugins-e9f621d2.js";import{u as h,E as x,W as E,f as y}from"./useConnection-03466c6b.js";import"./helpers-de833af9.js";const c=m.module("EmbedWidget.App");function D(){const[s,l]=t.useState(),[e,u]=t.useState(),n=t.useMemo(()=>new URLSearchParams(window.location.search),[]).get("name"),i=h();t.useEffect(function(){async function p(){try{if(n==null)throw new Error('Missing URL parameter "name"');c.debug(`Loading widget definition for ${n}...`);const r=await y(i,n);u(r),c.debug(`Widget definition successfully loaded for ${n}`)}catch(r){c.error(`Unable to load widget definition for ${n}`,r),l(`${r}`)}}p()},[i,n]);const a=e!=null&&s==null,d=e==null&&s==null,f=t.useMemo(()=>e==null?async()=>{throw new Error("Definition is null")}:()=>i.getObject(e),[i,e]);return o.jsxs("div",{className:"App",children:[a&&o.jsx(x,{children:o.jsx(E,{type:e.type,fetch:f})}),!a&&o.jsx(g,{isLoaded:a,isLoading:d,errorMessage:s??null}),o.jsx(w,{})]})}export{D as default};
|
|
2
|
+
//# sourceMappingURL=App-7f7aa6db.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App-
|
|
1
|
+
{"version":3,"file":"App-7f7aa6db.js","sources":["../../src/App.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useConnection } from '@deephaven/app-utils';\nimport {\n ContextMenuRoot,\n ErrorBoundary,\n LoadingOverlay,\n} from '@deephaven/components'; // Use the loading spinner from the Deephaven components package\nimport type { VariableDefinition } from '@deephaven/jsapi-types';\nimport { fetchVariableDefinition } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport { WidgetView } from '@deephaven/plugin';\nimport './App.scss'; // Styles for in this app\n\nconst log = Log.module('EmbedWidget.App');\n\n/**\n * A functional React component that displays a Deephaven Widget using the @deephaven/plugin package.\n * It will attempt to open and display the widget specified with the `name` parameter, expecting it to be present on the server.\n * E.g. http://localhost:4030/?name=myWidget will attempt to open a widget `myWidget`\n * If no query param is provided, it will display an error.\n * By default, tries to connect to the server defined in the VITE_CORE_API_URL variable, which is set to http://localhost:10000/jsapi\n * See Vite docs for how to update these env vars: https://vitejs.dev/guide/env-and-mode.html\n */\nfunction App(): JSX.Element {\n const [error, setError] = useState<string>();\n const [definition, setDefinition] = useState<VariableDefinition>();\n const searchParams = useMemo(\n () => new URLSearchParams(window.location.search),\n []\n );\n // Get the widget name from the query param `name`.\n const name = searchParams.get('name');\n const connection = useConnection();\n\n useEffect(\n function initializeApp() {\n async function initApp(): Promise<void> {\n try {\n if (name == null) {\n throw new Error('Missing URL parameter \"name\"');\n }\n\n log.debug(`Loading widget definition for ${name}...`);\n\n const newDefinition = await fetchVariableDefinition(connection, name);\n\n setDefinition(newDefinition);\n\n log.debug(`Widget definition successfully loaded for ${name}`);\n } catch (e: unknown) {\n log.error(`Unable to load widget definition for ${name}`, e);\n setError(`${e}`);\n }\n }\n initApp();\n },\n [connection, name]\n );\n\n const isLoaded = definition != null && error == null;\n const isLoading = definition == null && error == null;\n\n const fetch = useMemo(() => {\n if (definition == null) {\n return async () => {\n throw new Error('Definition is null');\n };\n }\n return () => connection.getObject(definition);\n }, [connection, definition]);\n\n return (\n <div className=\"App\">\n {isLoaded && (\n <ErrorBoundary>\n <WidgetView type={definition.type} fetch={fetch} />\n </ErrorBoundary>\n )}\n {!isLoaded && (\n <LoadingOverlay\n isLoaded={isLoaded}\n isLoading={isLoading}\n errorMessage={error ?? null}\n />\n )}\n <ContextMenuRoot />\n </div>\n );\n}\n\nexport default App;\n"],"names":["log","Log","App","error","setError","useState","definition","setDefinition","name","useMemo","connection","useConnection","useEffect","initApp","newDefinition","fetchVariableDefinition","e","isLoaded","isLoading","fetch","jsxs","jsx","ErrorBoundary","WidgetView","LoadingOverlay","ContextMenuRoot"],"mappings":"+OAaA,MAAMA,EAAMC,EAAI,OAAO,iBAAiB,EAUxC,SAASC,GAAmB,CAC1B,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAiB,SAAA,EACrC,CAACC,EAAYC,CAAa,EAAIF,EAA6B,SAAA,EAM3DG,EALeC,EAAA,QACnB,IAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAChD,CAAC,CAAA,EAGuB,IAAI,MAAM,EAC9BC,EAAaC,IAEnBC,EAAA,UACE,UAAyB,CACvB,eAAeC,GAAyB,CAClC,GAAA,CACF,GAAIL,GAAQ,KACJ,MAAA,IAAI,MAAM,8BAA8B,EAG5CR,EAAA,MAAM,iCAAiCQ,CAAI,KAAK,EAEpD,MAAMM,EAAgB,MAAMC,EAAwBL,EAAYF,CAAI,EAEpED,EAAcO,CAAa,EAEvBd,EAAA,MAAM,6CAA6CQ,CAAI,EAAE,QACtDQ,EAAY,CACnBhB,EAAI,MAAM,wCAAwCQ,CAAI,GAAIQ,CAAC,EAClDZ,EAAA,GAAGY,CAAC,EAAE,CACjB,CACF,CACQH,GACV,EACA,CAACH,EAAYF,CAAI,CAAA,EAGb,MAAAS,EAAWX,GAAc,MAAQH,GAAS,KAC1Ce,EAAYZ,GAAc,MAAQH,GAAS,KAE3CgB,EAAQV,EAAAA,QAAQ,IAChBH,GAAc,KACT,SAAY,CACX,MAAA,IAAI,MAAM,oBAAoB,CAAA,EAGjC,IAAMI,EAAW,UAAUJ,CAAU,EAC3C,CAACI,EAAYJ,CAAU,CAAC,EAGzB,OAAAc,EAAA,KAAC,MAAI,CAAA,UAAU,MACZ,SAAA,CACCH,GAAAI,EAAAA,IAACC,GACC,SAACD,EAAAA,IAAAE,EAAA,CAAW,KAAMjB,EAAW,KAAM,MAAAa,EAAc,CACnD,CAAA,EAED,CAACF,GACAI,EAAA,IAACG,EAAA,CACC,SAAAP,EACA,UAAAC,EACA,aAAcf,GAAS,IAAA,CACzB,QAEDsB,EAAgB,EAAA,CACnB,CAAA,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as s,C as i,a$ as l,b0 as d,b1 as u,G as c}from"./vendor-e5b6c1c9.js";import{b$ as m,c0 as f}from"./index-
|
|
2
|
-
//# sourceMappingURL=MarkdownEditor-
|
|
1
|
+
import{r as s,C as i,a$ as l,b0 as d,b1 as u,G as c}from"./vendor-e5b6c1c9.js";import{b$ as m,c0 as f}from"./index-bcccacf0.js";import"./helpers-de833af9.js";import"./index-5206b505.js";import"./usePlugins-e9f621d2.js";import"./plotly-6b679548.js";function o(e,r,t){return r=p(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function p(e){var r=g(e,"string");return typeof r=="symbol"?r:String(r)}function g(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var v=e=>{var{children:r,className:t}=e,n=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return i.jsx("pre",{children:i.jsx("code",{children:i.jsx(f,{language:n,children:c.Children.map(r,a=>typeof a=="string"?a.trim():a)})})})};class h extends s.PureComponent{constructor(r){super(r),o(this,"container",void 0),this.container=null}render(){var{isEditing:r,content:t,onEditorInitialized:n}=this.props;return i.jsx("div",{className:"markdown-editor-container",ref:a=>{this.container=a},children:r?i.jsx(m,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):i.jsx(l,{components:{code:v},remarkPlugins:[d],rehypePlugins:[u],children:t})})}}o(h,"defaultProps",{isEditing:!1,content:""});export{h as default};
|
|
2
|
+
//# sourceMappingURL=MarkdownEditor-32ce1a82.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor-
|
|
1
|
+
{"version":3,"file":"MarkdownEditor-32ce1a82.js","sources":["../../../dashboard-core-plugins/dist/controls/markdown/MarkdownEditor.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Code, Editor } from '@deephaven/console';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar renderMarkdown = props => {\n var {\n children,\n className\n } = props;\n var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n return /*#__PURE__*/_jsx(\"pre\", {\n children: /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })\n });\n};\nexport default class MarkdownEditor extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"container\", void 0);\n this.container = null;\n }\n render() {\n var {\n isEditing,\n content,\n onEditorInitialized\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-editor-container\",\n ref: container => {\n this.container = container;\n },\n children: isEditing ? /*#__PURE__*/_jsx(Editor, {\n settings: {\n language: 'markdown',\n value: content,\n lineNumbers: 'off'\n },\n onEditorInitialized: onEditorInitialized\n }) : /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: renderMarkdown\n },\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeMathjax],\n children: content\n })\n });\n }\n}\n_defineProperty(MarkdownEditor, \"defaultProps\", {\n isEditing: false,\n content: ''\n});\n//# sourceMappingURL=MarkdownEditor.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","renderMarkdown","props","children","className","language","_jsx","Code","React","child","MarkdownEditor","PureComponent","isEditing","content","onEditorInitialized","container","Editor","Markdown","remarkMath","rehypeMathjax"],"mappings":"wPAAA,SAASA,EAAgBC,EAAKC,EAAKC,EAAO,CAAE,OAAAD,EAAME,EAAeF,CAAG,EAAOA,KAAOD,EAAO,OAAO,eAAeA,EAAKC,EAAK,CAAE,MAAOC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYF,EAAIC,CAAG,EAAIC,EAAgBF,CAAM,CAC5O,SAASG,EAAeC,EAAK,CAAE,IAAIH,EAAMI,EAAaD,EAAK,QAAQ,EAAG,OAAO,OAAOH,GAAQ,SAAWA,EAAM,OAAOA,CAAG,CAAI,CAC3H,SAASI,EAAaC,EAAOC,EAAM,CAAE,GAAI,OAAOD,GAAU,UAAYA,IAAU,KAAM,OAAOA,EAAO,IAAIE,EAAOF,EAAM,OAAO,WAAW,EAAG,GAAIE,IAAS,OAAW,CAAE,IAAIC,EAAMD,EAAK,KAAKF,EAAOC,GAAQ,SAAS,EAAG,GAAI,OAAOE,GAAQ,SAAU,OAAOA,EAAK,MAAM,IAAI,UAAU,8CAA8C,CAAI,CAAC,OAAQF,IAAS,SAAW,OAAS,QAAQD,CAAK,CAAI,CAOzX,IAAII,EAAiBC,GAAS,CAC5B,GAAI,CACF,SAAAC,EACA,UAAAC,CACD,EAAGF,EACAG,EAAsCD,GAAc,MAAQA,IAAc,QAAUA,EAAU,WAAW,WAAW,EAAIA,EAAU,UAAU,CAAC,EAAI,YACrJ,OAAoBE,EAAAA,IAAK,MAAO,CAC9B,SAAuBA,EAAI,IAAC,OAAQ,CAClC,SAAuBA,EAAI,IAACC,EAAM,CAChC,SAAUF,EACV,SAAUG,EAAM,SAAS,IAAIL,EAAUM,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACxG,CAAO,CACP,CAAK,CACL,CAAG,CACH,EACe,MAAMC,UAAuBC,EAAAA,aAAc,CACxD,YAAYT,EAAO,CACjB,MAAMA,CAAK,EACXZ,EAAgB,KAAM,YAAa,MAAM,EACzC,KAAK,UAAY,IAClB,CACD,QAAS,CACP,GAAI,CACF,UAAAsB,EACA,QAAAC,EACA,oBAAAC,CACN,EAAQ,KAAK,MACT,OAAoBR,EAAAA,IAAK,MAAO,CAC9B,UAAW,4BACX,IAAKS,GAAa,CAChB,KAAK,UAAYA,CAClB,EACD,SAAUH,EAAyBN,EAAI,IAACU,EAAQ,CAC9C,SAAU,CACR,SAAU,WACV,MAAOH,EACP,YAAa,KACd,EACD,oBAAqBC,CAC7B,CAAO,EAAiBR,EAAI,IAACW,EAAU,CAC/B,WAAY,CACV,KAAMhB,CACP,EACD,cAAe,CAACiB,CAAU,EAC1B,cAAe,CAACC,CAAa,EAC7B,SAAUN,CAClB,CAAO,CACP,CAAK,CACF,CACH,CACAvB,EAAgBoB,EAAgB,eAAgB,CAC9C,UAAW,GACX,QAAS,EACX,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as L,G as g,C as s,E as C,a$ as R,b2 as w,b0 as N,b1 as E}from"./vendor-e5b6c1c9.js";import{h as j,aW as S}from"./index-
|
|
2
|
-
//# sourceMappingURL=MarkdownNotebook-
|
|
1
|
+
import{r as L,G as g,C as s,E as C,a$ as R,b2 as w,b0 as N,b1 as E}from"./vendor-e5b6c1c9.js";import{h as j,aW as S}from"./index-5206b505.js";import{B as b,c0 as P}from"./index-bcccacf0.js";import"./helpers-de833af9.js";import"./usePlugins-e9f621d2.js";import"./plotly-6b679548.js";function f(r,e,t){return e=M(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function M(r){var e=B(r,"string");return typeof e=="symbol"?e:String(e)}function B(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class I extends L.PureComponent{constructor(e){super(e),f(this,"commands",void 0),f(this,"codeElements",void 0),f(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=g.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(a=>a===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:a}=this.state,i=[...this.commands.keys()],d=i.findIndex(x=>x===a||a==null);if(!(d<0)){var l=i[d],p=this.commands.get(l),u=this.getNextStartLine(l),m=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=m==null||(n=m.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(o!=null){var c,{offsetTop:v}=o,k=v;(c=this.editorScrollView.current)===null||c===void 0||c.scroll({top:k,left:0})}this.runCode(p),this.setState({nextStartLine:u})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:a,node:i}=e,{hasRunCode:d,nextStartLine:l}=this.state,{children:p,position:u}=i;j(u);var{start:m}=u,{line:o}=m,c=p[0].value,v=g.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,y=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return a!=null&&a?s.jsx("code",{className:n,children:t}):(this.commands.set(o,c),this.codeElements.set(o,v),s.jsxs("div",{className:C("markdown-notebook-code-block",{"is-selected":x}),ref:v,onClick:()=>{this.setState({nextStartLine:o})},role:"presentation",children:[s.jsx(b,{kind:"ghost",icon:S,className:"btn-play-block",onClick:h=>{h.stopPropagation(),h.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),s.jsx("code",{children:s.jsx(P,{language:y,children:g.Children.map(t,h=>typeof h=="string"?h.trim():h)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:a,target:i}=e;return s.jsx("a",{href:n,onClick:t,target:i,children:a})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:a,hasRunCode:i,nextStartLine:d}=this.state;return s.jsxs("div",{className:"markdown-notebook",children:[s.jsx("div",{className:"markdown-notebook-toolbar",children:s.jsx(b,{className:C("btn-play-selected-cell",{flashing:a&&!i}),kind:"ghost",icon:S,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:i&&d==null||!a,children:"Run Selected Code"})}),s.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:s.jsx(R,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[E],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(I,"defaultProps",{onRunCode:()=>{}});export{I as MarkdownNotebook,I as default};
|
|
2
|
+
//# sourceMappingURL=MarkdownNotebook-01dd648a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownNotebook-5cee8c9f.js","sources":["../../../dashboard-core-plugins/dist/panels/MarkdownNotebook.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Button } from '@deephaven/components';\nimport { Code } from '@deephaven/console';\nimport { vsPlay } from '@deephaven/icons';\nimport \"./MarkdownNotebook.css\";\nimport { assertNotNull } from '@deephaven/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport class MarkdownNotebook extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"commands\", void 0);\n _defineProperty(this, \"codeElements\", void 0);\n _defineProperty(this, \"editorScrollView\", void 0);\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = /*#__PURE__*/React.createRef();\n this.state = {\n hasCode: false,\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null\n };\n }\n componentDidMount() {\n this.updateHasCode();\n }\n componentDidUpdate() {\n this.updateHasCode();\n }\n updateHasCode() {\n var {\n hasCode\n } = this.state;\n if (this.commands.size === 0 && hasCode) {\n this.setState({\n hasCode: false\n });\n } else if (this.commands.size > 0 && !hasCode) {\n this.setState({\n hasCode: true\n });\n }\n }\n\n /**\n * @param line The line of the code block to start from\n * @returns The next line of the code block to start from\n */\n getNextStartLine(line) {\n var keys = [...this.commands.keys()];\n var nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n return keys[nextIndex];\n }\n handleRunSelected(event) {\n var _this$codeElements$ge, _element$parentElemen;\n event.preventDefault();\n event.stopPropagation();\n var {\n nextStartLine\n } = this.state;\n var keys = [...this.commands.keys()];\n var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);\n if (keyIndex < 0) {\n return;\n }\n var startLine = keys[keyIndex];\n var command = this.commands.get(startLine);\n var newNextStartLine = this.getNextStartLine(startLine);\n var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;\n var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;\n if (nextElement != null) {\n var _this$editorScrollVie;\n var {\n offsetTop\n } = nextElement;\n var top = offsetTop;\n (_this$editorScrollVie = this.editorScrollView.current) === null || _this$editorScrollVie === void 0 ? void 0 : _this$editorScrollVie.scroll({\n top,\n left: 0\n });\n }\n this.runCode(command);\n this.setState({\n nextStartLine: newNextStartLine\n });\n }\n runCode(command) {\n var {\n onRunCode\n } = this.props;\n onRunCode(command);\n this.setState({\n hasRunCode: true\n });\n }\n renderCodeBlock(props) {\n var {\n children,\n className,\n inline,\n node\n } = props;\n var {\n hasRunCode,\n nextStartLine\n } = this.state;\n var {\n children: nodeChildren,\n position\n } = node;\n assertNotNull(position);\n var {\n start\n } = position;\n var {\n line\n } = start;\n var command = nodeChildren[0].value;\n var ref = /*#__PURE__*/React.createRef();\n var isFirstBlock = this.commands.size === 0;\n var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;\n var language = className !== undefined && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n if (inline != null && inline) {\n return /*#__PURE__*/_jsx(\"code\", {\n className: className,\n children: children\n });\n }\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames('markdown-notebook-code-block', {\n 'is-selected': isSelected\n }),\n ref: ref,\n onClick: () => {\n this.setState({\n nextStartLine: line\n });\n },\n role: \"presentation\",\n children: [/*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n icon: vsPlay,\n className: \"btn-play-block\",\n onClick: event => {\n event.stopPropagation();\n event.preventDefault();\n this.runCode(command);\n this.setState({\n nextStartLine: line\n });\n },\n tooltip: \"Run code\"\n }), /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })]\n });\n }\n renderLink(props) {\n var {\n onLinkClick\n } = this.props;\n var {\n href,\n children,\n target\n } = props;\n return /*#__PURE__*/_jsx(\"a\", {\n href: href,\n onClick: onLinkClick,\n target: target,\n children: children\n });\n }\n render() {\n var {\n content,\n transformImageUri,\n transformLinkUri\n } = this.props;\n var {\n hasCode,\n hasRunCode,\n nextStartLine\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"markdown-notebook\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-toolbar\",\n children: /*#__PURE__*/_jsx(Button, {\n className: classNames('btn-play-selected-cell', {\n flashing: hasCode && !hasRunCode\n }),\n kind: \"ghost\",\n icon: vsPlay,\n onClick: this.handleRunSelected,\n tooltip: \"Run code and select next\",\n disabled: hasRunCode && nextStartLine == null || !hasCode,\n children: \"Run Selected Code\"\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-content\",\n ref: this.editorScrollView,\n children: /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: this.renderCodeBlock,\n a: this.renderLink\n },\n linkTarget: \"_blank\",\n remarkPlugins: [remarkGfm, remarkMath],\n rehypePlugins: [rehypeMathjax],\n transformLinkUri: transformLinkUri,\n transformImageUri: transformImageUri,\n includeElementIndex: true,\n children: content\n })\n })]\n });\n }\n}\n_defineProperty(MarkdownNotebook, \"defaultProps\", {\n onRunCode: () => undefined\n});\nexport default MarkdownNotebook;\n//# sourceMappingURL=MarkdownNotebook.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","MarkdownNotebook","PureComponent","props","React","hasCode","line","keys","nextIndex","event","_this$codeElements$ge","_element$parentElemen","nextStartLine","keyIndex","startLine","command","newNextStartLine","element","nextElement","_this$editorScrollVie","offsetTop","top","onRunCode","children","className","inline","node","hasRunCode","nodeChildren","position","assertNotNull","start","ref","isFirstBlock","isSelected","language","_jsx","_jsxs","classNames","Button","vsPlay","Code","child","onLinkClick","href","target","content","transformImageUri","transformLinkUri","Markdown","remarkGfm","remarkMath","rehypeMathjax"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MarkdownNotebook-01dd648a.js","sources":["../../../dashboard-core-plugins/dist/panels/MarkdownNotebook.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Button } from '@deephaven/components';\nimport { Code } from '@deephaven/console';\nimport { vsPlay } from '@deephaven/icons';\nimport \"./MarkdownNotebook.css\";\nimport { assertNotNull } from '@deephaven/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport class MarkdownNotebook extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"commands\", void 0);\n _defineProperty(this, \"codeElements\", void 0);\n _defineProperty(this, \"editorScrollView\", void 0);\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = /*#__PURE__*/React.createRef();\n this.state = {\n hasCode: false,\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null\n };\n }\n componentDidMount() {\n this.updateHasCode();\n }\n componentDidUpdate() {\n this.updateHasCode();\n }\n updateHasCode() {\n var {\n hasCode\n } = this.state;\n if (this.commands.size === 0 && hasCode) {\n this.setState({\n hasCode: false\n });\n } else if (this.commands.size > 0 && !hasCode) {\n this.setState({\n hasCode: true\n });\n }\n }\n\n /**\n * @param line The line of the code block to start from\n * @returns The next line of the code block to start from\n */\n getNextStartLine(line) {\n var keys = [...this.commands.keys()];\n var nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n return keys[nextIndex];\n }\n handleRunSelected(event) {\n var _this$codeElements$ge, _element$parentElemen;\n event.preventDefault();\n event.stopPropagation();\n var {\n nextStartLine\n } = this.state;\n var keys = [...this.commands.keys()];\n var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);\n if (keyIndex < 0) {\n return;\n }\n var startLine = keys[keyIndex];\n var command = this.commands.get(startLine);\n var newNextStartLine = this.getNextStartLine(startLine);\n var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;\n var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;\n if (nextElement != null) {\n var _this$editorScrollVie;\n var {\n offsetTop\n } = nextElement;\n var top = offsetTop;\n (_this$editorScrollVie = this.editorScrollView.current) === null || _this$editorScrollVie === void 0 ? void 0 : _this$editorScrollVie.scroll({\n top,\n left: 0\n });\n }\n this.runCode(command);\n this.setState({\n nextStartLine: newNextStartLine\n });\n }\n runCode(command) {\n var {\n onRunCode\n } = this.props;\n onRunCode(command);\n this.setState({\n hasRunCode: true\n });\n }\n renderCodeBlock(props) {\n var {\n children,\n className,\n inline,\n node\n } = props;\n var {\n hasRunCode,\n nextStartLine\n } = this.state;\n var {\n children: nodeChildren,\n position\n } = node;\n assertNotNull(position);\n var {\n start\n } = position;\n var {\n line\n } = start;\n var command = nodeChildren[0].value;\n var ref = /*#__PURE__*/React.createRef();\n var isFirstBlock = this.commands.size === 0;\n var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;\n var language = className !== undefined && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n if (inline != null && inline) {\n return /*#__PURE__*/_jsx(\"code\", {\n className: className,\n children: children\n });\n }\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames('markdown-notebook-code-block', {\n 'is-selected': isSelected\n }),\n ref: ref,\n onClick: () => {\n this.setState({\n nextStartLine: line\n });\n },\n role: \"presentation\",\n children: [/*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n icon: vsPlay,\n className: \"btn-play-block\",\n onClick: event => {\n event.stopPropagation();\n event.preventDefault();\n this.runCode(command);\n this.setState({\n nextStartLine: line\n });\n },\n tooltip: \"Run code\"\n }), /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })]\n });\n }\n renderLink(props) {\n var {\n onLinkClick\n } = this.props;\n var {\n href,\n children,\n target\n } = props;\n return /*#__PURE__*/_jsx(\"a\", {\n href: href,\n onClick: onLinkClick,\n target: target,\n children: children\n });\n }\n render() {\n var {\n content,\n transformImageUri,\n transformLinkUri\n } = this.props;\n var {\n hasCode,\n hasRunCode,\n nextStartLine\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"markdown-notebook\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-toolbar\",\n children: /*#__PURE__*/_jsx(Button, {\n className: classNames('btn-play-selected-cell', {\n flashing: hasCode && !hasRunCode\n }),\n kind: \"ghost\",\n icon: vsPlay,\n onClick: this.handleRunSelected,\n tooltip: \"Run code and select next\",\n disabled: hasRunCode && nextStartLine == null || !hasCode,\n children: \"Run Selected Code\"\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-content\",\n ref: this.editorScrollView,\n children: /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: this.renderCodeBlock,\n a: this.renderLink\n },\n linkTarget: \"_blank\",\n remarkPlugins: [remarkGfm, remarkMath],\n rehypePlugins: [rehypeMathjax],\n transformLinkUri: transformLinkUri,\n transformImageUri: transformImageUri,\n includeElementIndex: true,\n children: content\n })\n })]\n });\n }\n}\n_defineProperty(MarkdownNotebook, \"defaultProps\", {\n onRunCode: () => undefined\n});\nexport default MarkdownNotebook;\n//# sourceMappingURL=MarkdownNotebook.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","MarkdownNotebook","PureComponent","props","React","hasCode","line","keys","nextIndex","event","_this$codeElements$ge","_element$parentElemen","nextStartLine","keyIndex","startLine","command","newNextStartLine","element","nextElement","_this$editorScrollVie","offsetTop","top","onRunCode","children","className","inline","node","hasRunCode","nodeChildren","position","assertNotNull","start","ref","isFirstBlock","isSelected","language","_jsx","_jsxs","classNames","Button","vsPlay","Code","child","onLinkClick","href","target","content","transformImageUri","transformLinkUri","Markdown","remarkGfm","remarkMath","rehypeMathjax"],"mappings":"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"}
|