You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.7 KiB
49 lines
1.7 KiB
/* Copyright 2016-2019 Jairo Llopis <jairo.llopis@tecnativa.com>
|
|
* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */
|
|
|
|
odoo.define("web_editor_background_color.colorpicker", function (require) {
|
|
"use strict";
|
|
var ColorpickerDialog = require('web.colorpicker');
|
|
var options = require("web_editor.snippets.options");
|
|
var colorpicker = options.registry.colorpicker;
|
|
|
|
colorpicker.include({
|
|
custom_events: _.extend({}, colorpicker.prototype.custom_events, {
|
|
"colorpicker:saved": "_onCustomColorSave",
|
|
}),
|
|
events: _.extend({}, colorpicker.prototype.events, {
|
|
"click .o_colorpicker_section[data-name=custom]>.text-muted":
|
|
"_onCustomColorAsk",
|
|
}),
|
|
|
|
/**
|
|
* Called when the user clicks on "Custom color" section header
|
|
*/
|
|
_onCustomColorAsk: function () {
|
|
var dialog = new ColorpickerDialog(this, {
|
|
defaultColor: this.$target.css("background-color"),
|
|
});
|
|
dialog.open();
|
|
},
|
|
|
|
/**
|
|
* Called when the user saves a custom color
|
|
*
|
|
* @param {Event} event
|
|
*/
|
|
_onCustomColorSave: function (event) {
|
|
// Add a button to remind recent choices
|
|
var $button = $("<button/>", {
|
|
class: "o_custom_color",
|
|
css: {
|
|
"background-color": event.data.cssColor,
|
|
},
|
|
});
|
|
var $custom = this.$el.find(
|
|
".o_colorpicker_section[data-name=custom]");
|
|
$custom.append($button);
|
|
// Emulate a hover & click on that new button
|
|
$button.mouseenter().click();
|
|
},
|
|
});
|
|
});
|