blob: 0651268558b6c4c4913a28ac0f55f227d1894143 [file] [log] [blame]
/**
* Settings that each Autocomplete will be initialized on, depending on the trigger character used to activate the
* autocomplete.
*/
AJS.toInit(function ($) {
AJS.log("tinyMce-autocomplete-settings-links initialising");
var autoComplete = tinymce.confluence.Autocompleter,
getUrl = function(val) {
var suggestionUrl = AJS.params.remoteUser ? "http://10.20.160.198/rest/prototype/1/session/history.json" : null;
return AJS.params.contextPath + (val ? "http://10.20.160.198/rest/prototype/1/search.json": suggestionUrl);
},
getParams = function(autoCompleteControl, val) {
var params = {
"max-results": autoCompleteControl.maxResults
};
if (val) {
params.query = val;
params.search = "name";
}
return params;
};
// Link settings.
tinymce.confluence.Autocompleter.Settings["["] = {
ch : "[",
endChars : ["]"],
dropDownClassName: "autocomplete-links",
getHeaderText : function (autoCompleteControl, value) {
return "Link suggestions";
},
getAdditionalLinks : function (autoCompleteControl, value) {
var searchPrompt;
if (value) {
var message = "Search for ‘{0}’";
searchPrompt = AJS.format(message, value);
} else {
searchPrompt = "Search";
}
return [
{
className: "search-for",
name: searchPrompt,
href: "#",
callback : function (autoCompleteControl) {
autoCompleteControl.replaceWithSelectedSearchText();
AJS.Editor.LinkBrowser.open({
gwtOpener: AJS.Editor.LinkBrowser.openAndSearch
});
}
},
{
className: "dropdown-insert-link",
html: autoComplete.Util.dropdownLink("Insert Web Link", "dropdown-prevent-highlight", "editor-icon"),
callback: function (autoCompleteControl) {
autoCompleteControl.replaceWithSelectedSearchText();
AJS.Editor.LinkBrowser.open({
panelId: AJS.Editor.LinkBrowser.WEBLINK_PANEL_ID
});
}
}
];
},
getDataAndRunCallback : function(autoCompleteControl, val, callback) {
tinymce.confluence.Autocompleter.Util.getRestData(autoCompleteControl, getUrl, getParams, val, callback, "content");
},
update : function(autoCompleteControl, data) {
var linkDetails = AJS.REST.wikiLink(data.restObj);
AJS.Editor.Adapter.insertLink(linkDetails);
}
}
});