![]() 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-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol-acomp/js/adapter/SearchStringArrayAdapter.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** * @typedef {Object} SearchArrayAdapterOption * @property {function} searchFuntion * * * * @param {Array<String>} arr * @param {SearchArrayAdapterOption} options not implement yet */ function SearchStringArrayAdapter(texts, options) { if (!this.queryItems) return new SearchStringArrayAdapter(texts, options); this.texts = texts; } SearchStringArrayAdapter.prototype.queryItems = function (query, mInput) { var query = query.toLocaleLowerCase(); return this.texts.map(function (text) { var start = text.toLocaleLowerCase().indexOf(query); if (start >= 0) { var hightlightedText = text.substr(0, start) + '<strong style="color:red">' + text.substr(start, query.length) + '</strong>' + text.substr(start + query.length); return { text: text, hightlightedText: hightlightedText }; } else return null; }).filter(function (it) { return it !== null; }); }; SearchStringArrayAdapter.onAttached = function (parent) { this.parent = parent; }; SearchStringArrayAdapter.prototype.getItemText = function (item, mInput) { return item.text; }; SearchStringArrayAdapter.prototype.getItemView = function (item, index, _, $, query, reuseItem, refParent, mInput) { if (reuseItem) { reuseItem.childNodes[0].innerHTML = item.hightlightedText; return reuseItem; } else return _({ tag: 'div', child: { tag: 'span', class: 'absol-autocomplete-input-item-text', props: { innerHTML: item.hightlightedText } } }); }; var _default = SearchStringArrayAdapter; exports.default = _default;