![]() 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 : |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: QuickPath.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: QuickPath.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>import '../css/quickpath.css'; import ACore from "../ACore"; import QuickMenu from "./QuickMenu"; var _ = ACore._; var $ = ACore.$; /*** * @extends AElement * @constructor */ function QuickPath() { this._holders = []; } /** * @type {QuickPath} */ QuickPath.eventHandler = {}; /*** * @this QuickPath * @param event */ QuickPath.eventHandler.click = function (event) { var button = this._fileButton(event.target) if (button) this.pressButton(button); }; QuickPath.tag = 'QuickPath'.toLowerCase(); /** * @returns {QuickPath} */ QuickPath.render = function () { return _({ class: 'absol-quick-path', extendEvent: ['change', 'press'] }); }; QuickPath.prototype.updatePath = function () { this.clearChild(); var self = this; this._holders = this._path.map(function (data, index) { var holder = self._createButton(data, index); holder.buttom.addTo(self); return holder; }) }; QuickPath.prototype._createButton = function (pathItem, index) { var buttom = _({ tag: 'expnode', class: 'absol-quick-path-btn', attr: { 'data-index': '' + index } }); buttom.status = 'close'; buttom.name = pathItem.name; if (pathItem.icon) { buttom.icon = pathItem.icon; } if (pathItem.iconSrc) { buttom.icon = { tag: 'img', props: { src: pathItem.iconSrc } }; } var thisQuickpath = this; if (pathItem.items) { QuickMenu.toggleWhenClick(buttom, { getAnchor: function () { return [1, 2, 6, 5]; }, getMenuProps: function () { return { extendStyle: { fontSize: buttom.getComputedStyleValue('font-size') }, items: pathItem.items.map(function (it, menuIndex) { var res = { text: it.name, menuIndex: menuIndex, icon: it.iconSrc ? { tag: 'img', props: { src: it.iconSrc } } : (it.icon || undefined), extendStyle: it.extendStyle || {}, extendClass: it.extendClass || [], } return res; }) } }, onOpen: function () { buttom.status = 'open'; thisQuickpath.emit('press', { target: thisQuickpath, pathItem: pathItem, index: index }, thisQuickpath); }, onClose: function () { buttom.status = 'close'; }, onSelect: function (item) { var dataItem = pathItem.items[item.menuIndex]; thisQuickpath.emit('change', { target: thisQuickpath, pathItem: pathItem, item: dataItem, index: index }, thisQuickpath); thisQuickpath.status = 'close'; } }) } else { buttom.on('click', function () { this.emit('press', { target: thisQuickpath, pathItem: pathItem, index: index }, thisQuickpath); }); } return { buttom: buttom }; } QuickPath.prototype.push = function (item) { this.path.push(item); var holder = this._createButton(item, this.path.length - 1); this.addChild(holder, buttom); this._holders.push(holder); }; QuickPath.prototype.clear = function () { this.path = []; this._holders = []; } QuickPath.prototype.pop = function () { //todo var res = this.path.pop(); var button = $('button[data-index="' + this.path.length + '"]'); if (button) button.remove(); return res; }; QuickPath.property = {}; /** * @typedef PathElement * @property {String} name * @property {String} icon * @property {Array<String>} items * */ QuickPath.property.path = { /** * @param {Array<PathElement>} value */ set: function (value) { this._path = value || []; this.updatePath(); }, get: function () { return this._path || []; } }; QuickPath.property.textPath = { get: function () { return this.path.join('/'); } }; ACore.install('quickpath', QuickPath); export default QuickPath;</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>