Commit Graph

47 Commits

Author SHA1 Message Date
Jeff Glass
0b014eea56 Execute pys-on* events when triggered, not at load (#686)
* Execute pys-on* events when triggered, not at load

Mimicing the behavior of Javascripts 'onLoad' event, we should
not be executing the use code at page-load time, only when
the event is triggered.

* Update examples to new syntax

* Fix merge issue

* Await running event handler code

* Restore pys-on* events with original behavior, deprecation warning

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* xfail toga example

* Add missing { (typo)

* Adjust callback chandling to make linter happy

* Change alpha to latest (#760)

* Don't create custom elements in main and fix various small issues on tests (#747)

* Create custom elements when the runtime finishes loading

* Remove xfails and fix repl integration test

* Fix commented ignore

* Address Antonio's comments

* Fix bad rebase

* Make ure to wait for repl to be in attached state before asserting content

* Move createCustomeElement up so it runs before we close the loader, xfail flaky d3 test

* Fix xfail

* [pre-commit.ci] pre-commit autoupdate (#762)

updates:
- [github.com/pre-commit/mirrors-eslint: v8.23.0 → v8.23.1](https://github.com/pre-commit/mirrors-eslint/compare/v8.23.0...v8.23.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* change documentation to point to latest instead of frozen alpha (#764)

* Toga example is xpass

* Correct 'xpass' to 'xfail' mark

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Peter W <34256109+pww217@users.noreply.github.com>
Co-authored-by: Fábio Rosado <fabiorosado@outlook.com>
2022-09-14 20:33:42 -05:00
Ted Patrick
6c80db810f pyon-dragover to py-dragover (#755)
typo in events
2022-09-07 16:31:59 -05:00
Antonio Cuni
f3157b377f Improve JS logging (#743)
This PR tries to improve and rationalize what we log. Key points:
- introduce `logger.ts`: each file/component is encouraged to use the logger instead of writing directly to `console.*`
    * the logger automatically prepend a prefix like `[py-config]`, `[py-env]` which make it easier to understand where a certain message is printed from
    * it provide a central place where to add more features in the future. E.g., I can imagine having a config setting to completely silence the logs (not implemented yet)
- use the new loggers everywhere
- write to `.info()` instead of `.log()`. The idea is to keep `console.log` free, so that for the users it's easier to tell apart their own messages and the pyscript ones
- generally improve what we log. This is an endless exercise, but I tried to print more things which are useful to understand what's going on and in which order the various things are executed, and remove prints which were clearly debugging leftovers
2022-09-06 15:18:41 +02:00
Madhur Tandon
edfd4baa1f import create_proxy and to_js from pyodide.ffi (#725) 2022-08-25 22:11:18 +02:00
Madhur Tandon
1db155570d PyodideRuntime should be one of the runtimes (#698)
* PyodideRuntime should be one of the runtimes

* subsume interpreter into runtime API

* fix eslint

* add comments

* move initializers, postInitializers, scriptsQueue, etc. to initialize() of Runtime Super Class

* modify comment for initialize

* small renaming

* change id to default

* fix pyscript.py import

* try adding tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add inlineDynamicImports option

* Make jest happy about ESM modules

* Attempt to make jest happy about pyodide

* point to version in accordance with node module being used

* fix base.ts

* fix tests

* fix indexURL path determination

* edit pyodide.asm.js as a part of setup process

* load runtime beforeAll tests

* add test for loading a package

* use only runPythonAsync underneath for pyodide

* import PyodideInterface type directly from pyodide

* add some comments

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Philipp Rudiger <prudiger@anaconda.com>
2022-08-25 02:33:36 +05:30
woxtu
a726be3c7c Remove unnecessary await (#662) 2022-08-08 23:16:02 +05:30
Madhur Tandon
006d161a32 cleanup leftovers such as mode and pyodideReadyPromise (#649)
* remove usage of mode

* clean up pyodideReadyPromise
2022-08-02 20:44:41 +05:30
Leonardo Pliger
ee9b0960f7 Add support to py- events that map all js events available (#561)
* added the  py- events throughout pyscript.ts

* Integrated the py- event throughout the examples

* Fixed spelling error
2022-06-29 19:49:21 -03:00
woxtu
506ac2574f Add type annotations (#562) 2022-06-28 14:17:23 -05:00
Fabio Pliger
fcaa57307f See you later tailwind (#452)
* start removing tailwind and rebuilding some css

* add css to pybox and add class to repl

* set output component visibility

* replace tailwind class with single component class

* add styles to css

* replace classes on  button

* replace classes on input

* replace classes in title

* replace classes on list

* replace classes

* add new style file

* add list element style

* remove tailwind classes from todo example

* revert link on examples files

* remove tailwind config files

* remove commented old code

* add missing ;
2022-06-24 18:30:07 -05:00
woxtu
c7942d7d8f Use the type definition of pyodide (#535)
* Import the type definition

* Add type annotations
2022-06-24 14:25:14 -05:00
andre-dietrich
e1622a56fa fix: < & > are parsed with HTML escape symbols (#481)
Adds utils.htmlDecode arround innerHTML to read the code for <py-repl> and
<py-script>, which preserves all newlines, tabs, and < & > characters.

Fix bug #480
2022-06-09 16:01:31 -05:00
woxtu
39774a83c5 Use a recommended method (#363) 2022-05-17 22:24:33 -05:00
hoge1e3
eb3a31a698 fixed the bug std-err attribute cannot set stderr properly (#371) 2022-05-16 21:30:57 -05:00
Yannick Funk
eba42ad9b4 Add checkId() for PyButton and PyInputBox, add id check for tags with pys- Event handlers (#400)
* Add id generation to PyButton and PyInputBox components

* Refactor init handlers and add check for id
2022-05-16 16:05:11 -05:00
ic-768
2526d242bc Change let to const; Minor code improvement (#300)
* Change let to const; Minor code improvement

* Indentation fix
2022-05-10 16:15:32 -05:00
Fabio Pliger
b7d748c96a Moves Python code out of interpreter file (#207)
* make copy of .py files part of build process

* move code out ofinterpreter file and make it download and load code during initialization

* fix double ; in interpreter

* remove debugging print

* update dependencies

* fix project name and version

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* lint

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* change fmt-py

* lint

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove extra content

* define missing strict type

* create build folder if doesn't exist

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-05 23:12:54 -05:00
Christian Clauss
f4a991fd0a Fix typo 2022-05-04 18:10:10 +02:00
Fabio Pliger
99c79acc78 clean pyscript.ts 2022-04-28 14:09:44 -06:00
Fabio Pliger
cb61908e83 remove old code and bypass some warning 2022-04-28 12:02:35 -06:00
Ross Bermudez
27deee3f86 [PYS-12] Format and lint 2022-04-25 15:00:14 +02:00
Fabio Pliger
45d68f5701 move check id out of constructor 2022-04-22 12:55:06 -05:00
Fabio Pliger
9d0837abec remove unecessary check for id since the base class is making sure that it always has an ID 2022-04-22 11:55:18 -05:00
Philipp Rudiger
190ae39690 Auto-generate element ID to ensure output is rendered 2022-04-21 20:40:24 +02:00
Fabio Pliger
7884127534 remove debug print 2022-04-21 12:27:17 -05:00
Fabio Pliger
cad87e6616 fix pyscript output when nothing is specified 2022-04-21 12:25:09 -05:00
Fabio Pliger
f5b168a45e add better support for new widgets 2022-04-20 15:41:28 -05:00
Fabio Pliger
a702cbdf10 add support for custom widgets registration in Python 2022-04-19 19:24:22 -05:00
Fabio Pliger
9e47644238 clean up repl class attrs 2022-04-19 10:58:20 -05:00
Fabio Pliger
3c2ca6d68c fix error when trying to output to non existing element 2022-04-18 23:10:41 -05:00
Fabio Pliger
a6955b170a Merge branch 'main' into pys-19/allow_out_err_redirect 2022-04-18 22:21:47 -05:00
Fabio Pliger
b38d2e5df1 add support for std-out and std-err attributes in py-repl and py-script 2022-04-18 21:55:29 -05:00
Fabio Pliger
4ba90a9250 rename target attribute to output 2022-04-18 18:56:49 -05:00
Fabio Pliger
4d890602d9 adapt pyscript to new base class and clean Base 2022-04-18 12:06:30 -05:00
Mateusz Paprocki
0dc3b728c3 Allow import d3 instead of from esm import d3 2022-04-16 10:38:02 +02:00
Fabio Pliger
ef884689ba Merge branch 'main' into mattpap/allow_pyscript_block_offset 2022-04-15 18:46:42 -05:00
Mateusz Paprocki
d0f0ebc6c3 Very rudimentary support for ESM and import maps 2022-04-15 14:28:51 +02:00
Mateusz Paprocki
c93a98a15f Allow to indent <py-script> blocks 2022-04-14 10:23:03 +02:00
Fabio Pliger
973a14baea allow pyscript to specify source and try loading pyscript python injections from file 2022-04-11 23:13:06 -05:00
Fabio Pliger
5ec85695b9 add initializers that run before py-script scripts run and post initializers that run after. Also add function to unescape some of the characters when read form html tags 2022-04-01 10:45:52 -05:00
Fabio Pliger
2b7cbe0129 add array of initializers, to run after the python runtime has loaded 2022-03-25 16:57:54 -05:00
Fabio Pliger
b5680bd34e add mode and minimal very rudimentary support for async exec in pyscript 2022-03-24 11:26:20 -05:00
Fabio Pliger
9df0974b4c add right side nav bar for components and components details 2022-03-15 20:01:34 -05:00
Fabio Pliger
9554f5b1fd add new initialized runtime to global runtimes in store 2022-03-09 11:55:34 -06:00
Fabio Pliger
5831f9a99f replace text with gears and play icons. Also add potential new py-reple tag and possible attributes 2022-03-08 11:36:13 -06:00
Fabio Pliger
45c0dbe416 add codemirror cmd to capture ctrl+enter and shift+enter to call evaluate function 2022-03-07 17:16:32 -06:00
Fabio Pliger
6f5ffc7360 add stores, move pyscript component in it's own file add method to add new scripts to page 2022-03-04 14:13:32 -06:00