Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-26 02:50:28 +01:00
Merge pull request #59 from paviliondev/composer-drop
FIX: confine the wizard composer's dropZone
Dieser Commit ist enthalten in:
Commit
26b3797159
1 geänderte Dateien mit 61 neuen und 62 gelöschten Zeilen
|
@ -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", {
|
||||
fieldId: this.field.id,
|
||||
oldVal: this.uploadPlaceholder.trim(),
|
||||
newVal: markdown
|
||||
}
|
||||
);
|
||||
this.appEvents.trigger("wizard-editor:replace-text", {
|
||||
fieldId: this.field.id,
|
||||
oldVal: this.uploadPlaceholder.trim(),
|
||||
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", {
|
||||
fieldId: this.field.id,
|
||||
oldVal: this.uploadPlaceholder,
|
||||
newVal: ""
|
||||
}
|
||||
);
|
||||
this.appEvents.trigger("wizard-editor:replace-text", {
|
||||
fieldId: this.field.id,
|
||||
oldVal: this.uploadPlaceholder,
|
||||
newVal: "",
|
||||
});
|
||||
}
|
||||
this._resetUploadFilenamePlaceholder();
|
||||
});
|
||||
|
@ -249,18 +251,15 @@ export default ComposerEditor.extend({
|
|||
`![$1|$2, ${scale}%$4]($5)`
|
||||
);
|
||||
|
||||
this.appEvents.trigger(
|
||||
"wizard-editor:replace-text",
|
||||
{
|
||||
fieldId: this.field.id,
|
||||
oldVal: matchingPlaceholder[index],
|
||||
newVal: replacement,
|
||||
options: {
|
||||
regex: imageScaleRegex,
|
||||
index
|
||||
}
|
||||
}
|
||||
);
|
||||
this.appEvents.trigger("wizard-editor:replace-text", {
|
||||
fieldId: this.field.id,
|
||||
oldVal: matchingPlaceholder[index],
|
||||
newVal: replacement,
|
||||
options: {
|
||||
regex: imageScaleRegex,
|
||||
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");
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
Laden …
In neuem Issue referenzieren