Commit graph

84 commits

Author SHA1 Message Date
Jonatan Kłosko
7f4e9273de Add missing client id for smart cell JS view 2022-08-05 20:55:42 +02:00
Jonatan Kłosko
218bce5a63
Use binary ids for session clients (#1333) 2022-08-05 14:43:41 +02:00
Jonatan Kłosko
4dc1deab24 Bump Elixir version on CI 2022-08-03 17:30:22 +02:00
Jonatan Kłosko
3fcb6b97bb
Enable HEEx formatter (#1322) 2022-08-02 15:51:02 +02:00
Jonatan Kłosko
355a450d4c
Fix smart cell evaluation button in forked notebooks (#1185) 2022-05-13 15:22:52 +02:00
Jonatan Kłosko
567c69a884
Always expand the setup cell when focused (#1166) 2022-05-03 16:20:13 +02:00
Jonatan Kłosko
9a016e439d
Synchronize smart cell source before evaluation (#1164)
* Synchronize smart cell source before evaluation

* Sync JS view only if present

* Synchronize with smart cell only when started

* Update references to kino packages

* Update the Smart cells notebook

* Rename add dependnecy to add package

* Update changelog
2022-05-03 15:09:37 +02:00
Jonatan Kłosko
2a1d937189
Update wording around dependencies and packages (#1151) 2022-04-30 17:14:10 +02:00
Jonatan Kłosko
8e063792ff
Improvements to the smart cells flow (#1150)
* Reword reinstall to restart

* Clarify Smart cell message when dependencies are installing

* Handle universal shortcuts in inside iframe inputs

* Adjust smart cell icons

* Improve wording in the dependency install prompt

* Reevaluate cells after installing smart cell dependencies

* Update lib/livebook_web/live/session_live/cell_component.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-04-30 12:26:03 +02:00
Jonatan Kłosko
4f5d6b39a1
Make smart cell editor rounded (#1105) 2022-04-13 20:03:21 +02:00
Jonatan Kłosko
1cdc9f7f70
Remove restart button on Mix.install/2 error (#1088)
* Remove restart button on Mix.install failure

* Remove unused standalone? check
2022-04-04 12:49:17 +02:00
Jonatan Kłosko
902c993098
Adjustments (#1087)
* Fix horizontal scrollbar on smaller screens

* Apply navigation shortcuts without an additional roundtrip

* Shorten the data element selector

* Fix URL in changelog

* Return reference from handle_intellisense
2022-04-04 12:19:11 +02:00
Jonatan Kłosko
75eb031719
Automate searching and adding new dependencies (#1081)
* Automate searching and adding new dependencies

* Restructure runtime management

* Leave search restrictions up to the runtime

* Support predefined dependencies in Embedded runtime dependency search

* Use the embedded runtime for dependency search test

* Fix typo

* Use module for loading embedded runtime dependencies

* Improve naming
2022-04-01 20:13:37 +02:00
Jonatan Kłosko
5476fd001d
Introduce a setup cell (#1075)
* Introduce a setup cell

* Don't collapse setup cell when dirty

* Collapse fresh setup cell when empty

* Reword collapsed setup cell text
2022-03-28 21:36:57 +02:00
Jonatan Kłosko
ac5a71bf85
Show a message when JS view data is not available (#1067)
* Multiplex initialization of JS views

* Show timeout message when JS view data fails to load

* Refactor JS view channel

* Update tests
2022-03-22 18:25:42 +01:00
Jonatan Kłosko
b3b79afed4
Refactor JS hooks (#1055)
* Restructure hook files

* Simplify app.js

* Refactor hooks

* Implement password toggle with JS commands
2022-03-16 11:33:53 +01:00
Jonatan Kłosko
6db36ea7e6
Add support for smart cell editor (#1050)
* Add support for smart cell editor

* Log an error when smart cell fails to start
2022-03-14 22:19:56 +01:00
Jonatan Kłosko
6b78258713
Add support for scanning evaluation context from smart cells (#1041)
* Add support for scanning evaluation context from smart cells

* Rename prev_locator to base_locator to clarify the meaning

* Adjustments

* Add data tests

* Adjustments

* Test smart cell intearaction with RuntimeServer

* Serialize binding scanning and leave sending to the user

* Monitor the scanning process
2022-03-05 13:19:42 +01:00
Jonatan Kłosko
e27ff5a960
Rename Elixir cell to Code cell (#1035) 2022-03-02 12:48:02 +01:00
Jonatan Kłosko
aaeac6bb95
Add an action converting smart cell to elixir cell (#1030)
* Add an action converting smart cell to elixir cell

* Simplify tests setup

* Add confirmation

* Update lib/livebook_web/live/session_live/cell_component.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-03-02 12:13:44 +01:00
Jonatan Kłosko
d191b7eb9d
Set up confirmation modals (#1033)
* Set up confirmation modals

* Add temporary fix for the global hook remount
2022-03-02 00:26:40 +01:00
Jonatan Kłosko
9d7fe44253
Introduce smart cells (#1029)
* Introduce smart cells

* Apply review comments
2022-02-28 13:53:33 +01:00
Cristine Guadelupe
d775908a48
Adds role button to cell link button (#1010) 2022-02-17 23:39:38 -03:00
Cristine Guadelupe
b32b363ed1
Improves cell accessibility (#1009)
* Reads the output after a cell has been evaluated

* Creates SR landmarks when errors happen

* fixes formatting

* Reads a clearer message when a runtime restart is required

* Update lib/livebook_web/live/session_live/cell_component.ex

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2022-02-17 19:37:14 -03:00
Jonatan Kłosko
89ca95be10
Reuse DOM elements when replacing frame outputs (#881)
* Reuse DOM elements when replacing frame outputs

* Keep less persistent indices
2022-01-18 15:13:50 +01:00
Jonatan Kłosko
fe0bf660a2
Remove outputs from the page on erase outputs (#878) 2022-01-17 17:13:29 +01:00
Jonatan Kłosko
6d1d4de767
Push cells source to the client on initial render (#875) 2022-01-17 13:20:59 +01:00
Jonatan Kłosko
6615422613
Restructure frame output (#857)
* Restructure frame output

* Reboot JSComponent when ref changes

* Prune outputs from LV, handle frame and stdout updates via component messaging

* Keep ANSI modifiers as keyword list

* Don't re-render pruned outputs

* Improve empty frame styling

* Use more specific id

* Add clarification on trailing CR

* Handle output group borders with CSS

* Keep only relevant outputs in memory

* Adjust borders

* Update lib/livebook/live_markdown/import.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

* Apply review comments

Co-authored-by: José Valim <jose.valim@dashbit.co>
2022-01-16 20:37:00 +01:00
Jonatan Kłosko
35e42d1bad
Keep editor background on rerender (#869) 2022-01-15 23:08:45 +01:00
Cristine Guadelupe
9690e2ac51
Minor design improvements (#858)
* Adds the greens and yellows from the custom color palette

* Keeps the cell status indicators with the original bright colors

* Increases icon-button contrast

* Increases labeled_text font-size

* Removes type: button to fix the runtime sidebar buttons style on Safari

* Increases the toggleable menu contrast on hover

* Use the same color for the stale state in the sections sidebar
2022-01-13 15:06:11 -03:00
Jonatan Kłosko
844242ba80
Add support for JS output widgets (#818)
* Add support for JS output widgets

* Don't block session when fetching assets and batch calls

* Improve path component sanitisation

* Move fetching check to session caller

* Attach origin to connect and event messages
2021-12-24 14:18:34 +01:00
Jonatan Kłosko
a133a7070d
Use different icon when output is amplified (#775) 2021-12-08 16:30:52 +01:00
Jonatan Kłosko
89ea67861f
Improve "changed" indicator and batch evaluation shortcuts (#766)
* Make cell status italic when content changed

* Add Ctrl+Shift+Enter for evaluating all cells

* Improve the behaviour of evaluating all cells

* Fix typo
2021-12-07 19:14:32 +01:00
Jonatan Kłosko
ac6b423e79
Fix frame rendering (#735)
* Fix frame rendering

* Add test for the dynamic frame
2021-12-03 18:59:08 +01:00
Jonatan Kłosko
4debf2c1fb
Fix evaluation timer on page refresh (#732) 2021-12-03 14:23:50 +01:00
Jonatan Kłosko
0b6acb9d34
Hide reconnect runtime button once reconnected (#731) 2021-12-03 14:03:06 +01:00
Jonatan Kłosko
c2636b8220
Migrate inputs to Kino (#714)
* Migrate inputs to Kino

* Update lib/livebook/session/data.ex

Co-authored-by: José Valim <jose.valim@dashbit.co>

* Try parsing numbers as integers

* Garbage collect input values

* Adjust tests

* Remove unused variable

* Fix frame rendering

* Wrap inputs in border depending on its type

* Add textarea

* Reorder

* Update tests

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-11-25 18:43:42 +01:00
Jonatan Kłosko
f64dd0ea90
Restructure j/k navigation to support headlines (#707)
* Accessibility fixes

* Restructure j/k navigation to support headlines

* Focus modal content when open

* Further focus adjustments

* Fix tests

* Remove unused functions
2021-11-16 21:57:10 +01:00
Jonatan Kłosko
c473a8c469
Add an option to amplify cell outputs (#689)
* Add an option to amplify cell outputs

* Reorder actions
2021-11-09 10:45:05 +01:00
Jonatan Kłosko
0b30fd02d9
Add support for frame_dynamic output type (#688) 2021-11-08 20:45:30 +01:00
Jonatan Kłosko
fbd03d6725
Update Phoenix LV (#656)
* Wrap live routes in live_session

* Update Phoenix LV

* Migrate to live_component component call

* render_block -> render_slot

* phx-disconnected -> phx-loading

* phx-capture-click -> phx-click-away

* Add hook dealing with current user

* Bump LV

* Bump LV
2021-11-01 19:33:43 +01:00
Jonatan Kłosko
021d6ac42e
Improve icon buttons accessibility and navigation (#667)
* Rename tooltip source attribute

* Add aria-label to icon buttons/links

* Actually focus cell content when navigating around

* Add some descriptions

* Fix dynamically computed tooltips
2021-11-01 18:20:56 +01:00
Jakub Perżyło
ace64eab37
Add show/hide button for password inputs #566 (#664)
* Added visibility toggle for password cell

* Formatted code

* Moved password toggle to separate component

* Adjusted to review

* Added password toggle for add filesystem component

* Update lib/livebook_web/helpers.ex

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-11-01 16:04:11 +01:00
Jonatan Kłosko
4493a60380
Improve runtimes UI (#655)
* Show reconnect for all runtime types when applicable

* Make it clear which runtime is the default

* Show Mix.install restart suggestion only for standalone runtimes

* Fix tests not to rely on the default runtime tab
2021-10-28 19:41:07 +02:00
gpopides
5c0267b547
Added automatic cell evaluation (#637)
* Added automatic evaluation

* apply review changes

* persist reevaluate_automatically and update test

* test for automatic reevaluation

* formatting

* Add import test

* Always show if a cell automatically reevaluates and link to settings

* Evaluate automatically reevaluating cells after queuing

* Always show evaluate button when cell is fresh

* Update icon

* Add test ensuring that fresh cells don't evaluate automatically

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-10-26 20:38:30 +02:00
Jonatan Kłosko
aefe8d03c8
Fix intermediate output ids to not change on finished evaluation (#622) 2021-10-20 00:32:48 +02:00
Matheus Cumpian
7094433b5d
Change color for aborted and queued status (#620) 2021-10-19 20:32:00 +02:00
Dimitris Zorbas
6391b65060
Fix doc typo in cell_component.ex (#592) 2021-10-09 20:20:13 +02:00
Jonatan Kłosko
8e6558a83a
Introduce file system abstraction and an S3 implementation (#492)
* Introduce file system abstraction and an S3 implementation

* Support arbitrary absolute paths and delegate resolution to file system

* Remove accidental notebook file

* Apply suggestions from code review

Co-authored-by: José Valim <jose.valim@dashbit.co>

* Apply review comments

* Add missing path assertions

* Apply review comments

* Fix test saving notebook in project root

Co-authored-by: José Valim <jose.valim@dashbit.co>
2021-08-13 21:17:43 +02:00
Huynh Tan
e7a8a0775f
Implement checkbox input (#461)
* Implement checkbox input

* Adjustments

Co-authored-by: Jonatan Kłosko <jonatanklosko@gmail.com>
2021-07-26 19:59:52 +02:00