Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add statusbar #5508

Merged
merged 410 commits into from Oct 18, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
410 commits
Select commit Hold shift + click to select a range
eea7043
Merge pull request #39 from richagadgil/CSSstructure
declanvk Jul 13, 2018
16ca6f1
quick fix
richagadgil Jul 13, 2018
587f8e4
Merge pull request #40 from richagadgil/master
declanvk Jul 13, 2018
a92e962
middle Area + fileUpload refactor
richagadgil Jul 13, 2018
48c31f5
fixedCSS
richagadgil Jul 13, 2018
aa316e0
Merge pull request #41 from richagadgil/middleArea
declanvk Jul 13, 2018
eee981b
changes
richagadgil Jul 18, 2018
010cd30
Merge pull request #42 from richagadgil/middleArea
declanvk Jul 18, 2018
1f72204
Add context switching on app shell changes
declanvk Jul 18, 2018
b8dbc89
Add strict null checks and context switching to tab/space item
declanvk Jul 18, 2018
58cab94
Add strict null checks and context switching to notebook trust item
declanvk Jul 18, 2018
8a9d538
Add strict null checks and context switching to line/col item
declanvk Jul 18, 2018
8bb7cd3
Refactor and add context switching to file upload item
declanvk Jul 18, 2018
a67668b
Add strict null checking and contexts switching to command/edit and k…
declanvk Jul 18, 2018
1cb03d2
Cleanup and add context switching to file path item
declanvk Jul 18, 2018
2ab9a49
Merge pull request #43 from declanvk/impl-context-switches-v4
richagadgil Jul 18, 2018
ac33944
added groups for icon and text
richagadgil Jul 19, 2018
570fbf3
group items
richagadgil Jul 19, 2018
a1a6b1f
editied running session
richagadgil Jul 19, 2018
dea2513
text
richagadgil Jul 19, 2018
e3015ae
Merge branch 'master' into CSSgroups
richagadgil Jul 19, 2018
7962103
Merge pull request #44 from richagadgil/CSSgroups
richagadgil Jul 19, 2018
13882e0
minor style changes
richagadgil Jul 19, 2018
deaafb0
Refactor file path item
declanvk Jul 19, 2018
ff95ce9
Refactor models of most default items
declanvk Jul 19, 2018
ce73f01
Refactor model and remove hover behavior of notebook trust item
declanvk Jul 19, 2018
018e066
Merge branch 'master' into refactor-file-path
declanvk Jul 19, 2018
b57d4ba
Merge pull request #45 from declanvk/refactor-file-path
richagadgil Jul 19, 2018
246c3a0
Convert all react imports to default style
declanvk Jul 20, 2018
21b217a
Implement editor syntax item
declanvk Jul 20, 2018
4872544
Fix malformed import
declanvk Jul 20, 2018
ad74e6d
Add optional title prop to text component
declanvk Jul 20, 2018
f2156c1
Add hover text to default items
declanvk Jul 20, 2018
5853800
Merge pull request #46 from declanvk/impl-syntax-hightlighting-item
richagadgil Jul 20, 2018
fdc2613
titlecase changes
richagadgil Jul 20, 2018
1210daf
Merge pull request #48 from richagadgil/CSSfinal
declanvk Jul 20, 2018
7b993f3
Merge branch 'master' into add-item-hovers
declanvk Jul 20, 2018
9fc4c9c
Merge pull request #47 from declanvk/add-item-hovers
richagadgil Jul 20, 2018
8749016
Convert file upload item to use defaults manager
declanvk Jul 12, 2018
bd320a6
Rename DefaultStatusesManager to DefaultsManager
declanvk Jul 13, 2018
ff46af3
Remove default enabled management from status bar class
declanvk Jul 13, 2018
0ab1654
Update plugin settings default listing and fix editor syntax display
declanvk Jul 20, 2018
891380d
Remove defaults management from status bar internals
declanvk Jul 20, 2018
e6537ef
Reimplement default settings connection using isActive and stateChanged
declanvk Jul 20, 2018
e240607
Merge pull request #33 from declanvk/fix-default-item-manager
richagadgil Jul 20, 2018
5d04a02
Add null check to stateChange emit lookup
declanvk Jul 20, 2018
6d340be
Implement complete message for file upload
declanvk Jul 20, 2018
8e407e1
Merge pull request #49 from declanvk/add-upload-complete-message
richagadgil Jul 23, 2018
2cdf80c
initial interaction
richagadgil Jul 23, 2018
9454452
Merge branch 'master' into tabMenu
richagadgil Jul 23, 2018
a1ac94a
Update kernel & terminal icons
declanvk Jul 23, 2018
7a022ae
Move and cleanup component styles
declanvk Jul 23, 2018
4d1d61b
Finish moving status bar to typestyle
declanvk Jul 23, 2018
629239f
Cleanup components, relative to styles
declanvk Jul 23, 2018
2f2123d
final interaction details
richagadgil Jul 23, 2018
60507ec
Merge branch 'tabMenu' of https://github.com/richagadgil/jupyterlab-s…
richagadgil Jul 23, 2018
d25a293
eliminate console log
richagadgil Jul 23, 2018
9c394e8
Merge pull request #50 from richagadgil/tabMenu
declanvk Jul 23, 2018
967626c
Merge branch 'master' into css-tweaks
declanvk Jul 23, 2018
cbe2eba
Merge pull request #51 from declanvk/css-tweaks
richagadgil Jul 23, 2018
70ea971
Make running sessions spacing group icon and number
declanvk Jul 24, 2018
0acca82
Change non-interactive items to not have hover or pointer change
declanvk Jul 24, 2018
450df39
Rename TextFunctions to TextExt
declanvk Jul 24, 2018
23c5427
Move item spacing style into common class
declanvk Jul 24, 2018
3d564eb
Move interactive class addition to top of status item structure
declanvk Jul 24, 2018
07c78ae
Maintain clicked background color during popup duration
declanvk Jul 24, 2018
cf383e3
Fix issue with console kernel status on reload
declanvk Jul 24, 2018
27a8f2d
Remove top status bar border
declanvk Jul 24, 2018
74700d4
Extend file path item to all widgets with title
declanvk Jul 24, 2018
2cdf025
Add tab spacing display to console context
declanvk Jul 24, 2018
dbbbbf1
hoverBoxCSS
richagadgil Jul 24, 2018
3a810a3
hoverBoxCSSe
richagadgil Jul 24, 2018
dcf1e45
Merge pull request #54 from richagadgil/lineForm
declanvk Jul 25, 2018
913a320
alterHeights
richagadgil Jul 25, 2018
56ebee6
Merge pull request #55 from richagadgil/dimensions
declanvk Jul 25, 2018
b505975
Merge branch 'master' into add-tab-size-to-console
declanvk Jul 25, 2018
6ce12ea
Update icons
declanvk Jul 25, 2018
6611c03
Swap ordering of kernel and terminal in running session item
declanvk Jul 25, 2018
65788ad
Add signal disconnects to most default items
declanvk Jul 25, 2018
9e639d6
Dispose of items on status bar disposal
declanvk Jul 25, 2018
53a4613
Remove pointer style from interactive items
declanvk Jul 25, 2018
b0f94c2
Update jupyterlab deps
declanvk Jul 25, 2018
c5163e1
Fix line/col form css
declanvk Jul 25, 2018
975965d
Convert hover box to align on right side of anchor element
declanvk Jul 26, 2018
10b3cff
Redo CSS of line/col popup form
declanvk Jul 26, 2018
688b745
Merge pull request #53 from declanvk/add-tab-size-to-console
richagadgil Jul 26, 2018
994518b
Remove unused icons
declanvk Jul 26, 2018
b35e501
Add icon for display in settings registry
declanvk Jul 26, 2018
13c8aa1
Changed alt text from inner div groups to outer to account for hovers…
richagadgil Jul 26, 2018
667deb3
Update settings icon w/ bounding box
declanvk Jul 26, 2018
9c35a40
Add bounding boxes to remaining icons
declanvk Jul 26, 2018
840eef0
Expose icon item offset options
declanvk Jul 26, 2018
3c868bf
Update height to match multiple of 4 rule
declanvk Jul 26, 2018
d92301d
Add rounded border to progress bar
declanvk Jul 26, 2018
80b5507
Allow event propagation through to popup body
declanvk Jul 26, 2018
b32ddbf
initial changes
richagadgil Jul 26, 2018
fc94b0d
Scope popup event listeners to current body
declanvk Jul 26, 2018
e8da9b4
Fix issue with incorrect current editor on reload
declanvk Jul 26, 2018
4f642a8
changed alt text names to reflect interaction, added kernel name to a…
richagadgil Jul 26, 2018
4c65a52
Merge pull request #57 from declanvk/fix-line-col-popup
richagadgil Jul 26, 2018
231da7b
Merge pull request #56 from declanvk/update-icons
richagadgil Jul 26, 2018
66eb077
added left and right option to hover to align with status bar comppon…
richagadgil Jul 26, 2018
a879c6a
got rid of extraneous console message
richagadgil Jul 26, 2018
c9c0715
Merge branch 'master' into altText
richagadgil Jul 26, 2018
e7dad7a
Merge pull request #59 from richagadgil/altText
declanvk Jul 26, 2018
4bfbf9d
Merge branch 'master' into syntaxMenu
richagadgil Jul 26, 2018
c8a90c7
Merge pull request #58 from richagadgil/syntaxMenu
declanvk Jul 26, 2018
95c9d1b
Add CombinedSignal extension
declanvk Jul 26, 2018
50469c3
Rename var to match parent flows to child semantics
declanvk Jul 26, 2018
e234eb3
altered filePath to take docManager to check contexts instead of rely…
richagadgil Jul 26, 2018
eb008c0
eliminated instance trackers and checked current trackers for active …
richagadgil Jul 26, 2018
6d51372
eliminated instance trackers and checked current trackers for active …
richagadgil Jul 26, 2018
afc253d
eliminated instance trackers and checked current trackers for active …
richagadgil Jul 26, 2018
c9d5faf
Merge branch 'master' into instanceOf
declanvk Jul 26, 2018
1a5adbb
Merge pull request #61 from richagadgil/instanceOf
declanvk Jul 26, 2018
950af59
Convert sender to be default manager
declanvk Jul 27, 2018
41e90c4
Merge pull request #60 from declanvk/combined-signal-disconnect
richagadgil Jul 27, 2018
d7e09d5
Add connector to watch changes in single settings value
declanvk Jul 27, 2018
dad4fe4
Update kernel icon
declanvk Jul 27, 2018
747f28c
Change defaults manager to use setting connector
declanvk Jul 27, 2018
3036c36
Convert most default items to check value difference before emitting …
declanvk Jul 27, 2018
9135abe
Remove unneeded listeners on tracker current changed
declanvk Jul 27, 2018
6275bd8
Remove unneed listeners from kernel status item
declanvk Jul 27, 2018
775dff3
Remove console logging
declanvk Jul 27, 2018
202abd2
Switch tab size item to read values from settings
declanvk Jul 27, 2018
f52dc70
Update trusted icon
declanvk Jul 27, 2018
b317d8b
Allow settings connector to update watched item
declanvk Jul 27, 2018
3ab4f47
fixed resizing and placement issues for status bar hovers, moved text…
richagadgil Jul 27, 2018
5ba2b5f
Merge branch 'master' into add-tab-settings-connect
declanvk Jul 27, 2018
ea13bbb
removed extraneous console logs, comments
richagadgil Jul 27, 2018
a7132ce
Update package.json
declanvk Jul 27, 2018
d8973f0
Merge pull request #63 from richagadgil/tabMenu
declanvk Jul 27, 2018
4a75acc
Merge pull request #62 from declanvk/add-tab-settings-connect
richagadgil Jul 27, 2018
b1dab88
Merge branch 'master' of https://github.com/jupyterlab/jupyterlab-sta…
declanvk Jul 27, 2018
5dbbcfb
Update README.md to include video use gif
richagadgil Jul 28, 2018
314a7da
Updated GIFs
richagadgil Jul 28, 2018
ee80e9c
updated gif descriptons
richagadgil Jul 28, 2018
6fb9dbe
Merge pull request #64 from jupyterlab/richagadgil-patch-1
declanvk Jul 28, 2018
b9c202e
Merge branch 'master' of https://github.com/jupyterlab/jupyterlab-sta…
declanvk Jul 28, 2018
57cc32c
Merge pull request #65 from declanvk/master
richagadgil Jul 28, 2018
282f8a0
Change all ids to match new package name format
declanvk Jul 28, 2018
77f8893
Bump version
declanvk Jul 28, 2018
a5c88a6
Merge pull request #66 from declanvk/change-all-ids
declanvk Jul 28, 2018
930377b
Update installation instructions
declanvk Jul 30, 2018
d4b9ec6
Merge pull request #67 from declanvk/update-readme
declanvk Jul 30, 2018
31652bc
Make popup creation fallible
declanvk Jul 30, 2018
03cc58f
Extract settings data into common type definition
declanvk Jul 30, 2018
5941f1d
Flatten setting connectors container
declanvk Jul 30, 2018
b51d7d2
Convert settings connector to use JSONValue as input requirement
declanvk Jul 30, 2018
e3c478f
Implement changing tab/space size for all contexts
declanvk Jul 30, 2018
bb28768
Add indicator for adding tab characters vs space characters
declanvk Jul 30, 2018
1c21f90
Merge pull request #68 from declanvk/add-tab-size-commands
declanvk Jul 30, 2018
79c4c7c
Bump minor version
declanvk Jul 31, 2018
230bd2e
Merge pull request #69 from declanvk/release-0.2.0
richagadgil Jul 31, 2018
ddf56ff
Implement resource usage item
declanvk Aug 3, 2018
62680cc
Formatting and make running sessions/kernel status item explicitly or…
declanvk Aug 3, 2018
f373f70
Use existing context machinery to hide nbresuse item
declanvk Aug 3, 2018
5012fb2
Merge pull request #70 from declanvk/impl-nbresuse-item
richagadgil Aug 3, 2018
6fbf118
ensured only one popup present at one time
richagadgil Aug 6, 2018
c4c1a2f
Updated READ.me with Nbresuse information
richagadgil Aug 6, 2018
d67fb5a
Added formatting changes
richagadgil Aug 6, 2018
e1250dc
Merge pull request #71 from richagadgil/oneHover
declanvk Aug 6, 2018
9bf96cb
Merge pull request #72 from jupyterlab/richagadgil-patch-1
declanvk Aug 6, 2018
38dfb56
0.3.0
richagadgil Aug 6, 2018
3befbb7
0.3.1
richagadgil Aug 6, 2018
863db2b
0.3.0
richagadgil Aug 6, 2018
0a18df1
Merge pull request #73 from richagadgil/packageUpdate
declanvk Aug 6, 2018
77570a4
Ignore .DS_Store files in git and npm package creation
declanvk Aug 8, 2018
f0aa8d3
Have memory item cease refreshing if any failures occur
declanvk Aug 8, 2018
457ffb6
Merge pull request #74 from declanvk/fix-upload-metrics-errors
richagadgil Aug 8, 2018
f84499d
Fix error in line/col during console prompt changes
declanvk Aug 14, 2018
d58fc85
Upgrade jupyterlab packages
declanvk Aug 14, 2018
97dc917
Add null check to tab/space and unrestricted typing for timer ids
declanvk Aug 14, 2018
27b72ce
Merge pull request #75 from declanvk/upgrade-with-jp
richagadgil Aug 16, 2018
998a359
Added documentation for statusbar using typedocs
richagadgil Aug 16, 2018
4599cea
Merge pull request #76 from richagadgil/documentation
declanvk Aug 16, 2018
d9eaf10
further documentation
richagadgil Aug 16, 2018
b289d62
bumped version changes
richagadgil Aug 16, 2018
f7be754
Merge branch 'master' into versionbump
richagadgil Aug 16, 2018
e56f119
implemented saving items for default status bar
richagadgil Aug 16, 2018
94fabb4
Merge branch 'master' into savingsItem
richagadgil Aug 16, 2018
95458e6
fixed extraneous changes
richagadgil Aug 16, 2018
2b6defa
Added extraneous changes
richagadgil Aug 17, 2018
9e3503c
Merge branch 'versionbump' of https://github.com/richagadgil/jupyterl…
richagadgil Aug 17, 2018
3089cec
Merge pull request #77 from richagadgil/versionbump
declanvk Aug 17, 2018
89f810f
Merge pull request #78 from richagadgil/savingsItem
declanvk Aug 17, 2018
d016a46
Convert undefined check to null check
declanvk Aug 17, 2018
c32a8e1
Merge pull request #79 from declanvk/patch-tabspace
richagadgil Aug 17, 2018
3bfda92
removing all file upload failure code
richagadgil Aug 17, 2018
80a261c
Merge pull request #80 from richagadgil/fileUploadPatch
declanvk Aug 17, 2018
7bd4f9d
fixed error with reading model from possible null value
richagadgil Aug 17, 2018
a73c042
changed status bar colors to align with Jupyterlab design
richagadgil Aug 17, 2018
7edac29
Merge pull request #82 from richagadgil/statusBarColor
declanvk Aug 17, 2018
1c347ac
Added null checks
richagadgil Aug 17, 2018
b278941
Merge pull request #81 from richagadgil/activeCellPatch
declanvk Aug 17, 2018
129e621
preventing multiple windows from rnedering, fized resize
richagadgil Aug 17, 2018
4ecc8c4
made interactions dark mode compatible
richagadgil Aug 17, 2018
f8370bc
remove curse word
richagadgil Aug 17, 2018
4ae7cd7
updated kernel image and look
richagadgil Aug 17, 2018
b422e0a
Merge pull request #84 from richagadgil/furtherBugs
declanvk Aug 17, 2018
fbe5ea1
version bump 0.3.1
richagadgil Aug 17, 2018
20d9807
Merge pull request #85 from richagadgil/versionBump0.3.1
declanvk Aug 17, 2018
3941f1a
public version bump
richagadgil Aug 18, 2018
d9e591f
Merge branch 'master' into publicVersionBump
richagadgil Aug 18, 2018
a97d176
Merge pull request #86 from richagadgil/publicVersionBump
declanvk Aug 18, 2018
574e639
fixed fileupload error bug
richagadgil Aug 20, 2018
92f7b63
fixed line/col font color in dark mode
richagadgil Aug 20, 2018
efe13f1
removed extraneous line
richagadgil Aug 20, 2018
0b4576e
removed extraneous line
richagadgil Aug 20, 2018
98f0acb
final
richagadgil Aug 20, 2018
efc9f65
Merge pull request #87 from richagadgil/fixUploadError
declanvk Aug 20, 2018
f114ca1
Added documentation for all defaults
richagadgil Aug 20, 2018
c3d56e8
updated status bar core docs
richagadgil Aug 20, 2018
25417d9
Merge pull request #88 from richagadgil/darkModeChanges
declanvk Aug 20, 2018
7f4d857
Merge pull request #89 from richagadgil/documentation
declanvk Aug 20, 2018
5ca3f53
Update jupyterlab packages
declanvk Aug 20, 2018
6c6d5d3
Bump version for jupyterlab release
declanvk Aug 20, 2018
178af4b
Merge pull request #90 from declanvk/release-0.4.0
richagadgil Aug 20, 2018
d50637e
Add check coming to/from null in tabspace model
declanvk Aug 21, 2018
63f5804
Merge pull request #91 from declanvk/patch-tabspace-item
richagadgil Aug 21, 2018
ed57133
Patch bump fixing tabspace item
declanvk Aug 21, 2018
304467d
Merge pull request #92 from declanvk/publish-tabspace-patch
richagadgil Aug 21, 2018
daec2c9
Add tabspace menu close actions
declanvk Aug 23, 2018
1701478
Add nbresuse instructions
declanvk Aug 23, 2018
423bf15
Bump patch version
declanvk Aug 23, 2018
a7af199
Bump jupyterlab packages
declanvk Aug 23, 2018
42e2647
Merge pull request #93 from declanvk/release-0.4.2
declanvk Aug 23, 2018
b2e0de2
added mem indicator to mem item
richagadgil Aug 29, 2018
af606b4
fixed tab hover issue
richagadgil Aug 29, 2018
d5c0b94
changed editor synatx tax
richagadgil Aug 29, 2018
67ba1ab
Merge pull request #99 from richagadgil/memfix
declanvk Aug 29, 2018
5fa341c
Merge pull request #100 from richagadgil/tabHoverFix
declanvk Aug 29, 2018
ed1496d
Merge pull request #101 from richagadgil/Syntaxtext
declanvk Aug 29, 2018
1bb712d
Update @jupyterlab packages
declanvk Sep 1, 2018
f28866c
0.4.3
declanvk Sep 1, 2018
97f16ca
Merge pull request #103 from declanvk/release-0.4.3
richagadgil Sep 1, 2018
ac56a7b
Update for jlab 0.35 prerelease.
jasongrout Oct 4, 2018
b8e0a97
Merge pull request #105 from jasongrout/jlab35
declanvk Oct 4, 2018
811a701
Add 'packages/statusbar-extension/' from commit 'b8e0a975d28a23ee68c4…
saulshanabrook Oct 17, 2018
2138948
jlpm run create:package updates
saulshanabrook Oct 17, 2018
0a3b129
Ran integrity
saulshanabrook Oct 17, 2018
1786071
Update tsconfig to same format
saulshanabrook Oct 17, 2018
c0cf12a
Include nested files in tsconfig
saulshanabrook Oct 17, 2018
f3c0445
Run `yarn lint`
saulshanabrook Oct 17, 2018
cc7bd75
remove statusbar docs
saulshanabrook Oct 17, 2018
aa67e62
make statusbar package.json more similar
saulshanabrook Oct 17, 2018
df8ac7f
Run lint
saulshanabrook Oct 17, 2018
c13bec1
remove outdated statusbar readme
saulshanabrook Oct 17, 2018
1b42f93
Remove some redundant files.
ian-r-rose Oct 17, 2018
a851654
More integrity.
ian-r-rose Oct 17, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions dev_mode/package.json
Expand Up @@ -66,6 +66,7 @@
"@jupyterlab/settingeditor": "^0.8.1",
"@jupyterlab/settingeditor-extension": "^0.14.1",
"@jupyterlab/shortcuts-extension": "^0.19.3",
"@jupyterlab/statusbar-extension": "^0.5.0",
"@jupyterlab/tabmanager-extension": "^0.19.1",
"@jupyterlab/terminal": "^0.19.1",
"@jupyterlab/terminal-extension": "^0.19.1",
Expand Down Expand Up @@ -152,6 +153,7 @@
"@jupyterlab/running-extension": "",
"@jupyterlab/settingeditor-extension": "",
"@jupyterlab/shortcuts-extension": "",
"@jupyterlab/statusbar-extension": "",
"@jupyterlab/tabmanager-extension": "",
"@jupyterlab/terminal-extension": "",
"@jupyterlab/theme-dark-extension": "",
Expand Down Expand Up @@ -275,6 +277,7 @@
"@jupyterlab/settingeditor": "../packages/settingeditor",
"@jupyterlab/settingeditor-extension": "../packages/settingeditor-extension",
"@jupyterlab/shortcuts-extension": "../packages/shortcuts-extension",
"@jupyterlab/statusbar-extension": "../packages/statusbar-extension",
"@jupyterlab/tabmanager-extension": "../packages/tabmanager-extension",
"@jupyterlab/terminal": "../packages/terminal",
"@jupyterlab/terminal-extension": "../packages/terminal-extension",
Expand Down
1 change: 1 addition & 0 deletions packages/metapackage/package.json
Expand Up @@ -84,6 +84,7 @@
"@jupyterlab/settingeditor": "^0.8.1",
"@jupyterlab/settingeditor-extension": "^0.14.1",
"@jupyterlab/shortcuts-extension": "^0.19.3",
"@jupyterlab/statusbar-extension": "^0.5.0",
"@jupyterlab/tabmanager-extension": "^0.19.1",
"@jupyterlab/terminal": "^0.19.1",
"@jupyterlab/terminal-extension": "^0.19.1",
Expand Down
1 change: 1 addition & 0 deletions packages/metapackage/src/index.ts
Expand Up @@ -55,6 +55,7 @@ import '@jupyterlab/services';
import '@jupyterlab/settingeditor';
import '@jupyterlab/settingeditor-extension';
import '@jupyterlab/shortcuts-extension';
import '@jupyterlab/statusbar-extension';
import '@jupyterlab/tabmanager-extension';
import '@jupyterlab/terminal';
import '@jupyterlab/terminal-extension';
Expand Down
3 changes: 3 additions & 0 deletions packages/metapackage/tsconfig.json
Expand Up @@ -168,6 +168,9 @@
{
"path": "../shortcuts-extension"
},
{
"path": "../statusbar-extension"
},
{
"path": "../tabmanager-extension"
},
Expand Down
23 changes: 23 additions & 0 deletions packages/statusbar-extension/README.md
@@ -0,0 +1,23 @@
# JupyterLab Status Bar

This extension creates a generic statusbar to showcase the various states of JupyterLab. Different components will render depending on the active context: notebook, console, file editor, and terminal. This extension can be used by other
extensions to add custom elements into the statusbar.

Changing Contexts
![Context Changes](http://g.recordit.co/OndGalRjws.gif)

Component Interactions
![Component Previews](http://g.recordit.co/jT0NA6D9c9.gif)

## Dependencies

- JupyterLab

## Optional Dependencies

- [nbresuse](https://github.com/yuvipanda/nbresuse)

```bash
pip install nbresuse
jupyter serverextension enable --py nbresuse
```
75 changes: 75 additions & 0 deletions packages/statusbar-extension/package.json
@@ -0,0 +1,75 @@
{
"name": "@jupyterlab/statusbar-extension",
"version": "0.5.0",
"description": "JupyterLab - Statusbar Extension",
"homepage": "https://github.com/jupyterlab/jupyterlab",
"bugs": {
"url": "https://github.com/jupyterlab/jupyterlab/issues"
},
"license": "BSD-3-Clause",
"author": "Project Jupyter, Richa Gadgil, Takahiro Shimokobe, Declan Kelly",
"files": [
"lib/**/*.d.ts",
"lib/**/*.js.map",
"lib/**/*.js",
"style/*.css",
"style/images/*.svg",
"schema/*.json"
],
"main": "lib/index.js",
"types": "lib/index.d.ts",
"directories": {
"lib": "lib/"
},
"repository": {
"type": "git",
"url": "https://github.com/jupyterlab/jupyterlab.git"
},
"scripts": {
"build": "tsc -b",
"clean": "rimraf lib",
"docs": "typedoc --options tdoptions.json --theme ../../typedoc-theme src",
"prepublishOnly": "npm run build",
"watch": "tsc -b --watch"
},
"dependencies": {
"@jupyterlab/application": "^0.19.1",
"@jupyterlab/apputils": "^0.19.1",
"@jupyterlab/cells": "^0.19.1",
"@jupyterlab/codeeditor": "^0.19.1",
"@jupyterlab/codemirror": "^0.19.1",
"@jupyterlab/console": "^0.19.1",
"@jupyterlab/coreutils": "^2.2.1",
"@jupyterlab/docmanager": "^0.19.1",
"@jupyterlab/docregistry": "^0.19.1",
"@jupyterlab/filebrowser": "^0.19.3",
"@jupyterlab/fileeditor": "^0.19.1",
"@jupyterlab/notebook": "^0.19.2",
"@jupyterlab/services": "^3.2.1",
"@phosphor/algorithm": "^1.1.2",
"@phosphor/commands": "^1.6.1",
"@phosphor/coreutils": "^1.3.0",
"@phosphor/disposable": "^1.1.2",
"@phosphor/messaging": "^1.2.2",
"@phosphor/signaling": "^1.2.2",
"@phosphor/widgets": "^1.6.0",
"react": "~16.4.2",
"typestyle": "^2.0.1"
},
"devDependencies": {
"@types/react": "~16.4.13",
"@types/react-dom": "~16.0.7",
"prettier": "^1.14.2",
"rimraf": "~2.6.2",
"tslint": "~5.10.0",
"typedoc": "~0.12.0",
"typescript": "~3.1.1"
},
"publishConfig": {
"access": "public"
},
"jupyterlab": {
"extension": true,
"schemaDir": "schema"
}
}
28 changes: 28 additions & 0 deletions packages/statusbar-extension/schema/plugin.json
@@ -0,0 +1,28 @@
{
"jupyter.lab.setting-icon-class": "status-bar-icon",
"jupyter.lab.setting-icon-label": "Status Bar",
"title": "Status Bar",
"description": "Status Bar settings.",
"properties": {
"enabledDefaultItems": {
"type": "array",
"title": "Default Status Items",
"description": "Which default items should appear in the status bar",
"default": [
"command-edit-item",
"editor-syntax-item",
"file-path-item",
"file-upload-item",
"kernel-status-item",
"line-col-item",
"notebook-trust-item",
"running-sessions-item",
"tab-space-item",
"memory-usage-item",
"saving-status-item"
]
}
},
"additionalProperties": false,
"type": "object"
}
37 changes: 37 additions & 0 deletions packages/statusbar-extension/src/component/group.tsx
@@ -0,0 +1,37 @@
/**
* @ignore
*/
import * as React from 'react';
import { style, classes } from 'typestyle/lib';
import { centeredFlex, leftToRight } from '../style/layout';

const groupItemLayout = style(centeredFlex, leftToRight);

// tslint:disable-next-line:variable-name
export const GroupItem = (
props: GroupItem.IProps & React.HTMLAttributes<HTMLDivElement>
): React.ReactElement<GroupItem.IProps> => {
const { spacing, children, className, ...rest } = props;
const numChildren = React.Children.count(children);

return (
<div className={classes(groupItemLayout, className)} {...rest}>
{React.Children.map(children, (child, i) => {
if (i === 0) {
return <div style={{ marginRight: spacing }}>{child}</div>;
} else if (i === numChildren - 1) {
return <div style={{ marginLeft: spacing }}>{child}</div>;
} else {
return <div style={{ margin: `0px ${spacing}` }}>{child}</div>;
}
})}
</div>
);
};

export namespace GroupItem {
export interface IProps {
spacing: string;
children: JSX.Element[];
}
}
138 changes: 138 additions & 0 deletions packages/statusbar-extension/src/component/hover.tsx
@@ -0,0 +1,138 @@
import { Widget, PanelLayout } from '@phosphor/widgets';
import { HoverBox } from '@jupyterlab/apputils';

import { Message } from '@phosphor/messaging';
import { hoverItem } from '../style/lineForm';
import { clickedItem, interactiveItem } from '../style/statusBar';

export function showPopup(options: Popup.IOptions): Popup | null {
let dialog = new Popup(options);
dialog.launch();
return dialog;
}

export class Popup extends Widget {
constructor(options: Popup.IOptions) {
super();
this._body = options.body;
this._body.addClass(hoverItem);
this._anchor = options.anchor;
this._align = options.align;
let layout = (this.layout = new PanelLayout());
layout.addWidget(options.body);
this._body.node.addEventListener('resize', () => {
this.update();
});
}

launch() {
this.setGeometry();
Widget.attach(this, document.body);
this.update();
this._anchor.addClass(clickedItem);
this._anchor.removeClass(interactiveItem);
}

setGeometry() {
let aligned = 0;
const anchorRect = this._anchor.node.getBoundingClientRect();
const bodyRect = this._body.node.getBoundingClientRect();
if (this._align === 'right') {
aligned = -(bodyRect.width - anchorRect.width);
}
const style = window.getComputedStyle(this._body.node);
HoverBox.setGeometry({
anchor: anchorRect,
host: document.body,
maxHeight: 500,
minHeight: 20,
node: this._body.node,
offset: {
horizontal: aligned
},
privilege: 'forceAbove',
style
});
}

protected onUpdateRequest(msg: Message): void {
this.setGeometry();
this.setGeometry();
super.onUpdateRequest(msg);
}

protected onAfterAttach(msg: Message): void {
document.addEventListener('click', this, false);
this.node.addEventListener('keypress', this, false);
window.addEventListener('resize', this, false);
}

protected onAfterDetach(msg: Message): void {
document.removeEventListener('click', this, false);
this.node.removeEventListener('keypress', this, false);
window.removeEventListener('resize', this, false);
}

protected _evtClick(event: MouseEvent): void {
if (
!!event.target &&
!(
this._body.node.contains(event.target as HTMLElement) ||
this._anchor.node.contains(event.target as HTMLElement)
)
) {
this.dispose();
}
}

protected onResize(): void {
this.update();
}

dispose() {
super.dispose();
this._anchor.removeClass(clickedItem);
this._anchor.addClass(interactiveItem);
}

protected _evtKeydown(event: KeyboardEvent): void {
// Check for escape key
switch (event.keyCode) {
case 27: // Escape.
event.stopPropagation();
event.preventDefault();
this.dispose();
break;
default:
break;
}
}

handleEvent(event: Event): void {
switch (event.type) {
case 'keydown':
this._evtKeydown(event as KeyboardEvent);
break;
case 'click':
this._evtClick(event as MouseEvent);
break;
case 'resize':
this.onResize();
break;
default:
break;
}
}

private _body: Widget;
private _anchor: Widget;
private _align: 'left' | 'right' | undefined;
}

export namespace Popup {
export interface IOptions {
body: Widget;
anchor: Widget;
align?: 'left' | 'right';
}
}
26 changes: 26 additions & 0 deletions packages/statusbar-extension/src/component/icon.tsx
@@ -0,0 +1,26 @@
import * as React from 'react';

import icon from '../style/icon';
import { classes, style } from 'typestyle/lib';

export namespace IconItem {
export interface IProps {
source: string;
}
}

// tslint:disable-next-line:variable-name
export const IconItem = (
props: IconItem.IProps &
React.HTMLAttributes<HTMLDivElement> & {
offset: { x: number; y: number };
}
): React.ReactElement<IconItem.IProps> => {
const { source, className, offset, ...rest } = props;
return (
<div
className={classes(className, source, style(icon(offset)))}
{...rest}
/>
);
};
5 changes: 5 additions & 0 deletions packages/statusbar-extension/src/component/index.ts
@@ -0,0 +1,5 @@
export * from './icon';
export * from './progressBar';
export * from './text';
export * from './group';
export * from './hover';