This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/controllers/insert-hyperlink.js.es6
2019-10-08 16:19:07 -04:00

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");
}
}
});