summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/framework/data.js
AgeCommit message (Collapse)Author
2017-04-11[REF] web, *: redesign all JS viewsGéry Debongnie
This commit introduce a full redesign of all JS views. We started basically from scratch. The goal was to unify all the various views under a common framework, to make them testable, to make then usable in different conditions (in studio, or in the frontend), and to make our lives easier. Some important points are: - we introduced new coding guidelines (camelCase, 80 chars width, ...) - we have a brand new testing framework (still QUnit based) - kanban view moved to the web addon - calendar view (formerly web_calender) moved to web as well - the tree view was removed - all new code should be documented We hope that this code is the start of a new era for the Odoo web client, we want to have a high quality codebase, well documented, well tested, well designed. Work done by the framework team: mostly aab, ged, chm, dmo, qsm
2016-11-23[REM] workflow: Remove workflow engine, documentation and testsYannick Tivisse
2016-10-27[MERGE] forward port branch saas-11 up to 1304d13Christophe Simonis
2016-10-27[MERGE] forward port branch 9.0 up to 25616b9Christophe Simonis
2016-10-24[FIX] web: BufferedDataSet write to length fieldNicolas Lempereur
Underscore method _.each expects an array like object when a "length" property is present. This was an issue with a record having a numeric "length" field set to a non-negative value. opw-691070
2016-09-09[MERGE] forward port branch saas-11 up to dc4d6b6Christophe Simonis
2016-09-09[MERGE] forward port branch saas-10 up to e1bd405Christophe Simonis
2016-09-06[FIX] web, web-kanban: update dataset size at record's drop in a columnPierre Masereel
When we drag and drop a record in a folded column, the number of elements in this column displayed in the column title is not updated. This issue is present because when a record is droped in a column its id is not added to the dataset of its new column. To fix this, we had to add the id of the record in the dataset, and override the method 'add_ids' in 'DataSetSearch' to have the size of the dataset equal to the number of ids in it. We have replicated the behaviour of the function 'remove_ids' in the new function 'add_ids'.
2016-08-20[MERGE] forward port branch saas-11 up to 3a2147dChristophe Simonis
2016-08-20[MERGE] forward port branch saas-10 up to bc1a0a3Christophe Simonis
2016-08-17[FIX] web: fix DataSetSearch to avoid race conditionsDenis Ledoux
This is a following of revision ab8a93c85268a4d7fc0bef10c0f39fb25d1530c6 This revision solves a new case: when quickly performing a second search after one which has not been resolved yet in a kanban view, and the second search is resolved before the first, it was not possible to load the form by clicking the card of the kanban, it leaded to a `Could not find id in dataset` web client error This was because the ids of the dataset were altered with the ids of the first search (the one that lasted longer), while the records displayed were the ones of the second search (the one that finished first) opw-682362
2016-06-17[REF] web: add ajax.rpc and change some dependenciesGéry Debongnie
2016-06-17[REF] web: move async_when to utilsGéry Debongnie
2016-05-23[FIX] web,base: m2o empty name resultsqsm-odoo
M2O use the autocomplete lib to display its content. The problem is that if a result is empty (or only composed of whitespaces), a divider is displayed in the dropdown. Commit 1d9f7d279a74aaf6aaf25f91e2313b23b4122827 was fixing this by only displaying non-empty name results... but it did not work as many models implement the name_search method the wrong way. The new solution is to add a default display for record values which are empty strings, at the right places in the webclient components.
2016-04-21[REF] web: stop duplicating webAaron Bohy
Avoid duplicating web addon in enterprise by extracting a common basis. Enterprise features stay in enterprise, but use that common basis. Mainly: - JS refactoring and linting - Conversion of .sass into .less split into multiple files - Templates cleaning and DOM simplification - Re-generation of web.pot, and update of .po files
2016-04-20[FIX] web: fix dataset to avoid race conditionsGéry Debongnie
The read_slice method in dataset is problematic, because it alters the dataset ids. So, if 2 consecutive read_slice are started, but the first one ends after the second one, we don't have the correct ids in the dataset. This commit just make sure that previous read_slice do not alter the ids of the next read_slice.
2016-03-14[FIX] web: dataset alter_ids method must use optionsChristophe Matthieu
x2m send_commands add options for all command to avoid onchange trigger for internal change.
2016-03-14[FIX] web: various small issues in form view onchange/one2manyChristophe Matthieu
- Issue: Edit sale.order form view, add new line, change product who have taxes and click quickly on save (with slow network) => error message. Because some deferreds are lost. - reduce number of reads and onchange for x2m widgets - remove before_save method and use commit_value (the issue was that if the before_save and the change trigger an onchange, the onchange deferred is not checked before saving the content.
2015-11-23[FIX] web: method `BufferedDataSet._update_cache` must purge `changes` from ↵Raphael Collet
useless changes
2015-10-29[FIX] web: can remove record in many2many kanban viewChristophe Matthieu
Wrong underscore method called. Issue: go on customer form view, remove a contacts in the many2many kanban view and save. The record is not unlink.
2015-10-26[FIX] web: proper update of the datasetNicolas Martinelli
The method evict_record calls _update_cache with an empty dictionary, which will not replace any cached value. Therefore, the cache is never cleaned. opw-652393
2015-10-01[FIX] web: use _.clone to avoid change of 'default_value'Christophe Matthieu
2015-09-24[FIX] web: clone values in read_ids (avoid external changes)Christophe Matthieu
Some widgets like list editable use and change values dictionary. When the write is called, the values in the cache is equal to the changes send => field no dirty => no change triggered.
2015-08-28[FIX] web: BufferedDataSet must update the cache when reset_ids is calledChristophe Matthieu
2015-08-27[REF] web: data.js: refactoring of BufferedDataSet (less code and speed up)Christophe Matthieu
2015-08-19[FIX] web: many2one try to read a creating record but the cache doesn't yet ↵Christophe Matthieu
contain the record
2015-08-17[FIX] web: need to initialize values into the cacheChristophe Matthieu
2015-08-14[FIX] web: make the web client process the new output format of `onchange`Raphael Collet
The dataset implementation has been improved to handle the result of a `read` on ids that are already modified in the dataset: the lists `to_create` and `to_write` are updated properly.
2015-07-22[MERGE] forward port of branch saas-6 up to 63e92cbChristophe Simonis
2015-06-17[FIX] web: one2many listChristophe Matthieu
Error when click on other record after an update on a one2many record in list editable which have an 'add an item' by checkbox selection
2015-06-17[IMP] web, web_*, mail, board : New modals and dialogsqsm-odoo
2015-03-18[IMP] web+addons: improvement to module systemGéry Debongnie
The module system needs to know the dependencies of a given module before executing the function. This is why the dependencies were defined once in an array, and then were described one more times in the call to require. But a trick can simplify this: the boot function can parse the string representation of the module and extract the calls to require from it. It is more work for the processor, but it leads to simpler module definitions.
2015-03-18[REF] web: add module system to the web clientGéry Debongnie
This commit introduces a new module system for the javascript code. Instead of using global (namespaced) variables everywhere (like openerp.web.whatever, ...), each file declare one (or more) module with its dependencies. Each module will be loaded after its dependencies, and will be given a reference to the return values. This change is a massive departure from the way the client worked previously. It will sadly break some/most history, but I am sure that the future git ecosystem will allow you to easily browse the history past this revision (one can dream). This commit feature: * main namespace is now odoo instead of openerp * a way to define modules and dependencies (inspired by requirejs) * many files have been splitted in simpler subfiles * basic support for debugging in odoo.__DEBUG__ * no global variable (i.e. nothing in window.openerp) * many bug fixes, many new bugs Future vision: this modularization should simplify future code development, simplify debugging and will allow a serious testing effort