Browse Source

Fix text component editable property

pull/67/head
Artur Arseniev 9 years ago
parent
commit
2cc3da267b
  1. 2
      bower.json
  2. 8
      dist/grapes.min.js
  3. 2
      package.json
  4. 41
      src/demo.js
  5. 17
      src/dom_components/main.js
  6. 1
      src/dom_components/model/ComponentText.js
  7. 1
      src/dom_components/model/ComponentTextNode.js
  8. 4
      src/dom_components/view/ComponentTextView.js
  9. 9
      src/trait_manager/main.js
  10. 1
      src/trait_manager/view/TraitSelectView.js

2
bower.json

@ -1,7 +1,7 @@
{
"name": "grapesjs",
"description": "Open source Web Template Editor",
"version": "0.4.8",
"version": "0.4.9",
"author": "Artur Arseniev",
"homepage": "http://grapesjs.com",
"main": [

8
dist/grapes.min.js

File diff suppressed because one or more lines are too long

2
package.json

@ -1,7 +1,7 @@
{
"name": "grapesjs",
"description": "Open source Web Template Editor",
"version": "0.4.8",
"version": "0.4.9",
"author": "Artur Arseniev",
"license": "BSD-3-Clause",
"homepage": "http://grapesjs.com",

41
src/demo.js

@ -6,6 +6,7 @@ require(['config/require-config'], function() {
{
allowScripts: 1,
autorender: 0,
noticeOnUnload: 0,
container : '#gjs',
@ -331,47 +332,7 @@ require(['config/require-config'], function() {
window.editor = editor;
/*
editor.TraitManager.addType('checkbox', {
events:{
'change .url-input': 'onChangeUrl'
},
onChangeUrl: function() {
var target = this.model.target;
var targetColl = target.collection;
var targetParent = target.collection.parent;
// Create link wrapper if not yet exist
if(targetParent.get('type') != 'link') {
var index = targetColl.indexOf(target);
var linkModel = targetColl.add({type: 'link'}, {at: index});
targetColl.remove(target);
linkModel.get('components').add(target);
console.log('Created link');
} else {
// update it
console.log('Link exist ', targetParent);
}
//this.components.parent = this;
console.log('changed url for', targetParent);
},
render : function() {
this.$el.html(
'<div class="gjs-trt-trait"><div class="gjs-label">Url</div>'+
'<div class="gjs-field gjs-field-text">'+
'<div class="gjs-input-holder"><input placeholder="google.com" class="url-input"></div>'+
'</div>'+
'</div>' +
'<div class="gjs-trt-trait"><div class="gjs-label">Taget</div>'+
'<div class="gjs-field gjs-field-text">'+
'<div class="gjs-input-holder"><input class="target-input"></div>'+
'</div>'+
'</div>');
return this;
},
});*/
editor.render();
});
});

17
src/dom_components/main.js

@ -333,12 +333,23 @@ define(function(require) {
/**
* Add new component type
* @param {string} type
* @param {Object} methods
* @private
*/
addComponentType: function(type, methods) {
componentTypes[type] = methods;
addType: function(type, methods) {
defaultTypes[type] = methods;
return this;
}
},
/**
* Get component type
* @param {string} type
* @private
*/
getType: function(type) {
return defaultTypes[type];
},
};
};

1
src/dom_components/model/ComponentText.js

@ -5,6 +5,7 @@ define(['./Component'],
defaults: _.extend({}, Component.prototype.defaults, {
droppable: false,
editable: true,
}),
});

1
src/dom_components/model/ComponentTextNode.js

@ -5,6 +5,7 @@ define(['./Component'],
defaults: _.extend({}, Component.prototype.defaults, {
droppable: false,
editable: true,
}),
toHTML: function() {

4
src/dom_components/view/ComponentTextView.js

@ -23,7 +23,7 @@ define(['backbone', './ComponentView'],
* @private
* */
enableEditing: function(e) {
if(this.rte) {
if(this.rte && this.model.get('editable')) {
this.activeRte = this.rte.attach(this, this.activeRte);
this.rte.focus(this, this.activeRte);
}
@ -39,7 +39,7 @@ define(['backbone', './ComponentView'],
if(this.rte) {
this.rte.detach(this, this.activeRte);
}
if(!this.rte.customRte) {
if(!this.rte.customRte && this.model.get('editable')) {
this.parseRender();
}
this.toggleEvents();

9
src/trait_manager/main.js

@ -68,6 +68,15 @@ define(function(require) {
TraitsViewer.itemsView[name] = itemView.extend(trait);
},
/**
* Get trait type
* @param {string} name Type name
* @return {Object}
*/
getType: function (name) {
return TraitsViewer.itemsView[name];
},
};
};
});

1
src/trait_manager/view/TraitSelectView.js

@ -38,6 +38,7 @@ define(['backbone','./TraitView'],
}
this.input += '</select>';
this.$input = $(this.input);
// TODO check also model attributes in case of changeProp
var val = md.get('value');
if(val)
this.$input.val(val);

Loading…
Cancel
Save