Skip to content

Phosphor update#1122

Merged
jasongrout merged 13 commits intojupyter-widgets:masterfrom
jasongrout:phosphorupdate
Mar 15, 2017
Merged

Phosphor update#1122
jasongrout merged 13 commits intojupyter-widgets:masterfrom
jasongrout:phosphorupdate

Conversation

@jasongrout
Copy link
Member

Phosphor is coming up on a 1.0 release - this migrates our code to the pre-1.0 release.

@jasongrout
Copy link
Member Author

This isn't going to work with JLab while JLab is using phosphor 0.7 - we'll have conflicting versions of phosphor, and thus it breaks compiling the widget plugin for phosphor.

So I'm bumping this to 6.1, with the idea that we can merge this after Jupyter moves to Phosphor 1.0.

@jasongrout jasongrout added this to the 6.1 milestone Feb 17, 2017
@jasongrout
Copy link
Member Author

Actually, maybe this just might work. If I leave jupyterlab_widgets with phosphor 0.7.0, but I do upgrade typescript there to 2.1.0 (so I can compile against jupyter-js-widgets), I get just one error:

src/output.ts(106,7): error TS2415: Class 'OutputView' incorrectly extends base class 'DOMWidgetView'.
  Types of property 'pWidget' are incompatible.
    Type 'Panel' is not assignable to type 'Widget'.
      Types of property 'disposed' are incompatible.
        Type 'ISignal<Widget, void>' is not assignable to type 'ISignal<Widget, void>'. Two different types with this name exist, but they are unrelated.
          Types of property 'connect' are incompatible.
            Type '(slot: Slot<Widget, void>, thisArg?: any) => boolean' is not assignable to type '(slot: Slot<Widget, void>, thisArg?: any) => boolean'. Two different types with this name exist, but they are unrelated.
              Types of parameters 'slot' and 'slot' are incompatible.
                Type 'Slot<Widget, void>' is not assignable to type 'Slot<Widget, void>'. Two different types with this name exist, but they are unrelated.
                  Types of parameters 'sender' and 'sender' are incompatible.
                    Type 'Widget' is not assignable to type 'Widget'. Two different types with this name exist, but they are unrelated.
                      Types of property 'title' are incompatible.
                        Type 'Title' is not assignable to type 'Title<Widget>'.
                          Types of property 'changed' are incompatible.
                            Type 'ISignal<Title, void>' is not assignable to type 'ISignal<Title<Widget>, void>'.
                              Types of property 'connect' are incompatible.
                                Type '(slot: Slot<Title, void>, thisArg?: any) => boolean' is not assignable to type '(slot: Slot<Title<Widget>, void>, thisArg?: any) => boolean'.
                                  Types of parameters 'slot' and 'slot' are incompatible.
                                    Type 'Slot<Title<Widget>, void>' is not assignable to type 'Slot<Title, void>'.
                                      Types of parameters 'sender' and 'sender' are incompatible.
                                        Type 'Title' is not assignable to type 'Title<Widget>'.

@jasongrout
Copy link
Member Author

By avoiding the type-checking right at the interface of the old and new phosphor (by setting the OutputWidget output area to have type any), we can get this to compile. It even sort of works

@sccolbert, @blink1073 - do you see any huge problems with mixing phosphor pre-1.0 with JLab at this point?

@jasongrout
Copy link
Member Author

(The tabs and accordion widgets don't work in either the classic notebook or Lab - I'll look into this more...)

@sccolbert
Copy link

The only problems you'll be likely to have are widgets which cross the boundaries of the modules. So dragdrop widgets between modules wont work. But you'll probably be "okay" other than that.

@jasongrout
Copy link
Member Author

Thanks. @SylvainCorlay - let's definitely tackle this after 6.0. It's subtle enough that I don't think we should try to push it in at this point.

@blink1073
Copy link
Contributor

The output area itself is what it used as the drop value, so it should work fine.

@jasongrout jasongrout changed the title Phosphor update WIP Phosphor update Feb 20, 2017
@jasongrout
Copy link
Member Author

@SylvainCorlay - any comments on this before I merge it?

@jasongrout jasongrout merged commit f2d6914 into jupyter-widgets:master Mar 15, 2017
@jasongrout jasongrout changed the title WIP Phosphor update Phosphor update Mar 15, 2017
@jasongrout jasongrout removed this from the 6.1 milestone Apr 6, 2017
@jasongrout jasongrout modified the milestones: 7.0, 6.1 Apr 6, 2017
@github-actions github-actions bot added the resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label Feb 16, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants