- var listener = function(){
- this.setGuiMode(this.initialState);
- };
- this.saveButton.addListener("execute", listener, this);
- this.cancelButton.addListener("execute", listener, this);
+ this.saveButton.addListener("execute", function(){
+ if(!this.usersAppletReference){
+ this.setGuiMode(this.initialState);
+ return;
+ }
+ var newSelection = this.usersAppletReference.getViewSelection().getNodes();
+ var diff = this._selectionDiff(this.getChooserOriginalSelection(), newSelection);
+ this.saveRoleModifications(diff.deltaPlus, diff.deltaMinus);
+ this.setGuiMode(this.initialState);
+ }, this);
+ this.cancelButton.addListener("execute", function(){
+ if(!this.getChooserSelectionModified()){
+ this.setGuiMode(this.initialState);
+ return;
+ }
+ var modal = new org.argeo.ria.components.Modal("Warning");
+ modal.addConfirm("There are unsaved changes!\n Are you sure you want to close?");
+ modal.addListener("ok", function(){
+ this.setGuiMode(this.initialState);
+ }, this);
+ modal.attachAndShow();
+ }, this);