Add missing handler for menu entries

This commit is contained in:
yflory 2024-03-13 16:19:16 +01:00
parent c0be0e4b12
commit 62b4f901db
7 changed files with 30 additions and 13 deletions

View File

@ -68,7 +68,6 @@ define([
CMeditor, CMeditor,
UIElements) UIElements)
{ {
var Common;
window.CodeMirror = CMeditor; window.CodeMirror = CMeditor;
var MEDIA_TAG_MODES = Object.freeze([ var MEDIA_TAG_MODES = Object.freeze([
@ -88,7 +87,7 @@ define([
const $drawer = UIElements.createDropdown({ const $drawer = UIElements.createDropdown({
text: Messages.toolbar_theme, text: Messages.toolbar_theme,
options: [], options: [],
common: Common, common: framework._.sfCommon,
iconCls: 'cptools cptools-palette' iconCls: 'cptools cptools-palette'
}); });
framework._.toolbar.$theme = $drawer.find('ul.cp-dropdown-content'); framework._.toolbar.$theme = $drawer.find('ul.cp-dropdown-content');

View File

@ -25,7 +25,7 @@ define([
var debug = function () {}; var debug = function () {};
var MARK_OPACITY = 0.5; var MARK_OPACITY = 0.2;
var DEFAULT = { var DEFAULT = {
authors: {}, authors: {},
marks: [[-1, 0, 0, Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER]] marks: [[-1, 0, 0, Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER]]
@ -624,11 +624,9 @@ define([
if (Env.opacity) { if (Env.opacity) {
Env.opacity = 0; Env.opacity = 0;
$button.find('.cp-toolbar-drawer-element').text(Messages.cba_show); $button.find('.cp-toolbar-drawer-element').text(Messages.cba_show);
//$button.removeClass("cp-toolbar-button-active");
} else { } else {
Env.opacity = MARK_OPACITY; Env.opacity = MARK_OPACITY;
$button.find('.cp-toolbar-drawer-element').text(Messages.cba_hide); $button.find('.cp-toolbar-drawer-element').text(Messages.cba_hide);
//$button.addClass("cp-toolbar-button-active");
} }
}; };
toggle(); toggle();

View File

@ -577,6 +577,7 @@ define([
}; };
UIElements.getEntryFromButton = function ($button) { UIElements.getEntryFromButton = function ($button) {
if (!$button || !$button.length) { return; }
let $icon = $button.find('> i'); let $icon = $button.find('> i');
let attributes = {}; let attributes = {};
@ -882,6 +883,7 @@ define([
h('i.fa.fa-file-image-o'), h('i.fa.fa-file-image-o'),
h('span.cp-toolbar-name.cp-toolbar-drawer-element', Messages.toolbar_savetodrive) h('span.cp-toolbar-name.cp-toolbar-drawer-element', Messages.toolbar_savetodrive)
])).click(common.prepareFeedback(type)); ])).click(common.prepareFeedback(type));
if (callback) { button.click(callback); }
break; break;
case 'storeindrive': case 'storeindrive':
button = $(h('button.cp-toolbar-storeindrive.fa.fa-hdd-o', { button = $(h('button.cp-toolbar-storeindrive.fa.fa-hdd-o', {

View File

@ -2764,9 +2764,9 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
toolbar.$drawer.append($snapshot); toolbar.$drawer.append($snapshot);
// Import template // Import template
var $templateButton = common.createButton('importtemplate', true, {}, openTemplatePicker); var $importTemplateButton = common.createButton('importtemplate', true, {}, openTemplatePicker);
if ($templateButton && typeof($templateButton.appendTo) === 'function') { if ($importTemplateButton && $importTemplateButton.length) {
var $template = UIElements.getEntryFromButton($templateButton); let $template = UIElements.getEntryFromButton($importTemplateButton);
$template.appendTo(toolbar.$drawer); $template.appendTo(toolbar.$drawer);
} }
@ -2789,8 +2789,8 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
APP.FM.handleFile(blob, data); APP.FM.handleFile(blob, data);
} }
}; };
var $templateButton = common.createButton('template', true, templateObj); let $templateButton = common.createButton('template', true, templateObj);
var $template = UIElements.getEntryFromButton($templateButton); let $template = UIElements.getEntryFromButton($templateButton);
toolbar.$drawer.append($template); toolbar.$drawer.append($template);
} }
})(); })();

View File

@ -626,6 +626,16 @@ define([
var mkPrintButton = function (framework, editor) { var mkPrintButton = function (framework, editor) {
var $printButton = framework._.sfCommon.createButton('print', true); var $printButton = framework._.sfCommon.createButton('print', true);
$printButton.click(function () {
/*
// NOTE: alternative print system in case we keep having more issues on Firefox
var $iframe = $('html').find('iframe');
var iframe = $iframe[0].contentWindow;
iframe.print();
*/
editor.execCommand('print');
framework.feedback('PRINT_PAD');
});
var $print = UIElements.getEntryFromButton($printButton); var $print = UIElements.getEntryFromButton($printButton);
framework._.toolbar.$drawer.append($print); framework._.toolbar.$drawer.append($print);
}; };

View File

@ -65,7 +65,6 @@ define([
CMeditor, CMeditor,
UIElements) UIElements)
{ {
var Common;
window.CodeMirror = CMeditor; window.CodeMirror = CMeditor;
var SLIDE_BACKCOLOR_ID = "cp-app-slide-toolbar-backcolor"; var SLIDE_BACKCOLOR_ID = "cp-app-slide-toolbar-backcolor";
@ -112,7 +111,7 @@ define([
const $drawer = UIElements.createDropdown({ const $drawer = UIElements.createDropdown({
text: Messages.toolbar_theme, text: Messages.toolbar_theme,
options: [], options: [],
common: Common, common: framework._.sfCommon,
iconCls: 'cptools cptools-palette' iconCls: 'cptools cptools-palette'
}); });
framework._.toolbar.$theme = $drawer.find('ul.cp-dropdown-content'); framework._.toolbar.$theme = $drawer.find('ul.cp-dropdown-content');

View File

@ -435,7 +435,16 @@ define([
}); });
// Export to drive as PNG // Export to drive as PNG
var $saveToDriveButton = framework._.sfCommon.createButton('savetodrive', true, {}); var $saveToDriveButton = framework._.sfCommon.createButton('savetodrive', true, {
callback: function () {
var defaultName = framework._.title.getTitle()
|| framework._.title.defaultTitle;
UI.prompt(Messages.exportPrompt, defaultName + '.png', function (name) {
if (name === null || !name.trim()) { return; }
APP.upload(name);
});
}
});
var $saveToDrive = UIElements.getEntryFromButton($saveToDriveButton); var $saveToDrive = UIElements.getEntryFromButton($saveToDriveButton);
$saveToDrive.appendTo($drawer); $saveToDrive.appendTo($drawer);