MuK IT GmbH
6 years ago
6 changed files with 145 additions and 1 deletions
-
2muk_web_utils/__manifest__.py
-
5muk_web_utils/doc/changelog.rst
-
58muk_web_utils/static/src/js/fields/color.js
-
42muk_web_utils/static/src/scss/color.scss
-
37muk_web_utils/static/src/xml/color.xml
-
2muk_web_utils/template/assets.xml
@ -0,0 +1,58 @@ |
|||||
|
/********************************************************************************** |
||||
|
* |
||||
|
* Copyright (C) 2017 MuK IT GmbH |
||||
|
* |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU Affero General Public License as |
||||
|
* published by the Free Software Foundation, either version 3 of the |
||||
|
* License, or (at your option) any later version. |
||||
|
* |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU Affero General Public License for more details. |
||||
|
* |
||||
|
* You should have received a copy of the GNU Affero General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
* |
||||
|
**********************************************************************************/ |
||||
|
|
||||
|
odoo.define('muk_web_utils.ColorChar', function (require) { |
||||
|
"use strict"; |
||||
|
|
||||
|
var core = require('web.core'); |
||||
|
var fields = require('web.basic_fields'); |
||||
|
var registry = require('web.field_registry'); |
||||
|
var colorpicker = require('web.colorpicker'); |
||||
|
|
||||
|
var _t = core._t; |
||||
|
var QWeb = core.qweb; |
||||
|
|
||||
|
var FieldColor = fields.DebouncedField.extend({ |
||||
|
events: _.extend({}, fields.FieldChar.prototype.events, { |
||||
|
"click .mk_field_color_button": "_onCustomColorButtonClick", |
||||
|
}), |
||||
|
template: "muk_web_utils.FieldColor", |
||||
|
supportedFieldTypes: ['char'], |
||||
|
_renderEdit: function () { |
||||
|
this.$('.mk_field_color_input').val(this._formatValue(this.value)); |
||||
|
}, |
||||
|
_renderReadonly: function () { |
||||
|
this.$el.text(this._formatValue(this.value)); |
||||
|
}, |
||||
|
_onCustomColorButtonClick: function () { |
||||
|
var ColorpickerDialog = new colorpicker(this, { |
||||
|
dialogClass: 'mk_field_color_picker' |
||||
|
}); |
||||
|
ColorpickerDialog.on('colorpicker:saved', this, function (event) { |
||||
|
this._setValue(event.data.hex); |
||||
|
}); |
||||
|
ColorpickerDialog.open(); |
||||
|
}, |
||||
|
}); |
||||
|
|
||||
|
registry.add('color', FieldColor); |
||||
|
|
||||
|
return FieldColor; |
||||
|
|
||||
|
}); |
@ -0,0 +1,42 @@ |
|||||
|
/********************************************************************************** |
||||
|
* |
||||
|
* Copyright (C) 2017 MuK IT GmbH |
||||
|
* |
||||
|
* This program is free software: you can redistribute it and/or modify |
||||
|
* it under the terms of the GNU Affero General Public License as |
||||
|
* published by the Free Software Foundation, either version 3 of the |
||||
|
* License, or (at your option) any later version. |
||||
|
* |
||||
|
* This program is distributed in the hope that it will be useful, |
||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
* GNU Affero General Public License for more details. |
||||
|
* |
||||
|
* You should have received a copy of the GNU Affero General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
* |
||||
|
**********************************************************************************/ |
||||
|
|
||||
|
.mk_field_color_picker { |
||||
|
.o_opacity_slider { |
||||
|
display: none ! important; |
||||
|
} |
||||
|
input#opacity { |
||||
|
display: none ! important; |
||||
|
} |
||||
|
label[for="opacity"] { |
||||
|
display: none ! important; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.o_field_widget.mk_field_color { |
||||
|
.mk_field_color_input { |
||||
|
width: auto; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
.mk_field_color_button { |
||||
|
display: inline-block; |
||||
|
margin-bottom: 0.25rem; |
||||
|
line-height: 1.42rem; |
||||
|
} |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
|
||||
|
<!-- |
||||
|
Copyright (C) 2018 MuK IT GmbH |
||||
|
|
||||
|
This program is free software: you can redistribute it and/or modify |
||||
|
it under the terms of the GNU Affero General Public License as |
||||
|
published by the Free Software Foundation, either version 3 of the |
||||
|
License, or (at your option) any later version. |
||||
|
|
||||
|
This program is distributed in the hope that it will be useful, |
||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
GNU Affero General Public License for more details. |
||||
|
|
||||
|
You should have received a copy of the GNU Affero General Public License |
||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
--> |
||||
|
|
||||
|
<templates id="template" xml:space="preserve"> |
||||
|
|
||||
|
<t t-name="muk_web_utils.FieldColor"> |
||||
|
<span t-if="widget.mode === 'readonly'" class="mk_field_color"/> |
||||
|
<div t-if="widget.mode !== 'readonly'" class="mk_field_color"> |
||||
|
<input type="text" class="o_input mk_field_color_input" |
||||
|
t-att-name="widget.name" |
||||
|
t-att-tabindex="widget.attrs.tabindex" |
||||
|
t-att-autocomplete="widget.attrs.autocomplete" |
||||
|
t-att-placeholder="widget.attrs.placeholder" |
||||
|
t-att-autofocus="widget.attrs.autofocus"/> |
||||
|
<button class="btn btn-sm btn-outline-primary mk_field_color_button" type="button"> |
||||
|
<span class="fa fa-paint-brush"></span> |
||||
|
</button> |
||||
|
</div> |
||||
|
</t> |
||||
|
|
||||
|
</templates> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue