diff options
| author | Antony Lesuisse <al@openerp.com> | 2011-09-05 13:03:09 +0200 |
|---|---|---|
| committer | Antony Lesuisse <al@openerp.com> | 2011-09-05 13:03:09 +0200 |
| commit | bedfc48dcfb066e61209337235e339975dd093d0 (patch) | |
| tree | fd1bab7b9f21380f1aa3ca7675018f13b4d9e652 /addons/base_dashboard/static/src | |
| parent | 272424894a91aa136952cf88ef206afab5b5505c (diff) | |
rename base into web part1
bzr revid: al@openerp.com-20110905110309-egx167t1ni1fzho1
Diffstat (limited to 'addons/base_dashboard/static/src')
| -rw-r--r-- | addons/base_dashboard/static/src/css/dashboard.css | 239 | ||||
| -rw-r--r-- | addons/base_dashboard/static/src/img/layout_1-1-1.png | bin | 306 -> 0 bytes | |||
| -rw-r--r-- | addons/base_dashboard/static/src/img/layout_1-1.png | bin | 313 -> 0 bytes | |||
| -rw-r--r-- | addons/base_dashboard/static/src/img/layout_1-2.png | bin | 313 -> 0 bytes | |||
| -rw-r--r-- | addons/base_dashboard/static/src/img/layout_1.png | bin | 292 -> 0 bytes | |||
| -rw-r--r-- | addons/base_dashboard/static/src/img/layout_2-1.png | bin | 304 -> 0 bytes | |||
| -rw-r--r-- | addons/base_dashboard/static/src/js/dashboard.js | 407 | ||||
| -rw-r--r-- | addons/base_dashboard/static/src/xml/base_dashboard.xml | 115 |
8 files changed, 0 insertions, 761 deletions
diff --git a/addons/base_dashboard/static/src/css/dashboard.css b/addons/base_dashboard/static/src/css/dashboard.css deleted file mode 100644 index f317cb45e8e..00000000000 --- a/addons/base_dashboard/static/src/css/dashboard.css +++ /dev/null @@ -1,239 +0,0 @@ -.openerp table.oe-dashboard { - width: 100%; -} -.openerp .oe-dashboard-links { - text-align: right; - margin: -2em 0.4em 1em 0; -} -.openerp .oe-dashboard-action { - margin: 0 0.5em 0.5em 0; - padding: 2px; -} -.openerp .oe-dashboard-action:hover { - border: 1px dashed #ccc; - padding: 1px; -} - -.openerp .oe-dashboard-action .oe-dashboard-action-header { - font-size: 125%; - font-weight: bold; -} -.openerp a.oe-dashboard-action-rename { - float: left; - padding-right: 4px; - position: relative; - top: 1px; -} -.openerp .oe-dashboard-action-input { - height: 16px; - position: relative; - top: 2px; -} - -.openerp .oe-dashboard-action .oe-dashboard-action-header:hover { - cursor: move; -} -.openerp .oe-dashboard-action .ui-icon { - cursor: pointer; -} -.openerp .oe-dashboard-action .ui-icon:hover { - background-color: #ccc; - border-radius: 4px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; -} - -.openerp .oe-dashboard-action .oe-dashboard-action-header .ui-icon { - float: right; -} - -.openerp .oe-dashboard .ui-sortable-placeholder { - border: 1px dotted black; - visibility: visible !important; - height: 50px !important; -} - -.openerp .oe-dashboard .ui-sortable-placeholder * { - visibility: hidden; -} - -/* Layouts */ -.openerp .oe-dashboard-layout_1 .oe-dashboard-column.index_0 { - width: 100%; -} -.openerp .oe-dashboard-layout_1 .oe-dashboard-column.index_1, -.openerp .oe-dashboard-layout_1 .oe-dashboard-column.index_2 { - display: none; -} - -.openerp .oe-dashboard-layout_1-1 .oe-dashboard-column { - width: 50%; -} -.openerp .oe-dashboard-layout_1-1 .oe-dashboard-column.index_2 { - display: none; -} - -.openerp .oe-dashboard-layout_1-1-1 .oe-dashboard-column { - width: 33%; -} - -.openerp .oe-dashboard-layout_2-1 .oe-dashboard-column.index_0 { - width: 70%; -} -.openerp .oe-dashboard-layout_2-1 .oe-dashboard-column.index_1 { - width: 30%; -} -.openerp .oe-dashboard-layout_2-1 .oe-dashboard-column.index_2 { - display: none; -} - -.openerp .oe-dashboard-layout_1-2 .oe-dashboard-column.index_0 { - width: 30%; -} -.openerp .oe-dashboard-layout_1-2 .oe-dashboard-column.index_1 { - width: 70%; -} -.openerp .oe-dashboard-layout_1-2 .oe-dashboard-column.index_2 { - display: none; -} - - -.openerp .oe-dashboard-layout-selector { - overflow: auto; - padding: 10px; -} - -.openerp .oe-dashboard-layout-selector ul { - margin: 0; - padding: 0; -} - -.openerp .oe-dashboard-layout-selector ul li { - position: relative; - float: left; - height: 51px; - list-style-type: none; - margin: 5px; - padding: 0; - width: 82px; - cursor: pointer; - border: 1px solid white; -} -.openerp .oe-dashboard-layout-selector ul li:hover { - border: 1px solid #090; -} -.openerp .oe-dashboard-layout-selector ul li img.oe-selected-layout { - position: absolute; - top: 0px; - right: 0px; -} - -.openerp .oe-dashboard-config-overview .oe-config-progress { - border: 1px inset #d9d9d9; - background-color: #f2f2f2; - padding: 0.5em; - -webkit-border-radius: 0.5em; - -moz-border-radius: 0.5em; - border-radius: 0.5em; -} -.openerp .oe-dashboard-config-overview .oe-config-progress-title { - font-size: 1.1em; - font-weight: bold; - text-transform: uppercase; - margin: 0 0 0.5em 0; -} -.openerp .oe-dashboard-config-overview dt { - font-weight: bold; - text-transform: uppercase; - border-top: 1px solid #eee; - padding-top: 0.5em; -} -.openerp .oe-dashboard-config-overview dt:first-child { - border-top: none; -} -.openerp .oe-dashboard-config-overview dd { - margin-left: 1em; - padding-bottom: 0.5em; -} -.openerp .oe-dashboard-config-overview ul { - list-style: none; - padding: 0; - margin: 0; -} -.openerp .oe-dashboard-config-overview li { - cursor: pointer; - position: relative; - text-indent: 20px; -} -.openerp .oe-dashboard-config-overview li:hover { - cursor: pointer; - background-color: #f7f7f7; -} - -.openerp .oe-dashboard-config-overview li.oe-done { - cursor: default; - color: #999999; -} - -.openerp .oe-dashboard-layout_2-1 .index_0 .oe-dashboard-config-overview ul, -.openerp .oe-dashboard-layout_1-2 .index_1 .oe-dashboard-config-overview ul { - -moz-column-count: 2; - -webkit-column-count: 2; - column-count: 2; -} -.openerp .oe-dashboard-config-overview li span.ui-icon { - position: absolute; - top: 0; - left: 0; -} - -.openerp .oe-dashboard-home-tile { - text-align: center; - margin: 10px; - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - -webkit-box-shadow: 3px 3px 5px 3px #DADDDD; - -moz-box-shadow: 3px 3px 5px 3px #DADDDD; - box-shadow: 3px 3px 5px 3px #DADDDD; -} -.openerp .oe-dashboard-home-tile span { - display: block; - padding: 0 0 15px; - font-weight: bold; - text-transform: uppercase; - color: #555; - white-space: nowrap; -} -.openerp .oe-dashboard-home-tile-icon { - height: 100px; -} -.openerp .oe-dashboard-home-tile-icon img { - display: block; - margin: 0 auto; -} -.openerp .oe-dashboard-home-tile-icon img.hover { - display: none; -} -.openerp .oe-dashboard-home-tile:hover { - background-color: #fafafa; - -webkit-box-shadow: 3px 3px 5px 3px #979797; - -moz-box-shadow: 3px 3px 5px 3px #979797; - box-shadow: 3px 3px 5px 3px #979797; -} -.openerp .oe-dashboard-home-tile:hover img { - display: none; -} -.openerp .oe-dashboard-home-tile:hover img.hover { - display: block; -} -.openerp .oe-dashboard-home-tile:hover span { - color: black; -} - -.openerp .oe-dashboard-action .view-manager-main-content { - padding: 2px; -} -.openerp .oe-dashboard-action-header .ui-icon, .openerp .oe-dashboard-action-header .oe-dashboard-action-rename { - display: none; -} diff --git a/addons/base_dashboard/static/src/img/layout_1-1-1.png b/addons/base_dashboard/static/src/img/layout_1-1-1.png Binary files differdeleted file mode 100644 index 5eda2823c46..00000000000 --- a/addons/base_dashboard/static/src/img/layout_1-1-1.png +++ /dev/null diff --git a/addons/base_dashboard/static/src/img/layout_1-1.png b/addons/base_dashboard/static/src/img/layout_1-1.png Binary files differdeleted file mode 100644 index e72aa3a0533..00000000000 --- a/addons/base_dashboard/static/src/img/layout_1-1.png +++ /dev/null diff --git a/addons/base_dashboard/static/src/img/layout_1-2.png b/addons/base_dashboard/static/src/img/layout_1-2.png Binary files differdeleted file mode 100644 index 4b14d7aeaad..00000000000 --- a/addons/base_dashboard/static/src/img/layout_1-2.png +++ /dev/null diff --git a/addons/base_dashboard/static/src/img/layout_1.png b/addons/base_dashboard/static/src/img/layout_1.png Binary files differdeleted file mode 100644 index 69a0e30854c..00000000000 --- a/addons/base_dashboard/static/src/img/layout_1.png +++ /dev/null diff --git a/addons/base_dashboard/static/src/img/layout_2-1.png b/addons/base_dashboard/static/src/img/layout_2-1.png Binary files differdeleted file mode 100644 index ed866add47c..00000000000 --- a/addons/base_dashboard/static/src/img/layout_2-1.png +++ /dev/null diff --git a/addons/base_dashboard/static/src/js/dashboard.js b/addons/base_dashboard/static/src/js/dashboard.js deleted file mode 100644 index f83d841d19a..00000000000 --- a/addons/base_dashboard/static/src/js/dashboard.js +++ /dev/null @@ -1,407 +0,0 @@ -openerp.base_dashboard = function(openerp) { - -QWeb.add_template('/base_dashboard/static/src/xml/base_dashboard.xml'); - -openerp.base.form.DashBoard = openerp.base.form.Widget.extend({ - init: function(view, node) { - this._super(view, node); - this.template = 'DashBoard'; - this.actions_attrs = {}; - this.action_managers = []; - }, - start: function() { - var self = this; - this._super.apply(this, arguments); - - this.$element.find('.oe-dashboard-column').sortable({ - connectWith: '.oe-dashboard-column', - handle: '.oe-dashboard-action-header', - scroll: false - }).disableSelection().bind('sortstop', self.do_save_dashboard); - - // Events - this.$element.find('.oe-dashboard-link-undo').click(this.on_undo); - this.$element.find('.oe-dashboard-link-reset').click(this.on_reset); - this.$element.find('.oe-dashboard-link-add_widget').click(this.on_add_widget); - this.$element.find('.oe-dashboard-link-change_layout').click(this.on_change_layout); - - this.$element.delegate('.oe-dashboard-column .oe-dashboard-fold', 'click', this.on_fold_action); - this.$element.delegate('.oe-dashboard-column .ui-icon-closethick', 'click', this.on_close_action); - - this.actions_attrs = {}; - // Init actions - _.each(this.node.children, function(column) { - _.each(column.children, function(action) { - delete(action.attrs.width); - delete(action.attrs.height); - delete(action.attrs.colspan); - self.actions_attrs[action.attrs.name] = action.attrs; - self.rpc('/base/action/load', { - action_id: parseInt(action.attrs.name, 10) - }, self.on_load_action); - }); - }); - - //this.$element.find('a.oe-dashboard-action-rename').live('click', this.on_rename); - this.$element.find('.oe-dashboard-action').live('mouseover mouseout', function(event) { - $(this).find('.oe-dashboard-action-header .ui-icon, .oe-dashboard-action-header .oe-dashboard-action-rename').toggle(event.type == 'mouseover'); - }); - }, - on_undo: function() { - this.rpc('/base/view/undo_custom', { - view_id: this.view.fields_view.view_id - }, this.do_reload); - }, - on_reset: function() { - this.rpc('/base/view/undo_custom', { - view_id: this.view.fields_view.view_id, - reset: true - }, this.do_reload); - }, - on_add_widget: function() { - var self = this; - var action_manager = new openerp.base.ActionManager(this); - var dialog = new openerp.base.Dialog(this, { - title : 'Actions', - width: 800, - height: 600, - buttons : { - Cancel : function() { - $(this).dialog('destroy'); - }, - Add : function() { - self.do_add_widget(action_manager.inner_viewmanager.views.list.controller); - $(this).dialog('destroy'); - } - } - }).start().open(); - action_manager.appendTo(dialog.$element); - action_manager.do_action({ - res_model : 'ir.actions.actions', - views : [[false, 'list']], - type : 'ir.actions.act_window', - limit : 80, - auto_search : true, - flags : { - sidebar : false, - views_switcher : false, - action_buttons : false - } - }); - // TODO: should bind ListView#select_record in order to catch record clicking - }, - do_add_widget : function(listview) { - var self = this, - actions = listview.groups.get_selection().ids, - results = [], - qdict = { view : this.view }; - // TODO: should load multiple actions at once - _.each(actions, function(aid) { - self.rpc('/base/action/load', { - action_id: aid - }, function(result) { - self.actions_attrs[aid] = { - name: aid, - string: _.trim(result.result.name) - } - qdict.action = { - attrs : self.actions_attrs[aid] - } - self.$element.find('.oe-dashboard-column:first').prepend(QWeb.render('DashBoard.action', qdict)); - self.do_save_dashboard(); - self.on_load_action(result) - }); - }); - }, - on_rename : function(e) { - var self = this, - id = parseInt($(e.currentTarget).parents('.oe-dashboard-action:first').attr('data-id'), 10), - $header = $(e.currentTarget).parents('.oe-dashboard-action-header:first'), - $rename = $header.find('a.oe-dashboard-action-rename').hide(), - $title = $header.find('span.oe-dashboard-action-title').hide(), - $input = $header.find('input[name=title]'); - $input.val($title.text()).show().focus().bind('keydown', function(e) { - if (e.which == 13 || e.which == 27) { - if (e.which == 13) { //enter - var val = $input.val(); - if (!val) { - return false; - } - $title.text(val); - self.actions_attrs[id].string = val; - self.do_save_dashboard(); - } - $input.unbind('keydown').hide(); - $rename.show(); - $title.show(); - } - }); - }, - on_change_layout: function() { - var self = this; - var qdict = { - current_layout : this.$element.find('.oe-dashboard').attr('data-layout') - }; - var $dialog = $('<div>').dialog({ - modal: true, - title: 'Edit Layout', - width: 'auto', - height: 'auto' - }).html(QWeb.render('DashBoard.layouts', qdict)); - $dialog.find('li').click(function() { - var layout = $(this).attr('data-layout'); - $dialog.dialog('destroy'); - self.do_change_layout(layout); - }); - }, - do_change_layout: function(new_layout) { - var $dashboard = this.$element.find('.oe-dashboard'); - var current_layout = $dashboard.attr('data-layout'); - if (current_layout != new_layout) { - var clayout = current_layout.split('-').length, - nlayout = new_layout.split('-').length, - column_diff = clayout - nlayout; - if (column_diff > 0) { - var $last_column = $(); - $dashboard.find('.oe-dashboard-column').each(function(k, v) { - if (k >= nlayout) { - $(v).find('.oe-dashboard-action').appendTo($last_column); - } else { - $last_column = $(v); - } - }); - } - $dashboard.toggleClass('oe-dashboard-layout_' + current_layout + ' oe-dashboard-layout_' + new_layout); - $dashboard.attr('data-layout', new_layout); - this.do_save_dashboard(); - } - }, - on_fold_action: function(e) { - var $e = $(e.currentTarget), - $action = $e.parents('.oe-dashboard-action:first'), - id = parseInt($action.attr('data-id'), 10); - if ($e.is('.ui-icon-minusthick')) { - this.actions_attrs[id].fold = '1'; - } else { - delete(this.actions_attrs[id].fold); - } - $e.toggleClass('ui-icon-minusthick ui-icon-plusthick'); - $action.find('.oe-dashboard-action-content').toggle(); - this.do_save_dashboard(); - }, - on_close_action: function(e) { - $(e.currentTarget).parents('.oe-dashboard-action:first').remove(); - this.do_save_dashboard(); - }, - do_save_dashboard: function() { - var self = this; - var board = { - form_title : this.view.fields_view.arch.attrs.string, - style : this.$element.find('.oe-dashboard').attr('data-layout'), - columns : [] - }; - this.$element.find('.oe-dashboard-column').each(function() { - var actions = []; - $(this).find('.oe-dashboard-action').each(function() { - var action_id = $(this).attr('data-id'); - actions.push(self.actions_attrs[action_id]); - }); - board.columns.push(actions); - }); - var arch = QWeb.render('DashBoard.xml', board); - this.rpc('/base/view/add_custom', { - view_id: this.view.fields_view.view_id, - arch: arch - }, function() { - self.$element.find('.oe-dashboard-link-undo, .oe-dashboard-link-reset').show(); - }); - }, - on_load_action: function(result) { - var action = result.result; - action.flags = { - search_view : false, - sidebar : false, - views_switcher : false, - action_buttons : false, - pager: false - }; - var am = new openerp.base.ActionManager(this); - this.action_managers.push(am); - am.appendTo($("#"+this.view.element_id + '_action_' + action.id)); - am.do_action(action); - }, - render: function() { - // We should start with three columns available - for (var i = this.node.children.length; i < 3; i++) { - this.node.children.push({ - tag: 'column', - attrs: {}, - children: [] - }); - } - return QWeb.render(this.template, this); - }, - do_reload: function() { - _.each(this.action_managers, function(am) { - am.stop(); - }); - this.action_managers = []; - this.view.stop(); - this.view.start(); - } -}); -openerp.base.form.DashBoardLegacy = openerp.base.form.DashBoard.extend({ - render: function() { - if (this.node.tag == 'hpaned') { - this.node.attrs.style = '1-1'; - } else if (this.node.tag == 'vpaned') { - this.node.attrs.style = '1'; - } - this.node.tag = 'board'; - _.each(this.node.children, function(child) { - if (child.tag.indexOf('child') == 0) { - child.tag = 'column'; - var actions = [], first_child = child.children[0]; - if (first_child && first_child.tag == 'vpaned') { - _.each(first_child.children, function(subchild) { - actions.push.apply(actions, subchild.children); - }); - child.children = actions; - } - } - }); - return this._super(this, arguments); - } -}); - -openerp.base.form.widgets.add('hpaned', 'openerp.base.form.DashBoardLegacy'); -openerp.base.form.widgets.add('vpaned', 'openerp.base.form.DashBoardLegacy'); -openerp.base.form.widgets.add('board', 'openerp.base.form.DashBoard'); - -openerp.base.client_actions.add( - 'board.config.overview', 'openerp.base_dashboard.ConfigOverview' -); -if (!openerp.base_dashboard) { - openerp.base_dashboard = {}; -} -openerp.base_dashboard.ConfigOverview = openerp.base.View.extend({ - template: 'ConfigOverview', - init: function (parent, element_id) { - this._super(parent, element_id); - this.dataset = new openerp.base.DataSetSearch( - this, 'ir.actions.todo'); - this.dataset.domain = [['type', '=', 'manual']]; - }, - start: function () { - $.when(this.dataset.read_slice(['state', 'action_id', 'category_id']), - this.dataset.call('progress')) - .then(this.on_records_loaded); - }, - on_records_loaded: function (read_response, progress_response) { - var records = read_response[0].records, - progress = progress_response[0]; - - var grouped_todos = _(records).chain() - .map(function (record) { - return { - id: record.id, - name: record.action_id[1], - done: record.state !== 'open', - to_do: record.state === 'open', - category: record['category_id'][1] || "Uncategorized" - } - }) - .groupBy(function (record) {return record.category}) - .value(); - this.$element.html(QWeb.render('ConfigOverview.content', { - completion: 100 * progress.done / progress.total, - groups: grouped_todos - })); - var $progress = this.$element.find('div.oe-config-progress-bar'); - $progress.progressbar({value: $progress.data('completion')}); - - var self = this; - this.$element.find('dl') - .delegate('input', 'click', function (e) { - // switch todo status - e.stopImmediatePropagation(); - var new_state = this.checked ? 'done' : 'open', - todo_id = parseInt($(this).val(), 10); - self.dataset.write(todo_id, {state: new_state}, {}, function () { - self.start(); - }); - }) - .delegate('li:not(.oe-done)', 'click', function () { - self.execute_action({ - type: 'object', - name: 'action_launch' - }, self.dataset, - $(this).data('id'), function () { - // after action popup closed, refresh configuration - // thingie - self.start(); - }); - }); - } -}); - -openerp.base.client_actions.add( - 'board.home.applications', 'openerp.base_dashboard.ApplicationTiles'); -openerp.base_dashboard.ApplicationTiles = openerp.base.View.extend({ - template: 'ApplicationTiles', - start: function () { - var self = this; - return new openerp.base.DataSetSearch( - this, 'ir.ui.menu', null, [['parent_id', '=', false]]) - .read_slice( ['name', 'web_icon_data', 'web_icon_hover_data'], {}, function (applications) { - // Create a matrix of 3*x applications - var rows = []; - while (applications.length) { - rows.push(applications.splice(0, 3)); - } - self.$element - .append(QWeb.render( - 'ApplicationTiles.content', {rows: rows})) - .find('.oe-dashboard-home-tile') - .click(function () { - var $this = $(this); - $this.closest('.openerp') - .find('.menu a[data-menu=' + $this.data('menuid') + ']') - .click();}); - }); - } -}); -openerp.base.client_actions.add( - 'board.home.widgets', 'openerp.base_dashboard.Widget'); -openerp.base_dashboard.Widget = openerp.base.View.extend(/** @lends openerp.base_dashboard.Widgets# */{ - template: 'HomeWidget', - /** - * Initializes a "HomeWidget" client widget: handles the display of a given - * res.widget objects in an OpenERP view (mainly a dashboard). - * - * @constructs - * @extends openerp.base.View - * @param {Object} parent - * @param {Object} options - * @param {Number} options.widget_id - */ - init: function (parent, options) { - this._super(parent); - this.widget_id = options.widget_id; - }, - start: function () { - return new openerp.base.DataSet(this, 'res.widget').read_ids( - [this.widget_id], ['title'], this.on_widget_loaded); - }, - on_widget_loaded: function (widgets) { - var widget = widgets[0]; - var url = _.sprintf( - '/base_dashboard/widgets/content?session_id=%s&widget_id=%d', - this.session.session_id, widget.id); - this.$element.html(QWeb.render('HomeWidget.content', { - widget: widget, - url: url - })); - } -}); -}; diff --git a/addons/base_dashboard/static/src/xml/base_dashboard.xml b/addons/base_dashboard/static/src/xml/base_dashboard.xml deleted file mode 100644 index b60e466964b..00000000000 --- a/addons/base_dashboard/static/src/xml/base_dashboard.xml +++ /dev/null @@ -1,115 +0,0 @@ -<template> -<t t-name="DashBoard"> - <div class="oe-dashboard-links"> - <button type="button" class="button oe-dashboard-link-reset" t-att-style="view.fields_view.custom_view_id ? null : 'display: none'"> - <img src="/base/static/src/img/icons/STOCK_GOTO_FIRST.png" width="16" height="16"/> - <span>Reset</span> - </button> - <button type="button" class="button oe-dashboard-link-undo" t-att-style="view.fields_view.custom_view_id ? null : 'display: none'"> - <img src="/base/static/src/img/icons/gtk-undo.png" width="16" height="16"/> - <span>Undo</span> - </button> - <button type="button" class="button oe-dashboard-link-add_widget"> - <img src="/base/static/src/img/icons/STOCK_ADD.png" width="16" height="16"/> - <span>Add Widget</span> - </button> - <button type="button" class="button oe-dashboard-link-change_layout"> - <img src="/base/static/src/img/icons/gtk-edit.png" width="16" height="16"/> - <span>Change layout</span> - </button> - </div> - <table t-att-data-layout="node.attrs.style" t-attf-class="oe-dashboard oe-dashboard-layout_#{node.attrs.style}" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td t-foreach="node.children" t-as="column" t-if="column.tag == 'column'" - t-att-id="view.element_id + '_column_' + column_index" t-attf-class="oe-dashboard-column index_#{column_index}"> - - <t t-foreach="column.children" t-as="action" t-if="action.tag == 'action'" t-call="DashBoard.action"/> - </td> - </tr> - </table> -</t> -<t t-name="DashBoard.action"> - <div t-att-data-id="action.attrs.name" class="oe-dashboard-action"> - <h2 class="oe-dashboard-action-header oe_view_title"> - <t t-esc="action.attrs.string"/> - <!--<a href="#" class="oe-dashboard-action-rename"><img src="/base/static/src/img/icons/gtk-edit.png" width="16" height="16"/></a>--> - <input class="oe-dashboard-action-input" type="text" name="title" value="" style="display: none"/> - <span class='ui-icon ui-icon-closethick'></span> - <span class='ui-icon ui-icon-minusthick oe-dashboard-fold' t-if="!action.attrs.fold"></span> - <span class='ui-icon ui-icon-plusthick oe-dashboard-fold' t-if="action.attrs.fold"></span> - </h2> - <div t-att-id="view.element_id + '_action_' + action.attrs.name" class="oe-dashboard-action-content" t-att-style="action.attrs.fold ? 'display: none' : null"></div> - </div> -</t> -<t t-name="DashBoard.layouts"> - <div class="oe-dashboard-layout-selector"> - <p> - <strong>Choose dashboard layout</strong> - </p> - <ul> - <li t-foreach="'1 1-1 1-1-1 1-2 2-1'.split(' ')" t-as="layout" t-att-data-layout="layout"> - <img t-attf-src="/base_dashboard/static/src/img/layout_#{layout}.png"/> - <img t-if="layout == current_layout" - src="/base/static/src/img/icons/gtk-apply.png" width="16" height="16" class="oe-selected-layout"/> - </li> - </ul> - </div> -</t> -<t t-name="DashBoard.xml"> - <form t-att-string="form_title"> - <board t-att-style="style"> - <column t-foreach="columns" t-as="column"> - <action t-foreach="column" t-as="action" t-att="action"/> - </column> - </board> - </form> -</t> -<div t-name="ConfigOverview" class="oe-dashboard-config-overview"/> -<t t-name="ConfigOverview.content"> - <div class="oe-config-progress"> - <h6 class="oe-config-progress-title"> - progress: <t t-esc="Math.round(completion)"/>% - </h6> - <div class="oe-config-progress-bar" t-att-data-completion="completion"/> - </div> - <dl> - <t t-foreach="groups" t-as="category"> - <dt><t t-esc="category"/></dt> - <dd><ul> - <li t-foreach="category_value" t-as="todo" - t-att-class="todo.done ? 'oe-done' : undefined" - t-att-data-id="todo.id" - t-att-title="!todo.done ? 'Execute task \'' + todo.name + '\'' : undefined"> - <input type="checkbox" t-att-value="todo.id" - t-att-title="!todo.done ? 'Mark this task as done' : undefined" - t-att-checked="todo.done ? 'checked' : undefined"/> - <t t-esc="todo.name"/> - </li> - </ul></dd> - </t> - - </dl> -</t> -<div t-name="ApplicationTiles" class="oe-dashboard-home-tiles"/> -<table t-name="ApplicationTiles.content" width="100%"> - <tr t-foreach="rows" t-as="row"> - <td t-foreach="row" t-as="application" width="33.3%"> - <div class="oe-dashboard-home-tile" - t-att-data-menuid="application.id"> - <div class="oe-dashboard-home-tile-icon"> - <img t-if="application.web_icon_data" - t-att-src="'data:image/png;base64,' + application.web_icon_data" - /><img t-if="application.web_icon_hover_data" class="hover" - t-att-src="'data:image/png;base64,' + application.web_icon_hover_data"/> - </div> - <span><t t-esc="application.name"/></span> - </div> - </td> - </tr> -</table> -<div t-name="HomeWidget" class="oe-dashboard-home-widget"/> -<t t-name="HomeWidget.content"> - <h3><t t-esc="widget.title"/></h3> - <iframe width="100%" frameborder="0" t-att-src="url"/> -</t> -</template> |
