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