diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website/static/src/js/theme_preview_kanban.js | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website/static/src/js/theme_preview_kanban.js')
| -rw-r--r-- | addons/website/static/src/js/theme_preview_kanban.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/addons/website/static/src/js/theme_preview_kanban.js b/addons/website/static/src/js/theme_preview_kanban.js new file mode 100644 index 00000000..a8c573b9 --- /dev/null +++ b/addons/website/static/src/js/theme_preview_kanban.js @@ -0,0 +1,61 @@ +odoo.define('website.theme_preview_kanban', function (require) { +"use strict"; + +var KanbanController = require('web.KanbanController'); +var KanbanView = require('web.KanbanView'); +var ViewRegistry = require('web.view_registry'); +const ThemePreviewControllerCommon = require('website.theme_preview_form').ThemePreviewControllerCommon; +var core = require('web.core'); +var _lt = core._lt; + +var ThemePreviewKanbanController = KanbanController.extend(ThemePreviewControllerCommon, { + /** + * @override + */ + start: async function () { + await this._super(...arguments); + + // hide pager + this.el.classList.add('o_view_kanban_theme_preview_controller'); + + // update breacrumb + const websiteLink = Object.assign(document.createElement('a'), { + className: 'btn btn-secondary ml-3 text-black-75', + href: '/', + innerHTML: '<i class="fa fa-close"></i>', + }); + const smallBreadcumb = Object.assign(document.createElement('small'), { + className: 'mx-2 text-muted', + innerHTML: _lt("Don't worry, you can switch later."), + }); + this._controlPanelWrapper.el.querySelector('.o_cp_top .breadcrumb li.active').classList.add('text-black-75'); + this._controlPanelWrapper.el.querySelector('.o_cp_top').appendChild(websiteLink); + this._controlPanelWrapper.el.querySelector('.o_cp_top li').appendChild(smallBreadcumb); + }, + /** + * Called when user click on any button in kanban view. + * Targeted buttons are selected using name attribute value. + * + * @override + */ + _onButtonClicked: function (ev) { + const attrName = ev.data.attrs.name; + if (attrName === 'button_choose_theme' || attrName === 'button_refresh_theme') { + this._handleThemeAction(ev.data.record.res_id, attrName); + } else { + this._super(...arguments); + } + }, +}); + +var ThemePreviewKanbanView = KanbanView.extend({ + withSearchBar: false, // hide searchBar + + config: _.extend({}, KanbanView.prototype.config, { + Controller: ThemePreviewKanbanController, + }), +}); + +ViewRegistry.add('theme_preview_kanban', ThemePreviewKanbanView); + +}); |
