function addNewObject (e) {
      var predicateTd = UI.utils.getTarget(e).parentNode.parentNode
      // var predicateTerm = UI.utils.getAbout(kb, predicateTd)
      var isInverse = predicateTd.parentNode.AJAR_inverse
        // var titleTerm=UI.utils.getAbout(kb,UI.utils.ancestor(predicateTd.parentNode,'TD'));
        // set pseudo lastModifiedStat here
      this.lastModifiedStat = predicateTd.parentNode.AJAR_statement

      var insertTr = this.appendToPredicate(predicateTd)
      var reqTerm = this.generateRequest(' (Error) ', insertTr, false)
      let preStat = insertTr.previousSibling.AJAR_statement
      if (!isInverse) { this.formUndetStat(insertTr, preStat.subject, preStat.predicate, reqTerm, preStat.why, false) } else { this.formUndetStat(insertTr, reqTerm, preStat.predicate, preStat.object, preStat.why, true) }

      outline.walk('moveTo', insertTr.lastChild)
      this.startFillInText(insertTr.lastChild)
        // this.statIsInverse=false;
    }
function addNewObject (e) {
      var predicateTd = UI.utils.getTarget(e).parentNode.parentNode
      
      var isInverse = predicateTd.parentNode.AJAR_inverse
        
        
      this.lastModifiedStat = predicateTd.parentNode.AJAR_statement

      var insertTr = this.appendToPredicate(predicateTd)
      var reqTerm = this.generateRequest(' (Error) ', insertTr, false)
      let preStat = insertTr.previousSibling.AJAR_statement
      if (!isInverse) { this.formUndetStat(insertTr, preStat.subject, preStat.predicate, reqTerm, preStat.why, false) } else { this.formUndetStat(insertTr, reqTerm, preStat.predicate, preStat.object, preStat.why, true) }

      outline.walk('moveTo', insertTr.lastChild)
      this.startFillInText(insertTr.lastChild)
        
    }
function addNewObject ( e ) { var predicateTd = UI . utils . getTarget ( e ) . parentNode . parentNode // var predicateTerm = UI.utils.getAbout(kb, predicateTd) var isInverse = predicateTd . parentNode . AJAR_inverse // var titleTerm=UI.utils.getAbout(kb,UI.utils.ancestor(predicateTd.parentNode,'TD')); // set pseudo lastModifiedStat here this . lastModifiedStat = predicateTd . parentNode . AJAR_statement var insertTr = this . appendToPredicate ( predicateTd ) var reqTerm = this . generateRequest ( ' (Error) ' , insertTr , false ) let preStat = insertTr . previousSibling . AJAR_statement if ( ! isInverse ) { this . formUndetStat ( insertTr , preStat . subject , preStat . predicate , reqTerm , preStat . why , false ) } else { this . formUndetStat ( insertTr , reqTerm , preStat . predicate , preStat . object , preStat . why , true ) } outline . walk ( 'moveTo' , insertTr . lastChild ) this . startFillInText ( insertTr . lastChild ) // this.statIsInverse=false; }
Called when a blue cross on a predicate is clicked tr.AJAR_inverse stores whether the clicked predicate is an inverse one tr.AJAR_statement (an incomplete statement in TempFormula) stores the destination(why), now determined by the preceding one (is this good?)
Called when a blue cross on a predicate is clicked tr . AJAR_inverse stores whether the clicked predicate is an inverse one tr . AJAR_statement ( an incomplete statement in TempFormula ) stores the destination ( why ) now determined by the preceding one ( is this good? )