This is an automated email from the ASF dual-hosted git repository. solomax pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new c48c005 [OPENMEETINGS-1884] some work on styling
c48c005 is described below
commit c48c005b9d942792884bb3a3bc26543e60e789e9
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Tue Aug 14 17:22:53 2018 +0700
[OPENMEETINGS-1884] some work on styling
---
.../openmeetings/web/room/wb/raw-wb-board.js | 181 ++++++++++++---------
1 file changed, 102 insertions(+), 79 deletions(-)
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
index 96f7e49..9ceccb0 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-board.js
@@ -99,6 +99,107 @@ var Wb = function() {
}));
_updateZoomPanel();
}
+ function _initSettings() {
+ s.find('.wb-prop-b, .wb-prop-i')
+ .button()
+ .click(function() {
+ $(this).toggleClass('ui-state-active selected');
+ const btn = _getBtn()
+ , isB = $(this).hasClass('wb-prop-b');
+ btn.data().obj.style[isB ? 'bold' : 'italic'] =
$(this).hasClass('selected');
+ });
+ s.find('.wb-prop-lock-color, .wb-prop-lock-fill')
+ .button({icon: 'ui-icon-locked', showLabel: false})
+ .click(function() {
+ const btn = _getBtn()
+ , isColor =
$(this).hasClass('wb-prop-lock-color')
+ , c = s.find(isColor ? '.wb-prop-color'
: '.wb-prop-fill')
+ , enabled = $(this).button('option',
'icon') === 'ui-icon-locked';
+ $(this).button('option', 'icon', enabled ?
'ui-icon-unlocked' : 'ui-icon-locked');
+ c.prop('disabled', !enabled);
+ btn.data().obj[isColor ? 'stroke' :
'fill'].enabled = enabled;
+ });
+ function setStyle(canvas, styleName, value) {
+ const o = canvas.getActiveObject();
+ if (o.setSelectionStyles && o.isEditing) {
+ let style = {};
+ style[styleName] = value;
+ o.setSelectionStyles(style);
+ } else {
+ o[styleName] = value;
+ }
+ canvas.requestRenderAll();
+ }
+ s.find('.wb-prop-color').change(function() {
+ const btn = _getBtn();
+ if (btn.length === 1) {
+ const v = $(this).val();
+ btn.data().obj.stroke.color = v;
+ wb.eachCanvas(function(canvas) {
+ if ('paint' === mode) {
+ canvas.freeDrawingBrush.color =
v;
+ } else {
+ setStyle(canvas, 'stroke', v)
+ }
+ });
+ }
+ });
+ s.find('.wb-prop-width').change(function() {
+ const btn = _getBtn();
+ if (btn.length === 1) {
+ const v = 1 * $(this).val();
+ btn.data().obj.stroke.width = v;
+ wb.eachCanvas(function(canvas) {
+ if ('paint' === mode) {
+ canvas.freeDrawingBrush.width =
v;
+ } else {
+ setStyle(canvas, 'strokeWidth',
v)
+ }
+ });
+ }
+ });
+ s.find('.wb-prop-fill').change(function() {
+ const btn = _getBtn();
+ if (btn.length === 1) {
+ const v = $(this).val();
+ btn.data().obj.fill.color = v;
+ wb.eachCanvas(function(canvas) {
+ setStyle(canvas, 'fill', v)
+ });
+ }
+ });
+ s.find('.wb-prop-opacity').change(function() {
+ const btn = _getBtn();
+ if (btn.length === 1) {
+ const v = (1 * $(this).val()) / 100;
+ btn.data().obj.opacity = v;
+ wb.eachCanvas(function(canvas) {
+ if ('paint' === mode) {
+ canvas.freeDrawingBrush.opacity
= v;
+ } else {
+ setStyle(canvas, 'opacity', v)
+ }
+ });
+ }
+ });
+ s.find('.ui-dialog-titlebar-close').click(function() {
+ s.hide();
+ });
+ s.draggable({
+ scroll: false
+ , containment: 'body'
+ , start: function() {
+ if (!!s.css('bottom')) {
+ s.css('bottom', '').css(Settings.isRtl
? 'left' : 'right', '');
+ }
+ }
+ , drag: function() {
+ if (s.position().x + s.width() >=
s.parent().width()) {
+ return false;
+ }
+ }
+ });
+ }
function internalInit() {
t.draggable({
snap: 'parent'
@@ -162,88 +263,10 @@ var Wb = function() {
t.find('.om-icon.undo').click(function() {
wbAction('undo', JSON.stringify({wbId:
wb.id}));
});
- s.find('.wb-prop-b, .wb-prop-i')
- .button()
- .click(function() {
-
$(this).toggleClass('ui-state-active selected');
- const btn = _getBtn()
- , isB =
$(this).hasClass('wb-prop-b');
- btn.data().obj.style[isB ?
'bold' : 'italic'] = $(this).hasClass('selected');
- });
- s.find('.wb-prop-lock-color,
.wb-prop-lock-fill')
- .button({icon: 'ui-icon-locked',
showLabel: false})
- .click(function() {
- const btn = _getBtn()
- , isColor =
$(this).hasClass('wb-prop-lock-color')
- , c = s.find(isColor ?
'.wb-prop-color' : '.wb-prop-fill')
- , enabled =
$(this).button('option', 'icon') === 'ui-icon-locked';
- $(this).button('option',
'icon', enabled ? 'ui-icon-unlocked' : 'ui-icon-locked');
- c.prop('disabled', !enabled);
- btn.data().obj[isColor ?
'stroke' : 'fill'].enabled = enabled;
- });
- s.find('.wb-prop-color').change(function() {
- const btn = _getBtn();
- if (btn.length === 1) {
- const v = $(this).val();
- btn.data().obj.stroke.color = v;
- if ('paint' === mode) {
-
wb.eachCanvas(function(canvas) {
-
canvas.freeDrawingBrush.color = v;
- });
- }
- }
- });
- s.find('.wb-prop-width').change(function() {
- const btn = _getBtn();
- if (btn.length === 1) {
- const v = 1 * $(this).val();
- btn.data().obj.stroke.width = v;
- if ('paint' === mode) {
-
wb.eachCanvas(function(canvas) {
-
canvas.freeDrawingBrush.width = v;
- });
- }
- }
- });
- s.find('.wb-prop-fill').change(function() {
- const btn = _getBtn();
- if (btn.length === 1) {
- const v = $(this).val();
- btn.data().obj.fill.color = v;
- }
- });
- s.find('.wb-prop-opacity').change(function() {
- const btn = _getBtn();
- if (btn.length === 1) {
- const v = (1 * $(this).val()) /
100;
- btn.data().obj.opacity = v;
- if ('paint' === mode) {
-
wb.eachCanvas(function(canvas) {
-
canvas.freeDrawingBrush.opacity = v;
- });
- }
- }
- });
-
s.find('.ui-dialog-titlebar-close').click(function() {
- s.hide();
- });
- s.draggable({
- scroll: false
- , containment: 'body'
- , start: function() {
- if (!!s.css('bottom')) {
- s.css('bottom',
'').css(Settings.isRtl ? 'left' : 'right', '');
- }
- }
- , drag: function() {
- if (s.position().x + s.width()
>= s.parent().width()) {
- return false;
- }
- }
- });
f.find('.ui-dialog-titlebar-close').click(function() {
f.hide();
});
+ _initSettings();
f.find('.update-btn').button().click(function()
{
const o = _findObject({
uid: $(this).data('uid')
