diff options
Diffstat (limited to 'javascript/app/components/type-component.js')
| -rw-r--r-- | javascript/app/components/type-component.js | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/javascript/app/components/type-component.js b/javascript/app/components/type-component.js new file mode 100644 index 0000000..c19facc --- /dev/null +++ b/javascript/app/components/type-component.js @@ -0,0 +1,29 @@ +import Ember from 'ember'; +import {goToDefinition} from '../utils/go-to-definition'; + +export default Ember.Component.extend({ +  store : Ember.inject.service('store'), +  tagName : 'span', +  classNames: ["type-component"], +  contextMenu() {//right mouse button click to show kind of a type constructor or type variable +    if(this.get('identifiers') && this.get('internalId')) { +      this.set('expanded',true); +    } +    return false; +  }, +  linkClass : Ember.computed('identifierInfo',function() { +    return this.get('identifierInfo') ? "link" : ""; +  }), +  identifierInfo : Ember.computed('internalId',function() { +    return this.get('internalId') ? this.get('identifiers')[this.get('internalId')] : null; +  }), +  actions : { +    onmouseup (event) { +      if(this.get('identifierInfo') && (event.which !== 3 )) { +        const locationInfo = this.get('identifierInfo').locationInfo; +        goToDefinition(this.get('store'),locationInfo,event.which,this.get('currentLineNumber')); +        return false; +      } +    } +  } +}); | 
