mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-18 09:11:26 -05:00
85 lines
2.3 KiB
JavaScript
85 lines
2.3 KiB
JavaScript
|
!function(window) {
|
||
|
|
||
|
window.Groove = {
|
||
|
|
||
|
init: function(options) {
|
||
|
this._options = options;
|
||
|
if (typeof grooveOnReady != 'undefined') {grooveOnReady();}
|
||
|
},
|
||
|
|
||
|
createTicket: function(params, callback) {
|
||
|
var postData = serialize({
|
||
|
"ticket[enduser_name]": params["name"],
|
||
|
"ticket[enduser_email]": params["email"],
|
||
|
"ticket[title]": params["subject"],
|
||
|
"ticket[enduser_about]": params["about"],
|
||
|
"ticket[label_string]": params["labels"],
|
||
|
"ticket[comments_attributes][0][body]": params["message"]
|
||
|
});
|
||
|
|
||
|
sendRequest(this._options.widget_ticket_url, function(req) {
|
||
|
if (callback) {callback(req);}
|
||
|
}, postData);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
// http://www.quirksmode.org/js/xmlhttp.html
|
||
|
function sendRequest(url, callback, postData) {
|
||
|
var req = createXMLHTTPObject();
|
||
|
if (!req) return;
|
||
|
var method = (postData) ? "POST" : "GET";
|
||
|
req.open(method, url, true);
|
||
|
if (postData){
|
||
|
try {
|
||
|
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
|
||
|
}
|
||
|
catch(e) {
|
||
|
req.contentType = 'application/x-www-form-urlencoded';
|
||
|
};
|
||
|
};
|
||
|
req.onreadystatechange = function () {
|
||
|
if (req.readyState != 4) return;
|
||
|
callback(req);
|
||
|
}
|
||
|
if (req.readyState == 4) return;
|
||
|
req.send(postData);
|
||
|
}
|
||
|
|
||
|
var XMLHttpFactories = [
|
||
|
function () {return new XDomainRequest()},
|
||
|
function () {return new XMLHttpRequest()},
|
||
|
function () {return new ActiveXObject("Msxml2.XMLHTTP")},
|
||
|
function () {return new ActiveXObject("Msxml3.XMLHTTP")},
|
||
|
function () {return new ActiveXObject("Microsoft.XMLHTTP")}
|
||
|
];
|
||
|
|
||
|
function createXMLHTTPObject() {
|
||
|
var xmlhttp = false;
|
||
|
for (var i = 0; i < XMLHttpFactories.length; i++) {
|
||
|
try {
|
||
|
xmlhttp = XMLHttpFactories[i]();
|
||
|
}
|
||
|
catch (e) {
|
||
|
continue;
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
return xmlhttp;
|
||
|
}
|
||
|
|
||
|
function serialize(obj) {
|
||
|
var str = [];
|
||
|
for(var p in obj) {
|
||
|
if (obj[p]) {
|
||
|
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
|
||
|
}
|
||
|
}
|
||
|
return str.join("&");
|
||
|
}
|
||
|
|
||
|
if (typeof grooveOnLoad != 'undefined') {grooveOnLoad();}
|
||
|
}(window);
|
||
|
|
||
|
Groove.init({"widget_ticket_url":"https://sharelatex-accounts.groovehq.com/widgets/f5ad3b09-7d99-431b-8af5-c5725e3760ce/ticket.json"});
|
||
|
|