if (!skip_children) {
for(var i =0;i < items.length;i++) {
// Roo.log(['add child', items[i]]);
- nitems.push(cn.addxtype(Roo.apply({}, items[i])));
+ nitems.push(cn.addxtype(items[i].xns == false ? items[i] : Roo.apply({}, items[i])));
}
}
* @return {Mixed} value The field value
*/
getValue : function(){
-
var v = this.inputEl().getValue();
-
return v;
},
/**
this.el.select('.form-control-feedback', true).first().removeClass([this.invalidFeedbackClass, this.validFeedbackClass]);
}
- if(this.disabled || this.allowBlank){
+ if(this.disabled){
return;
}
update: function()
{
-
+ // default minute is a multiple of minuteStep
+ if(typeof(this.time) === 'undefined') {
+ this.time = new Date();
+ this.time = this.time.add(Date.MINUTE, Math.round(parseInt(this.time.format('i')) / this.minuteStep) * this.minuteStep - parseInt(this.time.format('i')));
+ }
this.time = (typeof(this.time) === 'undefined') ? new Date() : this.time;
this.fill();
var ret = {
tag: 'figure',
'data-block' : 'Figure',
- 'data-width' : this.width,
+ 'data-width' : this.width,
+ 'data-caption' : this.caption,
contenteditable : 'false',
style : {
this.image_src = this.getVal(node, 'img', 'src');
this.align = this.getVal(node, 'figure', 'align');
+
+ /// not really used - as hidden captions do not store the content here..
var figcaption = this.getVal(node, 'figcaption', false);
if (figcaption !== '') {
this.caption = this.getVal(figcaption, 'i', 'html');
this.caption_display = this.getVal(node, 'figcaption', 'data-display');
+ var dc = this.getVal(node, true, 'data-caption');
+ if (dc && dc.length) {
+ this.caption = dc;
+ }
//this.text_align = this.getVal(node, 'figcaption', 'style','text-align');
this.width = this.getVal(node, true, 'data-width');
//this.margin = this.getVal(node, 'figure', 'style', 'margin');
'rowspan',
'data-display',
'data-width',
+ 'data-caption',
'start' ,
'style',
// youtube embed.
* Fires when on any editor when an image is deleted
* @param {Roo.bootstrap.form.HtmlEditor} this
* @param {HTMLElement} img could also be a figure if blocks are enabled
+ * @param {HTMLElement} oldSrc source of image being replaced
*/
imagedelete: true
});
var reader = new FileReader();
reader.addEventListener('load', (function() {
if (bl) {
+ var oldSrc = bl.image_src;
bl.image_src = reader.result;
//bl.caption = f.name;
bl.updateElement(sn);
this.editor.syncValue();
editor.owner.fireEvent('editorevent', editor.owner, false);
- editor.owner.fireEvent('imageupdate', editor.owner, sn);
+ editor.owner.fireEvent('imageupdate', editor.owner, sn, oldSrc);
// we only do the first file!! and replace.
return;
}
}
// just a standard img..
if (sn && sn.tagName.toUpperCase() == 'IMG') {
+ var oldSrc = sn.src;
sn.src = reader.result;
this.editor.syncValue();
editor.owner.fireEvent('editorevent', editor.owner, false);
- editor.owner.fireEvent('imageupdate', editor.owner, sn);
+ editor.owner.fireEvent('imageupdate', editor.owner, sn, oldSrc);
return;
}
editor.insertAtCursor('<img src="' + reader.result +'">');