diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 9b65bd6..91fd64c 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -30,6 +30,27 @@ jobs: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} + - name: Populate Release for github packages + id: populate-release-gh-packages + uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2 + with: + token: ${{ steps.app-token.outputs.token }} + branch: ${{ github.event.inputs.branch }} + release_url: ${{ github.event.inputs.release_url }} + steps_to_skip: "build-python,check-python,check-python" + + - name: Finalize Release for github packages + id: finalize-release-gh-packages + env: + NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_REGISTRY: https://npm.pkg.github.com/ + TWINE_COMMAND: "echo Skip python file with options " + uses: jupyter-server/jupyter_releaser/.github/actions/finalize-release@v2 + with: + token: ${{ steps.app-token.outputs.token }} + steps_to_skip: "forwardport-changelog,publish-release" + release_url: ${{ steps.populate-release.outputs.release_url }} + - name: Populate Release id: populate-release uses: jupyter-server/jupyter_releaser/.github/actions/populate-release@v2 @@ -52,18 +73,6 @@ jobs: token: ${{ steps.app-token.outputs.token }} release_url: ${{ steps.populate-release.outputs.release_url }} - - name: Finalize Release for github packages - id: finalize-release-gh-packages - env: - NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_REGISTRY: https://npm.pkg.github.com/ - TWINE_COMMAND: "echo Skip python file with options " - uses: jupyter-server/jupyter_releaser/.github/actions/finalize-release@v2 - with: - token: ${{ steps.app-token.outputs.token }} - steps_to_skip: "forwardport-changelog,publish-release" - # release_url: ${{ steps.populate-release.outputs.release_url }} - - name: "** Next Step **" if: ${{ success() }} run: | diff --git a/packages/applet-view/src/avoutputarea.ts b/packages/applet-view/src/avoutputarea.ts index e4933cc..94524ad 100644 --- a/packages/applet-view/src/avoutputarea.ts +++ b/packages/applet-view/src/avoutputarea.ts @@ -72,7 +72,7 @@ export class AppletViewOutputArea extends AccordionPanel { this.addApplet({ appid, appname: 'Applet 1' }); } this.id = `AppletView-${UUID.uuid4()}`; - this.title.label = 'Applets Preview'; + this.title.label = 'Applet area'; this.title.icon = notebookIcon; this.title.caption = this._notebook.title.label ? trans.__('For Notebook: %1', this._notebook.title.label) @@ -935,11 +935,19 @@ export class AppletViewRenderer extends AccordionPanel.Renderer { handle.appendChild(editLabel); }); editLabel.addEventListener('blur', (ev: FocusEvent) => { + // Firefox and Safari needs this + if (editLabel.value !== title) { + editLabel.dispatchEvent(new Event('change', { bubbles: true })); + } + handle.removeChild(editLabel); handle.appendChild(staticLabel); }); editLabel.addEventListener('keydown', (ev: KeyboardEvent) => { if (ev.key === 'Enter') { + if (editLabel.value !== title) { + editLabel.dispatchEvent(new Event('change', { bubbles: true })); + } handle.removeChild(editLabel); handle.appendChild(staticLabel); } diff --git a/packages/applet-view/src/splitviewnotebookpanel.ts b/packages/applet-view/src/splitviewnotebookpanel.ts index 95db5d3..dbe51ba 100644 --- a/packages/applet-view/src/splitviewnotebookpanel.ts +++ b/packages/applet-view/src/splitviewnotebookpanel.ts @@ -7,7 +7,7 @@ import { NotebookWidgetFactory, StaticNotebook } from '@jupyterlab/notebook'; -import { BoxLayout, SplitPanel } from '@lumino/widgets'; +import { BoxLayout, AccordionPanel, AccordionLayout } from '@lumino/widgets'; import { AppletViewOutputArea } from './avoutputarea'; import { IFailsLauncherInfo, @@ -39,9 +39,10 @@ export class SplitViewNotebookPanel const layout = this.layout as BoxLayout; layout.removeWidget(content); // 2. add a BoxLayout instead - const splitPanel = new SplitPanel({ + const splitPanel = new AccordionPanel({ spacing: 1, - orientation: 'horizontal' + orientation: 'horizontal', + alignment: 'justify' }); BoxLayout.setStretch(splitPanel, 1); @@ -55,6 +56,8 @@ export class SplitViewNotebookPanel })); splitPanel.addWidget(widget); layout.addWidget(splitPanel); + const splitLayout = splitPanel.layout as AccordionLayout; + splitLayout.titleSpace = 22; // move to separate handler if (failsLauncherInfo?.inLecture) { this.toolbar.hide(); @@ -62,6 +65,7 @@ export class SplitViewNotebookPanel this._appletviewWidget.inLecture = true; content.hide(); splitPanel.setRelativeSizes([0, 1]); // change sizes + splitLayout.titleSpace = 0; } if (failsLauncherInfo) { failsLauncherInfo.inLectureChanged.connect( @@ -71,14 +75,18 @@ export class SplitViewNotebookPanel this.addClass('fl-jl-notebook-inlecture'); this._appletviewWidget.inLecture = true; content.hide(); + widget.show(); + splitLayout.titleSpace = 0; splitPanel.setRelativeSizes([0, 1]); // change sizes } else { this.toolbar.show(); this.removeClass('fl-jl-notebook-inlecture'); this._appletviewWidget.inLecture = false; content.show(); + splitLayout.titleSpace = 22; splitPanel.setRelativeSizes([1, 1]); // change sizes widget.unselectApplet(); + setTimeout(() => splitPanel.setRelativeSizes([1, 1]), 1); } } ); diff --git a/packages/applet-view/style/index.css b/packages/applet-view/style/index.css index 4cb98d5..e310792 100644 --- a/packages/applet-view/style/index.css +++ b/packages/applet-view/style/index.css @@ -114,7 +114,7 @@ } .fl-jl-notebook-inlecture .lm-AccordionPanel-title { - display: none; + display: none !important; } .fl-jl-notebook-inlecture .lm-SplitPanel-handle {