MCPcopy Create free account
hub / github.com/TruthHun/BookStack / factory

Function factory

static/editor.md/plugins/link-dialog/link-dialog.js:14–106  ·  view source on GitHub ↗
(exports)

Source from the content-addressed store, hash-verified

12(function() {
13
14 var factory = function (exports) {
15
16 var pluginName = "link-dialog";
17
18 exports.fn.linkDialog = function() {
19
20 var _this = this;
21 var cm = this.cm;
22 var editor = this.editor;
23 var settings = this.settings;
24 var selection = cm.getSelection();
25 var lang = this.lang;
26 var linkLang = lang.dialog.link;
27 var classPrefix = this.classPrefix;
28 var dialogName = classPrefix + pluginName, dialog;
29
30 cm.focus();
31
32 if (editor.find("." + dialogName).length > 0)
33 {
34 dialog = editor.find("." + dialogName);
35 dialog.find("[data-url]").val("http://");
36 dialog.find("[data-title]").val(selection);
37
38 this.dialogShowMask(dialog);
39 this.dialogLockScreen();
40 dialog.show();
41 }
42 else
43 {
44 var dialogHTML = "<div class=\"" + classPrefix + "form\">" +
45 "<label>" + linkLang.url + "</label>" +
46 "<input type=\"text\" value=\"http://\" data-url />" +
47 "<br/>" +
48 "<label>" + linkLang.urlTitle + "</label>" +
49 "<input type=\"text\" value=\"" + selection + "\" data-title />" +
50 "<br/>" +
51 "</div>";
52
53 dialog = this.createDialog({
54 title : linkLang.title,
55 width : 380,
56 height : 211,
57 content : dialogHTML,
58 mask : settings.dialogShowMask,
59 drag : settings.dialogDraggable,
60 lockScreen : settings.dialogLockScreen,
61 maskStyle : {
62 opacity : settings.dialogMaskOpacity,
63 backgroundColor : settings.dialogMaskBgColor
64 },
65 buttons : {
66 enter : [lang.buttons.enter, function() {
67 var url = this.find("[data-url]").val();
68 var title = this.find("[data-title]").val();
69
70 if (url === "http://" || url === "")
71 {

Callers 1

link-dialog.jsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected