pgwidgets-js 0.3.4__tar.gz → 0.3.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/PKG-INFO +1 -1
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/WhatsNew.rst +41 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/menus.rst +8 -3
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/package.json +1 -1
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/defs.py +10 -4
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Menu.css +9 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/TreeView.css +17 -2
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ComboBox.js +16 -1
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/MenuAction.js +36 -2
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/MenuBar.js +33 -2
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/RadioButton.js +4 -1
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TableView.js +4 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ToolBarAction.js +1 -1
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TreeView.js +369 -15
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js.egg-info/PKG-INFO +1 -1
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js.egg-info/scm_file_list.json +165 -165
- pgwidgets_js-0.3.6/pgwidgets_js.egg-info/scm_version.json +8 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/tests/test_recent_additions.py +35 -0
- pgwidgets_js-0.3.4/pgwidgets_js.egg-info/scm_version.json +0 -8
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/.flake8 +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/.github/workflows/tests.yml +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/.gitignore +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/.readthedocs.yaml +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/LICENSE.md +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/MANIFEST.in +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/README.md +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/Widgets.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/Widgets.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/Makefile +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/callbacks.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/conf.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/electron.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/external-widgets.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/for-developers.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/frameworks.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/getting-started.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/index.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/pyodide.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/remote.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/styling.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/controls.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/dialogs.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/display.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/index.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/layout.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/nonvisual.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/docs/widgets/text.rst +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/all_widgets.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/all_widgets_pyodide.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/all_widgets_pyodide.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/all_widgets_pyscript.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/all_widgets_pyscript.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/box.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/button.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/canvas.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/checkbox.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/colordialog.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/combobox.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/debug_spinbox.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/dial.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/dialog.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/electron/.gitignore +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/electron/.npmrc +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/electron/index.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/electron/main.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/electron/package.json +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/expander.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/external_widgets.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/fixedlayout.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/frame.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/gridbox.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/htmlview.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/image.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/label.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/mdi_widget.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/menu.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/progressbar.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/pyodide_demo.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/pyscript.toml +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/radiobutton.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/remote.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/remote_demo.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/remote_demo_async.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/scroll_area.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/scrollable.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/scrollbar.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/slider.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/spinbox.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/splitter.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/tab_widget.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/tableview.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/text_entry.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/textarea.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/textentryset.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/textsource.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/togglebutton.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/toolbar.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/treeview.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/examples/videowidget.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/__init__.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/pyodide/__init__.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/pyodide/log.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/pyodide/widget.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/Widgets.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/Widgets.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/AbstractScrollArea.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Box.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Button.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/CheckBox.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ColorDialog.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ComboBox.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Dial.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Dialog.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Expander.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ExternalWidget.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/FixedLayout.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Frame.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/GridBox.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/HtmlView.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Image.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Label.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/MDIWidget.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ProgressBar.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/RadioButton.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ScrollArea.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ScrollBar.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Slider.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/SpinBox.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Splitter.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/StatusBar.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/TabWidget.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Text.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/TextArea.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/TextEntrySet.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/TextSource.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ToggleButton.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/ToolBar.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/TopLevel.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/VideoWidget.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/Widget.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/css/WindowMenu.css +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/file.svg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/folder.svg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/hdots.svg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/pgicon.svg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/pgwidgets-logo.png +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/pgwidgets-logo.svg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/icons/vdots.svg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/AbstractScrollArea.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Box.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Button.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Callback.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Canvas.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/CheckBox.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ColorDialog.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ColorWidget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ComboBoxNative.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Dial.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Dialog.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Expander.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ExternalWidget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/FileDialog.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/FixedLayout.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Frame.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/GridBox.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/HtmlView.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Image.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Label.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/MDIWidget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Menu.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Page.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ProgressBar.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/RemoteInterface.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ScrollArea.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ScrollBar.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Separator.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Slider.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/SpinBox.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Splitter.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/StatusBar.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TabWidget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TextArea.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TextEntry.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TextEntrySet.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TextSource.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TextWidget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Timer.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ToggleButton.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/ToolBar.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/TopLevel.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/VideoWidget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/Widget.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/modules/WindowMenu.js +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js/static/remote.html +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js.egg-info/SOURCES.txt +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js.egg-info/dependency_links.txt +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js.egg-info/requires.txt +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pgwidgets_js.egg-info/top_level.txt +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/pyproject.toml +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/setup.cfg +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/setup.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/tests/__init__.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/tests/test_consistency.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/tests/test_defs.py +0 -0
- {pgwidgets_js-0.3.4 → pgwidgets_js-0.3.6}/tests/test_static_assets.py +0 -0
|
@@ -4,6 +4,47 @@ What's New
|
|
|
4
4
|
Recent changes — since ``v0.3.3``
|
|
5
5
|
---------------------------------
|
|
6
6
|
|
|
7
|
+
TableView: spreadsheet-style cell cursor and editing
|
|
8
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
9
|
+
|
|
10
|
+
``TableView`` gained a current-cell cursor navigated with the arrow keys
|
|
11
|
+
and Tab. ``set_editable(tf)`` makes every text column editable in one
|
|
12
|
+
call. With editing on, typing a printable character starts an edit
|
|
13
|
+
pre-filled with that character (replacing the cell), Enter or F2 edits
|
|
14
|
+
the existing contents, and Delete/Backspace clears the cell. While
|
|
15
|
+
editing, the arrow keys commit and move in that direction (Excel-style),
|
|
16
|
+
Tab commits and moves right, Enter commits and moves down, and Esc
|
|
17
|
+
cancels.
|
|
18
|
+
|
|
19
|
+
TableView/TreeView: header font and more compact tables
|
|
20
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
21
|
+
|
|
22
|
+
New ``set_header_font(family, size, weight, style)`` sets the
|
|
23
|
+
column-header font. Headers are now non-bold by default for a more
|
|
24
|
+
compact table (pass a bold weight to embolden), and
|
|
25
|
+
``set_optimal_column_widths`` only reserves sort-indicator padding on
|
|
26
|
+
sortable columns, so unsorted/non-sortable columns pack more tightly.
|
|
27
|
+
|
|
28
|
+
Menu icons: ``icon_only`` and top-level menubar icons
|
|
29
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
30
|
+
|
|
31
|
+
``MenuAction`` already accepted ``icon_url`` / ``iconsize``; it now also
|
|
32
|
+
takes ``icon_only``, which shows just the icon (keeping the text as an
|
|
33
|
+
accessible tooltip) and falls back to the text label when no icon is set.
|
|
34
|
+
``MenuBar.add_menu(menu, name, options)`` gained an optional ``options``
|
|
35
|
+
argument so top-level menubar entries can carry an icon
|
|
36
|
+
(``icon_url`` / ``iconsize`` / ``icon_only``) too. Icon creation now uses a
|
|
37
|
+
truthy guard (matching ``ToolBarAction``) so an unset icon arriving as
|
|
38
|
+
``null``/``undefined``/``''`` no longer renders a broken image.
|
|
39
|
+
|
|
40
|
+
RadioButton: robust ``group`` handling
|
|
41
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
42
|
+
|
|
43
|
+
``RadioButton`` now uses a truthy check for the ``group`` option, so an
|
|
44
|
+
unset group arriving as ``null``/``undefined``/``''`` (varies by backend,
|
|
45
|
+
e.g. ``to_js(None)`` under Pyodide) reliably starts a new group instead of
|
|
46
|
+
risking a crash on ``undefined.group``.
|
|
47
|
+
|
|
7
48
|
TextSource: text no longer clipped when scrolling long files
|
|
8
49
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
9
50
|
|
|
@@ -25,8 +25,11 @@ Horizontal menu bar, typically placed at the top of a window.
|
|
|
25
25
|
|
|
26
26
|
* - Method
|
|
27
27
|
- Description
|
|
28
|
-
* - ``add_menu(menu, name)``
|
|
29
|
-
- Add a Menu with a display name.
|
|
28
|
+
* - ``add_menu(menu, name, options)``
|
|
29
|
+
- Add a Menu with a display name. ``options`` (optional) may include
|
|
30
|
+
``icon_url`` / ``iconsize`` / ``icon_only`` to show an icon on the
|
|
31
|
+
top-level entry (``icon_only`` shows just the icon and keeps the name
|
|
32
|
+
as a tooltip).
|
|
30
33
|
* - ``add_name(name)``
|
|
31
34
|
- Add a menu by name (creates and returns a new Menu).
|
|
32
35
|
* - ``get_menu(name)``
|
|
@@ -88,7 +91,7 @@ MenuAction
|
|
|
88
91
|
|
|
89
92
|
A single action item inside a Menu.
|
|
90
93
|
|
|
91
|
-
**Constructor:** ``new Widgets.MenuAction({text, icon_url, iconsize, checkable, name})``
|
|
94
|
+
**Constructor:** ``new Widgets.MenuAction({text, icon_url, iconsize, checkable, name, icon_only})``
|
|
92
95
|
|
|
93
96
|
**Options:**
|
|
94
97
|
|
|
@@ -97,6 +100,8 @@ A single action item inside a Menu.
|
|
|
97
100
|
- ``iconsize`` -- icon size in pixels
|
|
98
101
|
- ``checkable`` -- whether the action has a check state
|
|
99
102
|
- ``name`` -- internal name
|
|
103
|
+
- ``icon_only`` -- when an icon is set, show only the icon (the text is kept
|
|
104
|
+
as an accessible tooltip; falls back to the text if no icon is set)
|
|
100
105
|
|
|
101
106
|
**Methods:**
|
|
102
107
|
|
|
@@ -667,7 +667,7 @@ WIDGETS = {
|
|
|
667
667
|
"clear": [],
|
|
668
668
|
"set_length": ["numchars"],
|
|
669
669
|
},
|
|
670
|
-
"callbacks": ["activated"],
|
|
670
|
+
"callbacks": ["activated", "modified"],
|
|
671
671
|
},
|
|
672
672
|
|
|
673
673
|
"SpinBox": {
|
|
@@ -767,6 +767,8 @@ WIDGETS = {
|
|
|
767
767
|
"sortable", "allow_text_selection"],
|
|
768
768
|
"methods": {
|
|
769
769
|
"set_columns": ["columns"],
|
|
770
|
+
"set_editable": ["tf"],
|
|
771
|
+
"set_header_font": ["family", "size", "weight", "style"],
|
|
770
772
|
"set_tree": ["tree"],
|
|
771
773
|
"add_tree": ["tree", "parent"],
|
|
772
774
|
"update_tree": ["tree"],
|
|
@@ -774,6 +776,7 @@ WIDGETS = {
|
|
|
774
776
|
"add_item": ["parent", "key", "values"],
|
|
775
777
|
"remove_item": ["path"],
|
|
776
778
|
"remove_items": ["paths"],
|
|
779
|
+
"delete_tree": ["tree", "prune_empty"],
|
|
777
780
|
"clear": [],
|
|
778
781
|
"expand_all": [],
|
|
779
782
|
"collapse_all": [],
|
|
@@ -828,7 +831,7 @@ WIDGETS = {
|
|
|
828
831
|
},
|
|
829
832
|
"callbacks": ["activated", "selected", "expanded", "collapsed",
|
|
830
833
|
"sorted", "cell_edited", "scrolled",
|
|
831
|
-
"cell_selected", "cell_action",
|
|
834
|
+
"cell_selected", "cell_action", "changed",
|
|
832
835
|
"copy", "cut", "paste"],
|
|
833
836
|
},
|
|
834
837
|
|
|
@@ -840,6 +843,8 @@ WIDGETS = {
|
|
|
840
843
|
"sortable", "allow_text_selection"],
|
|
841
844
|
"methods": {
|
|
842
845
|
"set_columns": ["columns"],
|
|
846
|
+
"set_editable": ["tf"],
|
|
847
|
+
"set_header_font": ["family", "size", "weight", "style"],
|
|
843
848
|
"set_rows": ["rows"],
|
|
844
849
|
"set_data": ["data"],
|
|
845
850
|
"clear": [],
|
|
@@ -1009,7 +1014,7 @@ WIDGETS = {
|
|
|
1009
1014
|
"args": [],
|
|
1010
1015
|
"options": [],
|
|
1011
1016
|
"methods": {
|
|
1012
|
-
"add_menu": ["menu", "name"],
|
|
1017
|
+
"add_menu": ["menu", "name", "options"],
|
|
1013
1018
|
"add_name": ["name"],
|
|
1014
1019
|
"get_menu": ["name"],
|
|
1015
1020
|
},
|
|
@@ -1034,7 +1039,8 @@ WIDGETS = {
|
|
|
1034
1039
|
"MenuAction": {
|
|
1035
1040
|
"base": "widget",
|
|
1036
1041
|
"args": [],
|
|
1037
|
-
"options": ["text", "icon_url", "iconsize", "checkable", "name"
|
|
1042
|
+
"options": ["text", "icon_url", "iconsize", "checkable", "name",
|
|
1043
|
+
"icon_only"],
|
|
1038
1044
|
"methods": {
|
|
1039
1045
|
"set_text": ["text"],
|
|
1040
1046
|
"get_text": [],
|
|
@@ -16,11 +16,20 @@
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.menubar-item {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
gap: 4px;
|
|
19
22
|
padding: 4px 10px;
|
|
20
23
|
cursor: pointer;
|
|
21
24
|
white-space: nowrap;
|
|
22
25
|
}
|
|
23
26
|
|
|
27
|
+
.menubar-item-icon {
|
|
28
|
+
display: block;
|
|
29
|
+
width: 16px;
|
|
30
|
+
height: 16px;
|
|
31
|
+
}
|
|
32
|
+
|
|
24
33
|
.menubar-item:hover,
|
|
25
34
|
.menubar-item.active {
|
|
26
35
|
background-color: #cde;
|
|
@@ -48,7 +48,9 @@
|
|
|
48
48
|
.treeview-header-cell {
|
|
49
49
|
position: relative;
|
|
50
50
|
padding: 4px 6px;
|
|
51
|
-
|
|
51
|
+
/* non-bold by default (compact, matching the qt backend); use
|
|
52
|
+
set_header_font() to opt into a bold/other header font */
|
|
53
|
+
font-weight: normal;
|
|
52
54
|
overflow: hidden;
|
|
53
55
|
white-space: nowrap;
|
|
54
56
|
border-right: 1px solid #ddd;
|
|
@@ -90,7 +92,13 @@
|
|
|
90
92
|
flex-shrink: 0;
|
|
91
93
|
font-size: 10px;
|
|
92
94
|
color: #555;
|
|
93
|
-
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Only reserve the gap when a sort arrow is actually shown, so unsorted
|
|
98
|
+
headers don't carry extra right-side space and stay aligned with the
|
|
99
|
+
body cells. */
|
|
100
|
+
.treeview-sort-indicator:not(:empty) {
|
|
101
|
+
margin-left: 6px;
|
|
94
102
|
}
|
|
95
103
|
|
|
96
104
|
.treeview-resize-handle {
|
|
@@ -253,6 +261,13 @@
|
|
|
253
261
|
color: white;
|
|
254
262
|
}
|
|
255
263
|
|
|
264
|
+
/* Current-cell cursor (TableView spreadsheet-style navigation). Drawn as
|
|
265
|
+
an inset outline so it reads on top of selection/row backgrounds. */
|
|
266
|
+
.treeview-cell-cursor {
|
|
267
|
+
outline: 2px solid #4a90e2;
|
|
268
|
+
outline-offset: -2px;
|
|
269
|
+
}
|
|
270
|
+
|
|
256
271
|
/* ── Inline cell editor ─────────────────────────────── */
|
|
257
272
|
|
|
258
273
|
.treeview-cell-editable {
|
|
@@ -74,7 +74,16 @@ class ComboBox extends Widget {
|
|
|
74
74
|
if (e.key === 'Enter') {
|
|
75
75
|
e.preventDefault();
|
|
76
76
|
this._hideDropdown();
|
|
77
|
-
|
|
77
|
+
let idx = this.get_index();
|
|
78
|
+
if (idx < 0 && this._editable) {
|
|
79
|
+
// Commit a new typed value (mirrors the Qt/Gtk
|
|
80
|
+
// backends) so the reported index is valid and
|
|
81
|
+
// consistent with get_text().
|
|
82
|
+
this.append_text(this._input.value);
|
|
83
|
+
idx = this._items.length - 1;
|
|
84
|
+
this._selectedIdx = idx;
|
|
85
|
+
}
|
|
86
|
+
this.make_callback('activated', idx, this.get_text());
|
|
78
87
|
} else if (e.key === 'ArrowDown') {
|
|
79
88
|
e.preventDefault();
|
|
80
89
|
if (this._dropdown.style.display === 'none') {
|
|
@@ -89,6 +98,10 @@ class ComboBox extends Widget {
|
|
|
89
98
|
if (this._editable) {
|
|
90
99
|
this._input.addEventListener('input', () => {
|
|
91
100
|
this._showDropdown(this._input.value);
|
|
101
|
+
// Report the live text so the server-side get_text() stays
|
|
102
|
+
// current without waiting for Enter/selection. Does not
|
|
103
|
+
// fire 'activated' -- typing must not count as activation.
|
|
104
|
+
this.make_callback('modified', this._input.value);
|
|
92
105
|
});
|
|
93
106
|
}
|
|
94
107
|
|
|
@@ -114,6 +127,8 @@ class ComboBox extends Widget {
|
|
|
114
127
|
});
|
|
115
128
|
|
|
116
129
|
this.enable_callback('activated');
|
|
130
|
+
// 'modified' reports live entry text as the user types (editable)
|
|
131
|
+
this.enable_callback('modified');
|
|
117
132
|
}
|
|
118
133
|
|
|
119
134
|
/**
|
|
@@ -17,6 +17,9 @@ class MenuAction extends Widget {
|
|
|
17
17
|
* @param {number[]|null} [options.iconsize=null] - Icon size as [width, height] in pixels.
|
|
18
18
|
* @param {boolean} [options.checkable=false] - Whether the action has a checkbox.
|
|
19
19
|
* @param {string|null} [options.name=null] - Alias for text.
|
|
20
|
+
* @param {boolean} [options.icon_only=false] - If true, show only the icon
|
|
21
|
+
* (when one is set), keeping the text as the accessible tooltip and as
|
|
22
|
+
* the fallback when no icon is present.
|
|
20
23
|
* @param {HTMLElement} [options.element=null] - Optional pre-existing DOM element to use.
|
|
21
24
|
*/
|
|
22
25
|
constructor(options = {}) {
|
|
@@ -29,6 +32,8 @@ class MenuAction extends Widget {
|
|
|
29
32
|
|
|
30
33
|
this.checkable = this.get_option(options, 'checkable', false);
|
|
31
34
|
this.checked = false;
|
|
35
|
+
this.icon_only = this.get_option(options, 'icon_only', false);
|
|
36
|
+
this._has_icon = false;
|
|
32
37
|
|
|
33
38
|
// checkbox indicator (hidden unless checkable)
|
|
34
39
|
this._check = document.createElement('span');
|
|
@@ -44,7 +49,11 @@ class MenuAction extends Widget {
|
|
|
44
49
|
|
|
45
50
|
let icon_url = this.get_option(options, 'icon_url', null);
|
|
46
51
|
let iconsize = this.get_option(options, 'iconsize', null);
|
|
47
|
-
|
|
52
|
+
// Truthy check (not ``!== null``): an unset icon may arrive as null
|
|
53
|
+
// (JSON/websocket backend), undefined (to_js(None) in the pyodide
|
|
54
|
+
// backend) or ''. Only create the icon for a real URL, otherwise an
|
|
55
|
+
// empty ``<img src="undefined">`` shows as a broken-image dot.
|
|
56
|
+
if (icon_url) {
|
|
48
57
|
this.set_icon(icon_url, iconsize);
|
|
49
58
|
}
|
|
50
59
|
|
|
@@ -61,6 +70,8 @@ class MenuAction extends Widget {
|
|
|
61
70
|
this.set_text(text);
|
|
62
71
|
}
|
|
63
72
|
|
|
73
|
+
this._applyIconOnly();
|
|
74
|
+
|
|
64
75
|
// click handler
|
|
65
76
|
this.element.addEventListener('click', (e) => {
|
|
66
77
|
this._activate();
|
|
@@ -94,6 +105,7 @@ class MenuAction extends Widget {
|
|
|
94
105
|
*/
|
|
95
106
|
set_text(text) {
|
|
96
107
|
this._label.textContent = text;
|
|
108
|
+
this._applyIconOnly();
|
|
97
109
|
}
|
|
98
110
|
|
|
99
111
|
/**
|
|
@@ -112,10 +124,32 @@ class MenuAction extends Widget {
|
|
|
112
124
|
set_icon(url, iconsize = null) {
|
|
113
125
|
this._icon.src = url;
|
|
114
126
|
this._icon.style.display = '';
|
|
115
|
-
|
|
127
|
+
this._has_icon = true;
|
|
128
|
+
if (iconsize) {
|
|
116
129
|
this._icon.style.width = iconsize[0] + 'px';
|
|
117
130
|
this._icon.style.height = iconsize[1] + 'px';
|
|
118
131
|
}
|
|
132
|
+
this._applyIconOnly();
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Applies the icon_only display preference: when icon_only is set and an
|
|
137
|
+
* icon is present, hide the text label (keeping it as a tooltip for
|
|
138
|
+
* accessibility); otherwise show the label. Safe to call before the
|
|
139
|
+
* label element exists (during construction).
|
|
140
|
+
* @private
|
|
141
|
+
*/
|
|
142
|
+
_applyIconOnly() {
|
|
143
|
+
if (!this._label) return;
|
|
144
|
+
if (this.icon_only && this._has_icon) {
|
|
145
|
+
this._label.style.display = 'none';
|
|
146
|
+
if (this._label.textContent) {
|
|
147
|
+
this.element.title = this._label.textContent;
|
|
148
|
+
}
|
|
149
|
+
} else {
|
|
150
|
+
this._label.style.display = '';
|
|
151
|
+
this.element.removeAttribute('title');
|
|
152
|
+
}
|
|
119
153
|
}
|
|
120
154
|
|
|
121
155
|
/**
|
|
@@ -55,11 +55,42 @@ class MenuBar extends ContainerWidget {
|
|
|
55
55
|
* Adds a Menu widget to the bar under the given name.
|
|
56
56
|
* @param {Menu} menu - The Menu widget to associate.
|
|
57
57
|
* @param {string} name - The label displayed on the menu bar.
|
|
58
|
+
* @param {Object} [options] - Optional settings.
|
|
59
|
+
* @param {string|null} [options.icon_url=null] - URL of an icon image.
|
|
60
|
+
* @param {number[]|null} [options.iconsize=null] - Icon size [w, h] in px.
|
|
61
|
+
* @param {boolean} [options.icon_only=false] - Show only the icon (when
|
|
62
|
+
* set), keeping the name as an accessible tooltip; falls back to the
|
|
63
|
+
* text label when no icon is present.
|
|
58
64
|
*/
|
|
59
|
-
add_menu(menu, name) {
|
|
65
|
+
add_menu(menu, name, options = {}) {
|
|
60
66
|
let button = document.createElement('div');
|
|
61
67
|
button.className = 'menubar-item';
|
|
62
|
-
|
|
68
|
+
|
|
69
|
+
let icon_url = this.get_option(options, 'icon_url', null);
|
|
70
|
+
let iconsize = this.get_option(options, 'iconsize', null);
|
|
71
|
+
let icon_only = this.get_option(options, 'icon_only', false);
|
|
72
|
+
|
|
73
|
+
// Truthy check (see ToolBarAction/MenuAction): an unset icon may
|
|
74
|
+
// arrive as null/undefined/'' depending on the backend.
|
|
75
|
+
if (icon_url) {
|
|
76
|
+
let img = document.createElement('img');
|
|
77
|
+
img.className = 'menubar-item-icon';
|
|
78
|
+
img.src = icon_url;
|
|
79
|
+
if (iconsize) {
|
|
80
|
+
img.style.width = iconsize[0] + 'px';
|
|
81
|
+
img.style.height = iconsize[1] + 'px';
|
|
82
|
+
}
|
|
83
|
+
button.appendChild(img);
|
|
84
|
+
}
|
|
85
|
+
if (icon_url && icon_only) {
|
|
86
|
+
// icon only: keep the name as an accessible tooltip
|
|
87
|
+
button.title = name;
|
|
88
|
+
} else {
|
|
89
|
+
let label = document.createElement('span');
|
|
90
|
+
label.className = 'menubar-item-label';
|
|
91
|
+
label.textContent = name;
|
|
92
|
+
button.appendChild(label);
|
|
93
|
+
}
|
|
63
94
|
|
|
64
95
|
let container = document.createElement('div');
|
|
65
96
|
container.className = 'menubar-item-container';
|
|
@@ -40,8 +40,11 @@ class RadioButton extends Widget {
|
|
|
40
40
|
this.element.appendChild(this.label);
|
|
41
41
|
|
|
42
42
|
// group management
|
|
43
|
+
// Truthy check (not ``!== null``): an unset group may arrive as null
|
|
44
|
+
// (JSON/websocket backend), undefined (to_js(None) in the pyodide
|
|
45
|
+
// backend) or '' -- treat any of those as "start a new group".
|
|
43
46
|
let groupOwner = this.get_option(options, 'group', null);
|
|
44
|
-
if (groupOwner
|
|
47
|
+
if (groupOwner) {
|
|
45
48
|
// join existing group
|
|
46
49
|
this.group = groupOwner.group;
|
|
47
50
|
this.group.push(this);
|
|
@@ -26,6 +26,10 @@ class TableView extends TreeView {
|
|
|
26
26
|
super(merged);
|
|
27
27
|
this.element.classList.add('tableview-widget');
|
|
28
28
|
|
|
29
|
+
// A TableView drives a spreadsheet-style current-cell cursor: the
|
|
30
|
+
// arrow/Tab keys move a highlighted cell and editable columns accept
|
|
31
|
+
// type / Delete / Enter editing. Pass cell_cursor: false to opt out.
|
|
32
|
+
this._cellCursor = this.get_option(options, 'cell_cursor', true);
|
|
29
33
|
}
|
|
30
34
|
|
|
31
35
|
/**
|
|
@@ -150,7 +150,7 @@ class ToolBarAction extends Widget {
|
|
|
150
150
|
this.element.insertBefore(this._icon, this.element.firstChild);
|
|
151
151
|
}
|
|
152
152
|
this._icon.src = url;
|
|
153
|
-
if (iconsize
|
|
153
|
+
if (iconsize) {
|
|
154
154
|
this._icon.style.width = iconsize[0] + 'px';
|
|
155
155
|
this._icon.style.height = iconsize[1] + 'px';
|
|
156
156
|
}
|