Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/webroot/rsrc/js/application/diffusion/ExternalEditorLinkEngine.js
12241 views
1
/**
2
* @provides javelin-external-editor-link-engine
3
* @requires javelin-install
4
* @javelin
5
*/
6
7
JX.install('ExternalEditorLinkEngine', {
8
9
properties: {
10
template: null,
11
variables: null
12
},
13
14
members: {
15
newURI: function() {
16
var template = this.getTemplate();
17
var variables = this.getVariables();
18
19
var parts = [];
20
for (var ii = 0; ii < template.length; ii++) {
21
var part = template[ii];
22
var value = part.value;
23
24
if (part.type === 'literal') {
25
parts.push(value);
26
continue;
27
}
28
29
if (part.type === 'variable') {
30
if (variables.hasOwnProperty(value)) {
31
var replacement = variables[value];
32
replacement = encodeURIComponent(replacement);
33
parts.push(replacement);
34
}
35
}
36
}
37
38
return parts.join('');
39
}
40
}
41
});
42
43