Author: lgiessmann Date: Thu Jun 25 08:58:36 2009 New Revision: 67
Log: ajax-client: fixed a bug by committing edited fragments - so finally there are used the "real" instanceOf-elements and not the topic itself!
Modified: trunk/src/ajax/javascripts/create.js trunk/src/ajax/javascripts/datamodel.js trunk/src/json/json_tmcl_validation.lisp
Modified: trunk/src/ajax/javascripts/create.js ============================================================================== --- trunk/src/ajax/javascripts/create.js (original) +++ trunk/src/ajax/javascripts/create.js Thu Jun 25 08:58:36 2009 @@ -70,6 +70,10 @@ for(var i = 0; psis && i !== psis.length; ++i){ instanceOfs.push(new Array(psis[i])); } + if(contents) { + if(topicContent) instanceOfs = topicContent.instanceOfs; + else instanceOfs = new Array(); + } var topic = new TopicC(topicContent, (constraints ? constraints.topicConstraints : null), instanceOfs); var liT = new Element("li", {"class" : CLASSES.topicFrame()}).update(topic.getFrame()); context.insert({"after" : liT});
Modified: trunk/src/ajax/javascripts/datamodel.js ============================================================================== --- trunk/src/ajax/javascripts/datamodel.js (original) +++ trunk/src/ajax/javascripts/datamodel.js Thu Jun 25 08:58:36 2009 @@ -3465,7 +3465,8 @@ var types = makeTypes(this, typeContent, constraints); // --- scopes - this.__scope__ = new ScopeContainerC(scopesContent, this.__constraints__ && this.__constraints__[0].scopeConstraints ? this.__constraints__[0].scopeConstraints : null); + var currentConstraint = this.getCurrentConstraint(); + this.__scope__ = new ScopeContainerC(scopesContent, currentConstraint && currentConstraint.scopeConstraints ? currentConstraint.scopeConstraints : null); this.__table__.insert({"bottom" : newRow(CLASSES.scopeContainer(), "Scope", this.__scope__.getFrame())});
// --- roles @@ -3532,7 +3533,29 @@ ","scopes":" + this.__scope__.toJSON() + ","roles":" + this.__roles__.toJSON() + "}"; }, + "getCurrentConstraint" : function(){ + if(!this.__constraints__ || this.__constraints__.length === 0) return null; + var currentConstraint = null; + for(var i = 0; i !== this.__constraints__.length; ++i){ + var aType = this.__constraints__[i].associationType; + aType = aType.flatten(); + if(aType.indexOf(this.__type__.__frames__[0].getContent()) !== -1){ + currentConstraint = this.__constraints__[i]; + break; + } + } + + return currentConstraint; + }, "isValid" : function(){ + if(!this.getCurrentConstraint()){ + this.showError("No constraints found for this association!"); + return false; + } + else { + this.hideError(); + } + return this.__roles__.isValid() && this.__scope__.isValid(); }, "disable" : function(){
Modified: trunk/src/json/json_tmcl_validation.lisp ============================================================================== --- trunk/src/json/json_tmcl_validation.lisp (original) +++ trunk/src/json/json_tmcl_validation.lisp Thu Jun 25 08:58:36 2009 @@ -121,7 +121,7 @@ (not akos-are-topictype) topictype-constraint) ;(return-from topictype-p nil)) - (error "~a is not a valid type for ~a" (uri (first (psis topic-instance))) (uri (first (psis topictype))))) + (error "~a is not a valid -- type for ~a" (uri (first (psis topic-instance))) (uri (first (psis topictype))))) (loop for isa-of-this in isas-of-this when (and (not (find isa-of-this current-checked-topics :test #'eq))