mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
add ui and widget
This commit is contained in:
7
app_ui_enhance/static/src/css/web_list_bg_color.css
Normal file
7
app_ui_enhance/static/src/css/web_list_bg_color.css
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
.oe_list_field_bg_color div{
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
57
app_ui_enhance/static/src/js/web_list_bg_color.js
Normal file
57
app_ui_enhance/static/src/js/web_list_bg_color.js
Normal file
@@ -0,0 +1,57 @@
|
||||
odoo.define('app_ui_enhance.list_bg_color', function (require) {
|
||||
"use strict";
|
||||
|
||||
var core = require('web.core');
|
||||
var common = require('web.form_common');
|
||||
var Model = require('web.Model');
|
||||
var time = require('web.time');
|
||||
var ListView = require('web.ListView');
|
||||
var session = require('web.session');
|
||||
var compatibility = require('web.compatibility');
|
||||
|
||||
ListView.include({
|
||||
willStart: function() {
|
||||
if (this.fields_view.arch.attrs.bg_colors) {
|
||||
this.bg_colors = _(this.fields_view.arch.attrs.bg_colors.split(';')).chain()
|
||||
.compact()
|
||||
.map(function(color_pair) {
|
||||
var pair = color_pair.split(':'),
|
||||
color = pair[0],
|
||||
expr = pair[1];
|
||||
return [color, py.parse(py.tokenize(expr)), expr];
|
||||
}).value();
|
||||
|
||||
if (!this.colors) { this.colors = [] }
|
||||
}
|
||||
return this._super();
|
||||
},
|
||||
|
||||
style_for: function (record) {
|
||||
var len, style= '';
|
||||
|
||||
var context = _.extend({}, record.attributes, {
|
||||
uid: session.uid,
|
||||
current_date: moment().format('YYYY-MM-DD')
|
||||
// TODO: time, datetime, relativedelta
|
||||
});
|
||||
|
||||
var i;
|
||||
var pair;
|
||||
var expression;
|
||||
style = this._super(record);
|
||||
|
||||
if (!this.bg_colors) { return style; }
|
||||
for(i=0, len=this.bg_colors.length; i<len; ++i) {
|
||||
pair = this.bg_colors[i];
|
||||
var color = pair[0];
|
||||
expression = pair[1];
|
||||
if (py.PY_isTrue(py.evaluate(expression, context))) {
|
||||
return style += 'background-color: ' + color + ';';
|
||||
}
|
||||
}
|
||||
return style;
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user