tag: 'figure',
'data-block' : 'Figure',
contenteditable : 'false',
- style : 'display:table; float:' + this.align,
+ style : {
+ display: 'table',
+ float : this.align ,
+ width : this.width + '%'
+ },
cn : [
{
tag : 'img',
src : this.image_src,
alt : d.innerText.replace(/\n/g, " "), // removeHTML..
- style: 'width:' + this.width + '%',
+ style: {
+ width: '100%'
+ }
},
{
tag: 'figcaption',
contenteditable : true,
- style : 'width:100%;text-align:' + this.text_align,
+ style : {
+ 'text-align': this.text_align
+ },
html : this.caption
}
"tree_children" : [],
"tree_parent" : []
},
+ "Roo.htmleditor.Block" : {
+ "props" : [
+ {
+ "name" : "Context",
+ "type" : "Object",
+ "desc" : "menu - see Roo.form.HtmlEditor.ToolbarContext",
+ "memberOf" : ""
+ },
+ {
+ "name" : "friendly_name",
+ "type" : "String",
+ "desc" : "the name that appears in the context bar about this block",
+ "memberOf" : ""
+ },
+ {
+ "name" : "node",
+ "type" : "DomElement",
+ "desc" : "The node to apply stuff to.",
+ "memberOf" : ""
+ }
+ ],
+ "events" : [],
+ "methods" : [
+ {
+ "name" : "getVal",
+ "type" : "function",
+ "desc" : "used by readEleemnt to extract data from a node\nmay need improving as it's pretty basic",
+ "sig" : "(node, tag, attribute, style)",
+ "static" : false,
+ "memberOf" : "",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "exceptions" : "",
+ "requires" : "",
+ "params" : [
+ {
+ "name" : "node",
+ "type" : "DomElement",
+ "desc" : "",
+ "isOptional" : false
+ },
+ {
+ "name" : "tag",
+ "type" : "String",
+ "desc" : "- tag to find, eg. IMG ?? might be better to use DomQuery ?",
+ "isOptional" : false
+ },
+ {
+ "name" : "attribute",
+ "type" : "String",
+ "desc" : "(use html - for contents, or style for using next param as style)",
+ "isOptional" : false
+ },
+ {
+ "name" : "style",
+ "type" : "String",
+ "desc" : "the style property - eg. text-align",
+ "isOptional" : false
+ }
+ ],
+ "returns" : []
+ },
+ {
+ "name" : "readElement",
+ "type" : "function",
+ "desc" : "Read a node that has a 'data-block' property - and extract the values from it.",
+ "sig" : "(node)",
+ "static" : false,
+ "memberOf" : "",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "exceptions" : "",
+ "requires" : "",
+ "params" : [
+ {
+ "name" : "node",
+ "type" : "DomElement",
+ "desc" : "- the node",
+ "isOptional" : false
+ }
+ ],
+ "returns" : []
+ },
+ {
+ "name" : "toHTML",
+ "type" : "function",
+ "desc" : "convert to plain HTML for calling insertAtCursor..",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "exceptions" : "",
+ "requires" : "",
+ "params" : [],
+ "returns" : []
+ },
+ {
+ "name" : "toObject",
+ "type" : "function",
+ "desc" : "create a DomHelper friendly object - for use with \nRoo.DomHelper.markup / overwrite / etc..\n(override this)",
+ "sig" : "()\n{\n\n}",
+ "static" : false,
+ "memberOf" : "",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "exceptions" : "",
+ "requires" : "",
+ "params" : [],
+ "returns" : []
+ },
+ {
+ "name" : "updateElement",
+ "type" : "function",
+ "desc" : "Update a node with values from this object",
+ "sig" : "(node)",
+ "static" : false,
+ "memberOf" : "",
+ "isStatic" : false,
+ "isConstructor" : false,
+ "isPrivate" : false,
+ "example" : "",
+ "deprecated" : "",
+ "since" : "",
+ "see" : "",
+ "exceptions" : "",
+ "requires" : "",
+ "params" : [
+ {
+ "name" : "node",
+ "type" : "DomElement",
+ "desc" : "",
+ "isOptional" : false
+ }
+ ],
+ "returns" : []
+ }
+ ],
+ "isAbstract" : false,
+ "isBuilderTop" : false,
+ "implementations" : [],
+ "tree_children" : [],
+ "tree_parent" : []
+ },
"Roo.htmleditor.BlockFigure" : {
"props" : [
{
</span><span class="jsdoc-comment">// children
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">far </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Array.from</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">from.childNodes</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tar </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Array.from</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">to.childNodes</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">far.length</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tar.length</span><span class="jsdoc-syntax">); </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">far.length </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">tar.length</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">updateNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">far</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">tar</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
- </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
- }
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">far.length</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-comment">// have from // but no 'to'
- </span><span class="jsdoc-var">from.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">far</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
- </span><span class="jsdoc-keyword">continue</span><span class="jsdoc-syntax">;
- }
- </span><span class="jsdoc-var">from.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tar</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
- </span><span class="jsdoc-comment">// have 'to' but no from
- </span><span class="jsdoc-syntax">}
+ </span><span class="jsdoc-comment">// if the lengths are different.. then it's probably a editable content change, rather than
+ // a change of the block definition..
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">from.innerHTML </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">to.innerHTML</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">far.length </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">tar.length</span><span class="jsdoc-syntax">) {
+ </span><span class="jsdoc-var">from.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">to.innerHTML</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
+ }
+
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">far.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
+ </span><span class="jsdoc-var">updateNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">far</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">tar</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
+ }
};
</span><span class="jsdoc-comment">// update attributes
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">db</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dbo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">node </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">});
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block</span><span class="jsdoc-syntax">) {
+
</span><span class="jsdoc-var">this.tb.fields.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-var">e.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dob</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">e.attrname</span><span class="jsdoc-syntax">]);
+ </span><span class="jsdoc-var">e.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">block</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">e.attrname</span><span class="jsdoc-syntax">]);
});
}
</span><span class="jsdoc-var">this.updateToolbarStyles</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-comment">// flag our selected Node.
- </span><span class="jsdoc-var">this.tb.selectedNode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sel</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">Roo.menu.MenuMgr.hideAll</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">item.width </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item.width </span><span class="jsdoc-syntax">: 130,
</span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode.hasAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.htmleditor.Block.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.attrname</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">r.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'val'</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">b.updateElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">listeners</span><span class="jsdoc-syntax">: {
</span><span class="jsdoc-string">'change' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">nv</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ov</span><span class="jsdoc-syntax">) {
- </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode.hasAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.htmleditor.Block.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
- </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">c.attrname</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">nv</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">f.attrname</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">nv</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">b.updateElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-comment">// remove
// undo does not work.
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tb.selectedNode</span><span class="jsdoc-syntax">;
- </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.childNodes</span><span class="jsdoc-syntax">[0] || </span><span class="jsdoc-var">sn.nextSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sn.previousSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">stn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.childNodes</span><span class="jsdoc-syntax">[0] || </span><span class="jsdoc-var">sn.nextSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sn.previousSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sn.parentNode</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn.hasAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'data-block'</span><span class="jsdoc-syntax">)) {
+ </span><span class="jsdoc-var">stn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sn.nextSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sn.previousSibling </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">sn.parentNode</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">sn.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn</span><span class="jsdoc-syntax">);
+
} </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
</span><span class="jsdoc-comment">// remove and keep parents.
</span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.htmleditor.FilterKeepChildren</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">});
{
"name" : "Roo.htmleditor",
"cn" : [
+ {
+ "name" : "Roo.htmleditor.Block",
+ "cn" : [],
+ "is_class" : true
+ },
{
"name" : "Roo.htmleditor.BlockFigure",
"cn" : [],