this._displaySearchResults(module, rpcRequest);
break;
- case "add":
case "modify":
+ this._displayModifyResults(module, rpcRequest);
+ break;
+
+ case "add":
+ this._displayAddResults(module, rpcRequest);
+ break;
+
case "delete":
- this._displayCommitResults(module, rpcRequest, requestType);
+ this._displayDeleteResults(module, rpcRequest);
break;
case "tree_open":
qx.Proto._confirmDeleteRecord = function()
{
- //this._newb.setEnabled(false);
- //this._modb.setEnabled(false);
- //this._delb.setEnabled(false);
this._ldbmod.showConfirmDelete();
};
-qx.Proto._displayCommitResults = function(module, rpcRequest, type)
+qx.Proto._displayModifyResults = function(module, rpcRequest)
{
- var result = rpcRequest.getUserData("result");
+ var tree = module.fsm.getObject("tree");
+ tree.createDispatchDataEvent("changeSelection", tree.getSelectedNodes());
- switch (type) {
- case "add":
- alert("Object successfully added!");
- break;
+ alert("Object successfully modified!");
- case "modify":
- alert("Object successfully modified!");
- break;
+ this._switchToNormal();
+ //this._ldbmod.postCleanUp();
+}
- case "delete":
- alert("Object Successfully deleted!");
- break;
- }
+qx.Proto._displayAddResults = function(module, rpcRequest)
+{
+ var result = rpcRequest.getUserData("result");
+
+ var tree = module.fsm.getObject("tree");
+ var node = tree.getSelectedNodes()[0];
+
+ tree.getDataModel().prune(node.nodeId, false);
+ node.bOpened = false;
+ tree.toggleOpened(node);
+
+ alert("Object successfully added!");
this._switchToNormal();
+ //this._ldbmod.postCleanUp();
+};
- //TODO: reload tree after add or delete
+qx.Proto._displayDeleteResults = function(module, rpcRequest, type)
+{
+ var result = rpcRequest.getUserData("result");
+
+ var tree = module.fsm.getObject("tree");
+ var node = tree.getDataModel().getData()[tree.getSelectedNodes()[0].parentNodeId];
+
+ tree.getDataModel().prune(node.nodeId, false);
+ node.bOpened = false;
+ tree.toggleOpened(node);
+ alert("Object Successfully deleted!");
+
+ this._ldbmod.setBase("");
};
qx.Proto._displaySearchResults = function(module, rpcRequest)
var parentNode = rpcRequest.getUserData("parentNode");
var attributes = rpcRequest.getUserData("attributes");
+ // Remove any existing children, they will be replaced by the result of this call (refresh)
+ dataModel.setData();
+
// Any children?
if (! result || result["length"] == 0)
{
// Nope. Remove parent's expand/contract button.
dataModel.setState(parentNode.nodeId, { bHideOpenClose : true });
- dataModel.setData();
return;
}
if (this._active) {
if (this._type == "add") {
- this._basedn.setValue(this.basedn);
- this._basedn.setWidth(8 * this.basedn.length);
+ this._basedn.setHtml(this.basedn);
}
}
}
this._setExitCallback(callback, obj);
+ if (this.basedn == "") {
+ alert("Please select the parent node in the tree first!");
+ this._callExitCallback();
+ return;
+ }
+
this._active = true;
this._type = "add";
// The basedn of the object
// TODO: add validator
- this._basedn = new qx.ui.form.TextField(this.basedn);
- this._basedn.setWidth(8 * this.basedn.length);
+ this._basedn = new qx.ui.basic.Label(this.basedn);
hlayout.add(dnlabel, this._rdn, dnsep, this._basedn);
this._mainArea.removeAll();
this._active = false;
this._type = "null";
- return;
}
-qx.Proto._cancelOp = function() {
-
+qx.Proto.postCleanUp = function() {
this._reset();
- this._callExitCallback();
}
-qx.Proto._okOp = function() {
+qx.Proto._cancelOp = function() {
- //TODO: disable ok/cancel buttons and call fsm instead
this._reset();
this._callExitCallback();
}
case "add":
- var ldif = "dn: " + this._rdn.getValue() + "," + this._basedn.getValue() + "\n";
+ var ldif = "dn: " + this._rdn.getValue() + "," + this.basedn + "\n";
for (var i = 0; i < c.length; i++) {
if (c[i] instanceof qx.ui.layout.HorizontalBoxLayout) {