mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Model needs to update the parent collection object, that - it has been
modified, and please do the needful. This allows us to track down the nested objects within the nested objects.
This commit is contained in:
@@ -345,6 +345,9 @@ function(_, pgAdmin, $, Backbone) {
|
||||
self.trigger('pgadmin-session:stop', self);
|
||||
self.off('pgadmin-session:model:invalid', self.onChildInvalid);
|
||||
self.off('pgadmin-session:model:valid', self.onChildValid);
|
||||
self.off('pgadmin-session:changed', self.onChildChanged);
|
||||
self.off('pgadmin-session:added', self.onChildChanged);
|
||||
self.off('pgadmin-session:removed', self.onChildChanged);
|
||||
}
|
||||
|
||||
self.trackChanges = true;
|
||||
@@ -373,7 +376,9 @@ function(_, pgAdmin, $, Backbone) {
|
||||
// Let me listen to the my child invalid/valid messages
|
||||
self.on('pgadmin-session:model:invalid', self.onChildInvalid);
|
||||
self.on('pgadmin-session:model:valid', self.onChildValid);
|
||||
|
||||
self.on('pgadmin-session:changed', self.onChildChanged);
|
||||
self.on('pgadmin-session:added', self.onChildChanged);
|
||||
self.on('pgadmin-session:removed', self.onChildChanged);
|
||||
},
|
||||
onChildInvalid: function(msg, obj) {
|
||||
var self = this;
|
||||
@@ -476,16 +481,61 @@ function(_, pgAdmin, $, Backbone) {
|
||||
'pgadmin-session:valid', self.sessChanged(), self
|
||||
);
|
||||
}
|
||||
} else {
|
||||
var msg = _.values(self.errofModel.attributes)[0];
|
||||
|
||||
if (self.handler) {
|
||||
(self.handler).trigger(
|
||||
'pgadmin-session:model:invalid', msg, self
|
||||
);
|
||||
} else {
|
||||
self.trigger('pgadmin-session:invalid', msg, self);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
* We will trigger validation information
|
||||
*/
|
||||
if (_.size(self.errorModel.attributes) == 0) {
|
||||
if (self.handler) {
|
||||
(self.handler).trigger('pgadmin-session:model:valid', self);
|
||||
} else {
|
||||
self.trigger(
|
||||
'pgadmin-session:valid', self.sessChanged(), self
|
||||
);
|
||||
}
|
||||
} else {
|
||||
var msg = _.values(self.errofModel.attributes)[0];
|
||||
|
||||
if (self.handler) {
|
||||
(self.handler).trigger(
|
||||
'pgadmin-session:model:invalid', msg, self
|
||||
);
|
||||
} else {
|
||||
self.trigger('pgadmin-session:invalid', msg, self);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onChildChanged: function(obj) {
|
||||
var self = this;
|
||||
|
||||
if (self.trackChanges && self.collection) {
|
||||
(self.collection).trigger('change', self);
|
||||
}
|
||||
},
|
||||
|
||||
stopSession: function() {
|
||||
var self = this;
|
||||
|
||||
if (self.trackChanges) {
|
||||
self.off('pgadmin-session:model:invalid', self.onChildInvalid);
|
||||
self.off('pgadmin-session:model:valid', self.onChildValid);
|
||||
self.off('pgadmin-session:changed', self.onChildChanged);
|
||||
self.off('pgadmin-session:added', self.onChildChanged);
|
||||
self.off('pgadmin-session:removed', self.onChildChanged);
|
||||
}
|
||||
|
||||
self.trackChanges = false;
|
||||
@@ -593,11 +643,13 @@ function(_, pgAdmin, $, Backbone) {
|
||||
// Do not add the existing invalid object
|
||||
if (self.objFindInSession(m, 'invalid') == -1) {
|
||||
self.sessAttrs['invalid'].push(m);
|
||||
}
|
||||
|
||||
// Inform the parent that - I am an invalid object.
|
||||
if (self.handler) {
|
||||
(self.handler).trigger('pgadmin-session:model:invalid', msg, self);
|
||||
}
|
||||
// Inform the parent that - I am an invalid object.
|
||||
if (self.handler) {
|
||||
(self.handler).trigger('pgadmin-session:model:invalid', msg, self);
|
||||
} else {
|
||||
self.trigger('pgadmin-session:invalid', msg, self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -612,13 +664,13 @@ function(_, pgAdmin, $, Backbone) {
|
||||
var idx = self.objFindInSession(m, 'invalid');
|
||||
if (idx != -1) {
|
||||
self.sessAttrs['invalid'].splice(m, 1);
|
||||
}
|
||||
|
||||
// Inform the parent that - I am the valid object.
|
||||
if (self.handler) {
|
||||
(self.handler).trigger('pgadmin-session:model:valid', self);
|
||||
} else {
|
||||
self.trigger('pgadmin-session:valid', self.sessChanged(), self);
|
||||
}
|
||||
// Inform the parent that - I am the valid object.
|
||||
if (self.handler) {
|
||||
(self.handler).trigger('pgadmin-session:model:valid', self);
|
||||
} else {
|
||||
self.trigger('pgadmin-session:valid', self.sessChanged(), self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -828,6 +880,12 @@ function(_, pgAdmin, $, Backbone) {
|
||||
} else {
|
||||
self.trigger('pgadmin-session:valid', true, self);
|
||||
}
|
||||
} else {
|
||||
if (self.handler) {
|
||||
self.handler.trigger('pgadmin-session:model:invalid', self);
|
||||
} else {
|
||||
self.trigger('pgadmin-session:invalid', true, self);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user