diff --git a/src/demo.js b/src/demo.js index e62a79bc1..162651247 100644 --- a/src/demo.js +++ b/src/demo.js @@ -25,7 +25,6 @@ require(['config/require-config'], function() { },{ type: 'image' },{ - tagName: 'a', type: 'link', content: 'mylink', }], diff --git a/src/dom_components/main.js b/src/dom_components/main.js index 53f0235d6..c0aa7a864 100644 --- a/src/dom_components/main.js +++ b/src/dom_components/main.js @@ -44,6 +44,7 @@ define(function(require) { ComponentView = require('./view/ComponentView'), ComponentImageView = require('./view/ComponentImageView'), ComponentTextView = require('./view/ComponentTextView'); + ComponentLinkView = require('./view/ComponentLinkView'); var component, componentView; return { diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index b74ede80b..1b1109265 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -20,7 +20,7 @@ define(['backbone','./Components', 'SelectorManager/model/Selectors', 'TraitMana content: '', style: {}, attributes: {}, - traits: [], + traits: ['id', 'title'], }, initialize: function(o, opt) { diff --git a/src/dom_components/model/ComponentLink.js b/src/dom_components/model/ComponentLink.js index 62e881703..af0d42cc7 100644 --- a/src/dom_components/model/ComponentLink.js +++ b/src/dom_components/model/ComponentLink.js @@ -4,6 +4,7 @@ define(['./Component'], return Component.extend({ defaults: _.extend({}, Component.prototype.defaults, { + tagName: 'a', droppable: false, traits: ['title', 'href', 'blank'], }), diff --git a/src/dom_components/view/ComponentLinkView.js b/src/dom_components/view/ComponentLinkView.js new file mode 100644 index 000000000..e5d607431 --- /dev/null +++ b/src/dom_components/view/ComponentLinkView.js @@ -0,0 +1,15 @@ +define(['backbone', './ComponentView'], + function (Backbone, ComponentView) { + + return ComponentView.extend({ + + events: { + 'click': 'onClick', + }, + + onClick: function(e) { + e.preventDefault(); + }, + + }); +}); diff --git a/src/dom_components/view/ComponentsView.js b/src/dom_components/view/ComponentsView.js index 4fb5ebe4a..fd748aee4 100644 --- a/src/dom_components/view/ComponentsView.js +++ b/src/dom_components/view/ComponentsView.js @@ -47,6 +47,11 @@ function(Backbone, require) { this.compViewImage = require('./ComponentImageView'); viewObject = this.compViewImage; break; + case 'link': + if(!this.compViewLink) + this.compViewLink = require('./ComponentLinkView'); + viewObject = this.compViewLink; + break; } var view = new viewObject({ @@ -93,4 +98,4 @@ function(Backbone, require) { } }); -}); \ No newline at end of file +});