summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src/js/ace.js
AgeCommit message (Collapse)Author
2017-08-16[MOV] web_editor, website: reorganize filesqsm-odoo
2017-05-09[FIX] web_editor: use new rpc systemMartin Geubelle
Directly use `ajax.jsonRPC` makes it untestable as the RPCs can't be mocked.
2017-02-14[IMP] web_editor: use select2 in HTML/CSS editorqsm-odoo
The select DOM element which allows to select the template or the LESS file to edit has been replaced by a select2 element to improve usability. - Add search bar - Allow to add "customized", "unsaved changes" and level indentation a better way (styled and icons) - Add debug info (full less url / xml_id) only in debug, in small
2017-02-14[ADD] web_editor, website, web: new LESS editorqsm-odoo
The old "HTML" editor now handles LESS edition. The editor has now a button to switch between XML and LESS edition. By default, it only displays the odoo files which only appear in the assets_frontend bundle and in debug mode, it allows to see all the files that influenced the page design. The new editor has a new set of options which allows to use it as a xml editor only or a less editor only if needed. Also: make the "include bundles" option appear only in debug mode. Technical details: - When saving a modified LESS file, an attachment is created with the full modified content and an extension view xpaths the bundle where the original file was added to link this attachment instead. This relies on the fact that qweb, when generating assets bundle, replaces missing files by the "datas" contents of the ir.attachment's which have an "url" field equal to the urls it is searching. - If a LESS error is introduced, the recent changes in assets bundle generation (see c248674a5c615c9db113357eec9d9adaf50b888e) will not break the design but only open a dialog on page loading, with the LESS error. The user can then go to the LESS editor and reset its changes. This feature code has been started with original work of @pga-odoo
2017-02-14[REF] web_editor, website: split customize_template_getqsm-odoo
Commit a2ae219d4ee283b7e7af84a3e7fa3bb8e0a95f23 fixed the customize_template_get function(s) which had been modified for the 10.0 web_studio release. While the fix also reorganized the structure to make it more efficient and understandable, it promised that the function would be refactored in master. This is what this commit does. The customize_template_get route of the website module was also removed with commit 5a030db3eb77b6d80187f8ae1a64303b2f50391d as it was an useless duplicate of the web_editor customize_template_get route. The old route handled two totally different features of odoo: getting all the page-related views to allow their edition with the HTML editor and getting the "toggable views" which appear in the "Customize" website menu. The parameter "full" allowed to determine which one the route was supposed to do and was useless until website was installed to add its feature (by extending the route behavior). In both cases, views informations are returned, only the number of views differs. The above-mentionned fix already did part of the refactoring by returning the same info structure for each view in both cases. Now, the function has been split. The web_editor customize_template_get route is renamed as get_assets_editor_resources and returns the info the HTML editor needs to work (the "assets" term is in prevision of the new LESS editor). A new website route "get_switchable_related_views" has been created to return the info the "Customize" website menu needs. Both use the renamed ir.ui.view function "get_related_views" (old ir.ui.view customize_template_get function) which now returns a recordset and not a list of dictionnaries.
2016-12-01[IMP] web_editor: ace_editor: right resize barAdrien Dieudonne
Before this commit, it's was only possible to resize the width of the ace editor when it was on the right side of the screen. In studio, we need to put the ace editor on the left. So, we needed to add a new resize bar. For that, we also add a new option to know the position of the ace_editor. We also prevent the width of the ace editor from being recorded too many times in the local storage for nothing. This is why we added _.debounce.
2016-11-08[REF] website, web_editor: refactor ace editorqsm-odoo
Stop using ugly code for ace editor. * Really close the ace editor by changing its display property thanks to the dedicated do_show and do_hide method. * Make the common part of ace editors (website, web_studio) consistent so that the extensions are really small. * Do not do RPC to retrieve data already retrieved (now, there is only one unique RPC when the editor starts an one RPC per view changed on save). * Fix born-dead code so that the website editor starts automatically if the URL contains its associated hash and loads the correct view * Better handle errors (previous behavior only worked partially and only on chrome): - Jump to the error line and make it red. - Do not open a Dialog with mostly incomprehensible message but allow to open it on click of the error marker. - Do not save any changed file if one contains an error. - Do not allow formatting a file if it contains an error (show the error instead). * Do not use different routes to get the same content (remove the /website/customize_template_get route as it returns the same content as /web_editor/customize_template_get route). Note: in a further commit this route will be refactored. * In a general way, use consistent method names and behaviors / comment the code / lint files / ... * Open the code to extensions (so that it may later load other data than XML). Note: this refactoring allowed to fix bugs in previous odoo versions but this commit message will not detail them.
2016-10-24[FIX] website, web_editor: correct split of displayError functionqsm-odoo
Before the ace editor was split so that it can be used in the backend and the frontend, the displayError function finished by: website.error(a, b); As website.error cannot be used in the backend, the method was changed to return the error and the extensions of the method were in charge of displaying it. Unfortunatly this return was done like this: return a, b; which is not valid javascript. Now the method return an object with a "title" and a "message" value instead of wrongly returning two values. Note: this fix relies on another fix which will be forward-ported from saas-11.
2016-10-24[FIX] web_editor: correct ViewEditor widget life cycleqsm-odoo
These two fixes are now important since the ViewEditor is now also used in the backend. * The start method must return a deferred. * The destroy method must unbind the event on the document element. Note: in master, the ViewEditor is being refactored.
2016-10-14[FIX] web_editor, website: fix customize_template_getqsm-odoo
Commit e11f23b701cd061ee2090e506e7ff71cc2ed8c33 split the website customize_template_get into web_editor and website ones. This split was not perfect and commit 20861b482a0f84c2946cc14a05648b87b95bdac4 tried to make it work... but did not made it totally and added an indirect dependency to website module in web_editor... As the final result is wrong and inconsistent and that the previous 9.0 implementation was already ugly, this was not possible to make a consistent full-stable fix. This commit tries to make a fix as stable as possible (the main method name did not change, the arguments did not change, their purpose is the same, ...) which makes the code work and be less ugly. However, the function returns are now slightly different (and JS depends on it). It returns only valid view information (not header stuff which is not related to anything and the inherit_id value is now a combination of the inherit view id and name). Also, a new private method has been created. Also, the method contained code which was deprecated since saas-6 but was never removed (and never broke anything "by chance"). In master these methods will be refactored to make more sense.
2016-09-28[FIX] web_editor: fix various issues with ace editorGéry Debongnie
Ace editor is not very smart, it does a rpc for each inherited view, it tries to load workers before deciding not to use them, and it does way too much work in general. This commits tries to make sure that only the necessary rpcs are done (lazily). fix some issues with ace editor: lazy loading fix various issues with ace editor
2016-09-01[REF] web_editor, website: move ACE editor to web_editorMartin Geubelle