1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2024-11-24 03:42:32 +01:00

Removed use of image-manager/entity-selector window globals

This commit is contained in:
Dan Brown 2022-11-16 15:21:22 +00:00
parent 3b8ee3954e
commit 25c23a2e5f
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
5 changed files with 22 additions and 12 deletions

View File

@ -4,7 +4,6 @@ import {Component} from "./component";
export class ImageManager extends Component {
setup() {
// Options
this.uploadedTo = this.$opts.uploadedTo;
@ -33,8 +32,6 @@ export class ImageManager extends Component {
this.resetState();
this.setupListeners();
window.ImageManager = this;
}
setupListeners() {

View File

@ -431,7 +431,9 @@ export class MarkdownEditor extends Component {
actionInsertImage() {
const cursorPos = this.cm.getCursor('from');
window.ImageManager.show(image => {
/** @type {ImageManager} **/
const imageManager = window.$components.first('image-manager');
imageManager.show(image => {
const imageUrl = image.thumbs.display || image.url;
let selectedText = this.cm.getSelection();
let newText = "[![" + (selectedText || image.name) + "](" + imageUrl + ")](" + image.url + ")";
@ -443,7 +445,9 @@ export class MarkdownEditor extends Component {
actionShowImageManager() {
const cursorPos = this.cm.getCursor('from');
window.ImageManager.show(image => {
/** @type {ImageManager} **/
const imageManager = window.$components.first('image-manager');
imageManager.show(image => {
this.insertDrawing(image, cursorPos);
}, 'drawio');
}
@ -451,7 +455,9 @@ export class MarkdownEditor extends Component {
// Show the popup link selector and insert a link when finished
actionShowLinkSelector() {
const cursorPos = this.cm.getCursor('from');
window.EntitySelectorPopup.show(entity => {
/** @type {EntitySelectorPopup} **/
const selector = window.$components.first('entity-selector-popup');
selector.show(entity => {
let selectedText = this.cm.getSelection() || entity.name;
let newText = `[${selectedText}](${entity.link})`;
this.cm.focus();

View File

@ -73,7 +73,9 @@ function file_picker_callback(callback, value, meta) {
// field_name, url, type, win
if (meta.filetype === 'file') {
window.EntitySelectorPopup.show(entity => {
/** @type {EntitySelectorPopup} **/
const selector = window.$components.first('entity-selector-popup');
selector.show(entity => {
callback(entity.link, {
text: entity.name,
title: entity.name,
@ -83,7 +85,9 @@ function file_picker_callback(callback, value, meta) {
if (meta.filetype === 'image') {
// Show image manager
window.ImageManager.show(function (image) {
/** @type {ImageManager} **/
const imageManager = window.$components.first('image-manager');
imageManager.show(function (image) {
callback(image.url, {alt: image.name});
}, 'gallery');
}

View File

@ -15,8 +15,10 @@ function isDrawing(node) {
function showDrawingManager(mceEditor, selectedNode = null) {
pageEditor = mceEditor;
currentNode = selectedNode;
// Show image manager
window.ImageManager.show(function (image) {
/** @type {ImageManager} **/
const imageManager = window.$components.first('image-manager');
imageManager.show(function (image) {
if (selectedNode) {
const imgElem = selectedNode.querySelector('img');
pageEditor.undoManager.transact(function () {

View File

@ -3,14 +3,15 @@
* @param {String} url
*/
function register(editor, url) {
// Custom Image picker button
editor.ui.registry.addButton('imagemanager-insert', {
title: 'Insert image',
icon: 'image',
tooltip: 'Insert image',
onAction() {
window.ImageManager.show(function (image) {
/** @type {ImageManager} **/
const imageManager = window.$components.first('image-manager');
imageManager.show(function (image) {
const imageUrl = image.thumbs.display || image.url;
let html = `<a href="${image.url}" target="_blank">`;
html += `<img src="${imageUrl}" alt="${image.name}">`;