in src/main/resources/SLING-INF/libs/sling/resource-editor/static/js/tree/AddNodeController.js [77:121]
AddNodeController.prototype.addNode = function() {
var thatAddNodeController = this;
var dialogSubmitable = this.resourceTypeSubmitable && this.nodeNameSubmitable;
if (dialogSubmitable) {
var nodeName = $("#nodeName").select2("val");
var nodeType = $("#nodeType").select2("val");
var resourceType = $("#newResourceType").select2("val");
var data = {"_charset_": "utf-8"};
if ("" != nodeType){
data["jcr:primaryType"] = nodeType;
}
var canAddResourceType = nodeType == "" ? true : this.mainController.ntManager.getNodeType(nodeType).canAddProperty("sling:resourceType", "String");
if ("" != resourceType && canAddResourceType){
data["sling:resourceType"] = resourceType;
}
var targetURL = (this.lastAddNodeURL=="/") ? "/" : this.lastAddNodeURL+"/";
targetURL = this.mainController.decodeFromHTML(targetURL);
if ("" != nodeName) {
targetURL += nodeName;
}
if (targetURL=="/"){
//adding a node without a specified name to the root node
targetURL = "/*";
}
var encodedTargetURL = this.mainController.encodeURL(targetURL);
$.ajax({
type: 'POST',
url: encodedTargetURL,
dataType: "json",
data: data
})
.done(function() {
$('#addNodeDialog').modal("hide");
var htmlDecodedLastAddNodeURL = thatAddNodeController.mainController.decodeFromHTML(thatAddNodeController.lastAddNodeURL);
thatAddNodeController.mainController.redirectTo(htmlDecodedLastAddNodeURL);
})
.fail(function(errorJson) {
$('#addNodeDialog').modal("hide");
thatAddNodeController.mainController.displayAlert(errorJson);
});
}
}