by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Afshin Taylor Darian
    @afshin
    @nmichaud That's a pretty cool dashboarding tool you've built. Nice :fire:
    Naveen Michaud-Agrawal
    @nmichaud
    @afshin trying to figure out how to generalize a bit so it can be released as companion widgets, similar to the ones in @lumino/widgets
    also the top tab bar is just a standard tab bar with the plus button and an extra event, might make a useful addition to the default TabBar widgets
    I would like a clean way to allow end users to add custom buttons to the tabs in a DockPanel, still haven't come up with the best approach
    Afshin Taylor Darian
    @afshin
    hm, that's useful functionality. if you get to think about it more and have some ideas, we should talk about them on one of the weekly lab calls or if that's not possible, in a proposal issue in lumino's repo
    Naveen Michaud-Agrawal
    @nmichaud
    sure, will set up an example. I have an old gist that demonstrates the ideas with phosphor, just required being able to override DockPanel's _createTabBar private method (https://gist.github.com/nmichaud/10495747fe5b099926b81cf1373673ac#file-dockpanel-ts-L266). That whole mechanism should be overhauled.
    davidpasquale
    @davidpasquale
    @nmichaud You may have to take a look, it is pretty easy!
    For voila you can use the notebook examples for jupyterlab or use a static/server example for bokeh, which you find in the github projects.
    Afshin Taylor Darian
    @afshin
    @davidpasquale Please limit the conversations in this forum to specific Lumino questions that arise or as a show & tell for things you want to share with the community. Alternatively, if you have bugs you have discovered, please raise an issue in the repo: https://github.com/jupyterlab/lumino/issues/
    davidpasquale
    @davidpasquale
    @nmichaud HU, can you share the source code of this example? https://bl.ocks.org/nmichaud/raw/e99ae0a41f49078498f6b72f65965407/
    Thank you!
    Jason Grout
    @jasongrout
    That's a very nice example!
    Naveen Michaud-Agrawal
    @nmichaud
    @jasongrout Thanks. Trying to learn from JupyterLab's use of applications and plugins to see if there is a way to generalize it a bit so other applications can do custom tab icons and some other use cases.

    The publish menu currently just POSTs a json string representing the layout to jsonblob.com, and adds the hash that is returned to the location bar, so it's easy to share. For example:

    https://bl.ocks.org/nmichaud/raw/e99ae0a41f49078498f6b72f65965407/#/af23b3da-7f5d-11ea-b97d-c155078d4786

    @davidpasquale it's not quite ready yet, will let you know when it's on github
    Naveen Michaud-Agrawal
    @nmichaud
    @blink1073 once you publish a new version how long before it shows up on npm?
    Steven Silvester
    @blink1073
    ugh, missed a step in the release process, thanks for the ping Naveen. I'm afk for a bit
    Steven Silvester
    @blink1073
    @nmichaud, published, cheers
    Naveen Michaud-Agrawal
    @nmichaud
    @blink1073 thanks!
    davidpasquale
    @davidpasquale
    @nmichaud Thank you!! I am happy to ear that!
    Juha Järvi
    @jjrv
    I'm working on using TSX with Lumino (without React) to define a UI.
    Juha Järvi
    @jjrv
    And it's for building an online TypeScript IDE that runs the complete toolchain in the browser. Theia and CodeSandbox rely on installing npm packages and transpiling things in the cloud, while this one is fully local and even works offline and/or on an iPad.
    Saul Shanabrook
    @saulshanabrook
    @jjrv That sounds amazing!
    Juha Järvi
    @jjrv
    So here's a really minimal example of the Lumino DockPanel: https://github.com/jjrv/lumino-minimal
    The app is 41 lines of TSX code and it runs as-is in the browser. You don't need WebPack, or indeed even Node.js, to develop it.
    Gordon Smith
    @GordonSmith
    In the past I used SystemJS with the typescript plugin to stich together live documentation like this (but was always bit of a hack).
    Juha Järvi
    @jjrv
    This uses RequireX, which began as my SystemJS plugin adding Node.js module resolution, but eventually I rewrote the whole thing as SystemJS itself took a different direction and no longer supported such plugins
    So it also has the Node.js module resolution algorithm built in, and if you haven't installed some imported module yet, it will pull it from unpkg. Also, it transpiles CSS using PostCSS+autoprefixer and all the transpiling happens in Web Workers if they're supported.
    Downloaded files and transpiled results are cached in window.caches or localStorage so reloading the page is fast and only changed files get transpiled again. The demo is bundled for production so no transpiling is needed unless you download the repo and make changes.
    And I'm working on an IDE so you can also make changes right in the browser.
    Juha Järvi
    @jjrv
    RequireX itself is 64kb of code after bundle+minify and that includes the command line tools for making production bundles.
    Only external deps are TypeScript and PostCSS (latter as a bundle that runs in both Node and browsers), which are downloaded as needed.
    Juha Järvi
    @jjrv
    Maybe the main point is that RequireX doesn't need any configuration, since it understands what's already in package.json files. That minimal example only contains a barebones package.json file and nothing else (tsconfig.json is only for configuring IDEs). Specifically configuration used to be a pain in SystemJS.
    Steven Silvester
    @blink1073
    @/all I cut a release that distributes UMD bundles for our packages (cf #40). Thanks @GordonSmith!
    Afshin Taylor Darian
    @afshin
    :fire::fire::fire::fire: sweet, thanks Steve!
    Juha Järvi
    @jjrv
    Touch events don't seem to be supported?
    Two fingers on different sides of a DockPanel divider might be a reasonable gesture to trigger moving that divider.
    If apps handle making the tabs a bit bigger on mobile, I think it would be quite usable overall.
    Juha Järvi
    @jjrv
    On an iPad a desktop-style DockPanel layout is otherwise quite useful, but hitting the space between panels to resize them would be difficult, and making then wide as a finger would be silly.
    Steven Silvester
    @blink1073
    we had been waiting for a common standard to emerge on touch or pointer events, but that has not come to pass
    Juha Järvi
    @jjrv
    Is there a plan B being considered and are you interested in code contributions?
    Needs a rename now...
    Steven Silvester
    @blink1073

    I think it makes sense to incorporate pointer and touch event handling at this point, can you please open an issue for discussion? Here is an old issue in phosphor for reference: phosphorjs/phosphor#154.

    Nice widget! If you want to rebase float-area on lumino we can add that to the external examples in the README

    Afshin Taylor Darian
    @afshin
    @jjrv We would love to have coherent touch and mobile support! Thanks for bringing it up.
    Juha Järvi
    @jjrv
    Currently I'm hoping to get VSCode working completely in a browser, with no backend. Theia IDE seems to rely on a Node-based server process it can talk to in real time. There are other, outdated projects on GitHub showing it is (or used to be) possible.
    The main IDE layout would of course be a Lumino DockPanel.
    Travis E. Oliphant
    @teoliphant
    Does anyone know if Theia has plans to switch to Lumino, or will they continue with PhosphorJS
    Afshin Taylor Darian
    @afshin
    @teoliphant Hi Travis! I hope you are well. I don't know what Theia's plans are, but I remember seeing this thread that is relevant: eclipse-theia/theia#6501
    Travis E. Oliphant
    @teoliphant
    Thanks @afshin . It is great to read all the interaction here and the help being provided to help Lumino grow.
    Afshin Taylor Darian
    @afshin
    Cheers! :fireworks: We really want to make these tools more easily accessible. There are other applications with constraints like JupyterLab's that can benefit from being built this way. Lumino isn't as general-purpose as some other UI strategies, but for the high performance desktop application space, it is a good choice.
    Naveen Michaud-Agrawal
    @nmichaud
    @afshin definitely agree with that