summaryrefslogtreecommitdiff
path: root/addons/website/static/lib/summernote/src/js/module/Button.js
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2015-03-04 14:32:33 +0100
committerChristophe Matthieu <chm@odoo.com>2015-07-10 17:00:13 +0200
commitcebc73ebf9aa2bd6d8026473344af16726effec1 (patch)
tree55a8de23a6cf7f551aeabf58195e7ba8e1c76686 /addons/website/static/lib/summernote/src/js/module/Button.js
parentc1f39d0ca74486de714ea85f56b6924a9a520757 (diff)
[IMP] web_editor: move summernote & nearest lib from website
Diffstat (limited to 'addons/website/static/lib/summernote/src/js/module/Button.js')
-rw-r--r--addons/website/static/lib/summernote/src/js/module/Button.js157
1 files changed, 0 insertions, 157 deletions
diff --git a/addons/website/static/lib/summernote/src/js/module/Button.js b/addons/website/static/lib/summernote/src/js/module/Button.js
deleted file mode 100644
index 512822aeba8..00000000000
--- a/addons/website/static/lib/summernote/src/js/module/Button.js
+++ /dev/null
@@ -1,157 +0,0 @@
-define([
- 'summernote/core/list'
-], function (list) {
- /**
- * Button
- */
- var Button = function () {
- /**
- * update button status
- *
- * @param {jQuery} $container
- * @param {Object} styleInfo
- */
- this.update = function ($container, styleInfo) {
- /**
- * handle dropdown's check mark (for fontname, fontsize, lineHeight).
- * @param {jQuery} $btn
- * @param {Number} value
- */
- var checkDropdownMenu = function ($btn, value) {
- $btn.find('.dropdown-menu li a').each(function () {
- // always compare string to avoid creating another func.
- var isChecked = ($(this).data('value') + '') === (value + '');
- this.className = isChecked ? 'checked' : '';
- });
- };
-
- /**
- * update button state(active or not).
- *
- * @param {String} selector
- * @param {Function} pred
- */
- var btnState = function (selector, pred) {
- var $btn = $container.find(selector);
- $btn.toggleClass('active', pred());
- };
-
- if (styleInfo.image) {
- var $img = $(styleInfo.image);
-
- btnState('button[data-event="imageShape"][data-value="img-rounded"]', function () {
- return $img.hasClass("img-rounded");
- });
- btnState('button[data-event="imageShape"][data-value="img-circle"]', function () {
- return $img.hasClass("img-circle");
- });
- btnState('button[data-event="imageShape"][data-value="img-thumbnail"]', function () {
- return $img.hasClass("img-thumbnail");
- });
- btnState('button[data-event="imageShape"]:not([data-value])', function () {
- return !$img.is(".img-rounded, .img-circle, .img-thumbnail");
- });
-
- var imgFloat = $img.css("float");
- btnState('button[data-event="floatMe"][data-value="left"]', function () {
- return imgFloat === "left";
- });
- btnState('button[data-event="floatMe"][data-value="right"]', function () {
- return imgFloat === "right";
- });
- btnState('button[data-event="floatMe"][data-value="none"]', function () {
- return imgFloat !== "left" && imgFloat !== "right";
- });
-
- var style = $img.attr("style");
- btnState('button[data-event="resize"][data-value="1"]', function () {
- return !!/(^|\s)(max-)?width\s*:\s*100%/.test(style);
- });
- btnState('button[data-event="resize"][data-value="0.5"]', function () {
- return !!/(^|\s)(max-)?width\s*:\s*50%/.test(style);
- });
- btnState('button[data-event="resize"][data-value="0.25"]', function () {
- return !!/(^|\s)(max-)?width\s*:\s*25%/.test(style);
- });
- return;
- }
-
- // fontname
- var $fontname = $container.find('.note-fontname');
- if ($fontname.length) {
- var selectedFont = styleInfo['font-family'];
- if (!!selectedFont) {
- selectedFont = list.head(selectedFont.split(','));
- selectedFont = selectedFont.replace(/\'/g, '');
- $fontname.find('.note-current-fontname').text(selectedFont);
- checkDropdownMenu($fontname, selectedFont);
- }
- }
-
- // fontsize
- var $fontsize = $container.find('.note-fontsize');
- $fontsize.find('.note-current-fontsize').text(styleInfo['font-size']);
- checkDropdownMenu($fontsize, parseFloat(styleInfo['font-size']));
-
- // lineheight
- var $lineHeight = $container.find('.note-height');
- checkDropdownMenu($lineHeight, parseFloat(styleInfo['line-height']));
-
- btnState('button[data-event="bold"]', function () {
- return styleInfo['font-bold'] === 'bold';
- });
- btnState('button[data-event="italic"]', function () {
- return styleInfo['font-italic'] === 'italic';
- });
- btnState('button[data-event="underline"]', function () {
- return styleInfo['font-underline'] === 'underline';
- });
- btnState('button[data-event="strikethrough"]', function () {
- return styleInfo['font-strikethrough'] === 'strikethrough';
- });
- btnState('button[data-event="superscript"]', function () {
- return styleInfo['font-superscript'] === 'superscript';
- });
- btnState('button[data-event="subscript"]', function () {
- return styleInfo['font-subscript'] === 'subscript';
- });
- btnState('button[data-event="justifyLeft"]', function () {
- return styleInfo['text-align'] === 'left' || styleInfo['text-align'] === 'start';
- });
- btnState('button[data-event="justifyCenter"]', function () {
- return styleInfo['text-align'] === 'center';
- });
- btnState('button[data-event="justifyRight"]', function () {
- return styleInfo['text-align'] === 'right';
- });
- btnState('button[data-event="justifyFull"]', function () {
- return styleInfo['text-align'] === 'justify';
- });
- btnState('button[data-event="insertUnorderedList"]', function () {
- return styleInfo['list-style'] === 'unordered';
- });
- btnState('button[data-event="insertOrderedList"]', function () {
- return styleInfo['list-style'] === 'ordered';
- });
- };
-
- /**
- * update recent color
- *
- * @param {Node} button
- * @param {String} eventName
- * @param {value} value
- */
- this.updateRecentColor = function (button, eventName, value) {
- var $color = $(button).closest('.note-color');
- var $recentColor = $color.find('.note-recent-color');
- var colorInfo = JSON.parse($recentColor.attr('data-value'));
- colorInfo[eventName] = value;
- $recentColor.attr('data-value', JSON.stringify(colorInfo));
- var sKey = eventName === 'backColor' ? 'background-color' : 'color';
- $recentColor.find('i').css(sKey, value);
- };
- };
-
- return Button;
-});