mirror of https://github.com/artf/grapesjs.git
6 changed files with 59 additions and 39 deletions
@ -1,4 +1,19 @@ |
|||
module.exports = { |
|||
|
|||
stylePrefix: 'trt-', |
|||
|
|||
labelContainer: 'Component settings', |
|||
|
|||
// Placeholder label for text input types
|
|||
labelPlhText: 'eg. Text here', |
|||
|
|||
// Placeholder label for href input
|
|||
labelPlhHref: 'eg. https://google.com', |
|||
|
|||
// Default options for the target input
|
|||
optionsTarget: [ |
|||
{ value: '', name: 'This window' }, |
|||
{ value: '_blank', name: 'New window' } |
|||
] |
|||
|
|||
}; |
|||
|
|||
@ -1,28 +1,41 @@ |
|||
var Backbone = require('backbone'); |
|||
var Trait = require('./Trait'); |
|||
var TraitFactory = require('./TraitFactory'); |
|||
import { isString, isArray } from 'underscore'; |
|||
const Backbone = require('backbone'); |
|||
const Trait = require('./Trait'); |
|||
const TraitFactory = require('./TraitFactory'); |
|||
|
|||
module.exports = Backbone.Collection.extend({ |
|||
|
|||
model: Trait, |
|||
|
|||
initialize(coll, options = {}) { |
|||
this.em = options.em || ''; |
|||
}, |
|||
|
|||
setTarget(target) { |
|||
this.target = target; |
|||
}, |
|||
|
|||
add(models, opt) { |
|||
const em = this.em; |
|||
|
|||
// Use TraitFactory if necessary
|
|||
if(typeof models === 'string' || models instanceof Array) { |
|||
if(typeof models === 'string') |
|||
models = [models]; |
|||
for(var i = 0, len = models.length; i < len; i++) { |
|||
var str = models[i]; |
|||
var model = typeof str === 'string' ? TraitFactory.build(str)[0] : str; |
|||
if (isString(models) || isArray(models)) { |
|||
const tm = em.get('TraitManager'); |
|||
const tmOpts = tm && tm.getConfig(); |
|||
const tf = TraitFactory(tmOpts); |
|||
|
|||
if (isString(models)) { |
|||
models = [models]; |
|||
} |
|||
|
|||
for (var i = 0, len = models.length; i < len; i++) { |
|||
const str = models[i]; |
|||
const model = isString(str) ? tf.build(str)[0] : str; |
|||
model.target = this.target; |
|||
models[i] = model; |
|||
} |
|||
} |
|||
return Backbone.Collection.prototype.add.apply(this, [models, opt]); |
|||
}, |
|||
|
|||
return Backbone.Collection.prototype.add.apply(this, [models, opt]); |
|||
} |
|||
}); |
|||
|
|||
Loading…
Reference in new issue