#631 main menu image path update changes

master
agriyadev5 2021-09-21 15:50:08 +05:30
parent f5cf062f21
commit 2f75dcb3e3
4 changed files with 25 additions and 4 deletions

View File

@ -293,7 +293,9 @@ class MainMenu {
/**
* Associate all button actions as well as non-button keyboard shortcuts.
*/
[ "tool_import", "tool_export", "tool_docprops", "tool_editor_prefs", "tool_editor_homepage" ].forEach((attrId) =>
$id(attrId).init(this.editor)
);
$id("tool_import").addEventListener("click", () => {
this.clickImport();
window.dispatchEvent(new CustomEvent("importImages"));

View File

@ -29,6 +29,18 @@ export class SeMenuItem extends HTMLElement {
this.$menuitem = this._shadowRoot.querySelector('elix-menu-item');
this.$svg = this.$menuitem.shadowRoot.querySelector('#checkmark');
this.$svg.setAttribute('style', 'display: none;');
this.editor = null;
}
/**
* @function init
* @param {any} name
* @returns {void}
*/
init (editor) {
this.editor = editor;
if (this.hasAttribute("src")) {
this.setAttribute('src', this.getAttribute("src"));
}
}
/**
* @function observedAttributes
@ -46,11 +58,14 @@ export class SeMenuItem extends HTMLElement {
*/
attributeChangedCallback (name, oldValue, newValue) {
let shortcut = '';
if (oldValue === newValue) return;
if (oldValue === newValue && name !== 'src') return;
switch (name) {
case 'src':
this.$img.setAttribute('src', './images/'+newValue);
this.$img.style.display = 'inline-block';
if(this.editor !== null) {
const { imgPath } = this.editor.configObj.curConfig;
this.$img.style.display = 'inline-block';
this.$img.setAttribute('src', imgPath + '/' + newValue);
}
break;
case 'label':
shortcut = this.getAttribute('shortcut');

View File

@ -530,6 +530,7 @@ export default {
$id('tool_imagelib').addEventListener("click", () => {
showBrowser();
});
$id('tool_imagelib').init(svgEditor);
const style = document.createElement('style');
style.textContent = '#imgbrowse_holder {' +

View File

@ -174,6 +174,9 @@ export default {
$id("tool_open").addEventListener("click", clickOpen.bind(this));
$id("tool_save").addEventListener("click", clickSave.bind(this, "save"));
$id("tool_save_as").addEventListener("click", clickSave.bind(this, "saveas"));
[ "tool_clear", "tool_open", "tool_save", "tool_save_as" ].forEach((attrId) =>
$id(attrId).init(svgEditor)
);
}
};
}