You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/10/18 23:23:44 UTC
[sling-org-apache-sling-resource-editor] 28/50: fixed SLING-4559
Resource Editor :: add node dialog :: use the entered but not yet selected
values of the node name and the resource type
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resource-editor.git
commit fe6f0e0deee0359edb95df3a28b14ad40ed1e5b2
Author: Sandro Boehme <sb...@apache.org>
AuthorDate: Wed Apr 1 12:28:37 2015 +0000
fixed SLING-4559 Resource Editor :: add node dialog :: use the entered but not yet selected values of the node name and the resource type
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1670624 13f79535-47bb-0310-9956-ffa450edef68
---
.../js/tree/AddNodeController.js | 28 ++++++++++++++++++----
src/test/javascript/e2e/spec/e2e_spec.js | 5 +++-
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/SLING-INF/libs/sling/resource-editor-static-content/js/tree/AddNodeController.js b/src/main/resources/SLING-INF/libs/sling/resource-editor-static-content/js/tree/AddNodeController.js
index 4aabe8e..e3f510e 100644
--- a/src/main/resources/SLING-INF/libs/sling/resource-editor-static-content/js/tree/AddNodeController.js
+++ b/src/main/resources/SLING-INF/libs/sling/resource-editor-static-content/js/tree/AddNodeController.js
@@ -38,6 +38,8 @@ org.apache.sling.reseditor.AddNodeController = (function() {
this.showAllNodeTypes = false;
this.nodeTypeObjects = [];
this.nodeType="";
+ this.latestEnteredNodeName="";
+ this.latestEnteredResType="";
var thatAddNodeController = this;
$(document).ready(function() {
@@ -63,7 +65,7 @@ org.apache.sling.reseditor.AddNodeController = (function() {
$("body").on('keydown', function (e) {
// see http://www.javascripter.net/faq/keycodes.htm
var aKey = 65;
- if (e.ctrlKey && aKey==e.which) {
+ if (e.ctrlKey && aKey==e.which) { /*ctrl-a*/
if (thatAddNodeController.dialogShown){
thatAddNodeController.addNode();
}
@@ -74,10 +76,9 @@ org.apache.sling.reseditor.AddNodeController = (function() {
AddNodeController.prototype.addNode = function() {
var thatAddNodeController = this;
- var nodeName = $("#nodeName").val().trim();
+ var nodeName = this.latestEnteredNodeName.trim();
var nodeType = $("#nodeType").val();
- var resourceTypeData = $("#resourceType").select2('data');
- var resourceType = resourceTypeData != null ? resourceTypeData.text.trim() : "";
+ var resourceType = (this.latestEnteredResType != null && this.latestEnteredResType != "") ? this.latestEnteredResType.trim() : "";
var data = {"_charset_": "utf-8"};
if ("" != nodeType){
@@ -204,12 +205,20 @@ org.apache.sling.reseditor.AddNodeController = (function() {
$("#nodeName").select2({
placeholder: "Enter or select a node name",
allowClear: true,
+ selectOnBlur: true,
data: nodeNameObjects,
createSearchChoice: function(searchTerm){
return {id:searchTerm, text:searchTerm};
}
});
-
+ $("#nodeName").on("select2-highlight", function(e) {
+ /* In Select2 there is currently no way of getting
+ * the highlighted (newly entered but not yet selected) text.
+ * But there is this event. Thats why I use this one.
+ */
+ thatAddNodeController.latestEnteredNodeName=e.val;
+ })
+
var nodeNameList = Object.keys(appliCnTypesByNodeName);
nodeNameList.sort();
thatAddNodeController.nodeTypeObjects = getNodeTypesByDependenyState.call(thatAddNodeController, nodeNameList, appliCnTypesByNodeName, thatAddNodeController.nodeTypeObjects);
@@ -234,6 +243,7 @@ org.apache.sling.reseditor.AddNodeController = (function() {
$("#nodeType").select2({
placeholder: "Select a node type",
allowClear: true,
+ selectOnBlur: true,
data: function() {
return { results: thatAddNodeController.nodeTypeObjects } ; // Use the global variable to populate the list
}
@@ -257,11 +267,19 @@ org.apache.sling.reseditor.AddNodeController = (function() {
var select2 = $("#resourceType").select2({
placeholder: "Enter or select a resource type",
allowClear: true,
+ selectOnBlur: true,
data: data,
createSearchChoice: function(searchTerm){
return {id:searchTerm, text:searchTerm};
}
}).data("select2");
+ $("#resourceType").on("select2-highlight", function(e) {
+ /* In Select2 there is currently no way of getting
+ * the highlighted (newly entered but not yet selected) text.
+ * But there is this event. Thats why I use this one.
+ */
+ thatAddNodeController.latestEnteredResType=e.val;
+ })
});
}
diff --git a/src/test/javascript/e2e/spec/e2e_spec.js b/src/test/javascript/e2e/spec/e2e_spec.js
index 87eafda..12b1408 100644
--- a/src/test/javascript/e2e/spec/e2e_spec.js
+++ b/src/test/javascript/e2e/spec/e2e_spec.js
@@ -3,9 +3,12 @@
var assert = require('assert');
describe('The Apache Sling Resource Editor', function() {
+ browser = browser.url('http://localhost:8080/reseditor/.html');
+ // Find a way to specify the host and the port via grunt. See
+ // http://stackoverflow.com/questions/29370075/how-to-pass-parameters-from-the-gruntfile-js-to-the-webdriverio-spec
+
it('should have a title', function(done) {
browser
- .url('http://localhost:8080/reseditor/.html')
.getTitle(function(err,title) {
assert(title.indexOf('Apache Sling Resource Editor') !== -1);
})
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.