refactor code

This commit is contained in:
daria 2024-03-12 16:49:47 +02:00
parent 923cb9690b
commit b873a84607
8 changed files with 26 additions and 158 deletions

View File

@ -154,17 +154,8 @@ define([
var $codeMirrorContainer = $('#cp-app-code-container');
var helpMenu = framework._.sfCommon.createHelpMenu(['text', 'code']);
$codeMirrorContainer.prepend(helpMenu.menu);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
framework._.toolbar.$drawer.append($helpMenuButton);
};

View File

@ -576,16 +576,19 @@ define([
});
};
UIElements.getEntryFromButton = function ($button) {
// If the button contains an icon, clone it and re-use it
UIElements.getEntryFromButton = function ($button, id = undefined) {
let $icon = $button.find('> i');
let icon = $icon.length ? $icon.clone() : undefined;
let attributes = {
'class': $button.attr('class')
};
if (id !== undefined) {
attributes['id'] = id;
}
return UIElements.createDropdownEntry({
tag: 'a',
attributes: {'class': $button.attr('class')},
attributes: attributes,
content: [
icon,
h('i',{ 'class': $icon.attr('class') }),
h('span', $button.text())
],
action: function () {
@ -594,7 +597,8 @@ define([
}
});
};
UIElements.createButton = function (common, type, rightside, data, callback) {
var AppConfig = common.getAppConfig();
var button;

View File

@ -2751,18 +2751,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
History.create(common, histConfig);
});
var $historyDropdown = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': $historyButton.attr('class') },
content: [
h('i', { 'class': $historyButton.children('i').attr('class') }),
h('span', $historyButton.text())
],
action: function () {
$historyButton.click();
}
});
var $historyDropdown = UIElements.getEntryFromButton($historyButton);
$historyDropdown.appendTo(toolbar.$drawer);
// Snapshots
@ -2883,17 +2872,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
var helpMenu = APP.helpMenu = common.createHelpMenu(['beta', 'oo']);
$('#cp-app-oo-editor').prepend(common.getBurnAfterReadingWarning());
$('#cp-app-oo-editor').prepend(helpMenu.menu);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
toolbar.$drawer.append($helpMenuButton);
}

View File

@ -4645,17 +4645,7 @@ define([
var $toolbarContainer = $('#cp-toolbar');
var helpMenu = framework._.sfCommon.createHelpMenu(['text', 'pad']);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
$toolbarContainer.after(helpMenu.menu);
framework._.toolbar.$drawer.append($helpMenuButton);
if (!APP.isEditor && !priv.form_auditorKey) {

View File

@ -1119,18 +1119,7 @@ define([
var helpMenu = framework._.sfCommon.createHelpMenu(['kanban']);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
$toolbarContainer.prepend(helpMenu.menu);
framework._.toolbar.$drawer.append($helpMenuButton);
};

View File

@ -345,18 +345,8 @@ define([
}, function () {
UI.alert(getSettings());
});
var $settings = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': $settingsButton.attr('class') },
content: [
h('i', { 'class': $settingsButton.children('i').attr('class') }),
h('span', $settingsButton.text())
],
action: function () {
UI.alert(getSettings());
}
});
var $settings = UIElements.getEntryFromButton($settingsButton);
framework._.toolbar.$drawer.append($settings);
};
@ -364,17 +354,7 @@ define([
var mkHelpMenu = function(framework) {
var $toolbarContainer = $('.cke_toolbox_main');
var helpMenu = framework._.sfCommon.createHelpMenu(['text', 'pad']);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
$toolbarContainer.before(helpMenu.menu);
framework._.toolbar.$drawer.append($helpMenuButton);

View File

@ -332,19 +332,7 @@ define([
text: Messages.slideOptionsText,
name: 'options'
});
var $options = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': $optionsButton.attr('class') },
content: [
h('i', { 'class': $optionsButton.children('i').attr('class') }),
h('span', $optionsButton.text())
],
action: function () {
$options.click(function () {
$('body').append(createPrintDialog());
});
}
});
var $options = UIElements.getEntryFromButton($optionsButton);
framework._.toolbar.$theme.append($options);
metadataMgr.onChange(function () {
@ -400,17 +388,7 @@ define([
$backgroundPicker.val(backColor);
$backgroundPicker.click();
});
var $backButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': $back.attr('class'), 'id': SLIDE_BACKCOLOR_ID },
content: [
h('i', { 'class': $back.children('i').attr('class')}),
h('span', $back.text())
],
action: function () {
$back.click();
}
});
var $backButton = UIElements.getEntryFromButton($back, SLIDE_BACKCOLOR_ID);
var $foregroundPicker = $('<input>', { type: 'color', value: textColor })
.css({ display: 'none', })
@ -427,17 +405,7 @@ define([
$foregroundPicker.click();
});
var $textButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': $text.attr('class'),'id': SLIDE_COLOR_ID },
content: [
h('i', { 'class': $text.children('i').attr('class') }),
h('span', $text.text())
],
action: function () {
$text.click();
}
});
var $textButton = UIElements.getEntryFromButton($text, SLIDE_COLOR_ID);
var $testColor = $('<input>', { type: 'color', value: '!' });
if ($testColor.attr('type') !== "color" || $testColor.val() === '!') { return; }
@ -474,17 +442,7 @@ define([
var mkHelpMenu = function (framework) {
var $codeMirrorContainer = $('#cp-app-slide-editor-container');
var helpMenu = framework._.sfCommon.createHelpMenu(['text', 'slide']);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
$codeMirrorContainer.prepend(helpMenu.menu);
framework._.toolbar.$drawer.append($helpMenuButton);
};

View File

@ -297,17 +297,8 @@ define([
var mkHelpMenu = function (framework) {
var $appContainer = $('#cp-app-whiteboard-container');
var helpMenu = framework._.sfCommon.createHelpMenu(['whiteboard']);
var $helpMenuButton = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': helpMenu.button.attr('class') },
content: [
h('i', { 'class': helpMenu.button.children('i').attr('class') }),
h('span', helpMenu.button.text())
],
action: function () {
helpMenu.button.click();
}
});
var $helpMenuButton = UIElements.getEntryFromButton(helpMenu.button);
$appContainer.prepend(helpMenu.menu);
framework._.toolbar.$drawer.append($helpMenuButton);
};
@ -445,21 +436,7 @@ define([
// Export to drive as PNG
var $saveToDriveButton = framework._.sfCommon.createButton('savetodrive', true, {});
var $saveToDrive = UIElements.createDropdownEntry({
tag: 'a',
attributes: { 'class': $saveToDriveButton.attr('class') },
content: [
h('i', { 'class': $saveToDriveButton.children('i').attr('class') }),
h('span', $saveToDriveButton.text())
],
action: function () {
var defaultName = framework._.title.getTitle();
UI.prompt(Messages.exportPrompt, defaultName + '.png', function (name) {
if (name === null || !name.trim()) { return; }
APP.upload(name);
});
}
});
var $saveToDrive = UIElements.getEntryFromButton($saveToDriveButton);
$saveToDrive.appendTo($drawer);
} else {