diff --git a/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js b/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js
index 4aabb63..9a669d0 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js
@@ -178,12 +178,12 @@
{
if( incoming )
{
- IDOMElement( Dand.wrap() ).lootChildren( __stage[1] );
+ IDOMElement( __stage[1] ).clear();
var ThisCands = ModLevels.Cands().Get();
if( ThisCands.length )
{
- IDOMElement( __stage[1] ).lootChildren( Dand.wrape( ThisCands ) );
+ IDOMElement( __stage[1] ).loot( Dand.wrape( ThisCands ) );
}
}
diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.css b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.css
new file mode 100644
index 0000000..c2dafa0
--- /dev/null
+++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.css
@@ -0,0 +1,7 @@
+.v_boundary[data-type="ArticleContent"] {
+ color: #999;
+}
+
+.v_boundary[data-type="ArticleContent"] span.info {
+ color: #f15a24;
+}
diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js
index 310d024..c086258 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js
@@ -23,6 +23,8 @@
var unescapeStr = ns[ NS_INVOKE ]( "unescapeStr" );
var compileProp = ns[ NS_INVOKE ]( "compileProp" );
+ var postData = __import( "System.Net.postData" );
+
/** @type {_AstConf_.AstroEdit} */
var config = null;
@@ -72,26 +74,33 @@
id = this.id.value;
}
+ var ACInfo = [ "ArticleContent[ ", Dand.wrap( "span", null, "info", id ), " ]" ];
if ( submitted && id )
{
// Visualize component
if (!stage)
{
temp = Dand.wrapne( "span"
- , "ArticleContent[" + id + "]"
+ , ACInfo
, new DataKey( "value", id )
);
insertSnippet(
- j = snippetWrap( "ArticleContent", temp, false, "span" )
+ j = snippetWrap(
+ "ArticleContent"
+ , temp
+ , false, "span"
+ )
, !!override
);
}
else
{
- stage.firstChild.textContent = "ArticleContent[" + id + "]";
+ var stg = IDOMElement( stage );
- IDOMElement( stage ).setAttribute( new DataKey( "value", id ) );
+ stg.clear();
+ stg.loot( Dand.wrape( ACInfo ) );
+ stg.setAttribute( new DataKey( "value", id ) );
}
i = {
@@ -99,6 +108,22 @@
, _stage: temp
};
+ // Get title of this article
+ postData(
+ config.paths.get_article
+ , { article_id: id }
+
+ /** @param {_AstJson_.AJaxGetArticle} */
+ , function( e )
+ {
+ ACInfo[1].firstChild.textContent = e.entry.title;
+ }
+ , function()
+ {
+ ACInfo[1].firstChild.textContent = "ERROR";
+ } );
+
+
// Set context menu
createContext( i, j, handler );
}
diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/_this.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/_this.js
index ab2eb3f..0e85f6c 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/_this.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/_this.js
@@ -272,8 +272,8 @@
// innerText does not work in firefox:(
temp = Dand.wrape( raw.substr( lastOffset, offset - lastOffset ) );
// innerHTML will escape html entities, now replace linebreaks to br
- temp.innerHTML = temp.innerHTML.replace(/[\r\n]/g, "
");
- IDOMElement( contentDiv ).lootChildren( temp );
+ temp.innerHTML = temp.innerHTML.replace( /[\r\n]/g, "
" );
+ IDOMElement( contentDiv ).loot( temp );
}
lastOffset = offset + match.length;
@@ -477,7 +477,7 @@
temp = Dand.wrape( raw.substr( lastOffset, raw.length - lastOffset ) );
// innerHTML will escape html entities, now replace linebreaks to br
temp.innerHTML = temp.innerHTML.replace( /[\r\n]/g, "
" );
- IDOMElement( contentDiv ).lootChildren( temp );
+ IDOMElement( contentDiv ).loot( temp );
}
temp = null;
raw = null;
diff --git a/botanjs/src/Astro/Blog/Components/Comment.js b/botanjs/src/Astro/Blog/Components/Comment.js
index cc1bd1e..dffd731 100644
--- a/botanjs/src/Astro/Blog/Components/Comment.js
+++ b/botanjs/src/Astro/Blog/Components/Comment.js
@@ -515,7 +515,7 @@
: function ()
{
// Remove capcha
- new IDOMElement().lootChildren( Dand.id( "recaptcha_field" ) );
+ Dand.id( "recaptcha_field", true ).clear();
try
{
Recaptcha.render( "recaptcha_field", {