botanjs/src/Astro/Blog/Components/ToggleButton/_this.js
raw ยท 1589 bytes
(function(){
var ns = __namespace( "Astro.Blog.Components" );
/** @type {typeof Dandelion} */
var Dand = __import( "Dandelion" );
/** @type {function(...?): Dandelion.IDOMElement} */
var IDOMElement = __import( "Dandelion.IDOMElement" );
/** @type {Astro.Bootstrap} */
var Bootstrap = __import( "Astro.Bootstrap" );
/** @type {Astro.Blog} */
var config = __import( "Astro.Blog.Config" );
/** @type {System.utils.DataKey} */
var DataKey = __import( "System.utils.DataKey" );
var postData = __import( "System.Net.postData" );
var ToggleButton = function ( elem, processor, obj )
{
var stage = Dand.id( elem, true );
if( !stage ) return;
var n_toggle = function (args)
{
if( stage.getDAttribute("active") == 1 )
{
stage.setAttribute( new DataKey( "active", 0 ) );
}
else
{
stage.setAttribute( new DataKey( "active", 1 ) );
}
};
var nError = function (args)
{
};
stage.addEventListener(
"Click"
, function (e) {
var _action = stage.getDAttribute( "active" ) == 1
? obj[ "disable" ]
: obj[ "enable" ]
;
postData( processor, _action, n_toggle, nError );
}
);
};
var init = function()
{
var toggles = config.get( "ToggleButtons" );
for( var i in toggles )
{
new ToggleButton( toggles[ i ][0], toggles[ i ][1], toggles[ i ][2] );
}
};
Bootstrap.regInit( init );
ns[ NS_EXPORT ]( EX_CLASS, "ToggleButton", ToggleButton );
})();