0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-22 17:30:29 +01:00

Merge pull request #59 from paviliondev/composer-drop

FIX: confine the wizard composer's dropZone
Dieser Commit ist enthalten in:
Angus McLeod 2020-11-13 11:22:13 +11:00 committet von GitHub
Commit 26b3797159
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -1,5 +1,8 @@
import ComposerEditor from "discourse/components/composer-editor";
import { default as discourseComputed, on } from "discourse-common/utils/decorators";
import {
default as discourseComputed,
on,
} from "discourse-common/utils/decorators";
import { findRawTemplate } from "discourse-common/lib/raw-templates";
import { throttle } from "@ember/runloop";
import { scheduleOnce, next } from "@ember/runloop";
@ -12,7 +15,7 @@ import highlightSyntax from "discourse/lib/highlight-syntax";
import { getToken } from "wizard/lib/ajax";
import {
validateUploadedFiles,
getUploadMarkdown
getUploadMarkdown,
} from "discourse/lib/uploads";
import { cacheShortUploadUrl } from "pretty-text/upload-short-url";
import { alias } from "@ember/object/computed";
@ -51,7 +54,7 @@ export default ComposerEditor.extend({
scheduleOnce("afterRender", () => $input.blur().focus());
},
triggerRule: (textarea) =>
!inCodeBlock(textarea.value, caretPosition(textarea))
!inCodeBlock(textarea.value, caretPosition(textarea)),
});
}
@ -68,12 +71,13 @@ export default ComposerEditor.extend({
@discourseComputed
allowedFileTypes() {
return this.siteSettings.authorized_extensions.split('|')
.map(ext => "." + ext)
.join(',')
return this.siteSettings.authorized_extensions
.split("|")
.map((ext) => "." + ext)
.join(",");
},
@discourseComputed('currentUser')
@discourseComputed("currentUser")
uploadIcon(currentUser) {
return uploadIcon(false, this.siteSettings);
},
@ -88,6 +92,8 @@ export default ComposerEditor.extend({
_bindUploadTarget() {
this._super(...arguments);
const $element = $(this.element);
// adding dropZone property post initialization
$element.fileupload("option", "dropZone", $element);
$element.off("fileuploadsubmit");
@ -170,7 +176,7 @@ export default ComposerEditor.extend({
this.appEvents.trigger("wizard-editor:insert-text", {
fieldId: this.field.id,
text: this.uploadPlaceholder
text: this.uploadPlaceholder,
});
if (data.xhr && data.originalFiles.length === 1) {
@ -191,13 +197,11 @@ export default ComposerEditor.extend({
);
cacheShortUploadUrl(upload.short_url, upload);
this.appEvents.trigger(
"wizard-editor:replace-text", {
this.appEvents.trigger("wizard-editor:replace-text", {
fieldId: this.field.id,
oldVal: this.uploadPlaceholder.trim(),
newVal: markdown
}
);
newVal: markdown,
});
this._resetUpload(false);
} else {
this._resetUpload(true);
@ -218,13 +222,11 @@ export default ComposerEditor.extend({
});
}
if (removePlaceholder) {
this.appEvents.trigger(
"wizard-editor:replace-text", {
this.appEvents.trigger("wizard-editor:replace-text", {
fieldId: this.field.id,
oldVal: this.uploadPlaceholder,
newVal: ""
}
);
newVal: "",
});
}
this._resetUploadFilenamePlaceholder();
});
@ -249,18 +251,15 @@ export default ComposerEditor.extend({
`![$1|$2, ${scale}%$4]($5)`
);
this.appEvents.trigger(
"wizard-editor:replace-text",
{
this.appEvents.trigger("wizard-editor:replace-text", {
fieldId: this.field.id,
oldVal: matchingPlaceholder[index],
newVal: replacement,
options: {
regex: imageScaleRegex,
index
}
}
);
index,
},
});
}
}
@ -270,8 +269,8 @@ export default ComposerEditor.extend({
},
click(e) {
if ($(e.target).hasClass('wizard-composer-hyperlink')) {
this.set('showHyperlinkBox', false);
if ($(e.target).hasClass("wizard-composer-hyperlink")) {
this.set("showHyperlinkBox", false);
}
},
@ -308,7 +307,7 @@ export default ComposerEditor.extend({
let link = `[${linkName}](${linkUrl})`;
this.appEvents.trigger("wizard-editor:insert-text", {
fieldId: this.field.id,
text: link
text: link,
});
this.set("showHyperlinkBox", false);
},
@ -319,6 +318,6 @@ export default ComposerEditor.extend({
showUploadModal() {
$(this.element.querySelector(".wizard-composer-upload")).trigger("click");
}
},
},
});