function(){
      _a(oj.isDOM(this.el), this.typeName, 'constructor did not set this.el')

      // Set instance on @el
      _setInstanceOnElement(this.el, this)

      var u = oj.unionArguments(arguments),
        options = u.options,
        args = u.args

      // Emit as a tag if it isn't quiet or used new keyword
      if (this.__autonew__ && !options.__quiet__)
        this.emit()

      // Remove quiet flag as it has served its purpose
      if (options.__quiet__ != null)
        delete options.__quiet__

      // Add class oj-typeName
      this.$el.addClass("oj-" + this.typeName)

      // Views automatically set all options to their properties
      // arguments directly to properties
      this.set(options)

      // Remove options that were set
      options = _clone(options)
      this.properties.forEach(function(v){return delete options[v]})

      // Views pass through remaining options to be attributes on the root element
      // This can include jquery events and interpreted arguments
      this.addAttributes(options)

      // Record if view is fully constructed
      return this._isConstructed = true
    }
function(){
      _a(oj.isDOM(this.el), this.typeName, 'constructor did not set this.el')

      // Set instance on @el
      _setInstanceOnElement(this.el, this)

      var u = oj.unionArguments(arguments),
        options = u.options,
        args = u.args

      // Emit as a tag if it isn't quiet or used new keyword
      if (this.__autonew__ && !options.__quiet__)
        this.emit()

      // Remove quiet flag as it has served its purpose
      if (options.__quiet__ != null)
        delete options.__quiet__

      // Add class oj-typeName
      this.$el.addClass("oj-" + this.typeName)

      // Views automatically set all options to their properties
      // arguments directly to properties
      this.set(options)

      // Remove options that were set
      options = _clone(options)
      this.properties.forEach(function(v){return delete options[v]})

      // Views pass through remaining options to be attributes on the root element
      // This can include jquery events and interpreted arguments
      this.addAttributes(options)

      // Record if view is fully constructed
      return this._isConstructed = true
    }
function ( ) { _a ( oj . isDOM ( this . el ) , this . typeName , 'constructor did not set this.el' ) // Set instance on @el _setInstanceOnElement ( this . el , this ) var u = oj . unionArguments ( arguments ) , options = u . options , args = u . args // Emit as a tag if it isn't quiet or used new keyword if ( this . __autonew__ && ! options . __quiet__ ) this . emit ( ) // Remove quiet flag as it has served its purpose if ( options . __quiet__ != null ) delete options . __quiet__ // Add class oj-typeName this . $el . addClass ( "oj-" + this . typeName ) // Views automatically set all options to their properties // arguments directly to properties this . set ( options ) // Remove options that were set options = _clone ( options ) this . properties . forEach ( function ( v ) { return delete options [ v ] } ) // Views pass through remaining options to be attributes on the root element // This can include jquery events and interpreted arguments this . addAttributes ( options ) // Record if view is fully constructed return this . _isConstructed = true }
Views are special objects map properties together. This is a union of arguments With the remaining arguments becoming a list
Views are special objects map properties together . This is a union of arguments With the remaining arguments becoming a list