plugin_dbui issueshttps://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues2020-01-31T09:57:19+01:00https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/35add logger2020-01-31T09:57:19+01:00LE GAC Renaudadd logger* logging mechanism is working fine with web2py (see http://web2py.com/books/default/chapter/29/04/the-core#Logging)
* It has been implemented successfully in `limbra`
* Create a dedicated logger for `plugin_dbui` → `web2py.app.plugin_db...* logging mechanism is working fine with web2py (see http://web2py.com/books/default/chapter/29/04/the-core#Logging)
* It has been implemented successfully in `limbra`
* Create a dedicated logger for `plugin_dbui` → `web2py.app.plugin_dbui`
* Replace many debug statements by `logger.debug(blabla)` or `logger.info(blabla)`
* The `debug` keyword in the URL will be only used to load the debug version of JavaScript library
* ...https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/34migrate to mathjax 32020-01-09T16:25:15+01:00LE GAC Renaudmigrate to mathjax 3* currently running with `mathjax 2.7.0`
* major version is available `mathjax 3.0.0` with many improvements
* require to modify [modules/plugin_dbui/dbui.py](modules/plugin_dbui/dbui.py)
"mathjax", {
"css": None...* currently running with `mathjax 2.7.0`
* major version is available `mathjax 3.0.0` with many improvements
* require to modify [modules/plugin_dbui/dbui.py](modules/plugin_dbui/dbui.py)
"mathjax", {
"css": None,
"debug": "static/plugin_mathjax/es5/tex-chtml.js",
"lg": None,
"libmin": "static/plugin_mathjax/es5/tex-chtml.js"}
* require to modify [src/plugin/MathJax.js](src/plugin/MathJax.js).
Few minor improvements. The core is in:
onProcessMath: function () {
"use strict";
var me = this,
dom = Ext.getDom(me.target.getEl());
if ((!me.activated) || (dom === null)) {
return;
}
// mask the viewport, MatJax process and unmask
me.viewport.mask(me.textMask);
MathJax.typeset([dom]);
me.viewport.unmask();
}
* require to modify [views/plugin_dbui/index.html](views/plugin_dbui/index.html):
<script>
window.MathJax = {
tex: {
inlineMath: [['$','$']],
displayMath: [['$$','$$']],
processEscapes: true
},
options: {
renderActions: {
addMenu: [],
checkLoading: []
},
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
}
};
</script>
* in dec 2019, first tentative in the branch `33-python37-matjax3`. It was almost working, but latex equation are not translated after an record update...
* to be worked again may be with an update version of `MathJax`
* update git repository of `plugin_dbui/static/plugin_mathjax`
* ...
https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/33migrate to python 3.72019-12-05T16:16:29+01:00LE GAC Renaudmigrate to python 3.7* [x] web2py 2.18.3 or above
* [x] pandas 0.25.3
* [x] matplolib 3.1.1
* [x] migrate plugin_dbui python code
Information migration py2 to py3:
* https://docs.python.org/3.7/howto/pyporting.html
* http://python-future.org/compatible_idio...* [x] web2py 2.18.3 or above
* [x] pandas 0.25.3
* [x] matplolib 3.1.1
* [x] migrate plugin_dbui python code
Information migration py2 to py3:
* https://docs.python.org/3.7/howto/pyporting.html
* http://python-future.org/compatible_idioms.htmlhttps://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/32revisit the UI of the GridWithFilter2019-10-30T15:59:43+01:00LE GAC Renaudrevisit the UI of the GridWithFilter* When a user type something in the selector field, the content of the grid is almost immediately filtered.
* Some user complains that it is not working since they type one character, have to way the filtering, moving again the mouse to ...* When a user type something in the selector field, the content of the grid is almost immediately filtered.
* Some user complains that it is not working since they type one character, have to way the filtering, moving again the mouse to the field, type a second character, and so on so force.
* The delay to buffer *change* is 500 ms for text field and 1000 ms for date. It might be to short.
* Modify the interface to introduce a `Go` button. The user can fill fields of the form and press the `Go` button when it is happy.
* Press the `Go` button or type ENTER should have the same effect.
* When the selector is expand the focus has to be given to the first field of the selector.
* The behavior base on `change` event or on the `Go` button is defined in the configuration of the object.
* By default, activate the `GO` button approach.
* ...https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/31explore the data binding mechanism2018-05-02T02:12:19+02:00LE GAC Renaudexplore the data binding mechanism* It is describe here http://docs.sencha.com/extjs/6.2.0/guides/application_architecture/view_models_data_binding.html
* Have look to the kitchen Sink `Components > Data binding`
* Example of it use in `Event.RowEventData` or `Event.RowH...* It is describe here http://docs.sencha.com/extjs/6.2.0/guides/application_architecture/view_models_data_binding.html
* Have look to the kitchen Sink `Components > Data binding`
* Example of it use in `Event.RowEventData` or `Event.RowHistoryData`
* It should allow to simplify the implementation of the *linked ComboBox*
* It should allow to simplify the implementation of the `Dbui.grid.plugin.RowEditorBase`
* ...https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/30fix crash when the lazy translation is activated2018-05-02T02:12:19+02:00LE GAC Renaudfix crash when the lazy translation is activatedhttps://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/29Add the plugin mapper2018-05-02T02:12:19+02:00LE GAC RenaudAdd the plugin mapper* To be developed for `Form` of `FieldSet` container.
* Plugin to be used with `Dbui.grid.filter` and `selector` form
* Can be configure from the python side.
* The `mapper` has one property *mapFileds* which contains a structure like...* To be developed for `Form` of `FieldSet` container.
* Plugin to be used with `Dbui.grid.filter` and `selector` form
* Can be configure from the python side.
* The `mapper` has one property *mapFileds* which contains a structure like:
```
[{
title: "panel1",
layout: "fit",
items: [ "fieldname4", "fieldname2"]
}, {
title: "panel2",
items: [ "fieldname3", "fieldname1"]
}]
```
* In the initialisation phase, the mapper receive The configuration of the Form or FieldSet which contains the property `items` with the configuration of the form fields.
* In the initialisation of the plugin, the property items is replace by the mapFields in which the string "fieldnameX" are replace by their corresponding field configuration.
* In order to do it:
- scan the `configuration.items` an build a dictionary:
```
fieldnameX → field configuration
```
- scan the mapFields and replace the fieldname by its configuration.
- replace items by mapFields.
- Add the layout `accordeon` to the main object.
* It can be used to replace the `TrackEvents.HistoryGridFilter`
https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/28Update grid filter to work with Dict or List widget2018-05-02T02:12:19+02:00LE GAC RenaudUpdate grid filter to work with Dict or List widget* Useful to filter database field with JSON data.
* The filter expose a `Dict` or a `List` widget.
* Once a new key or a new value is entered, the grid is filtered.
* The filter operator is `LIKE` in order to use the jocker `%`* Useful to filter database field with JSON data.
* The filter expose a `Dict` or a `List` widget.
* Once a new key or a new value is entered, the grid is filtered.
* The filter operator is `LIKE` in order to use the jocker `%`https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/27Explore the build option of the sencha command to build javaScript Library2018-05-02T02:12:19+02:00LE GAC RenaudExplore the build option of the sencha command to build javaScript Library* `plugin_dbui`
* javaScript libraries are obtained by using the `compile` option of the `senchCmd`.
* This approach required to load all Ext JS class via the option `--class` and to exclude the namesapce `Ext`.
* This is tricky with...* `plugin_dbui`
* javaScript libraries are obtained by using the `compile` option of the `senchCmd`.
* This approach required to load all Ext JS class via the option `--class` and to exclude the namesapce `Ext`.
* This is tricky with version Ext JS 6 since the source are distributed in several places. In addition, there is several themes.
* Might be simplify by using `sencha app build` which generate the javaScript for the whole application!
* The build process relies on 3 files: `app.json`, `index.html` and `build.xml`. The first one should be modified to customize the build.
* These files can be ontained by creating a sencha application from scratch:
> sencha -sdk /path/to/ext6 generate app MyApp /path/to/my-app
* Mode information in: http://docs.sencha.com/cmd/guides/extjs/cmd_app.htmlhttps://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/26Use Ext.grid.plugin.Eporter or Ext.exporter.Base2018-05-02T02:12:19+02:00LE GAC RenaudUse Ext.grid.plugin.Eporter or Ext.exporter.Base* New functionalities introduce in Ext JS 6
* To be used in `Dbui.grid.mixin.ExportBase` and it friends
* An probably elsewhere.
* ...* New functionalities introduce in Ext JS 6
* To be used in `Dbui.grid.mixin.ExportBase` and it friends
* An probably elsewhere.
* ...https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/25Change the javascript namespace from App to Dbui2018-05-02T02:12:19+02:00LE GAC RenaudChange the javascript namespace from App to Dbui* Affect all the javascript source.
* See `static/plugin_dbui/src`
* Will improve the lisibility of the javascript documentation.
* ...* Affect all the javascript source.
* See `static/plugin_dbui/src`
* Will improve the lisibility of the javascript documentation.
* ...https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/24Migrate to web2py 2.14.62018-05-02T02:12:19+02:00LE GAC RenaudMigrate to web2py 2.14.6* The function `helper.get_foreign_field` crash.
* It is due to a non backward compatibility in `IS_IN_DB`. The attribute `IS_IN_DB.ks` is renamed `IS_IN_DB.fieldnames`* The function `helper.get_foreign_field` crash.
* It is due to a non backward compatibility in `IS_IN_DB`. The attribute `IS_IN_DB.ks` is renamed `IS_IN_DB.fieldnames`https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/23Run on docker image2018-05-02T02:12:19+02:00LE GAC RenaudRun on docker imageFollow the upgrade in the application field:
* Use the command `which` in `build_version.py` instead of the hard-coded paths for the linux commands (git, sencha, sphinx, ...).
* In the test application remove the dependence to the pyth...Follow the upgrade in the application field:
* Use the command `which` in `build_version.py` instead of the hard-coded paths for the linux commands (git, sencha, sphinx, ...).
* In the test application remove the dependence to the python module `locale`.
* Add the file `VERSION` and modify the controller `version` and the associated views.https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/22Wrong grid representation in PDF when one celle contains &2018-05-02T02:12:19+02:00LE GAC RenaudWrong grid representation in PDF when one celle contains &* One data contains the character `&`
* Grid is generated and its content export as a pdf file using the plugin
* The character `&` disappears in the pdf and cells content are shift.
* Example `track_lhcbfrance > metrics 2D > budget d...* One data contains the character `&`
* Grid is generated and its content export as a pdf file using the plugin
* The character `&` disappears in the pdf and cells content are shift.
* Example `track_lhcbfrance > metrics 2D > budget demandé / année`
* A possible solution is to replace `&` by `\&` in the latex.https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/21The viewport should contain a LoadMask2018-05-02T02:12:19+02:00LE GAC RenaudThe viewport should contain a LoadMask* The `App.container.Viewport` contains the `Ext.LoadMask`. The mask is create once when the component is created.
* Any widget, running a load operation, have to mask the viewport and have to use it.
* The method `getComponent` allow...* The `App.container.Viewport` contains the `Ext.LoadMask`. The mask is create once when the component is created.
* Any widget, running a load operation, have to mask the viewport and have to use it.
* The method `getComponent` allow to retrieve the viewport from anywhere.
* The viewport method `getMask().show()` or `hide()` allow to play with the mask.https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/20Make it working with the browser chrome2018-05-02T02:12:19+02:00LE GAC RenaudMake it working with the browser chrome* No `scrollbar` in the viewport.
* The export of file is not working for panel `WithUrlSelector`:
* No PDF file when using the `chrome pdf viewer` but the loading message is close.
* CSV, LaTeX, ... files are download but the...* No `scrollbar` in the viewport.
* The export of file is not working for panel `WithUrlSelector`:
* No PDF file when using the `chrome pdf viewer` but the loading message is close.
* CSV, LaTeX, ... files are download but the loading message stay forever.
* ...https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/19Add in the documentation the Wizad class and the RowEditorAddWizard plugin2018-05-02T02:12:19+02:00LE GAC RenaudAdd in the documentation the Wizad class and the RowEditorAddWizard plugin* Describe how to create a `wizard` in the book
* Describe the two classes in the API* Describe how to create a `wizard` in the book
* Describe the two classes in the APIhttps://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/18Replace the constant INLINE_ALERT by a function inline_alert(title, message)2018-05-02T02:12:19+02:00LE GAC RenaudReplace the constant INLINE_ALERT by a function inline_alert(title, message)https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/17Add the version for matplotlib and pandas2018-05-02T02:12:19+02:00LE GAC RenaudAdd the version for matplotlib and pandas* Version of `matplolib` and `pandas` should be displayed in the versions page.
* Ease to debug issue between `dev` and `pro` environment.* Version of `matplolib` and `pandas` should be displayed in the versions page.
* Ease to debug issue between `dev` and `pro` environment.https://gitlab.in2p3.fr/w2pext/plugin_dbui/-/issues/16The List widget returns to many information2018-05-02T02:12:19+02:00LE GAC RenaudThe List widget returns to many information* The method `getValue` of the `List` widget returns to many information.
* One of the user case is the `harvester wizard` for the `track_publications` application. * The method `getValue` of the `List` widget returns to many information.
* One of the user case is the `harvester wizard` for the `track_publications` application.