in openmeetings-web/src/main/front/src/wb/wb-tools.js [144:254]
function _initSettings() {
function setStyle(canvas, styleName, value) {
const o = canvas.getActiveObject();
if (!o) {
return;
}
if (o.setSelectionStyles && o.isEditing) {
const style = {};
style[styleName] = value;
o.setSelectionStyles(style);
} else {
o[styleName] = value;
}
canvas.requestRenderAll();
}
settings.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')
, style = isB ? 'bold' : 'italic'
, v = $(this).hasClass('selected')
, val = v ? style : '';
btn.data().obj.style[style] = v;
wb.eachCanvas(function(canvas) {
setStyle(canvas, isB ? 'fontWeight' : 'fontStyle', val)
});
});
settings.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 = settings.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;
});
settings.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)
}
});
}
});
settings.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)
}
});
}
});
settings.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)
});
}
});
settings.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)
}
});
}
});
settings.find('.ui-dialog-titlebar-close').click(function() {
settings.hide();
});
settings.draggable({
scroll: false
, handle: '.ui-dialog-titlebar'
, containment: 'body'
, start: function() {
if (!!settings.css('bottom')) {
settings.css('bottom', '').css(Settings.isRtl ? 'left' : 'right', '');
}
}
, drag: function() {
if (settings.position().x + settings.width() >= settings.parent().width()) {
return false;
}
}
});
}