47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
import ModalFunctionality from "discourse/mixins/modal-functionality";
|
|
|
|
export default Ember.Controller.extend(ModalFunctionality, {
|
|
linkUrl: "",
|
|
linkText: "",
|
|
|
|
onShow() {
|
|
Ember.run.next(() =>
|
|
$(this)
|
|
.find("input.link-url")
|
|
.focus()
|
|
);
|
|
},
|
|
|
|
actions: {
|
|
ok() {
|
|
const origLink = this.linkUrl;
|
|
const linkUrl =
|
|
origLink.indexOf("://") === -1 ? `http://${origLink}` : origLink;
|
|
const sel = this._lastSel;
|
|
|
|
if (Ember.isEmpty(linkUrl)) {
|
|
return;
|
|
}
|
|
|
|
const linkText = this.linkText || "";
|
|
|
|
if (linkText.length) {
|
|
this.toolbarEvent.addText(`[${linkText}](${linkUrl})`);
|
|
} else {
|
|
if (sel.value) {
|
|
this.toolbarEvent.addText(`[${sel.value}](${linkUrl})`);
|
|
} else {
|
|
this.toolbarEvent.addText(`[${origLink}](${linkUrl})`);
|
|
this.toolbarEvent.selectText(sel.start + 1, origLink.length);
|
|
}
|
|
}
|
|
this.set("linkUrl", "");
|
|
this.set("linkText", "");
|
|
this.send("closeModal");
|
|
},
|
|
cancel() {
|
|
this.send("closeModal");
|
|
}
|
|
}
|
|
});
|